unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ken Raeburn <raeburn@raeburn.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Installing the Emacs executable
Date: Wed, 24 Apr 2013 01:05:07 -0400	[thread overview]
Message-ID: <33A901B8-67E3-4C81-BF5B-7C9B4A8836E1@raeburn.org> (raw)
In-Reply-To: <83ip3i1gut.fsf@gnu.org>

On Apr 19, 2013, at 15:05, Eli Zaretskii <eliz@gnu.org> 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


  parent reply	other threads:[~2013-04-24  5:05 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-16 16:32 Installing the Emacs executable Eli Zaretskii
2013-04-16 17:15 ` Andreas Schwab
2013-04-16 17:20   ` Glenn Morris
2013-04-16 18:11     ` Eli Zaretskii
2013-04-19 18:29     ` Andreas Schwab
2013-04-19 18:49       ` Eli Zaretskii
2013-04-19 18:57         ` Glenn Morris
2013-04-19 19:05           ` Eli Zaretskii
2013-04-19 19:08             ` Glenn Morris
2013-04-20  1:48               ` Stefan Monnier
2013-04-19 20:58             ` Andreas Schwab
2013-04-20  6:37               ` Eli Zaretskii
2013-04-20 10:44                 ` Andreas Schwab
2013-04-20 10:56                   ` Eli Zaretskii
2013-04-20 11:55                     ` Andreas Schwab
2013-04-20 12:31                       ` Eli Zaretskii
2013-04-20 13:24                         ` Andreas Schwab
2013-04-20 15:43                           ` Eli Zaretskii
2013-04-20 15:56                             ` Andreas Schwab
2013-04-24  5:05             ` Ken Raeburn [this message]
2013-04-24 13:12               ` Stefan Monnier
2013-04-24 17:06               ` Eli Zaretskii
2013-04-24 18:54                 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=33A901B8-67E3-4C81-BF5B-7C9B4A8836E1@raeburn.org \
    --to=raeburn@raeburn.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).