There is a reason why *loop-keywords* was declared with defvar
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 <dreameration@gmail.com> 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
parenscript-devel@common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel