[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: |
Alan Mackenzie |
Subject: |
Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical. |
Date: |
Wed, 4 Jan 2017 22:02:43 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
Hello, Stefan.
On Wed, Jan 04, 2017 at 04:49:15PM -0500, Stefan Monnier wrote:
> > special-variable-p would appear to be a near useless function, since it
> > doesn't do what it's name says.
> It's useful for the compiler, but it's mostly internal, indeed.
OK.
> > There appears to be no way of checking whether a variable's binding is
> > (or will be) lexical.
> In which context do you need/want to do that (I ask because how to do
> it (and even if it can be done) depends on the details)?
I honestly don't know. I presume that there will be code (other than
the byte compiler) which will want to make a distinction. Maybe there's
not. After (defvar foo), the byte compiler seems able to handle foo as
a dynamic variable. I'm still trying to figure out how, given that that
flag denoting a special variable in the struct symbol doesn't get set.
I'm just thoroughly confused about the whole business of whether (defvar
foo) creates a special variable or not. At the moment, I'm not even
quite sure any more exactly what a special variable is. I knew this
morning. :-(
> Stefan
--
Alan Mackenzie (Nuremberg, Germany).
- Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Alan Mackenzie, 2017/01/03
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Stefan Monnier, 2017/01/03
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Alan Mackenzie, 2017/01/03
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Stefan Monnier, 2017/01/03
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Alan Mackenzie, 2017/01/04
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Stefan Monnier, 2017/01/04
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Alan Mackenzie, 2017/01/04
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Stefan Monnier, 2017/01/04
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical.,
Alan Mackenzie <=
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Stefan Monnier, 2017/01/04
- RE: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Drew Adams, 2017/01/04
- Re: Can't M-x compile-defun `edebug' because dynamic variables are falsely taken as lexical., Alan Mackenzie, 2017/01/05