> in the release plans. This time it is the Common Lisp reader with a more or > less serious bug report. It involves strtod(), atoi(), etc, functions are > used by ECL which may be affected by the current C locale. >
Hi, While updating hu.dwim.walker to work with the current environment structure, I have found a serious bug in ecl: > (defun test () (let ((a 5)) (declare (special a)) (flet ((x () a)) (let ((a 10)) (x))))) > (test) 5 > (compile 'test) > (test) 10 This happens because lexical special declarations are not supposed to propagate to inner bindings. This appears to fix it properly: @@ -138,11 +138,11 @@ (member name *global-vars* :test #'eq :key #'var-name)) (defun special-variable-p (name) (or (si::specialp name) (check-global name) - (let ((v (cmp-env-search-var name))) + (let ((v (cmp-env-search-var name *cmp-env-root*))) ;; Fixme! Revise the declamation code to ensure whether ;; we also have to consider 'GLOBAL here. (and v (eq (var-kind v) 'SPECIAL))))) ;;; Alexander ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list