[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Concern around use of eval
From: |
Joost Kremers |
Subject: |
Re: Concern around use of eval |
Date: |
20 Mar 2015 19:54:16 GMT |
User-agent: |
slrn/pre1.0.0-18 (Linux) |
Tassilo Horn wrote:
> Joost Kremers <joost.m.kremers@gmail.com> writes:
>
>> Why not do it at the top level directly? E.g.:
>>
>> ,----
>> | (defvar lh/labels '("label1" "label2" "label3"))
>> |
>> | (defmacro lh/gen-predicate (label)
>> | `(defun ,(intern (concat "lh/" label "-p")) ()
>> | (member ,label *lh/system-label-store*)))
>> |
>> | (mapc (lambda (label)
>> | (lh/gen-predicate label))
>> | lh/labels)
>> `----
>
> That won't work because. When reading the mapc form, emacs sees that
> `lh/gen-predicate' is a macro and tries to expand it with the symbol
> label as argument. The macroexpansion takes place before the actual
> execution of the code.
Thanks, that explains a few things.
--
Joost Kremers joostkremers@fastmail.fm
Selbst in die Unterwelt dringt durch Spalten Licht
EN:SiS(9)
- Concern around use of eval, Les Harris, 2015/03/19
- Re: Concern around use of eval, Stefan Monnier, 2015/03/19
- Re: Concern around use of eval, Thierry Volpiatto, 2015/03/20
- Message not available
- Re: Bug in Elisp font-locking, Tassilo Horn, 2015/03/20
- Re: Bug in Elisp font-locking, Stefan Monnier, 2015/03/20
- Re: Bug in Elisp font-locking, Tassilo Horn, 2015/03/20
- Re: Bug in Elisp font-locking, Stefan Monnier, 2015/03/20