From: David Vázquez Date: Sun, 5 May 2013 15:34:34 +0000 (+0100) Subject: Replace advanced etypecase by cond X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=d7e149c2bd97a990ccddd5196e0f58e257d24cab;p=jscl.git Replace advanced etypecase by cond --- diff --git a/src/lambda-list.lisp b/src/lambda-list.lisp index 13aee25..1b62075 100644 --- a/src/lambda-list.lisp +++ b/src/lambda-list.lisp @@ -235,15 +235,15 @@ ;; symbol it will be bound to the form. The variable ;; where the form is bound is returned. (compute-pbindings (pattern form) - (etypecase pattern - (null) - ;; Bind the symbol to FORM. - (symbol + (cond + ((null pattern)) + ;; Bind the symbol to FORM. + ((symbolp pattern) (push `(,pattern ,form) bindings) (values pattern)) - ;; Bind FORM to a auxiliar variable and bind - ;; pattern agains it recursively. - (d-lambda-list + ((d-lambda-list-p pattern) + ;; Bind FORM to a auxiliar variable and bind + ;; pattern agains it recursively. (let ((subpart (gensym))) (push `(,subpart (progn