[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Strange behavior of macro
From: |
Andreas Schwab |
Subject: |
Re: Strange behavior of macro |
Date: |
Tue, 30 May 2006 12:35:08 +0200 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux) |
"Herbert Euler" <address@hidden> writes:
>>From: Andreas Schwab <address@hidden>
>>To: "Herbert Euler" <address@hidden>
>>CC: address@hidden
>>Subject: Re: Strange behavior of macro
>>Date: Tue, 30 May 2006 12:23:49 +0200
>>
>>"Herbert Euler" <address@hidden> writes:
>>
>> > Is the following in Emacs a expected behavior of macro?
>> >
>> > (defmacro m1 (v)
>> > (let ((len (length (eval v))))
>> > `(quote ,len)))
>> > => m1
>>[...]
>> > (m1 v)
>> > => error: (wrong-type-argument sequencep v)
>>
>>See (elisp)Eval During Expansion.
>
> OK, so it's an accepted behavior. Btw, in the test of GNU clisp,
> it's safe to write such a macro:
Emacs Lisp is using dynamic binding, not lexical binding.
Andreas.
--
Andreas Schwab, SuSE Labs, address@hidden
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."