emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mac OS X GNU Emacs Installer (make-package)


From: Steven Tamm
Subject: Re: Mac OS X GNU Emacs Installer (make-package)
Date: Sat, 30 Nov 2002 17:53:05 -0800

This is the solution that Andrew proposes. /usr/local/bin/emacs would be a shell script that calls /usr/local/bin/emacs-21.3.50 -nw $*. I don't
like that solution very much.  This is a patch I placed on the list
earlier; it causes the executable to determine if it is inside an
application bundle.  If it is not, it will cause it to
inhibit_windowing_system. I placed the call to this right after the call
to init_mac_osx_environment inside emacs.c:main
[..]

That was my initial idea. But in the end I like the way the shell script works better. Typing plain "emacs" gives you a new window, while "emacs -nw" gives you the console. It works just like under X Windows. Otherwise there is no way to get a nice window from the command line, except by writing your own shell wrapper. To me that is the only reason to choose the shell script road over the patch you propose (Although I think patch should be there as well, since emacs should never segfault).

Yeah, I think you are right. The one concern that I had was what would happen if the location of the Emacs.app was moved. Your solution fixes that by creating a "shadow" application. Why not make the whole Emacs.app directory be a link to the lib-exec one? That way you wouldn't have the problem of dealing with two sets of files depending on whether you did it from the command line or from the finder. The downside is that the icon in the Applications menu would be a little screwed up.

As another aside, I think the make-package script should eventually be rewritten in perl because of the guarantee that it exists on Mac OS X. Any objections.

BTW, I think making Contents/MacOS/Emacs be a hard link to emacs-21.3.50 is a bad idea. The Application may (and in my case usually will) live on
a different volume than the /usr/local tree.  I'll keep the symlink
option there for the Application, but remove the bad behavior.

The question is, does the installer (or pax) automatically copy the file if it's getting unloaded accross filesystems? If so then there's no problem with a hard link.

If Emacs.app is a symlink then it's a non-issue (obviously). pax at that point is just a wrapper around tar (see the man page), so I would assume it would do the right thing in any case.

-Steven





reply via email to

[Prev in Thread] Current Thread [Next in Thread]