# HG changeset patch # User Stefan Monnier # Date 1057364584 0 # Node ID 06dc2c7d15f7031a8ad838c92b1b39b7210cbb21 # Parent 10cd0bec4a7f43fd5a008f4c9e0f9a4590171d41 (cl-transform-lambda): Strip &cl-defs thingies from constructors created by defstruct. diff -r 10cd0bec4a7f -r 06dc2c7d15f7 lisp/emacs-lisp/cl-macs.el --- a/lisp/emacs-lisp/cl-macs.el Fri Jul 04 23:47:48 2003 +0000 +++ b/lisp/emacs-lisp/cl-macs.el Sat Jul 05 00:23:04 2003 +0000 @@ -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 ;; Version: 2.02 @@ -266,7 +266,12 @@ (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)))))))