tags:

views:

393

answers:

1
+2  A: 

It's a bug in the PicoLisp implementation with the onOff macro.

The parameters of the onOff function are: (onOff var ..) -> flg

It takes a var and many more variables and logically negates them (true becomes false, false becomes true). I'm willing to bet that the onOff macro takes a single list of arguments. Which means that if NO arguments are given to it, that list of arguments is empty which means the symbol given to the function is NIL.

Macro is bolded because that's where the problem lies. Using a macro makes it so you can pass the symbols to it without quoting. So the onOff macro is generating incorrect code.

omouse