engintoklu / selin

selin is a minimalist Lisp dialect. The selin interpreter is written as a C++ header library, so that it can be embedded easily into C++ projects.
4 stars 1 forks source link

if statement does not behave correctly when the else part has two or more instructions #3

Closed engintoklu closed 8 years ago

engintoklu commented 9 years ago

The if statement behaves incorrectly when the 'else' part has more than one instruction. For example, let us consider the following code:

(if nil (print "not here") (print "here") (print "also here"))

Emacs Lisp will print to the screen:

"here" "also here"

but selin will just write:

"here"

so, the second instruction of the 'else' part is ignored.

This must be fixed.

engintoklu commented 8 years ago

Fixed. The if statement of selin now behaves in a compatible way with the if statement of Emacs Lisp.