From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 16 06:13:49 2013 Received: (at submit) by debbugs.gnu.org; 16 Dec 2013 11:13:49 +0000 Received: from localhost ([127.0.0.1]:53062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VsW7Q-0000sk-UZ for submit@debbugs.gnu.org; Mon, 16 Dec 2013 06:13:49 -0500 Received: from eggs.gnu.org ([208.118.235.92]:35604) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VsW7P-0000sc-2m for submit@debbugs.gnu.org; Mon, 16 Dec 2013 06:13:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VsW7I-0000RK-Nw for submit@debbugs.gnu.org; Mon, 16 Dec 2013 06:13:46 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:41663) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsW7I-0000RG-Kn for submit@debbugs.gnu.org; Mon, 16 Dec 2013 06:13:40 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37300) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsW7C-0007sX-Fs for bug-gnu-emacs@gnu.org; Mon, 16 Dec 2013 06:13:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VsW76-0000Pi-Av for bug-gnu-emacs@gnu.org; Mon, 16 Dec 2013 06:13:34 -0500 Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:46672) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsW75-0000PX-Q4 for bug-gnu-emacs@gnu.org; Mon, 16 Dec 2013 06:13:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=vFIfUkEwuR6T3twe4JygH3Z5yQMdl8CWNT0FniqopT4=; b=cPgSazUK6h8EjcjBPBhEJ6rfwijsVrdSVKl1umEgof5LU0uEPlDgJgYQPf1ALgvg3NkkvUE7zgxox0+rV+ic//OABebiPJhCAsASrHEwfDPopL7JjFbQrz/5e+VKej1rGyQ/Ci5Mm+Zm5+P5Bb/Ru3z9n8bf+aPfY6d75GaKWX1jt01/MBKbfn7cMql8xp0dGlGIhAHrJLWKY41g3q0TqXu6D62hu4iUJlOJq5ng5y+RZ578YjwY/VWm3Kv8z052yU56cccSsrL/CXO9FkCNemUdqqBY/AIf/px0p0xNpnwUTqYYMOvN10fn0SZvIdCzxa5TKQ1QCUACSj9R4ku/ZA==; Received: from [173.252.71.189] (helo=[172.20.16.114]) by dancol.org with esmtpsa (TLS1.0:DHE_RSA_CAMELLIA_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1VsW75-0003zK-5t for bug-gnu-emacs@gnu.org; Mon, 16 Dec 2013 03:13:27 -0800 Message-ID: <52AEE02B.8060309@dancol.org> Date: Mon, 16 Dec 2013 03:12:43 -0800 From: Daniel Colascione User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: bug-emacs Subject: [PATCH] define-derived-mode clobbers syntax tables Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -4.1 (----) Repro: 1) Visit shell script with comments. See comments fontified properly. 2) M-x find-library sh-script RET 3) M-x eval-buffer 4) Return to shell script buffer 5) C-x C-v RET 6) Observe that comments are no longer fontified as comments. The define-derived-mode macro in sh-script.el emits code that clobbers sh-mode-syntax-table because we don't have a :syntax-table argument. I think the following patch changes the code to the expected behavior. ~/edev/trunk $ bzr diff === modified file 'lisp/emacs-lisp/derived.el' --- lisp/emacs-lisp/derived.el 2013-05-27 16:12:52 +0000 +++ lisp/emacs-lisp/derived.el 2013-12-16 11:09:41 +0000 @@ -206,11 +206,11 @@ ,(if declare-syntax `(progn (unless (boundp ',syntax) - (put ',syntax 'definition-name ',child)) - (defvar ,syntax (make-syntax-table)) - (unless (get ',syntax 'variable-documentation) - (put ',syntax 'variable-documentation - (purecopy ,(format "Syntax table for `%s'." child)))))) + (put ',syntax 'definition-name ',child) + (defvar ,syntax (make-syntax-table)) + (unless (get ',syntax 'variable-documentation) + (put ',syntax 'variable-documentation + (purecopy ,(format "Syntax table for `%s'." child))))))) ,(if declare-abbrev `(progn (put ',abbrev 'definition-name ',child) That is, we shouldn't touch the syntax table variable at all unless the variable is unbound. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 16 14:17:28 2013 Received: (at 16160) by debbugs.gnu.org; 16 Dec 2013 19:17:28 +0000 Received: from localhost ([127.0.0.1]:54374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VsdfT-0000UO-NH for submit@debbugs.gnu.org; Mon, 16 Dec 2013 14:17:28 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:38687) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VsdfR-0000UG-To for 16160@debbugs.gnu.org; Mon, 16 Dec 2013 14:17:26 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.DIT.UMontreal.CA (8.14.1/8.14.1) with ESMTP id rBGJHKqD016844; Mon, 16 Dec 2013 14:17:21 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 019CEAE2BE; Mon, 16 Dec 2013 14:17:19 -0500 (EST) From: Stefan Monnier To: Daniel Colascione Subject: Re: bug#16160: [PATCH] define-derived-mode clobbers syntax tables Message-ID: References: <52AEE02B.8060309@dancol.org> Date: Mon, 16 Dec 2013 14:17:19 -0500 In-Reply-To: <52AEE02B.8060309@dancol.org> (Daniel Colascione's message of "Mon, 16 Dec 2013 03:12:43 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4794=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4794> : inlines <329> : streams <1091813> : uri <1625941> X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 16160 Cc: 16160@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.9 (-) > 1) Visit shell script with comments. See comments fontified properly. > 2) M-x find-library sh-script RET > 3) M-x eval-buffer > 4) Return to shell script buffer > 5) C-x C-v RET > 6) Observe that comments are no longer fontified as comments. I can't reproduce it, starting from "emacs -Q". > - (put ',syntax 'definition-name ',child)) > - (defvar ,syntax (make-syntax-table)) > - (unless (get ',syntax 'variable-documentation) > - (put ',syntax 'variable-documentation > - (purecopy ,(format "Syntax table for `%s'." child)))))) > + (put ',syntax 'definition-name ',child) > + (defvar ,syntax (make-syntax-table)) > + (unless (get ',syntax 'variable-documentation) > + (put ',syntax 'variable-documentation > + (purecopy ,(format "Syntax table for `%s'." child))))))) > That is, we shouldn't touch the syntax table variable at all unless the > variable is unbound. But that shouldn't make much difference since none of the code you changed should affect the var's value when it is already bound. I'm not necessarily opposed to the change (haven't dug enough to try and remember why it's written this way), but I'd first like to understand why it fixes the problem you see. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 16 21:18:20 2013 Received: (at 16160) by debbugs.gnu.org; 17 Dec 2013 02:18:20 +0000 Received: from localhost ([127.0.0.1]:54707 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VskEh-0004mc-FP for submit@debbugs.gnu.org; Mon, 16 Dec 2013 21:18:19 -0500 Received: from dancol.org ([96.126.100.184]:41787) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VskEZ-0004mN-2z for 16160@debbugs.gnu.org; Mon, 16 Dec 2013 21:18:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=pOqliFdlJ8N6YKvRNTFW271tx1HNROlpXxiCrTYrPls=; b=G6xnJ6yyG+iJbQ4uZfoyLLv040FHjP3585wSYCYEiVIItaCGknVcsu4x1sWukoyyFMXGCqHL6zTZKc9PtBSiZWM+NKqVosuCji5AFfKiOBhX6iUvA9PwH6S1aVqvS17mY1cYyf0T+Cn/d/ZekD2lI8ASbnlnKPZVBqZu8EPiQDwBhAmT8sD17jiaRXH4E7nGcy5svl8ZyDXE2x+pGxgsE6dL8fq2+XGfte+ripWTwhRXrifCiuTfo219gSyTsjKLQ7199vAwSd7cj5FJ2rf2BwQueYPqY3K+b5Zw1Qs/vrgdcuxIsqNnlB1LggCVgpGb77ofCj1/YXhidjiEzYIepA==; Received: from [2620:0:1cfe:a0:863a:4bff:fec8:e538] by dancol.org with esmtpsa (TLS1.0:DHE_RSA_CAMELLIA_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1VskEX-0005QP-GO; Mon, 16 Dec 2013 18:18:05 -0800 Message-ID: <52AFB453.5000300@dancol.org> Date: Mon, 16 Dec 2013 18:17:55 -0800 From: Daniel Colascione User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#16160: [PATCH] define-derived-mode clobbers syntax tables References: <52AEE02B.8060309@dancol.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 16160 Cc: 16160@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.5 (/) On 12/16/2013 11:17 AM, Stefan Monnier wrote: >> 1) Visit shell script with comments. See comments fontified properly. >> 2) M-x find-library sh-script RET >> 3) M-x eval-buffer >> 4) Return to shell script buffer >> 5) C-x C-v RET >> 6) Observe that comments are no longer fontified as comments. > > I can't reproduce it, starting from "emacs -Q". I can't repro it either now, with or without -Q. That was odd. I know what I saw, and I know that my patch resolved the problem in that instance of Emacs, but I have no idea how defvar was clobbering that variable. I was able to repro it over an dover again though. I can only conclude that Emacs was punishing me for my many sins. If I see it again, I'll try to hook Emacs up to a debugger. In the meantime, let's avoid changing fundamental infrastructure before a feature freeze. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 16 21:36:35 2013 Received: (at 16160) by debbugs.gnu.org; 17 Dec 2013 02:36:35 +0000 Received: from localhost ([127.0.0.1]:54728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VskWR-0005Kq-2w for submit@debbugs.gnu.org; Mon, 16 Dec 2013 21:36:35 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:56221) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VskWO-0005Ki-Eb for 16160@debbugs.gnu.org; Mon, 16 Dec 2013 21:36:32 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.DIT.UMontreal.CA (8.14.1/8.14.1) with ESMTP id rBH2aStx010422; Mon, 16 Dec 2013 21:36:29 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 3587EAE2BE; Mon, 16 Dec 2013 21:36:28 -0500 (EST) From: Stefan Monnier To: Daniel Colascione Subject: Re: bug#16160: [PATCH] define-derived-mode clobbers syntax tables Message-ID: References: <52AEE02B.8060309@dancol.org> <52AFB453.5000300@dancol.org> Date: Mon, 16 Dec 2013 21:36:28 -0500 In-Reply-To: <52AFB453.5000300@dancol.org> (Daniel Colascione's message of "Mon, 16 Dec 2013 18:17:55 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV4794=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4794> : inlines <330> : streams <1092019> : uri <1626334> X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 16160 Cc: 16160@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.9 (-) > I can only conclude that Emacs was punishing me for my many sins. I believe He may forgive you, if you fix a few bugs for penance. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 20 16:45:50 2013 Received: (at 16160) by debbugs.gnu.org; 20 Dec 2013 21:45:50 +0000 Received: from localhost ([127.0.0.1]:60514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vu7tG-00012h-CZ for submit@debbugs.gnu.org; Fri, 20 Dec 2013 16:45:50 -0500 Received: from dancol.org ([96.126.100.184]:57625) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vu7tD-00012Y-IY for 16160@debbugs.gnu.org; Fri, 20 Dec 2013 16:45:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=k51jlMrGnca+gRUe0eVpu6gsVFeLmzci4s/lG3EfixE=; b=NGpLFoFNSUgpsMd/8cyCNIj/yZ+YLfLmUR5hQMcw8nKEDy9+oNXLhObcaAEXCMWizr6hrdTj/iqVVIk2FB/30msJMbaaCUh53Nn24Douya1xY300T7mpWOPySBQDp8UarOA9qApyEclP6EcMVcCNLFweKZFjNfJS+NtxhbzLaqbzH1h+SzHeN1cTbpufJ2F9BaLys1qsH6vosHgxnMfbTdILs6nYWRPLr8GqT5bPKT1lZPPIH1sKSZgq+OG1vZzLbpEUCPB6fi7bxUKs2xuFTBYzmjJs0HgMXh9aJQo/v41v/67AHRo4DTGUwQjDkq4ht6jQb13FOA78l0oCL6KsqQ==; Received: from c-76-22-66-162.hsd1.wa.comcast.net ([76.22.66.162] helo=[192.168.1.100]) by dancol.org with esmtpsa (TLS1.0:DHE_RSA_CAMELLIA_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1Vu7tB-0006pY-RT; Fri, 20 Dec 2013 13:45:45 -0800 Message-ID: <52B4BA87.8070200@dancol.org> Date: Fri, 20 Dec 2013 13:45:43 -0800 From: Daniel Colascione User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#16160: [PATCH] define-derived-mode clobbers syntax tables References: <52AEE02B.8060309@dancol.org> <52AFB453.5000300@dancol.org> In-Reply-To: <52AFB453.5000300@dancol.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 16160 Cc: 16160@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.5 (/) Actually... On 12/16/2013 06:17 PM, Daniel Colascione wrote: > On 12/16/2013 11:17 AM, Stefan Monnier wrote: >>> 1) Visit shell script with comments. See comments fontified properly. >>> 2) M-x find-library sh-script RET >>> 3) M-x eval-buffer >>> 4) Return to shell script buffer >>> 5) C-x C-v RET >>> 6) Observe that comments are no longer fontified as comments. The repro steps are incorrect. Try these: 1) emacs -Q 2) visit a shell script 3) M-x find-library sh-script RET 4) C-s define-derived-mode RET 5) C-M-x 6) switch to your shell script buffer 7) C-x C-v 8) Observe that the shell script is fontified incorrectly; the syntax table is now clobbered. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 25 20:35:08 2015 Received: (at control) by debbugs.gnu.org; 26 Dec 2015 01:35:08 +0000 Received: from localhost ([127.0.0.1]:36508 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aCdlE-0003sJ-2G for submit@debbugs.gnu.org; Fri, 25 Dec 2015 20:35:08 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:51647) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aCdlC-0003sA-Lk for control@debbugs.gnu.org; Fri, 25 Dec 2015 20:35:06 -0500 Received: from 2.150.58.24.tmi.telenormobil.no ([2.150.58.24] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aCdkr-0008QQ-K5 for control@debbugs.gnu.org; Sat, 26 Dec 2015 02:34:45 +0100 Date: Sat, 26 Dec 2015 02:34:44 +0100 Message-Id: <874mf6f0wb.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #16160 X-MailScanner-ID: 1aCdkr-0008QQ-K5 X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1451698486.04756@qLqVnPxYsIx4pFGERXuk6g X-Spam-Status: No X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control 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.7 (/) tags 16160 - moreinfo From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 29 21:11:06 2016 Received: (at 16160) by debbugs.gnu.org; 1 Mar 2016 02:11:06 +0000 Received: from localhost ([127.0.0.1]:54424 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aaZmE-0000tx-HJ for submit@debbugs.gnu.org; Mon, 29 Feb 2016 21:11:06 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:40155) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aaZmC-0000tp-PR for 16160@debbugs.gnu.org; Mon, 29 Feb 2016 21:11:05 -0500 Received: from 109.179.133.80.tmi.telenormobil.no ([109.179.133.80] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aaZlg-0004bq-RT; Tue, 01 Mar 2016 03:10:33 +0100 From: Lars Ingebrigtsen To: Daniel Colascione Subject: Re: bug#16160: [PATCH] define-derived-mode clobbers syntax tables In-Reply-To: <52B4BA87.8070200@dancol.org> (Daniel Colascione's message of "Fri, 20 Dec 2013 13:45:43 -0800") Date: Tue, 01 Mar 2016 13:05:13 +1100 Message-ID: <87oaaz2bs6.fsf@gnus.org> References: <52AEE02B.8060309@dancol.org> <52AFB453.5000300@dancol.org> <52B4BA87.8070200@dancol.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-MailScanner-ID: 1aaZlg-0004bq-RT X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1457403034.65351@VwoAYO6HFbRibJg4HHUhzg X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 16160 Cc: 16160@debbugs.gnu.org, Stefan Monnier 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 (/) Daniel Colascione writes: > The repro steps are incorrect. Try these: > > 1) emacs -Q > 2) visit a shell script > 3) M-x find-library sh-script RET > 4) C-s define-derived-mode RET > 5) C-M-x > 6) switch to your shell script buffer > 7) C-x C-v > 8) Observe that the shell script is fontified incorrectly; the syntax > table is now clobbered. I can confirm that this bug still exists. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 29 21:11:16 2016 Received: (at control) by debbugs.gnu.org; 1 Mar 2016 02:11:16 +0000 Received: from localhost ([127.0.0.1]:54427 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aaZmO-0000uK-P3 for submit@debbugs.gnu.org; Mon, 29 Feb 2016 21:11:16 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:40170) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aaZmN-0000uC-CM for control@debbugs.gnu.org; Mon, 29 Feb 2016 21:11:15 -0500 Received: from 109.179.133.80.tmi.telenormobil.no ([109.179.133.80] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aaZlm-0004cP-Sh for control@debbugs.gnu.org; Tue, 01 Mar 2016 03:10:39 +0100 From: Lars Ingebrigtsen To: control@debbugs.gnu.org Subject: control message for bug #16160 Message-ID: <87mvqj2bs2.fsf@totally-fudged-out-message-id> Date: Tue, 01 Mar 2016 13:10:34 +1100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) X-MailScanner-ID: 1aaZlm-0004cP-Sh X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1457403040.72941@ydPYjxhZWUioyLefSXeaPA X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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 (/) tags 16160 confirmed From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 29 21:11:23 2016 Received: (at control) by debbugs.gnu.org; 1 Mar 2016 02:11:23 +0000 Received: from localhost ([127.0.0.1]:54430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aaZmU-0000ud-Tz for submit@debbugs.gnu.org; Mon, 29 Feb 2016 21:11:23 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:40175) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aaZmS-0000uU-SK for control@debbugs.gnu.org; Mon, 29 Feb 2016 21:11:21 -0500 Received: from 109.179.133.80.tmi.telenormobil.no ([109.179.133.80] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aaZlt-0004d5-0N for control@debbugs.gnu.org; Tue, 01 Mar 2016 03:10:45 +0100 From: Lars Ingebrigtsen To: control@debbugs.gnu.org Subject: control message for bug #16160 Message-ID: <87lh632brw.fsf@totally-fudged-out-message-id> Date: Tue, 01 Mar 2016 13:10:40 +1100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) X-MailScanner-ID: 1aaZlt-0004d5-0N X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1457403046.78716@N2/+447RjMDn6NLUh+DSWA X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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 (/) tags 16160 - unreproducible From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 12 20:05:00 2016 Received: (at 16160-done) by debbugs.gnu.org; 13 Dec 2016 01:05:00 +0000 Received: from localhost ([127.0.0.1]:39822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGbWe-0000Of-K8 for submit@debbugs.gnu.org; Mon, 12 Dec 2016 20:05:00 -0500 Received: from eggs.gnu.org ([208.118.235.92]:51736) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGbWd-0000OR-Cc for 16160-done@debbugs.gnu.org; Mon, 12 Dec 2016 20:04:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGbWX-0005YD-Fr for 16160-done@debbugs.gnu.org; Mon, 12 Dec 2016 20:04:54 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37323) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGbWX-0005Y5-CX for 16160-done@debbugs.gnu.org; Mon, 12 Dec 2016 20:04:53 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1cGbWW-00071t-Vo; Mon, 12 Dec 2016 20:04:53 -0500 From: Glenn Morris To: 16160-done@debbugs.gnu.org Subject: Re: bug#16160: [PATCH] define-derived-mode clobbers syntax tables References: <52AEE02B.8060309@dancol.org> <52AFB453.5000300@dancol.org> <52B4BA87.8070200@dancol.org> <87oaaz2bs6.fsf@gnus.org> X-Spook: Alcohol Tobacco and Firearms Afghanistan industrial X-Ran: *//t5n)B.:w;^N/!,3b"=%G=iHxh(/41B1k\Shq9d<|q[>2A (Lars Ingebrigtsen's message of "Tue, 01 Mar 2016 13:05:13 +1100") Message-ID: <58eg1cbpvv.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -8.1 (--------) X-Debbugs-Envelope-To: 16160-done 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: -8.1 (--------) Version: 26.1 >> The repro steps are incorrect. Try these: >> >> 1) emacs -Q >> 2) visit a shell script >> 3) M-x find-library sh-script RET >> 4) C-s define-derived-mode RET >> 5) C-M-x >> 6) switch to your shell script buffer >> 7) C-x C-v >> 8) Observe that the shell script is fontified incorrectly; the syntax >> table is now clobbered. Fixed in 8db7b65 along the suggested lines. So AIUI the issue is that define-derived-mode expands to (defvar ,syntax (make-syntax-table)) Normally this has no effect if ,syntax is already bound. But M-x eval-defun resets defvars to their default settings... Hence if you selectively re-evaluate only the mode definition from sh-script.el, you get the reported problem. So I changed it to explicitly check if ,syntax is bound. This will however now make things go wrong in the opposite way for someone who has been playing around with customizing a syntax table that was actually defined by define-derived-mode and wants to reset it by re-evaluating the derived mode definition. But AFAICS there's no way to fix both scenarios, and the second seems less likely (?) to me than the one reported here. From unknown Mon Jun 23 22:05:32 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 10 Jan 2017 12:24:04 +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