[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: labels usage

>   (labels ((fx (arg) arg))
>     (setq fn 'fx))

'fx evaluates to the *symbol* `fx', not the *function* `fx'.  In Elisp
until Emacs-24, you can use pretty much interchangeably a function and
the symbol to which it is bound, but with lexical scoping this is not
true any more.  CL's `labels' used to follow the "Elisp tradition" and
looked inside `quote' to turn that symbol into a reference to the
locally defined function.  But that was fundamentally a bug.