summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2003-07-05 00:23:04 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2003-07-05 00:23:04 +0000
commit1360464e6200d301ffb3d6c5b76735748f6c8f06 (patch)
tree5b10327443b0d3d662b4fd82b3a03abe815b9696 /lisp/emacs-lisp
parent08d21785c81e5246a2845fd9777756860629c5f0 (diff)
downloademacs-1360464e6200d301ffb3d6c5b76735748f6c8f06.tar.gz
(cl-transform-lambda): Strip &cl-defs
thingies from constructors created by defstruct.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-macs.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index a6e081fd0d1..ad757149509 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -1,6 +1,6 @@
;;; cl-macs.el --- Common Lisp macros -*-byte-compile-dynamic: t;-*-
-;; Copyright (C) 1993 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2003 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Version: 2.02
@@ -266,7 +266,12 @@ ARGLIST allows full Common Lisp conventions."
(nconc (let ((hdr (nreverse header)))
(require 'help-fns)
(cons (help-add-fundoc-usage
- (if (stringp (car hdr)) (pop hdr)) orig-args)
+ (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))
(list (nconc (list 'let* bind-lets)
(nreverse bind-forms) body)))))))