Ar an ceathrú lá déag de mí Lúnasa, scríobh Julian Bradfield:
When read-from-minibuffer is setting up things for the internal
call,
it chooses " *Minibuf-n" as the buffer for recursive minibuffers, but
in the level 0 case it just grabs whatever buffer is currently
displaying in the minibuffer window.
This can't possibly be right, can it? It is partly responsible for the
failure of quail to work in the minibuffer.
Following patch fixes that. If correct, it should also be applied in
21.5.
There’s no history on why that code got in, it was in lemacs 19.9 and is
older than the original CVS import:
http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs-19/lisp/prim/minibuf.el
As far as I can tell, though, the problem you encountered was a workaround
to a typo--there should have been a trailing * in the format string, as
there is in the creation of the " *Minibuf-0*" buffer in minibuf.c. So the
code would have ended up creating both " *Minibuf-0" and "
*Minibuf-0"
buffers, and if the typo wasn’t spotted, I can well imagine someone hacking
together that code.
I’m committing the change to 21.5. I don’t know if it’ll get into 21.4, but
a few months’ testing on 21.5 can only help with that.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1250273691 -3600
# Node ID 9a1a59b4b75d0ffdab4f7d90db48ec666770c24d
# Parent e95ddfd6a40963af74a093ee936a9bca77053bca
Correct an ancient typo workaround, thank you Julian Bradfield!
lisp/ChangeLog addition:
2009-08-14 Aidan Kehoe <kehoea(a)parhasard.net>
* minibuf.el (read-from-minibuffer):
Use buffer (format " *Minibuf-%d*" (minibuffer-depth)), regardless
of depth.
diff -r e95ddfd6a409 -r 9a1a59b4b75d lisp/ChangeLog
--- a/lisp/ChangeLog Mon Aug 03 10:30:47 2009 +0200
+++ b/lisp/ChangeLog Fri Aug 14 19:14:51 2009 +0100
@@ -1,3 +1,9 @@
+2009-08-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * minibuf.el (read-from-minibuffer):
+ Use buffer (format " *Minibuf-%d*" (minibuffer-depth)), regardless
+ of depth.
+
2009-08-10 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el (function-arglist, function-documentation):
diff -r e95ddfd6a409 -r 9a1a59b4b75d lisp/minibuf.el
--- a/lisp/minibuf.el Mon Aug 03 10:30:47 2009 +0200
+++ b/lisp/minibuf.el Fri Aug 14 19:14:51 2009 +0100
@@ -405,10 +405,8 @@
(owindow (selected-window))
(oframe (selected-frame))
(window (minibuffer-window))
- (buffer (if (eq (minibuffer-depth) 0)
- (window-buffer window)
- (get-buffer-create (format " *Minibuf-%d"
- (minibuffer-depth)))))
+ (buffer (get-buffer-create (format " *Minibuf-%d*"
+ (minibuffer-depth))))
(frame (window-frame window))
(mconfig (if (eq frame (selected-frame))
nil (current-window-configuration frame)))
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches