mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-03 11:33:37 +00:00
(cl-transform-lambda): Preserve the match-data.
This commit is contained in:
parent
596047b3e7
commit
4d78a860b9
@ -1,3 +1,7 @@
|
||||
2007-08-16 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/cl-macs.el (cl-transform-lambda): Preserve the match-data.
|
||||
|
||||
2007-08-16 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* ps-print.el (ps-font-size): Doc fix.
|
||||
|
@ -266,15 +266,19 @@ its argument list allows full Common Lisp conventions."
|
||||
(nconc (nreverse simple-args)
|
||||
(list '&rest (car (pop bind-lets))))
|
||||
(nconc (let ((hdr (nreverse header)))
|
||||
(require 'help-fns)
|
||||
(cons (help-add-fundoc-usage
|
||||
(if (stringp (car hdr)) (pop hdr))
|
||||
;; orig-args can contain &cl-defs (an internal CL
|
||||
;; thingy that I do not understand), so remove it.
|
||||
(let ((x (memq '&cl-defs orig-args)))
|
||||
(if (null x) orig-args
|
||||
(delq (car x) (remq (cadr x) orig-args)))))
|
||||
hdr))
|
||||
;; Macro expansion can take place in the middle of
|
||||
;; apparently harmless computation, so it should not
|
||||
;; touch the match-data.
|
||||
(save-match-data
|
||||
(require 'help-fns)
|
||||
(cons (help-add-fundoc-usage
|
||||
(if (stringp (car hdr)) (pop hdr))
|
||||
;; orig-args can contain &cl-defs (an internal
|
||||
;; CL thingy I don't understand), so remove it.
|
||||
(let ((x (memq '&cl-defs orig-args)))
|
||||
(if (null x) orig-args
|
||||
(delq (car x) (remq (cadr x) orig-args)))))
|
||||
hdr)))
|
||||
(list (nconc (list 'let* bind-lets)
|
||||
(nreverse bind-forms) body)))))))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user