I wasn't sure how to chain function calls so had to look that up to implement movei, but apart from that was fairly straightforward (it's (do (<func1>) (<func2>) ...)).
My UI was pretty simple and ended up being
(defn looki [] (display-html (look-html (look))))
(defn movei [dir] (do (move dir) (looki)))
(looki)
(movei :south)
(movei :east)
(movei :north)
(movei :south)
(movei :west)
(unlock-function :spoiler)
(stack)
(push :picture)
(push :spoilers)
(peek)
(pop)
(reset)
(I got the 5 items. Somehow lost :key-code. I think I inadvertently duplicated :close-paren and :unlock-function, though I have no idea how.
In :utility-room, the "bookcas " is missing an e.
When the mouse is over one of those inline-eval boxes, "scroll up" works, "scroll down" does not.
edit: oh, I was trying to play the whole game before the rest of the article too … so that was probably harder than it needed to be ^_^
edit: (pop) seems to be what screws up my inventory, dropping multiple items from the stack, but if :a :b are dropped, they end up as like :b :b ?
edit: I think I beat it? I got to exit-to-freedom, which I'm assuming is the end.
I fixed the sp error in the utility room.
I think it's (pop) that screws up my inventory? Seems like it pops two things, and one becomes the other.
edit: it's fixed, you might need a shift-reload to get the new code.