technoblogy / ulisp-arm

A version of the Lisp programming language for ARM-based boards.
http://www.ulisp.com/
MIT License
97 stars 30 forks source link

Using return outside a block causes odd behaviour #52

Open technoblogy opened 2 years ago

technoblogy commented 2 years ago

Calling return outside loop, dotimes, or dolist causes subsequent loops to fail. For example:

(defun test ()
  (dotimes (x 6) (princ x))
  (return 67))

It works the first time but fails the second:

> (test)
012345
67

> (test)
0
67

Will be fixed next release. Thanks to Brian O'Dell for reporting this.