[Top][All Lists]

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

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

From: David Caldwell
Subject: Re: Mac OS X GNU Emacs Installer (make-package)
Date: Sat, 30 Nov 2002 15:50:35 -0800

On 11/30/02 3:19 PM -0800 Steven Tamm wrote:

On Saturday, November 30, 2002, at 02:48  PM, David Caldwell wrote:

On 11/30/02 2:23 PM -0800 Steven Tamm wrote:

I have some patches for make-package as well. Should I send them to
the list?

Yes, please.

Ok. I'll do so shortly.

The second one is more controversial, I think. I made a little shell
wrapper that launches the Emacs.app so that typing plain "emacs" in
the shell doesn't segfault. Since the user should be free to move his
/Applications/Emacs.app around as he sees fit, I can't call that
wrapper. So I made a duplicate app wrapper in libexec. I hard linked
it to the emacs exe in /Applications/Emacs.app so it doesn't take up
any more room in the disk image, nor on the system. It has complete
transparency to the user, I think.

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).

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.


reply via email to

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