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 dreameration@gmail.com 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 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