Ken Raeburn wrote:
On Jul 19, 2009, at 16:10, Neil Jerram wrote:
BTW, I implemented also the function bindings of symbols using this
fluid-based dynamic scoping at the moment -- but on second thought,
there's no scoping at all for function slots (all are global), is
there?
No, I don't think there is. `let' can't operate on function slots.
Not in the main emacs lisp implementation. However, cl-macs.el provides
an "flet" macro that does work on function slots; it uses the "letf"
macro which expands to include a use of unwind-protect to do its dirty
work.
But that's not part of the real "elisp semantics", and so if we don't
want to include this as a genuine extension into Guile's compiler, we
don't have to use the fluids for function slots.
With unwind-protect and friends one can, just like in emacs, implement
this functionality, even without a fluid implementation.
However, if you agree that this would be a useful feature (dynamic
scoping of functions) I can of course implement this as an extension to
elisp...? I agree that it might be of use sometimes, but am not
convinced it is really "necessary".
Yours,
Daniel
--
Done: Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri