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

From: David Caldwell <[email-masked]>
Date: Sat, 14 Feb 2015 02:09:50 -0800

On 2/14/15 1:25 AM, Jan D. wrote:
> 
> Also, /Library is in not the equivalent of /usr/local.  /usr/local is the equivalent of /usr/local.

Not really. /usr/local is for unix command liney stuff, which Emacs
isn't really a part of once it becomes a self contained .app.

> /Library is a system directory, a mix of /etc and /usr/share.  There are startup daemons there, fonts, internet plugins and so on.  These things are not in /usr/local on any sane Unix-like OS.

/Library is not really a system directory, though the system does
install stuff there by default. You're right that it's a bit of a mix,
but it's also definitely got /usr/local leanings as well. Apple says
this about it [1]:

> /Library (OS X only)—Apps that share resources between users store those resources in this version of the Library directory.

So it's certainly OK to put site wide application stuff in /Library
(given that it's Apple's stated purpose). And I believe it's technically
100% kosher to delete anything in there. Nothing in there is critical to
the system running. The Fonts that actually matter are in
/System/Library/Fonts. That's not really here nor there though (but it's
why I said it's "not really" a system directory).

The question is why should Emacs not default to a reasonable, user
controlled site-wide place? And where should that place be?

I think it's worthwhile to take a look at what Perl does, because it's
one of the more fitting-in-est unix programs the Mac ships with. The
built-in Perl modules are in /System/Library/Perl. If you run 'cpan' and
install modules yourself, they go into /Library/Perl. Tcl is similar.

So what I'm proposing is not without precedent...

I believe if a Mac user saw that /Library/Application Support/Emacs or
/Library/Emacs in the load-path, they would not bat an eye, and would
completely understand under what circumstances they would add stuff there.

On the other hand, there's a bit of asymmetry since the user's config is
still ~/.emacs and not ~/Library/Application Support/Emacs (and I
wouldn't want that to change). Even so, I still think /Library is the
right place to default locallisppath.

-David

[1]
https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672-CH2-SW1