Subject: Re: bug#12123:

From: Eli Zaretskii <[email-masked]>
Date: Sun, 07 Apr 2013 22:06:32 +0300

> From: Glenn Morris <[email-masked]>
> Cc: Paul Eggert <[email-masked]>,  [email-masked],  [email-masked]
> Date: Sun, 07 Apr 2013 14:32:51 -0400
> 
> I must be missing something, because AFAICS, invocation-directory has
> already solved this problem. What cases are not already handled that are
> relevant and need extra code adding from progreloc.c?

Code in emacs.c that sets invocation-directory relies on argv[0] to
either be an absolute file name, or relative to cwd, or a base name
without leading directories that can be found on PATH.  But on Posix
platforms, argv[0] can be anything, while on Windows argv[0] might be
neither absolute nor on PATH.

progreloc.c solves this in platform-specific ways.  E.g., on
GNU/Linux, it looks at /proc/PID/exe.