all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* defvar and "special-variable-p"-ness
@ 2021-08-14 23:02 Eduardo Ochs
  2021-08-14 23:24 ` Emanuel Berg via Users list for the GNU Emacs text editor
  2021-08-14 23:37 ` Stefan Monnier via Users list for the GNU Emacs text editor
  0 siblings, 2 replies; 6+ messages in thread
From: Eduardo Ochs @ 2021-08-14 23:02 UTC (permalink / raw)
  To: help-gnu-emacs

Hi list,

after "defvar"-ing a variable its "special-variable-p"-ness becomes
true. Is there a way to make its "special-variable-p"-ness nil again?
That would be useful for some tests that I am trying to write...

By the way, I thought that "unload-feature" would be able to revert
the "special-variable-p"-ness of a variable back to nil, but it seems
that it doesn't do that. Here's how I tested it. I created a file
"/tmp/myfile.el" with just these three lines,

  ;; Copy this 3-line block to /tmp/myfile.el
  (defvar myvar 99)
  (provide 'myfile)

Then I ran the uncommented sexps below one by one with my favorite
variant of `C-x C-e':

  (setq myvar 42)
  (special-variable-p 'myvar)
  ;; ^ --> nil

  (require 'myfile "/tmp/myfile.el")
  (assoc "/tmp/myfile.el" load-history)
  ;; ^ --> ("/tmp/myfile.el" myvar (provide . myfile))
  (special-variable-p 'myvar)
  ;; ^ --> t

  (unload-feature 'myfile)
  (assoc "/tmp/myfile.el" load-history)
  ;; ^ --> nil
  (special-variable-p 'myvar)
  ;; ^ --> t

Thanks in advance!
  Eduardo Ochs
  http://angg.twu.net/#eev
  http://angg.twu.net/eev-intros/find-lexical-intro.html



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: defvar and "special-variable-p"-ness
  2021-08-14 23:02 defvar and "special-variable-p"-ness Eduardo Ochs
@ 2021-08-14 23:24 ` Emanuel Berg via Users list for the GNU Emacs text editor
  2021-08-14 23:29   ` Eduardo Ochs
  2021-08-14 23:37 ` Stefan Monnier via Users list for the GNU Emacs text editor
  1 sibling, 1 reply; 6+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-08-14 23:24 UTC (permalink / raw)
  To: help-gnu-emacs

Eduardo Ochs wrote:

> after "defvar"-ing a variable its "special-variable-p"-ness becomes
> true

It does?

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: defvar and "special-variable-p"-ness
  2021-08-14 23:24 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2021-08-14 23:29   ` Eduardo Ochs
  2021-08-15  0:58     ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 6+ messages in thread
From: Eduardo Ochs @ 2021-08-14 23:29 UTC (permalink / raw)
  To: Emanuel Berg, help-gnu-emacs

On Sat, 14 Aug 2021 at 20:25, Emanuel Berg via Users list for the GNU
Emacs text editor <help-gnu-emacs@gnu.org> wrote:
>
> Eduardo Ochs wrote:
>
> > after "defvar"-ing a variable its "special-variable-p"-ness becomes
> > true
>
> It does?

Hi Emanuel,
please try the tests in my e-mail - this one:
https://lists.gnu.org/archive/html/help-gnu-emacs/2021-08/index.html
  Cheers, E.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: defvar and "special-variable-p"-ness
  2021-08-14 23:02 defvar and "special-variable-p"-ness Eduardo Ochs
  2021-08-14 23:24 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2021-08-14 23:37 ` Stefan Monnier via Users list for the GNU Emacs text editor
  2021-08-15  0:24   ` Eduardo Ochs
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Monnier via Users list for the GNU Emacs text editor @ 2021-08-14 23:37 UTC (permalink / raw)
  To: help-gnu-emacs

> after "defvar"-ing a variable its "special-variable-p"-ness becomes
> true. Is there a way to make its "special-variable-p"-ness nil again?
> That would be useful for some tests that I am trying to write...

There's `internal-make-var-non-special`.


        Stefan




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: defvar and "special-variable-p"-ness
  2021-08-14 23:37 ` Stefan Monnier via Users list for the GNU Emacs text editor
@ 2021-08-15  0:24   ` Eduardo Ochs
  0 siblings, 0 replies; 6+ messages in thread
From: Eduardo Ochs @ 2021-08-15  0:24 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: help-gnu-emacs

On Sat, 14 Aug 2021 at 20:38, Stefan Monnier via Users list for the
GNU Emacs text editor <help-gnu-emacs@gnu.org> wrote:
>
> > after "defvar"-ing a variable its "special-variable-p"-ness becomes
> > true. Is there a way to make its "special-variable-p"-ness nil again?
> > That would be useful for some tests that I am trying to write...
>
> There's `internal-make-var-non-special`.

Perfect!
Thanks! =) =) =)
  E.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: defvar and "special-variable-p"-ness
  2021-08-14 23:29   ` Eduardo Ochs
@ 2021-08-15  0:58     ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 0 replies; 6+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-08-15  0:58 UTC (permalink / raw)
  To: help-gnu-emacs

Eduardo Ochs wrote:

>>> after "defvar"-ing a variable its
>>> "special-variable-p"-ness becomes true
>>
>> It does?
>
> please try the tests in my e-mail - this one:
> https://lists.gnu.org/archive/html/help-gnu-emacs/2021-08/index.html

Please read this webpage first...

(defvar not-special)
(setq not-special "not special")
(special-variable-p 'not-special) ; nil

(defvar special "soo special")
(special-variable-p 'special) ; t

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-08-15  0:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-14 23:02 defvar and "special-variable-p"-ness Eduardo Ochs
2021-08-14 23:24 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-14 23:29   ` Eduardo Ochs
2021-08-15  0:58     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-14 23:37 ` Stefan Monnier via Users list for the GNU Emacs text editor
2021-08-15  0:24   ` Eduardo Ochs

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.