Subject: Re: bug#26073: workaround

From: Paul Pogonyshev <[email-masked]>
Date: Mon, 20 Mar 2017 10:22:57 +0100

To see the wrong expansion:

(progn
  (pp (macroexpand-all '(cl-symbol-macrolet ((it xxx))
                          (let ((it 1))
                            (iter-yield (funcall (lambda (it) (- it))
(1+ it)))))))
  nil)

Too see it in the generator function:

(progn
  (pp (macroexpand-all '(cl-symbol-macrolet ((it xxx))
                          (iter-lambda ()
                            (let ((it 1))
                              (iter-yield (funcall (lambda (it) (-
it)) (1+ it))))))))
  nil)

Particularly these lines are wrong in the latter:

>                           #'(lambda
>                               (it)
>                               (- cps-binding-xxx-))