BurntSushi / wingo

A fully-featured window manager written in Go.
Do What The F*ck You Want To Public License
1k stars 90 forks source link

wingo crashes when a sub-command returns an unexpected type #31

Closed BurntSushi closed 12 years ago

BurntSushi commented 12 years ago

To produce, run:

And (Move (GetActive) 0 14) (True)
BurntSushi commented 12 years ago

This was fixed in Gribble in commit ee823f9f3aca5472c05cb507c7f873a2a5321731.

The problem here is that it's perfectly valid for a command to return a nil value. However, Gribble assumed it was a bug in the parser/type checker. Instead, it should be a type error.

In this particular case, the "Move" command is executed successfully (the window will move), but the "And" command will return a type error.