Update of /project/clim-desktop/cvsroot/clim-desktop In directory clnet:/tmp/cvs-serv5295
Modified Files: swine.lisp Log Message: Added list of lambda list keywords that should not be displayed.
--- /project/clim-desktop/cvsroot/clim-desktop/swine.lisp 2006/05/28 12:26:08 1.10 +++ /project/clim-desktop/cvsroot/clim-desktop/swine.lisp 2006/05/28 13:37:46 1.11 @@ -413,6 +413,9 @@ (defparameter +cl-arglist-keywords+ '(&whole &optional &rest &key &allow-other-keys &aux &body &environment))
+(defparameter +cl-garbage-keywords+ + '(&whole &environment)) + (defun find-optional-argument-values (arglist provided-args &optional (split-arglist (split-arglist-on-keywords @@ -565,18 +568,18 @@ ; &aux parameters that should ; not be displayed.
- with in-&environment ; If non-NIL, the next - ; argument is an &environment + with in-garbage ; If non-NIL, the next + ; argument is a garbage ; parameter that should not be ; displayed. if (eq arg-element '&aux) do (setf in-&aux t) - else if (eq arg-element '&environment) - do (setf in-&environment t) + else if (member arg-element +cl-garbage-keywords+ :test #'eq) + do (setf in-garbage t) else if (and (listp arg-element) (> mandatory-argument-count index) - (not in-&environment) + (not in-garbage) (not in-&aux)) collect (multiple-value-bind (arglist sublist-emphasized-symbols @@ -604,15 +607,15 @@ emphasized-symbols)))) arglist) else if (and (assoc arg-name user-supplied-arg-values) - (not in-&environment) + (not in-garbage) (not in-&aux)) collect (list arg-name (rest (assoc arg-name user-supplied-arg-values))) else - if in-&environment - do (setf in-&environment nil) + if in-garbage + do (setf in-garbage nil) else if (not in-&aux) collect arg-element))) (setf ret-arglist (generate-arglist arglist)))
clim-desktop-cvs@common-lisp.net