Update of /project/mcclim/cvsroot/mcclim/Drei In directory clnet:/tmp/cvs-serv31244
Modified Files: lisp-syntax.lisp Log Message: Hack together a solution for the bug reported by Robert Strand on mcclim-devel. I'm not pretty sure the `token-to-object' function is insufficient for properly handling the evil of backquoting. It'll have to be revised at some point.
--- /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp 2006/12/02 20:28:18 1.8 +++ /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp 2006/12/04 18:12:38 1.9 @@ -2535,7 +2535,7 @@ (defmethod token-to-object (syntax (token list-form) &rest args) (loop for child in (children token) if (typep child 'comma-at-form) - append (apply #'token-to-object syntax child args) + nconc (listed (apply #'token-to-object syntax child args)) else if (formp child) collect (apply #'token-to-object syntax child args)))
@@ -2567,11 +2567,11 @@ (if (form-list-p backquoted-form) `(list ,@(loop for element in (children backquoted-form) if (form-comma-p element) - collect (apply #'token-to-object syntax element args) + collect (apply #'token-to-object syntax element args) else if (form-comma-at-p element) - nconc (apply #'token-to-object syntax element args) + nconc (listed (apply #'token-to-object syntax element args)) else if (formp element) - collect (apply #'token-to-object syntax element :quote t args))) + collect (apply #'token-to-object syntax element :quote t args))) `',(apply #'token-to-object syntax backquoted-form args))))
(defmethod token-to-object (syntax (token comma-form) &rest args)