emacs-devel
[Top][All Lists]
Advanced

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

Re: Can't M-x compile-defun `edebug' because dynamic variables are false


From: Stefan Monnier
Subject: Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical.
Date: Thu, 13 Feb 2020 17:09:46 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

> But I'm afraid I don't know what a permanent versus
> temporary special variable is.
> And I haven't found
> anything in the doc that has helped me with that.

It's the term used in the part that describes `defvar`:

    Note that specifying a value, even @code{nil}, marks the variable as
    special permanently.  Whereas if @var{value} is omitted then the
    variable is only marked special locally (i.e.@: within the current
    lexical scope, or file if at the top-level).  This can be useful for
    suppressing byte compilation warnings, see @ref{Compiler Errors}.

> AFAIK, in Common Lisp a variable is either special
> or it's not.  If it is then its binding by `let'
> is dynamic, and if it's not then its let-binding
> is lexical. (No?)

Same for us.
Does Common Lisp offer something like `special-variable-p`?


        Stefan




reply via email to

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