help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: re-loading an elisp file


From: rusi
Subject: Re: re-loading an elisp file
Date: Sat, 5 Mar 2011 21:32:02 -0800 (PST)
User-agent: G2/1.0

On Mar 6, 4:21 am, PJ Weisberg <address@hidden> wrote:
> On Sat, Mar 5, 2011 at 2:17 PM, Tim X <address@hidden> wrote:
> > The way I usually deal with this is to either reset the variable in the
> > scratch buffer i.e.
>
> > (setq var nil)
>
> > then when I re-evaluate the buffer, var will be set if it is in a defvar
> > statement.
>
> Not true.  If the variable is set at all, even to nil, defvar respects
> it and doesn't overwrite it with the default.  Otherwise putting
> something like (setq flyspell-persistent-highlight nil) in your .emacs
> file would have no effect.
>
> The way to actually do that is:
>
> (makunbound 'var)
>
> -PJ

This points out the real problem -- elisp is not a functional
language.
In (pure) functional languages the pattern (for loading) is to 'clean
the slate' and then load. IOW everything -- variable, function, type
-- that was defined in this module is first 'makunbounded' and then
the module is loaded.

It would certainly be worthwhile to have such a feature in emacs.  I
guess its not easy to do unless one has available the pair-list of the
form: ((var defined-in-file)...).
Another problem that would probably muddy the waters are macros...


reply via email to

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