Hm, this is perplexing me a bit. You mean that "puts `which kpsewhich`" finds the kpsewhich binary, but "puts `. /etc/profile; which kpsewhich" doesn't? Also please run it not using RubyMate, but using the "Execute Selection as Ruby" command
Interestingly, I do get different results when I "Execute Selection as Ruby" rather than just "Run":
no kpsewhich in /usr/bin /bin /usr/sbin /sbin no kpsewhich in /bin /sbin /usr/bin /usr/sbin
Can you also send me the contents of /etc/profile?
# System-wide .profile for sh(1)
PATH="/bin:/sbin:/usr/bin:/usr/sbin" export PATH
if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi
And also .bash_profile
No .bash_profile
or any other initialization file that may be in use.
I have been using ~/.bashrc, which looks like this:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Is .bash_profile preferred for some reason?
I guess the key question is: How does DarwinPorts add to the PATH variable?
I think the ~/.bashrc above answers that question.
One simple solution that I can think of is that you create a symbolic link named /usr/texbin to point to /opt/local/bin, though I'm not sure if this could cause any other problems.
I suppose we could also add /opt/local/bin to the list of directories we are explicitly looking for.
It sounds like TextMate needs to be looking in /opt/local/bin and/or / opt/local/sbin, but it isn't.
Best - Chris