Don't define *, ** and ** in ielm as real variables

* lisp/ielm.el: (*, **, ***): Change defvars into compiler
directives instead of real variable definitions to avoid polluting
the global Emacs namespace.
(*1, *2, *3): Ditto.
This commit is contained in:
Lars Ingebrigtsen 2019-06-20 13:44:30 +02:00
parent 2396aea6fd
commit 14ef4539bb

View file

@ -122,38 +122,27 @@ such as `edebug-defun' to work with such inputs."
:type 'hook
:group 'ielm)
(defvar * nil
"Most recent value evaluated in IELM.")
;; Most recent value evaluated in IELM.
(defvar *)
(defvar ** nil
"Second-most-recent value evaluated in IELM.")
;; Second-most-recent value evaluated in IELM.
(defvar **)
(defvar *** nil
"Third-most-recent value evaluated in IELM.")
;; Third-most-recent value evaluated in IELM.
(defvar ***)
(defvar ielm-match-data nil
"Match data saved at the end of last command.")
(defvar *1 nil
"During IELM evaluation, most recent value evaluated in IELM.
Normally identical to `*'. However, if the working buffer is an IELM
buffer, distinct from the process buffer, then `*' gives the value in
the working buffer, `*1' the value in the process buffer.
The intended value is only accessible during IELM evaluation.")
(defvar *2 nil
"During IELM evaluation, second-most-recent value evaluated in IELM.
Normally identical to `**'. However, if the working buffer is an IELM
buffer, distinct from the process buffer, then `**' gives the value in
the working buffer, `*2' the value in the process buffer.
The intended value is only accessible during IELM evaluation.")
(defvar *3 nil
"During IELM evaluation, third-most-recent value evaluated in IELM.
Normally identical to `***'. However, if the working buffer is an IELM
buffer, distinct from the process buffer, then `***' gives the value in
the working buffer, `*3' the value in the process buffer.
The intended value is only accessible during IELM evaluation.")
;; During IELM evaluation, *1 is the most recent value evaluated in
;; IELM. Normally identical to `*'. However, if the working buffer
;; is an IELM buffer, distinct from the process buffer, then `*' gives
;; the value in the working buffer, `*1' the value in the process
;; buffer. The intended value is only accessible during IELM
;; evaluation. *2 and *3 are the same for ** and ***.
(defvar *1)
(defvar *2)
(defvar *3)
;;; System variables