Lisp HUG Maillist Archive

Re: Iterate error in LW?

>
> The macro expansion of the iter in the original form has 
> MULTIPLE-VALUE-CALL instead of MULTIPLE-VALUE-BIND-CALL:
>
> (LET* ((#:COUNT181 NIL))
>   (BLOCK NIL
>     (TAGBODY (SETQ #:COUNT181 4)
>      LOOP-TOP-NIL (IF (<= #:COUNT181 0) (GO LOOP-END-NIL))
>              (VALUES (LET* ()
>                        (MULTIPLE-VALUE-CALL #'(LAMBDA (&OPTIONAL 
> #:G1829 #:G1830 &REST #:|m-v-b-&rest1831|)
>                                                 (DECLARE (IGNORE 
> #:|m-v-b-&rest1831|))
>                                                 (LET* () (VALUES (SETQ 
> A #:G1829) (SETQ B #:G1830))))
>                                             (FOO))))
>              (SETQ #:COUNT181 (1- #:COUNT181))
>              (GO LOOP-TOP-NIL)
>      LOOP-END-NIL)
>     NIL))
>
>
> and DESCRIBE shows MULTIPLE-VALUE-BIND-CALL to be completely undefined 
> and unbound.

I found it. I'd accidentally shadowed it. Describe says:

SYSTEM::MULTIPLE-VALUE-BIND-CALL is a SYMBOL
NAME          "MULTIPLE-VALUE-BIND-CALL"
VALUE         #<unbound value>
FUNCTION      #<Function SYSTEM::MULTIPLE-VALUE-BIND-CALL>
PLIST         (COMPILER::CLC-TRANSFORMS 
COMPILER::MULTIPLE-VALUE-BIND-FROM-VALUES COMPILER::SPECIAL-HANDLER 
COMPILER::TREEIFY-MULTIPLE-VALUE-BIND-CALL)
PACKAGE       #<The SYSTEM package, 5287/8192 internal, 1065/2048 
external>

Why doesn't MULTIPLE-VALUE-BIND-CALL show up in the macro expansion?

  - Stoney



Updated at: 2020-12-10 08:54 UTC