There is a reason why *loop-keywords* was declared with defvar and not defparameter, but I can't remember what it was.
Daniel On Sun, Jan 6, 2013 at 6:33 PM, Canhua <[email protected]> wrote: > I find that it is because the parenscript's *loop-keyword* is not > effective when macro expanding loop-case, > it seems that the common lisp's loop keywords is effective. In the > ps-loop.lisp source, changing > > (defvar *loop-keywords* ..) > > into > > (defparameter *loop-keywords* ...) > > would solve the problem. > > > > On Sat, Jan 5, 2013 at 6:33 PM, Canhua <[email protected]> wrote: > > Following is errors when loading ps-loop.lisp > > > > > > ; file: /root/vendor-src/parenscript/src/lib/ps-loop.lisp > > ; in: DEFUN FOR-CLAUSE > > ; (PARENSCRIPT::LOOP-CASE PARENSCRIPT::TERM > > ; (:FROM (PARENSCRIPT::FOR-FROM PARENSCRIPT::PLACE > PARENSCRIPT::STATE)) > > ; (:= (PARENSCRIPT::FOR-= PARENSCRIPT::PLACE PARENSCRIPT::STATE)) > > ; ((:IN :ACROSS) (PARENSCRIPT:FOR-IN PARENSCRIPT::PLACE > > PARENSCRIPT::STATE)) > > ; (:ON (PARENSCRIPT::FOR-ON PARENSCRIPT::PLACE PARENSCRIPT::STATE)) > > ; (:OF (PARENSCRIPT::FOR-KEYS-OF PARENSCRIPT::PLACE > PARENSCRIPT::STATE)) > > ; (OTHERWISE > > ; (ERROR "FOR ~s ~s is not valid in PS-LOOP." PARENSCRIPT::PLACE > > ; PARENSCRIPT::TERM))) > > ; > > ; caught ERROR: > > ; during macroexpansion of > > ; (LOOP-CASE TERM > > ; (:FROM #) > > ; ...). > > ; Use *BREAK-ON-SIGNALS* to intercept: > > ; > > ; OF isn't a recognized loop keyword. > > > > _______________________________________________ > parenscript-devel mailing list > [email protected] > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel >
_______________________________________________ parenscript-devel mailing list [email protected] http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
