Re: [iterate-devel] clisp setf wark around
Hi, Marco Baringer wrote:
This (5 line) patch deals with clisp's ((setf foo) value other-args).
Thanks for pointing out the problem. I wrote to clisp-list about it. Do you have a testcase? How did you find out about this bug?
+ (walk `(funcall ',(get (second (car form)) 'system::setf-function) I'll soon submit a patch for Iterate which also works with [9]> (macroexpand-1'(setf (values-list (list a b c)) (foo))) (LET* ((#:G6359 (LIST A B C))) ((SETF VALUES-LIST) (FOO) #:G6359)) ; T which your's doesn't (looking up internals from sys::setf-function is not a good idea). I would probably use walk-cdr or some such.
Regards, Jorg Hohle
"Hoehle, Joerg-Cyril" <Joerg-Cyril.Hoehle@t-systems.com> writes:
Hi,
Marco Baringer wrote:
This (5 line) patch deals with clisp's ((setf foo) value other-args).
Thanks for pointing out the problem. I wrote to clisp-list about it.
Do you have a testcase? How did you find out about this bug?
when porting ucw to clisp my cps transformer (which also attempts to walk code) exploded. i fixed the cps transforme in a similar manor and then applied the same change to iterate. i don't have a test case other than (macroexpand '(setf (foo) 4)) => ((SETF FOO) 4) -- -Marco Ring the bells that still can ring. Forget the perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen
participants (2)
-
Hoehle, Joerg-Cyril
-
Marco Baringer