--- Begin Message ---
Subject: |
eval-case redefinition? |
Date: |
Thu, 19 Jul 2012 15:22:44 +0200 |
This looks like a bug (v2.0.6).
I was cleaning up an old script which goes like this:
(define (eval-case ...)
...
val)
(define var (eval-case ...))
This worked from the REPL, but when loading the file with (load "script"), var
was always #<unspecified>. It turns out that (my) eval-case is never executed
in this case.
So I look around to find that eval-case is something that has been replaced by
eval-when and is now deprecated.
But no matter what eval-case is, it is bad that the redefinition is being
ignored silently.
Regards,
Daniel
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#11988: eval-case redefinition? |
Date: |
Tue, 21 Jan 2014 00:26:54 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
address@hidden (Ludovic Courtès) writes:
> Daniel Llorens <address@hidden> skribis:
>
>> I was cleaning up an old script which goes like this:
>>
>> (define (eval-case ...) ... val)
>>
>> (define var (eval-case ...))
>>
>> This worked from the REPL, but when loading the file with (load
>> "script"), var was always #<unspecified>. It turns out that (my)
>> eval-case is never executed in this case.
>
> It turns out that ‘eval-case’ is a macro, and it gets macro-expanded in
> the RHS of ‘define var’ above.
This bug is now fixed on the stable-2.0 branch.
http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=8de355d08e25a877326489c4b0eb09d313c548dc
I'm closing the bug now. Feel free to reopen if you think there's still
a problem.
Thanks!
Mark
--- End Message ---