mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-07 20:59:37 +00:00
Always use lexical-binding in lisp-interaction-mode (bug#38835)
* lisp/progmodes/elisp-mode.el (lisp-interaction-mode): Set lexical-binding. * lisp/startup.el (command-line, startup--get-buffer-create-scratch): Don't set lexical-binding here. * doc/lispref/variables.texi: * etc/NEWS: Make it clear that lisp-interaction-mode uses lexical-binding.
This commit is contained in:
parent
c42198f78c
commit
d645628e3c
4 changed files with 8 additions and 5 deletions
|
@ -1187,6 +1187,9 @@ When evaluating Emacs Lisp code directly using an @code{eval} call,
|
||||||
lexical binding is enabled if the @var{lexical} argument to
|
lexical binding is enabled if the @var{lexical} argument to
|
||||||
@code{eval} is non-@code{nil}. @xref{Eval}.
|
@code{eval} is non-@code{nil}. @xref{Eval}.
|
||||||
|
|
||||||
|
Lexical binding is also enabled in Lisp Interaction and IELM
|
||||||
|
mode, used in the @file{*scratch*} and @file{*ielm*} buffers.
|
||||||
|
|
||||||
@cindex special variables
|
@cindex special variables
|
||||||
Even when lexical binding is enabled, certain variables will
|
Even when lexical binding is enabled, certain variables will
|
||||||
continue to be dynamically bound. These are called @dfn{special
|
continue to be dynamically bound. These are called @dfn{special
|
||||||
|
|
3
etc/NEWS
3
etc/NEWS
|
@ -338,7 +338,8 @@ answers, but also function keys like 'F1', character events such as
|
||||||
|
|
||||||
** Lexical binding is now used when evaluating interactive Elisp forms.
|
** Lexical binding is now used when evaluating interactive Elisp forms.
|
||||||
More specifically, lexical-binding is now used for 'M-:', '--eval', as
|
More specifically, lexical-binding is now used for 'M-:', '--eval', as
|
||||||
well as in the "*scratch*" and "*ielm*" buffers.
|
well as in lisp-interaction-mode and ielm-mode, used in the "*scratch*"
|
||||||
|
and "*ielm*" buffers.
|
||||||
|
|
||||||
---
|
---
|
||||||
** The new user option 'tooltip-resize-echo-area' avoids truncating
|
** The new user option 'tooltip-resize-echo-area' avoids truncating
|
||||||
|
|
|
@ -933,7 +933,8 @@ Paragraphs are separated only by blank lines.
|
||||||
Semicolons start comments.
|
Semicolons start comments.
|
||||||
|
|
||||||
\\{lisp-interaction-mode-map}"
|
\\{lisp-interaction-mode-map}"
|
||||||
:abbrev-table nil)
|
:abbrev-table nil
|
||||||
|
(setq-local lexical-binding t))
|
||||||
|
|
||||||
;;; Emacs Lisp Byte-Code mode
|
;;; Emacs Lisp Byte-Code mode
|
||||||
|
|
||||||
|
|
|
@ -1435,8 +1435,7 @@ please check its value")
|
||||||
(if (get-buffer "*scratch*")
|
(if (get-buffer "*scratch*")
|
||||||
(with-current-buffer "*scratch*"
|
(with-current-buffer "*scratch*"
|
||||||
(if (eq major-mode 'fundamental-mode)
|
(if (eq major-mode 'fundamental-mode)
|
||||||
(funcall initial-major-mode))
|
(funcall initial-major-mode))))
|
||||||
(setq-local lexical-binding t)))
|
|
||||||
|
|
||||||
;; Load library for our terminal type.
|
;; Load library for our terminal type.
|
||||||
;; User init file can set term-file-prefix to nil to prevent this.
|
;; User init file can set term-file-prefix to nil to prevent this.
|
||||||
|
@ -2317,7 +2316,6 @@ A fancy display is used on graphic displays, normal otherwise."
|
||||||
(or (get-buffer "*scratch*")
|
(or (get-buffer "*scratch*")
|
||||||
(with-current-buffer (get-buffer-create "*scratch*")
|
(with-current-buffer (get-buffer-create "*scratch*")
|
||||||
(set-buffer-major-mode (current-buffer))
|
(set-buffer-major-mode (current-buffer))
|
||||||
(setq-local lexical-binding t)
|
|
||||||
(current-buffer))))
|
(current-buffer))))
|
||||||
|
|
||||||
(defun command-line-1 (args-left)
|
(defun command-line-1 (args-left)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue