emacs-devel
[Top][All Lists]
Advanced

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

RE: Lexical byte-compilation warnings cleanup


From: Drew Adams
Subject: RE: Lexical byte-compilation warnings cleanup
Date: Tue, 20 Aug 2013 08:25:05 -0700 (PDT)

> It means that the function uses an argument whose name refers to
> a dynamically-scoped variable.  This is not allowed in lexically-scoped
> code, so you need to rename either the dynbind var or the
> function's argument.

Excuse me for not following the thread and perhaps not understanding what
you say here.  Are you saying that if `lexical-binding' is non-nil then
a function parameter whose name is the same as a dynamically scoped
variable is "not allowed" or does not refer to that variable?

That would be counter to how Common Lisp works, and I thought (and I hope)
that our aim was (is) to use the way Common Lisp marries lexical and
dynamic binding as our model.

In Common Lisp, a variable declared to be "special" (dynamically scoped)
can be used as a formal parameter to a function.  See, for example,

http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/dec_special.html

Again, sorry for the noise if I misunderstand.  If not, please clarify.
Thx.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]