diff --git a/src/ChangeLog b/src/ChangeLog index d6df87c27e5..2d20f13dced 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,6 +1,7 @@ 2012-05-14 Glenn Morris * nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec"). + Put "libexec" before "bin", for the sake of init_callproc_1. 2012-05-14 Paul Eggert diff --git a/src/nsterm.m b/src/nsterm.m index 9a5122e5e80..4b8b2bb4820 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -338,11 +338,18 @@ Updated by Christian Limpach (chris@nice.ch) /*NSLog (@"loadPath: '%@'\n", resourcePaths); */ } + /* Normally, Emacs does not add its own bin/ directory to the PATH. + However, a self-contained NS build has a different layout, with + bin/ and libexec/ subdirectories in the directory that contains + Emacs.app itself. + We put libexec first, because init_callproc_1 uses the first + element to initialize exec-directory. An alternative would be + for init_callproc to check for invocation-directory/libexec. */ if (!getenv ("EMACSPATH")) { NSArray *paths = [binDir stringsByAppendingPaths: - [NSArray arrayWithObjects: @"bin", - @"libexec", nil]]; + [NSArray arrayWithObjects: @"libexec", + @"bin", nil]]; NSEnumerator *pathEnum = [paths objectEnumerator]; resourcePaths = @""; while (resourcePath = [pathEnum nextObject])