From unknown Fri Jun 20 05:38:02 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#60643 <60643@debbugs.gnu.org> To: bug#60643 <60643@debbugs.gnu.org> Subject: Status: 29.0.50; set-buffer-major-mode resets buffer local variables Reply-To: bug#60643 <60643@debbugs.gnu.org> Date: Fri, 20 Jun 2025 12:38:02 +0000 retitle 60643 29.0.50; set-buffer-major-mode resets buffer local variables reassign 60643 emacs submitter 60643 Joseph Turner severity 60643 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 07 23:57:10 2023 Received: (at submit) by debbugs.gnu.org; 8 Jan 2023 04:57:10 +0000 Received: from localhost ([127.0.0.1]:59537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pENk6-0002d1-Gk for submit@debbugs.gnu.org; Sat, 07 Jan 2023 23:57:10 -0500 Received: from lists.gnu.org ([209.51.188.17]:59622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pENk4-0002cr-5P for submit@debbugs.gnu.org; Sat, 07 Jan 2023 23:57:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pENk3-0005by-ER for bug-gnu-emacs@gnu.org; Sat, 07 Jan 2023 23:57:07 -0500 Received: from out-130.mta0.migadu.com ([2001:41d0:1004:224b::82]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pENjz-000784-Lc for bug-gnu-emacs@gnu.org; Sat, 07 Jan 2023 23:57:06 -0500 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1673153819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=akhRLJYZkwMnXMm27/YDDtRkWABBl9lYN5Rpg7dPRSg=; b=ZVRos0ui8IY+piN2yHRGnCInwD35nEAaubGIZbuTTkYNyo0HkRQR82BVbqEnIVJKTkK0YY vFFNVQCaVCrIi21lEoiOnjvtsIA9zv5Lc4mGDo6pRkemPIJL9q2OMRSpp02DrTbnGcQ78M 15/n/4jk98NFGb5nBVFz14FxofEKhg0= From: Joseph Turner To: bug-gnu-emacs@gnu.org Subject: 29.0.50; set-buffer-major-mode resets buffer local variables Date: Sat, 07 Jan 2023 20:48:54 -0800 Message-ID: <87eds5r5d4.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT Received-SPF: pass client-ip=2001:41d0:1004:224b::82; envelope-from=joseph@breatheoutbreathe.in; helo=out-130.mta0.migadu.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) 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 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 08 00:50:03 2023 Received: (at 60643) by debbugs.gnu.org; 8 Jan 2023 05:50:03 +0000 Received: from localhost ([127.0.0.1]:59636 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEOZG-00040r-Dh for submit@debbugs.gnu.org; Sun, 08 Jan 2023 00:50:03 -0500 Received: from netyu.xyz ([152.44.41.246]:54860 helo=mail.netyu.xyz) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEOZD-00040F-61 for 60643@debbugs.gnu.org; Sun, 08 Jan 2023 00:50:01 -0500 Received: from fw.net.yu.netyu.xyz (99-87-204-218.lightspeed.irvnca.sbcglobal.net [99.87.204.218]) by netyu.xyz (OpenSMTPD) with ESMTPSA id 252fa267 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 8 Jan 2023 05:49:58 +0000 (UTC) References: <87eds5r5d4.fsf@breatheoutbreathe.in> User-agent: mu4e 1.8.13; emacs 29.0.60 From: Ruijie Yu To: Joseph Turner Subject: Re: bug#60643: 29.0.50; set-buffer-major-mode resets buffer local variables Date: Sat, 07 Jan 2023 23:45:52 -0600 In-reply-to: <87eds5r5d4.fsf@breatheoutbreathe.in> Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60643 Cc: 60643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Joseph Turner via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > 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 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. Best, RY From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 08 00:59:57 2023 Received: (at 60643) by debbugs.gnu.org; 8 Jan 2023 05:59:57 +0000 Received: from localhost ([127.0.0.1]:59654 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEOir-0004Gs-7o for submit@debbugs.gnu.org; Sun, 08 Jan 2023 00:59:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:53252) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEOip-0004Gf-Qi for 60643@debbugs.gnu.org; Sun, 08 Jan 2023 00:59:56 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEOij-0006rO-H8; Sun, 08 Jan 2023 00:59:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=QYOHHSK9wPSX3W8DHqG67Ak1MhRyFGXj0f79XVxcjY0=; b=G6svpq5xHCLq Q5wIHPbEbnRM3CkSPzNyyWU2eM8mLPuCsLPEdNYgwNWFDe/RjvSZT//9qlEe12JwEdgbwqLiULJak lAM/X/Y2657mfF9zYyPGWcyRY8QSiljM2yahig+p4grOH5dCPLSsXpQfliHmAcNIi8XkExZdZcieE ZAqeu9Zv49oY3baAULJh/9XEB7ca7Ho4xyrO1Saw4LUR+v5Erk+qq1kZXQTaaIbJ0t53RIlOAi3/T MtZHQYqd+N0JDPSmfjJJ/uI4dySi5WDvIE9NI9m1EviAGlgaAyRjO8hTPn+qxuAwBGyloZkowCk+n dGNggImNQ9uIHx82z4ECrQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEOii-0006pZ-3t; Sun, 08 Jan 2023 00:59:49 -0500 Date: Sun, 08 Jan 2023 08:00:11 +0200 Message-Id: <83ilhhr2fo.fsf@gnu.org> From: Eli Zaretskii To: Joseph Turner In-Reply-To: <87eds5r5d4.fsf@breatheoutbreathe.in> (bug-gnu-emacs@gnu.org) Subject: Re: bug#60643: 29.0.50; set-buffer-major-mode resets buffer local variables References: <87eds5r5d4.fsf@breatheoutbreathe.in> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60643 Cc: 60643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 07 Jan 2023 20:48:54 -0800 > From: Joseph Turner via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > 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? Yes, I think so. 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. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 08 05:27:50 2023 Received: (at 60643) by debbugs.gnu.org; 8 Jan 2023 10:27:50 +0000 Received: from localhost ([127.0.0.1]:59937 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pESu6-0003Lv-0t for submit@debbugs.gnu.org; Sun, 08 Jan 2023 05:27:50 -0500 Received: from out2.migadu.com ([188.165.223.204]:64868) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pESu3-0003Lm-RT for 60643@debbugs.gnu.org; Sun, 08 Jan 2023 05:27:48 -0500 References: <87eds5r5d4.fsf@breatheoutbreathe.in> <83ilhhr2fo.fsf@gnu.org> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1673173666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Y7DgC6yAqt3QVWF2naUuB55wDRakUnjxASeTOxq+FMw=; b=NtYK5bQsH5V49gH+DFkfBU4xwMvGBnwPq3Y9W3AWQltxEwCT80AYWZ9eR6snnmn3wd2aSY LXzAYnO7gBIDvUnS3WqWuyXHdMAHI0hr/ppLrvF3rLcZSZ/CR/83vQNnSXHs3klXmg9Wg1 VVW9UrbmHoobLxSdRAQsHcvV5BLZF5I= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner To: Eli Zaretskii , ruijie@netyu.xyz Subject: Re: bug#60643: 29.0.50; set-buffer-major-mode resets buffer local variables Date: Sun, 08 Jan 2023 01:09:55 -0800 In-reply-to: <83ilhhr2fo.fsf@gnu.org> Message-ID: <875ydhqq1s.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60643 Cc: 60643@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello! Eli Zaretskii 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 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 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 08 05:28:31 2023 Received: (at 60643-done) by debbugs.gnu.org; 8 Jan 2023 10:28:31 +0000 Received: from localhost ([127.0.0.1]:59941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pESul-0003NF-DA for submit@debbugs.gnu.org; Sun, 08 Jan 2023 05:28:31 -0500 Received: from out-142.mta0.migadu.com ([91.218.175.142]:37264) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pESuk-0003N5-2R for 60643-done@debbugs.gnu.org; Sun, 08 Jan 2023 05:28:30 -0500 References: <87eds5r5d4.fsf@breatheoutbreathe.in> <83ilhhr2fo.fsf@gnu.org> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1673173708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Y7DgC6yAqt3QVWF2naUuB55wDRakUnjxASeTOxq+FMw=; b=WzD/VLVv6oltejeIb/CNzd3OGaCZouQMb7VsTyjChlaW9k6B4ECzeX7u1GqlJuCDnKyptY jtXXpT539g3wnijCvO1KhDlRJ+vI9XYBKGiCMGPv3i6lZwGH+TH4Oa9OBHwMDbPuOZu5Cs IBtKBAR958eegdmsOf8lGoBQW6uqnBQ= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner To: Eli Zaretskii , ruijie@netyu.xyz Subject: Re: bug#60643: 29.0.50; set-buffer-major-mode resets buffer local variables Date: Sun, 08 Jan 2023 01:09:55 -0800 In-reply-to: <83ilhhr2fo.fsf@gnu.org> Message-ID: <87358lqq0n.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60643-done Cc: 60643-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello! Eli Zaretskii 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 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 From unknown Fri Jun 20 05:38:02 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 05 Feb 2023 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator