30 Sep
2008
30 Sep
'08
9:28 p.m.
PS' implementation of &optional function arguments breaks because of JS's weird short-circuiting. For example, (ps (defun blah (&optional (x 0)) (return x))) => "function blah(x) { x = undefined === x && 0 || x; return x; };" With this implementation, blah() is undefined when it should return 0. A patch is below. Daniel hunk ./src/special-forms.lisp 268 - `(setf ,place (or (and (=== undefined ,place) ,value) - ,place))) + `(setf ,place (if (=== ,place undefined) ,value ,place)))