GNU bug report logs -
#47843
28.0.50; Setting enable-local-variables to nil *appears* to inhibit lexical-binding (but doesn't)
Previous Next
Reported by: Phil Sainty <psainty <at> orcon.net.nz>
Date: Sat, 17 Apr 2021 13:53:02 UTC
Severity: normal
Tags: fixed
Found in version 28.0.50
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Phil Sainty <psainty <at> orcon.net.nz> writes:
> With enable-local-variables set to nil, when editing an elisp buffer
> using lexical-binding it can *seem* as though lexical-binding is not
> enabled, as -*- lexical-binding: t -*- is being inhibited along with
> any others.
>
> Experimentally, Emacs appears to do the right thing, still evaluating
> the code using lexical-binding. I tested loading compiled and
> uncompiled code, as well as `eval-buffer', and all of those seemed
> to work correctly.
enable-local-variables doesn't affect byte-compiling or loading the
file -- only the current buffer settings.
So I tried visiting this file, with enable-local-variables set to nil:
;; -*- lexical-binding: t; -*-
(defun foo ()
(let ((a 1))
(lambda ()
(message "%s" a))))
(funcall (foo))
And `C-M-x' on the two forms failed, as expected. (When enabling the
variable, they are successful.)
So I think everything works as expected here? That is, the buffer
doesn't use lexical mode if you set enable-local-variables to nil.
Are you seeing something different?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 4 years and 13 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.