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

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

bug#65209: 30.0.50; Unexpected behaviour of setq-local


From: Gerd Möllmann
Subject: bug#65209: 30.0.50; Unexpected behaviour of setq-local
Date: Thu, 10 Aug 2023 15:50:26 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.14.0

Evaluate the following

(progn
  (defvar my-var :default-value)
  (make-variable-buffer-local 'my-var)
  (let ((my-var :let-value))
    (setq-local my-var :buffer-local-new))
  my-var)
=> :default-value

(progn
  (defvar my-var1 :default-value)
  (make-variable-buffer-local 'my-var1)
  (setq my-var1 :buffer-local)
  (let ((my-var1 :let-value))
    (setq-local my-var1 :buffer-local-new))
  my-var1)
=> :buffer-local

In both cases, setq-local has no effect.

(I stumbled over this because lexical-binding is set to nil in *scratch*
when using persistent-scratch (MELPA).  It's quite convolutetd, but in
short: Custom loads persistent-scratch, which loads the contents of
*scratch*, and calls lisp-interaction-mode.  Lisp-interaction-mode
setq-local's lexical-binding to t, but this doesn't work because all
this happens during an eval-buffer that has a specbind of
lexical-binding to nil.)

In GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin22.5.0, NS
 appkit-2299.60 Version 13.4.1 (Build 22F82)) of 2023-07-13 built on
 Mini.fritz.box
Repository revision: e0244f58042740c8fe914e7abe5b02611b176bc2
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.5





reply via email to

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