emacs-devel
[Top][All Lists]
Advanced

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

Re: Installing the Emacs executable


From: Ken Raeburn
Subject: Re: Installing the Emacs executable
Date: Wed, 24 Apr 2013 01:05:07 -0400

On Apr 19, 2013, at 15:05, Eli Zaretskii <address@hidden> wrote:
> That's a different issue.  My question was about what "make install"
> does with DOC, not what "make emacs" does in src.  We can install DOC
> under the name DOC-XX.YY.ZZ without changing what happens in src and
> in etc of the build tree.

I've long wondered if it would be better to get rid of the DOC file altogether 
and keep the documentation in the executable image.

With GCC and ELF systems, it's not that hard to compile the C doc strings into 
a specially named section so they're segregated from other Emacs data, so on a 
modern demand-paging system they can still be left out of the process working 
set unless they're actually used, and shared between processes, although it 
still makes the executable look huge.  As for preloaded Lisp, maybe the doc 
strings can be made pure strings; maybe we could just save the location of the 
doc strings, as would be done for Lisp code loaded later.

Or take the easy way out -- have make-docfile generate a really big C source 
file with a const char array (or an array of strings) instead of a text file, 
and "read" the doc strings from there.

The quick-hack version I did of the first part (compiling in C doc strings from 
DEFUN/DEFVAR) seemed to work pretty well on GNU/Linux (special ELF section for 
doc strings) and Mac OS X (ordinary const char arrays), though I haven't had a 
lot of time for finishing it.  I don't know if it would cause any trouble for 
Windows to have all those extra strings in the executable image, or if it would 
be hard (or helpful) to segregate them.

Ken


reply via email to

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