all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: chad <yandros@MIT.EDU>
Cc: Eli Zaretskii <eliz@gnu.org>,
	rms@gnu.org,
	"emacs-devel@gnu.org Development" <emacs-devel@gnu.org>
Subject: Re: Bootstrap deleted DOC-nnn file
Date: Sat, 11 May 2013 12:09:57 +0900	[thread overview]
Message-ID: <87vc6qdxfe.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <F9334A53-FDCE-40E6-ACFC-A2146966917C@mit.edu>

chad writes:
 > On 10 May 2013, at 15:08, Richard Stallman <rms@gnu.org> wrote:

 > > However, it is a bad thing to delete the old executables too.
 > > It is sometimes useful to compare behavior of the new version
 > > with the old version.  There is no need to delete them,
 > > so let the user decide.

 > [The ns port] uses a relocatable install, so the entirety of emacs
 > lives inside a single emacs-only directory tree (Emacs.app). This
 > makes multiple versions very easy to manage, and I keep at least
 > two independent emacsen around at all times. It's saved me more
 > than once.

Richard, I agree with you that it would be nice to have access to the
DOC file, but I think that might best be served by tweaking the DOC-
file-finding routine to look for its DOC first, then a DOC of a later
build, then a DOC of the same version, and finally any DOC at all.  Of
course due to the way DOC files are indexed you still might lose, but
it's worth a try.  Fuzz the index a bit and search "near" the baked-in
index for the entry when you don't have an exact match.

Another fallback would be to do a find-function if the DOC file
doesn't exist or you can't find the docstring in the DOC file.

A third is to embed the DOC file in the executable, with an option to
keep it separate for users who need a slimmer executable (with modern
OS technology, are there any? :)

For the executable, I think you are in a small minority that isn't
best served by Chad's solution of a relocatable install.  True, it
involves extra effort and time to "make install", but you're already
doing a bootstrap.  In heavy hack-build-test cycles, one doesn't do a
"make clean" even, let alone a "make bootstrap-clean".  No problem
there, it's only when you have an expensive "make bootstrap" that you
want to precede it with "make install".

I don't know if the content-finding code that is used by the ns build
is generalized to all Emacs builds, but if it is you can get
relocatable builds for free.  If not, it's not that hard (and Mike
Sperber did it for XEmacs, I imagine he'd be willing to discuss the
fine points that caused him pain).

A final point: In the case of "the old version", I'm pretty sure you
mean "the last version I built", which probably will still work.  Most
of us, however, have substantial churn in our libraries due to distro
updates, and my experience is that old executables typically have a
lifetime of about 1-3 months (normally due to a security patch to
libpng, but who's counting? ;-) After that the executable won't load
anyway, unless statically linked.  Almost nobody does that anymore.
So cleaning up old versions is a harmless convenience for most
developers.  (I suppose you could do a "keep last N versions" the way
the traditional Emacs backup-versioning code does.)




  reply	other threads:[~2013-05-11  3:09 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-10  0:22 Bootstrap deleted DOC-nnn file Richard Stallman
2013-05-10  9:24 ` Eli Zaretskii
2013-05-10 11:02   ` Stephen J. Turnbull
2013-05-10 12:51     ` Eli Zaretskii
2013-05-10 17:01       ` Stephen J. Turnbull
2013-05-10 17:19         ` Eli Zaretskii
2013-05-11  2:46           ` Stephen J. Turnbull
2013-05-10 22:08   ` Richard Stallman
2013-05-10 22:33     ` chad
2013-05-11  3:09       ` Stephen J. Turnbull [this message]
2013-05-11 12:10         ` Richard Stallman
2013-05-11 16:49           ` Richard Stallman
2013-05-11 17:16             ` Eli Zaretskii
2013-05-11 21:44               ` Richard Stallman
2013-05-11 22:14                 ` Christopher Schmidt
2013-05-12 19:39                   ` Richard Stallman
2013-05-12  3:00                 ` Eli Zaretskii
2013-05-12 19:39                   ` Richard Stallman
2013-05-12 20:00                     ` Eli Zaretskii
2013-05-13 14:09                     ` Richard Stallman
2013-05-13 16:27                       ` Andreas Schwab
2013-05-14 13:32                         ` Richard Stallman
2013-05-14 16:32                           ` Paul Eggert
2013-05-15 11:43                             ` Richard Stallman
2013-05-15 12:22                               ` Eli Zaretskii
2013-05-15 13:24                                 ` Xue Fuqiao
2013-05-15 23:27                                 ` Richard Stallman
2013-05-15 19:08                               ` Stefan Monnier
2013-05-15 22:37                                 ` Xue Fuqiao
2013-05-14 16:54                           ` Andreas Schwab
2013-05-15 11:43                             ` Richard Stallman
2013-05-15 12:20                               ` Eli Zaretskii
2013-05-15 23:27                                 ` Richard Stallman
2013-05-13 16:30                       ` Eli Zaretskii
2013-05-12  2:45             ` Stephen J. Turnbull
2013-05-12 15:33               ` Eli Zaretskii
2013-05-12 19:39               ` Richard Stallman
2013-05-12 19:39               ` Richard Stallman
2013-05-12 23:32                 ` Stephen J. Turnbull
2013-05-13 23:47                   ` Richard Stallman
2013-05-14  1:24                     ` Stephen J. Turnbull
2013-05-12 19:39               ` Richard Stallman
2013-05-12 23:04                 ` Stephen J. Turnbull
2013-05-11  7:13       ` Eli Zaretskii
2013-05-11 12:10         ` Richard Stallman
2013-05-11 12:58           ` Eli Zaretskii
2013-05-11 14:50             ` Stefan Monnier
2013-05-11 16:49               ` Richard Stallman
2013-05-11 17:37                 ` Stefan Monnier
2013-05-11 21:44                   ` Richard Stallman
2013-05-13 15:15                     ` Stefan Monnier
2013-05-13 23:47                       ` Richard Stallman
2013-05-14  1:56                         ` Stefan Monnier
2013-05-14  6:29                           ` Eli Zaretskii
2013-05-14 12:48                             ` Stefan Monnier
2013-05-15  0:05                           ` Richard Stallman
2013-05-11 16:49             ` Richard Stallman

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

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

  git send-email \
    --in-reply-to=87vc6qdxfe.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    --cc=yandros@MIT.EDU \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.