Sean MacLennan writes:
On Sun, 15 Dec 2013 10:32:09 +0900
"Stephen J. Turnbull" <stephen(a)xemacs.org> wrote:
> Which probably isn't writable for most users (even today, it isn't for
> me on *any* of my systems without su/sudo).
I was thinking more of the case where somebody has installed XEmacs on
the machine (using apt-get under Ubuntu for example). For most of these
users they are probably not changing the source packages at all.
Sure, the point is that editing the installed Lisp is going to fail
unless you have root, and then it's going to fail to be reflected in
the running XEmacs the next time you start it because dumped Lisp
doesn't check for an edited version on load-path and reload itself.
I am much more likely to look up the source to see how it works (and
maybe steal a few ideas) more than looking it up to change it.
I haven't had a problem with this in ages, although I don't refer to
Lisp sources very often on Windows XP and may never haver tried to
find a dumped library in that environment.
What I don't understand even after reading the thread Aidan
posted is
how massaging load-history would affect anybody.
See above. AFAIK at present the only ways to determine if a Lisp
library is dumped are (a) parse the dump list (in a non-dumped library
whose name I forget) and (b) examine load-history. We could try to
implement a better way, but it needs to be better, not just different.
My simple use of find-function doesn't seem to be affected by
changing load-history. In fact I (setq load-history nil) and
describe-function and find-function work the same.
Dontcha just hate it when your bug reports are closed with "works for
me"? I don't remember the exact details but there were corner cases
where improved code got "lost" because people were changing installed
Lisp which got overwritten by the next install. We need to be careful
that this continues to work for those that it currently works for.
Why you don't need load-history? The find-library functionality falls
back to load-path if load-history is null, for one thing. In general,
with the main exception of dumped Lisp, searching load-path and
searching load-history should give the same results. Only if
load-path is changed after initialization such that a different
instance of the file ends up earlier on load-path would you expect to
find a difference.
I do think it's bad if you can't find source for a function which is
available in your running XEmacs. Currently XEmacs does
(locate-file FILE (or load-history load-path) EXTENSIONS)
but I think it could try harder with something like
(or (locate-file FILE load-history EXTENSIONS)
(locate-file FILE load-path EXTENSIONS))
No time to think about it tonight though (and you should check the
locate-file API and make sure it returns nil for not found).
BTW, I don't argue with your logic, and certainly don't claim you
screwed up somehow. It's possible I'm too conservative about these
things, but I follow That Other Emacs and I don't much like the way
some of their committers regularly upset other users with "works for
me" tweaks. (Fortunately Stefan takes a really dim view of that kind
of thing, but even Stefan typically does little to ensure backward
compatibility if it would significantly complexify the code.)
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta