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

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

bug#60643: closed (29.0.50; set-buffer-major-mode resets buffer local va


From: GNU bug Tracking System
Subject: bug#60643: closed (29.0.50; set-buffer-major-mode resets buffer local variables)
Date: Sun, 08 Jan 2023 10:29:02 +0000

Your message dated Sun, 08 Jan 2023 01:09:55 -0800
with message-id <87358lqq0n.fsf@breatheoutbreathe.in>
and subject line Re: bug#60643: 29.0.50; set-buffer-major-mode resets buffer 
local variables
has caused the debbugs.gnu.org bug report #60643,
regarding 29.0.50; set-buffer-major-mode resets buffer local variables
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
60643: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60643
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 29.0.50; set-buffer-major-mode resets buffer local variables Date: Sat, 07 Jan 2023 20:48:54 -0800
Hello!

It appears that set-buffer-major-mode resets buffer local variables.

To reproduce with `emacs -Q`:

(defvar-local test-var nil)
(setq test-var t)
(message "%s" test-var) ;; t
;; (set-auto-mode)
(set-buffer-major-mode (current-buffer))
(message "%s" test-var) ;; nil

Is this behavior expected?

Thank you!!

Joseph

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.30, cairo version 1.16.0)
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure
 
CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash
 SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash
 
--prefix=/gnu/store/4mnib031vflf88ms8w7kyfahcbv1k9vc-emacs-next-29.0.50-3.22e8a77
 --enable-fast-install --with-modules --with-cairo
 --with-native-compilation --disable-build-details'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB



--- End Message ---
--- Begin Message --- Subject: Re: bug#60643: 29.0.50; set-buffer-major-mode resets buffer local variables Date: Sun, 08 Jan 2023 01:09:55 -0800
Hello!

Eli Zaretskii <eliz@gnu.org> writes:

> Changing the major mode kills all buffer-local variables. If you don't
> want some variable to be killed, give it the permanent-local property.

Ruijie Yu <ruijie@netyu.xyz> writes:

> There is another concept called "permanent local variables" which you
> might be thinking about when looking at "local variables", see info node
> `(elisp) Standard Properties' for more information.

Thank you both for your help!! This solves it:

(put 'test-var 'permanent-local t)

Joseph


--- End Message ---

reply via email to

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