On 11/29/12 1:41 AM, Levin Du wrote: > Hi Daniel, > > My Emacs version is "GNU Emacs 24.3.50.1". > > I tried: > > (defgenerator mygen (i) > (yield 1) > (yield i) > (yield 3)) > > (let ((gen (mygen 100))) > (list (funcall gen) > (funcall gen) > (funcall gen))) > > but failed with: > > Debugger entered--Lisp error: (void-variable cps-current-state-91642) lexical-binding needs to be t. Is it okay for defgenerator to let-bind it at top-level as long as it preserves dynamic binding semantics for the actual code generated?