Subject: bug#19850: 25.0.50; [PATCH] configure.ac: Fix site-lisp paths with NS self-contained apps.

From: David Caldwell <[email-masked]>
Date: Thu, 12 Feb 2015 23:28:42 -0800

On 2/12/15 10:57 PM, Jan D. wrote:
> Hi.
> 
> If we keep site-lis as it is, we can have several Emacs versions installed, with different site-lisp:s.
> Also, changing files in site-lisp does not require root priviliges.

If we keep things as they are now, the site lisp file points to a random
directory that doesn't exist! Take a look again:

>> "/Users/build/workspace/Emacs-Multi-Build/label/mavericks/emacs-source/nextstep/Emacs.app/Contents/Resources/share/emacs/24.4/site-lisp"

This Emacs was built on a different machine than the one it's running
on. My machine has no "build" user and therefore no "/Users/build"
directory.

I certainly cannot create that directory without being root.

> Your change breaks both those feaures.

No, it actually doesn't. First off, it only affects self contained
nextstep builds, which (as I described above) are currently totally busted.

Secondly, it doesn't preclude different site lisps for different
Emacsen. Here's the epaths.h line generated with my patch:

#define PATH_SITELOADSEARCH
"/Library/emacs/25.0.50/site-lisp:/Library/emacs/site-lisp"

That still ends up with the version in the site lisp path, so there can
multiple site lisps.

Yes, the site lisp path is in /Library which is root:wheel, but that is
the correct place to put site wide things on the Mac. If you want
non-site wide lisps, you can always edit your .emacs with no root
privileges. Thinking about it, I'm not sure why non-root is a good idea
for site wide stuff in the first place: On a multi-user system, it seems
like a security problem for one user to affect all the other user's
site-lisp. That *should* require root (like it does on linux).

> I don't think this is a good idea.

Please reconsider. This really seems like the correct fix to me.

-David