Ar an t-ochtú lá de mí Márta, scríobh Aidan Kehoe:
With the following change to lisp/help.el:
diff -r 9c97a5a8c241 lisp/help.el
--- a/lisp/help.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/help.el Sun Mar 08 23:28:41 2009 +0000
@@ -1192,9 +1192,12 @@
(let* ((doc (documentation function))
(args (and doc
(string-match
- "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'"
+ "[\n\t ]*\narguments: ?(\\([^)]*\\))\n?\\'"
doc)
- (match-string 1 doc))))
+ (match-string 1 doc)))
+ (args (and args (replace-in-string args
+ #ru"[ ]*\\\u000a[ ]*"
+ " "))))
;; If there are no arguments documented for the
;; subr, rather don't print anything.
(cond ((null args) t)
and a recompile and redump, I get
Stack overflow: byte code stack underflow
whenever I type C-x C-f or F1 h or do almost anything. Evaluating (load
"help.el") or even (load "help.elc") in *scratch* makes XEmacs usable
again.
I don’t anticipate getting to fixing this soon, so I’m posting this bug
report in case the workaround helps anyone else.
So it’s not, as I thought, a bug in calling let* with the same symbol
repeated. The below works; something somewhere doesn’t understand raw
strings and really should.
diff -r 9c97a5a8c241 lisp/help.el
--- a/lisp/help.el Wed Feb 11 15:30:59 2009 +0000
+++ b/lisp/help.el Mon Mar 09 00:02:53 2009 +0000
@@ -1192,9 +1192,12 @@
(let* ((doc (documentation function))
(args (and doc
(string-match
- "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'"
+ "[\n\t ]*\narguments: ?(\\([^)]*\\))\n?\\'"
doc)
- (match-string 1 doc))))
+ (match-string 1 doc)))
+ (args (and args (replace-in-string args
+ "[ ]*\\\\\n[ ]*"
+ " " t))))
;; If there are no arguments documented for the
;; subr, rather don't print anything.
(cond ((null args) t)
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta