emacs-devel
[Top][All Lists]
Advanced

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

Re: emacsclient 22 and 23 incompatibility


From: Ken Raeburn
Subject: Re: emacsclient 22 and 23 incompatibility
Date: Sat, 1 Aug 2009 18:18:56 -0400

On Aug 1, 2009, at 15:58, CHENG Gao wrote:
Apple's original installation of emacs 22 has (in /usr/bin):

,----
| -r-xr-xr-x  1 root  wheel     38544  2  6  2008 emacs
| -rwxr-xr-x  1 root  wheel  13072480 12 17  2008 emacs-i386
| -rwxr-xr-x  1 root  wheel   5301856 11 25  2008 emacs-undumped
`----
Does this mean:
the first emacs is dumped? How could it be so small?

% strings emacs
/usr/libexec/dumpemacs
Failed to dump emacs
/usr/bin/emacs-i386
execv(%s) failed
[...]

So I'm thinking Apple's "emacs" program doesn't come out of the normal GNU Emacs build process (or sources) at all, but does its own thing, which may involved dumping after installation. If the dumped version is available as emacs-i386, then Apple's "emacs" will run it. (If you fire up emacs and run "ps", you'll see the process listed as "emacs", but if you run "lsof" on it, you'll see the text image comes from emacs-i386.)

% file emacs-undumped emacs-i386
emacs-undumped: Mach-O universal binary with 2 architectures
emacs-undumped (for architecture i386): Mach-O executable i386
emacs-undumped (for architecture ppc7400):      Mach-O executable ppc
emacs-i386:     Mach-O executable i386
%

So "emacs-undumped" is probably a "universal" binary version of src/ temacs, which normally would never be installed, and "emacs-i386" is probably the dumped version, with only the native architecture support. Though, how it could still be so much larger than both the pre-dumped version (divided roughly in half, remember, for the i386 portion only) and the emacs-23 binaries you built, I don't know.

Ken




reply via email to

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