From unknown Sun Sep 07 17:04:57 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#35770 <35770@debbugs.gnu.org> To: bug#35770 <35770@debbugs.gnu.org> Subject: Status: [PATCH] Broken duplicate case elimination in switch byte-compilation Reply-To: bug#35770 <35770@debbugs.gnu.org> Date: Mon, 08 Sep 2025 00:04:57 +0000 retitle 35770 [PATCH] Broken duplicate case elimination in switch byte-comp= ilation reassign 35770 emacs submitter 35770 Mattias Engdeg=C3=A5rd severity 35770 normal tag 35770 fixed patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri May 17 05:34:00 2019 Received: (at submit) by debbugs.gnu.org; 17 May 2019 09:34:00 +0000 Received: from localhost ([127.0.0.1]:57291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hRZFY-0002ks-8w for submit@debbugs.gnu.org; Fri, 17 May 2019 05:34:00 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hRZFW-0002ke-23 for submit@debbugs.gnu.org; Fri, 17 May 2019 05:33:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:48664) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hRZFQ-0000CY-U2 for submit@debbugs.gnu.org; Fri, 17 May 2019 05:33:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRZFP-0002jS-Uz for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 05:33:52 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hRZFM-0000A3-2u for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 05:33:51 -0400 Received: from mail210c50.megamailservers.eu ([91.136.10.220]:47322 helo=mail194c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hRZFL-00007j-FI for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 05:33:48 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1558085624; bh=+L7vz4zocByZMnoi1w8L909baeBMoblUr6b7AzOLUPE=; h=From:Subject:Date:Cc:To:From; b=TavShym42JNszdeA59SNbbtzdo5QKsdROoSyEABrVmuLKicQd1UOjmMBFrYovMG0Q vsoDcujkGP3ROFTNoxlSj4LPnE2kCYsruQRYTiTl1FE/lWrHgBjNoATzziRXh6UlIR jokpjDAOCpvFi+/7GwowP+jm3z7mQaX2dP7E0fJE= Feedback-ID: mattiase@acm.or Received: from [192.168.1.65] (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail194c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x4H9XgoQ003773; Fri, 17 May 2019 09:33:43 +0000 From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= Content-Type: multipart/mixed; boundary="Apple-Mail=_28FAA9A1-DA34-4AE0-BB57-883CEE6AD001" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.8\)) Subject: [PATCH] Broken duplicate case elimination in switch byte-compilation Message-Id: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> Date: Fri, 17 May 2019 11:33:41 +0200 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3445.104.8) X-CTCH-RefID: str=0001.0A0B0203.5CDE7FF8.0049, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=OuZhNR3t c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=s-cE09NUrotFUW4v5I0A:9 a=CjuIK1q_8ugA:10 a=DS3PQjJmDWh4Nffbcd0A:9 a=B2y7HmGcmWMA:10 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 91.136.10.220 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: Stefan Monnier , vibhavp@gmail.com 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.3 (--) --Apple-Mail=_28FAA9A1-DA34-4AE0-BB57-883CEE6AD001 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii The byte-code compiler attempts to eliminate duplicated cases when = turning a `cond' into a switch table, as in (cond ((eq x 'a) 1) (eq x 'b) 2) (eq x 'a) 3)) ; remove but it doesn't work properly, because of a confusion between expressions = and their values, and a logic error that would have discarded the entire = table instead of just skipped the duplicate. This patch attempts to rectify that. I also removed a seemingly = redundant condition, the (consp condition), which should always be true = at that point. --Apple-Mail=_28FAA9A1-DA34-4AE0-BB57-883CEE6AD001 Content-Disposition: attachment; filename=0001-Correctly-eliminate-duplicate-cases-in-switch-compil.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Correctly-eliminate-duplicate-cases-in-switch-compil.patch" Content-Transfer-Encoding: quoted-printable =46rom=20adb7adf2271e65023adc0ce5d6251054b55c6452=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2017=20May=202019=2011:25:06=20+0200=0A= Subject:=20[PATCH]=20Correctly=20eliminate=20duplicate=20cases=20in=20= switch=20compilation=0A=0AFix=20code=20mistakes=20that=20prevented=20the=20= correct=20elimination=20of=20duplicated=0Acases=20when=20compiling=20a=20= `cond'=20form=20to=20a=20switch=20bytecode,=20as=20in=0A=0A=20=20(cond=20= ((eq=20x=20'a)=201)=0A=20=20=20=20=20=20=20=20((eq=20x=20'b)=202)=0A=20=20= =20=20=20=20=20=20((eq=20x=20'a)=203))=20=20;=20should=20be=20elided=0A=0A= *=20lisp/emacs-lisp/bytecomp.el=20(byte-compile-cond-vars):=20Return=20= obj2=20eval'ed.=0A(byte-compile-cond-jump-table-info):=0ADiscard=20= redundant=20condition.=20=20Use=20`obj2'=20as=20evaluated.=0ADiscard=20= duplicated=20cases=20instead=20of=20failing=20the=20table=20generation.=0A= ---=0A=20lisp/emacs-lisp/bytecomp.el=20|=2013=20++++++-------=0A=201=20= file=20changed,=206=20insertions(+),=207=20deletions(-)=0A=0Adiff=20= --git=20a/lisp/emacs-lisp/bytecomp.el=20b/lisp/emacs-lisp/bytecomp.el=0A= index=20e76baf5ed0..7f7cbe5a68=20100644=0A---=20= a/lisp/emacs-lisp/bytecomp.el=0A+++=20b/lisp/emacs-lisp/bytecomp.el=0A@@=20= -4091,8=20+4091,8=20@@=20that=20suppresses=20all=20warnings=20during=20= execution=20of=20BODY."=0A=20=20=20;;=20and=20the=20other=20is=20a=20= constant=20expression=20whose=20value=20can=20be=0A=20=20=20;;=20= compared=20with=20`eq'=20(with=20`macroexp-const-p').=0A=20=20=20(or=0A-=20= =20=20(and=20(symbolp=20obj1)=20(macroexp-const-p=20obj2)=20(cons=20obj1=20= obj2))=0A-=20=20=20(and=20(symbolp=20obj2)=20(macroexp-const-p=20obj1)=20= (cons=20obj2=20obj1))))=0A+=20=20=20(and=20(symbolp=20obj1)=20= (macroexp-const-p=20obj2)=20(cons=20obj1=20(eval=20obj2)))=0A+=20=20=20= (and=20(symbolp=20obj2)=20(macroexp-const-p=20obj1)=20(cons=20obj2=20= (eval=20obj1)))))=0A=20=0A=20(defconst=20byte-compile--default-val=20= (cons=20nil=20nil)=20"A=20unique=20object.")=0A=20=0A@@=20-4121,12=20= +4121,11=20@@=20Return=20a=20list=20of=20the=20form=20((TEST=20.=20VAR)=20= =20((VALUE=20BODY)=20...))"=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(unless=20prev-test=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(setq=20prev-test=20test))=0A=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(if=20(and=20obj1=20(memq=20test=20'(eq=20eql=20equal))=0A-=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(consp=20= condition)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(eq=20test=20prev-test)=0A-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(eq=20obj1=20prev-var)=0A-=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20= discard=20duplicate=20clauses=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(not=20(assq=20obj2=20cases)))=0A-=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(push=20(list=20(if=20= (consp=20obj2)=20(eval=20obj2)=20obj2)=20body)=20cases)=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(eq=20obj1=20= prev-var))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= ;;=20discard=20duplicate=20clauses=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(unless=20(assq=20obj2=20cases)=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(push=20(list=20obj2=20= body)=20cases))=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (if=20(and=20(macroexp-const-p=20condition)=20condition)=0A=20=09=09=20=20= =20=20=20(progn=20(push=20(list=20byte-compile--default-val=0A=20=09=09=09= =09=09(or=20body=20`(,condition)))=0A--=20=0A2.20.1=20(Apple=20Git-117)=0A= =0A= --Apple-Mail=_28FAA9A1-DA34-4AE0-BB57-883CEE6AD001-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 17 08:16:51 2019 Received: (at submit) by debbugs.gnu.org; 17 May 2019 12:16:51 +0000 Received: from localhost ([127.0.0.1]:57682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hRbn9-0000Rc-BF for submit@debbugs.gnu.org; Fri, 17 May 2019 08:16:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59102) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hRbn7-0000RP-8w for submit@debbugs.gnu.org; Fri, 17 May 2019 08:16:49 -0400 Received: from lists.gnu.org ([209.51.188.17]:44932) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hRbn1-0002a0-At for submit@debbugs.gnu.org; Fri, 17 May 2019 08:16:44 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45248) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRbn0-00056H-A3 for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 08:16:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hRbmy-0002XR-Et for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 08:16:42 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:20329) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hRbmw-0002VV-KE for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 08:16:40 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 9AE7F4425BE; Fri, 17 May 2019 08:16:37 -0400 (EDT) Received: from mail02.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 72D7B4425B9; Fri, 17 May 2019 08:16:32 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1558095392; bh=LOswXChqXE59WZxt2R5rHAy2Sn7p6fVxQXvsqHsCeqw=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=RRgDalvuGauzqe5G4/h49MMPLxJjlq26OnlIydgbe47kL1H8yoZbUil0WbP3oadM1 YT49WKMorrccDr44O91+jx62/cx65p3/XGwlHCV5gChZYu0n/sK9LMkIFTlaFa7qdw kdwN/VzmcfdbKVxz5Y4Af+xNeOnq3ZzaGg9CGFaZqKrJTUdfqa6ZZNO1qaFzcuudFo QMVRrv3RwF0hwpErRN9s6uMn2qM7vCIvITQu08S1Ey2+WgukJ3iLDbpI7/gNP2k+Zo KxWwrtpIGFH8CrBPckxXOJWo79jZAf5jA0OXYEJudWEfKeaumB4Ske6sXCQOjsUVMy M+OXjcwt48/9Q== Received: from pastel (184-175-13-248.dsl.teksavvy.com [184.175.13.248]) by mail02.iro.umontreal.ca (Postfix) with ESMTPSA id 3EED912023B; Fri, 17 May 2019 08:16:32 -0400 (EDT) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: [PATCH] Broken duplicate case elimination in switch byte-compilation Message-ID: References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> Date: Fri, 17 May 2019 08:16:30 -0400 In-Reply-To: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> ("Mattias \=\?windows-1252\?Q\?Engdeg\=E5rd\=22's\?\= message of "Fri, 17 May 2019 11:33:41 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) 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: 132.204.25.50 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@gnu.org, vibhavp@gmail.com 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.3 (--) > * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Return obj2 eval'ed. > (byte-compile-cond-jump-table-info): > Discard redundant condition. Use `obj2' as evaluated. > Discard duplicated cases instead of failing the table generation. The patch looks fine, but could you add corresponding regression tests? Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri May 17 10:48:36 2019 Received: (at submit) by debbugs.gnu.org; 17 May 2019 14:48:36 +0000 Received: from localhost ([127.0.0.1]:58755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hRe9z-00007z-Vo for submit@debbugs.gnu.org; Fri, 17 May 2019 10:48:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hRe9x-00007l-Nt for submit@debbugs.gnu.org; Fri, 17 May 2019 10:48:34 -0400 Received: from lists.gnu.org ([209.51.188.17]:51271) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hRe9s-0005FE-Hi for submit@debbugs.gnu.org; Fri, 17 May 2019 10:48:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46992) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRe9r-0006IT-5o for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 10:48:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hRe9p-0005Dt-S6 for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 10:48:27 -0400 Received: from mail204c50.megamailservers.eu ([91.136.10.214]:38546 helo=mail193c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hRe9p-0005AW-Dw for bug-gnu-emacs@gnu.org; Fri, 17 May 2019 10:48:25 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1558104501; bh=AZKC2BGqm7sqOgyDdIpVb1bTokyA3HxRxMHfUG4FerM=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=csZfAQvOG/L7Mnj6/WwzaLv+DcSn33X4y5t3vcVVLXFuEPA5XqxjaEaP9QgEhtUvi rGK0c34smwPMpVbhMXzzDMMmOZXZe/Eju53MOAfwOKO/i9qiy78RWOYJ/y3LqnHuuI WQNipJs2SS28kEZ036VHNDC1uR1/Ln1IlrTLelbE= Feedback-ID: mattiase@acm.or Received: from dhcppc0 (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail193c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x4HEmJF0006585; Fri, 17 May 2019 14:48:21 +0000 Message-ID: <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> Subject: Re: [PATCH] Broken duplicate case elimination in switch byte-compilation From: Mattias =?ISO-8859-1?Q?Engdeg=E5rd?= To: Stefan Monnier Date: Fri, 17 May 2019 16:48:19 +0200 In-Reply-To: References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> Content-Type: multipart/mixed; boundary="=-9ON/c1jV3vZk/hIjA9bv" User-Agent: Evolution 3.30.5 (3.30.5-1.fc29) MIME-Version: 1.0 X-CTCH-RefID: str=0001.0A0B0208.5CDEC9B5.007C, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=PM8hB8iC c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=OeaMns-oPRveu5UV6X8A:9 a=QEXdDO2ut3YA:10 a=N54-gffFAAAA:8 a=6kFNEIHPF0FuvLvS0KUA:9 a=B2y7HmGcmWMA:10 a=6l0D2HzqY3Epnrm8mE3f:22 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 91.136.10.214 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@gnu.org, vibhavp@gmail.com 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.3 (--) --=-9ON/c1jV3vZk/hIjA9bv Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit fre 2019-05-17 klockan 08:16 -0400 skrev Stefan Monnier: > The patch looks fine, but could you add corresponding regression > tests? Added. I wasn't sure how you test these things, but I both added some functional tests and some kind of check of the bytecode. If you find the latter superfluous, I can drop it; I think the functional tests are reliable enough. In other words, we have a case of miscompilation. There was another bug in the original code which survived into the first patch: the check for duplicate keys was done with `assq', which of course doesn't work for stuff compared with `eql' or `equal'. Now fixed. --=-9ON/c1jV3vZk/hIjA9bv Content-Disposition: attachment; filename*0=0001-Correctly-eliminate-duplicate-cases-in-switch-compil.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Correctly-eliminate-duplicate-cases-in-switch-compil.patch"; charset="UTF-8" RnJvbSA4NDM4YmMwMzZiYjYwNjIyYzVjMmUwMzU4MmJhMmNmNDcxYmFmOTk4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/TWF0dGlhcz0yMEVuZ2RlZz1DMz1BNXJkPz0g PG1hdHRpYXNlQGFjbS5vcmc+CkRhdGU6IEZyaSwgMTcgTWF5IDIwMTkgMTE6MjU6MDYgKzAyMDAK U3ViamVjdDogW1BBVENIXSBDb3JyZWN0bHkgZWxpbWluYXRlIGR1cGxpY2F0ZSBjYXNlcyBpbiBz d2l0Y2ggY29tcGlsYXRpb24KCkZpeCBjb2RlIG1pc3Rha2VzIHRoYXQgcHJldmVudGVkIHRoZSBj b3JyZWN0IGVsaW1pbmF0aW9uIG9mIGR1cGxpY2F0ZWQKY2FzZXMgd2hlbiBjb21waWxpbmcgYSBg Y29uZCcgZm9ybSB0byBhIHN3aXRjaCBieXRlY29kZSwgYXMgaW4KCiAgKGNvbmQgKChlcSB4ICdh KSAxKQogICAgICAgICgoZXEgeCAnYikgMikKICAgICAgICAoKGVxIHggJ2EpIDMpICAgOyBzaG91 bGQgYmUgZWxpZGVkCiAgICAgICAgKChlcSB4ICdjKSA0KSkKClNvbWV0aW1lcywgdGhpcyBjYXVz ZWQgdGhlIGJ5dGVjb2RlIHRvIHVzZSB0aGUgd3JvbmcgYnJhbmNoIChidWcjMzU3NzApLgoKKiBs aXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAuZWwgKGJ5dGUtY29tcGlsZS1jb25kLXZhcnMpOiBSZXR1 cm4gb2JqMiBldmFsJ2VkLgooYnl0ZS1jb21waWxlLWNvbmQtanVtcC10YWJsZS1pbmZvKToKRGlz Y2FyZCByZWR1bmRhbnQgY29uZGl0aW9uLiAgVXNlIGBvYmoyJyBhcyBldmFsdWF0ZWQuCkRpc2Nh cmQgZHVwbGljYXRlZCBjYXNlcyBpbnN0ZWFkIG9mIGZhaWxpbmcgdGhlIHRhYmxlIGdlbmVyYXRp b24uCiogdGVzdC9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVzdHMuZWwgKHRvcGxldmVsKTog UmVxdWlyZSBzdWJyLXguCihieXRlLW9wdC10ZXN0c3VpdGUtYXJpdGgtZGF0YSwgYnl0ZWNvbXAt dGVzdC0tc3dpdGNoLWR1cGxpY2F0ZXMpOiBUZXN0LgotLS0KIGxpc3AvZW1hY3MtbGlzcC9ieXRl Y29tcC5lbCAgICAgICAgICAgIHwgMTMgKysrLS0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9ieXRl Y29tcC10ZXN0cy5lbCB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKystCiAyIGZpbGVzIGNo YW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlz cC9lbWFjcy1saXNwL2J5dGVjb21wLmVsIGIvbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsCmlu ZGV4IGU3NmJhZjVlZDAuLmNlMzQ4ZWQzMTMgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9i eXRlY29tcC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAuZWwKQEAgLTQwOTEsOCAr NDA5MSw4IEBAIGJ5dGUtY29tcGlsZS1jb25kLXZhcnMKICAgOzsgYW5kIHRoZSBvdGhlciBpcyBh IGNvbnN0YW50IGV4cHJlc3Npb24gd2hvc2UgdmFsdWUgY2FuIGJlCiAgIDs7IGNvbXBhcmVkIHdp dGggYGVxJyAod2l0aCBgbWFjcm9leHAtY29uc3QtcCcpLgogICAob3IKLSAgIChhbmQgKHN5bWJv bHAgb2JqMSkgKG1hY3JvZXhwLWNvbnN0LXAgb2JqMikgKGNvbnMgb2JqMSBvYmoyKSkKLSAgIChh bmQgKHN5bWJvbHAgb2JqMikgKG1hY3JvZXhwLWNvbnN0LXAgb2JqMSkgKGNvbnMgb2JqMiBvYmox KSkpKQorICAgKGFuZCAoc3ltYm9scCBvYmoxKSAobWFjcm9leHAtY29uc3QtcCBvYmoyKSAoY29u cyBvYmoxIChldmFsIG9iajIpKSkKKyAgIChhbmQgKHN5bWJvbHAgb2JqMikgKG1hY3JvZXhwLWNv bnN0LXAgb2JqMSkgKGNvbnMgb2JqMiAoZXZhbCBvYmoxKSkpKSkKIAogKGRlZmNvbnN0IGJ5dGUt Y29tcGlsZS0tZGVmYXVsdC12YWwgKGNvbnMgbmlsIG5pbCkgIkEgdW5pcXVlIG9iamVjdC4iKQog CkBAIC00MTIxLDEyICs0MTIxLDExIEBAIGJ5dGUtY29tcGlsZS1jb25kLWp1bXAtdGFibGUtaW5m bwogICAgICAgICAgICAgICAgKHVubGVzcyBwcmV2LXRlc3QKICAgICAgICAgICAgICAgICAgKHNl dHEgcHJldi10ZXN0IHRlc3QpKQogICAgICAgICAgICAgICAgKGlmIChhbmQgb2JqMSAobWVtcSB0 ZXN0ICcoZXEgZXFsIGVxdWFsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIChjb25zcCBjb25k aXRpb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGVzdCBwcmV2LXRlc3QpCi0gICAg ICAgICAgICAgICAgICAgICAgICAoZXEgb2JqMSBwcmV2LXZhcikKLSAgICAgICAgICAgICAgICAg ICAgICAgIDs7IGRpc2NhcmQgZHVwbGljYXRlIGNsYXVzZXMKLSAgICAgICAgICAgICAgICAgICAg ICAgIChub3QgKGFzc3Egb2JqMiBjYXNlcykpKQotICAgICAgICAgICAgICAgICAgIChwdXNoIChs aXN0IChpZiAoY29uc3Agb2JqMikgKGV2YWwgb2JqMikgb2JqMikgYm9keSkgY2FzZXMpCisgICAg ICAgICAgICAgICAgICAgICAgICAoZXEgb2JqMSBwcmV2LXZhcikpCisgICAgICAgICAgICAgICAg ICAgOzsgZGlzY2FyZCBkdXBsaWNhdGUgY2xhdXNlcworICAgICAgICAgICAgICAgICAgICh1bmxl c3MgKGFzc29jIG9iajIgY2FzZXMgdGVzdCkKKyAgICAgICAgICAgICAgICAgICAgIChwdXNoIChs aXN0IG9iajIgYm9keSkgY2FzZXMpKQogICAgICAgICAgICAgICAgICAoaWYgKGFuZCAobWFjcm9l eHAtY29uc3QtcCBjb25kaXRpb24pIGNvbmRpdGlvbikKIAkJICAgICAocHJvZ24gKHB1c2ggKGxp c3QgYnl0ZS1jb21waWxlLS1kZWZhdWx0LXZhbAogCQkJCQkob3IgYm9keSBgKCxjb25kaXRpb24p KSkKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLXRlc3RzLmVsIGIv dGVzdC9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVzdHMuZWwKaW5kZXggNWZiNjRmZjI4OC4u MGM1ZjhlNzI1MCAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVz dHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVzdHMuZWwKQEAgLTI3 LDYgKzI3LDcgQEAKIAogKHJlcXVpcmUgJ2VydCkKIChyZXF1aXJlICdjbC1saWIpCisocmVxdWly ZSAnc3Vici14KQogKHJlcXVpcmUgJ2J5dGVjb21wKQogCiA7OzsgQ29kZToKQEAgLTI5Niw3ICsy OTcsMjEgQEAgYnl0ZS1vcHQtdGVzdHN1aXRlLWFyaXRoLWRhdGEKICAgICAgICAoKGVxIHZhcmlh YmxlICdkZWZhdWx0KQogCShtZXNzYWdlICJlcXVhbCIpKQogICAgICAgICh0Ci0JKG1lc3NhZ2Ug Im5vdCBlcXVhbCIpKSkpKQorCShtZXNzYWdlICJub3QgZXF1YWwiKSkpKQorICAgIDs7IEJ1ZyMz NTc3MAorICAgIChsZXQgKCh4ICdhKSkgKGNvbmQgKChlcSB4ICdhKSAnY29ycmVjdCkKKyAgICAg ICAgICAgICAgICAgICAgICAgICgoZXEgeCAnYikgJ2luY29ycmVjdCkKKyAgICAgICAgICAgICAg ICAgICAgICAgICgoZXEgeCAnYSkgJ2luY29ycmVjdCkKKyAgICAgICAgICAgICAgICAgICAgICAg ICgoZXEgeCAnYykgJ2luY29ycmVjdCkpKQorICAgIChsZXQgKCh4ICN4MTAwMDAwMDAwMDAwMDAw MDApKQorICAgICAgKGNvbmQgKChlcWwgeCAjeDEwMDAwMDAwMDAwMDAwMDAwKSAnY29ycmVjdCkK KyAgICAgICAgICAgICgoZXFsIHggI3gxMDAwMDAwMDAwMDAwMDAwMSkgJ2luY29ycmVjdCkKKyAg ICAgICAgICAgICgoZXFsIHggI3gxMDAwMDAwMDAwMDAwMDAwMCkgJ2luY29ycmVjdCkKKyAgICAg ICAgICAgICgoZXFsIHggI3gxMDAwMDAwMDAwMDAwMDAwMikgJ2luY29ycmVjdCkpKQorICAgIChs ZXQgKCh4ICJhIikpIChjb25kICgoZXF1YWwgeCAiYSIpICdjb3JyZWN0KQorICAgICAgICAgICAg ICAgICAgICAgICAgICgoZXF1YWwgeCAiYiIpICdpbmNvcnJlY3QpCisgICAgICAgICAgICAgICAg ICAgICAgICAgKChlcXVhbCB4ICJhIikgJ2luY29ycmVjdCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAoKGVxdWFsIHggImMiKSAnaW5jb3JyZWN0KSkpKQogICAiTGlzdCBvZiBleHByZXNzaW9u IGZvciB0ZXN0LgogRWFjaCBlbGVtZW50IHdpbGwgYmUgZXhlY3V0ZWQgYnkgaW50ZXJwcmV0ZXIg YW5kIHdpdGgKIGJ5dGVjb21waWxlZCBjb2RlLCBhbmQgdGhlaXIgcmVzdWx0cyBjb21wYXJlZC4i KQpAQCAtNjEzLDYgKzYyOCw0NCBAQCBieXRlY29tcC10ZXN0cy0td2l0aC10ZW1wLWZpbGUKICAg ICAgIChpZiAoYnVmZmVyLWxpdmUtcCBieXRlLWNvbXBpbGUtbG9nLWJ1ZmZlcikKICAgICAgICAg ICAoa2lsbC1idWZmZXIgYnl0ZS1jb21waWxlLWxvZy1idWZmZXIpKSkpKQogCisoZXJ0LWRlZnRl c3QgYnl0ZWNvbXAtdGVzdC0tc3dpdGNoLWR1cGxpY2F0ZXMgKCkKKyAgIkNoZWNrIHRoYXQgZHVw bGljYXRlcyBpbiBzd2l0Y2hlcyBhcmUgZWxpbWluYXRlZCBjb3JyZWN0bHkgKGJ1ZyMzNTc3MCku IgorICAoZG9saXN0IChwYXJhbXMKKyAgICAgICAgICAgJygoKGxhbWJkYSAoeCkKKyAgICAgICAg ICAgICAgICAoY29uZCAoKGVxIHggJ2EpIDExMSkKKyAgICAgICAgICAgICAgICAgICAgICAoKGVx IHggJ2IpIDIyMikKKyAgICAgICAgICAgICAgICAgICAgICAoKGVxIHggJ2EpIDMzMykKKyAgICAg ICAgICAgICAgICAgICAgICAoKGVxIHggJ2MpIDQ0NCkpKQorICAgICAgICAgICAgICAoYSBiIGMp CisgICAgICAgICAgICAgIChsYW1iZGEgKHUgdikgKHN0cmluZzwgKHN5bWJvbC1uYW1lIHUpIChz eW1ib2wtbmFtZSB2KSkpKQorICAgICAgICAgICAgICgobGFtYmRhICh4KQorICAgICAgICAgICAg ICAgIChjb25kICgoZXFsIHggI3gxMDAwMDAwMDAwMDAwMDAwMCkgMTExKQorICAgICAgICAgICAg ICAgICAgICAgICgoZXFsIHggI3gxMDAwMDAwMDAwMDAwMDAwMSkgMjIyKQorICAgICAgICAgICAg ICAgICAgICAgICgoZXFsIHggI3gxMDAwMDAwMDAwMDAwMDAwMCkgMzMzKQorICAgICAgICAgICAg ICAgICAgICAgICgoZXFsIHggI3gxMDAwMDAwMDAwMDAwMDAwMikgNDQ0KSkpCisgICAgICAgICAg ICAgICgjeDEwMDAwMDAwMDAwMDAwMDAwICN4MTAwMDAwMDAwMDAwMDAwMDEgI3gxMDAwMDAwMDAw MDAwMDAwMikKKyAgICAgICAgICAgICAgPCkKKyAgICAgICAgICAgICAoKGxhbWJkYSAoeCkKKyAg ICAgICAgICAgICAgICAoY29uZCAoKGVxdWFsIHggImEiKSAxMTEpCisgICAgICAgICAgICAgICAg ICAgICAgKChlcXVhbCB4ICJiIikgMjIyKQorICAgICAgICAgICAgICAgICAgICAgICgoZXF1YWwg eCAiYSIpIDMzMykKKyAgICAgICAgICAgICAgICAgICAgICAoKGVxdWFsIHggImMiKSA0NDQpKSkK KyAgICAgICAgICAgICAgKCJhIiAiYiIgImMiKQorICAgICAgICAgICAgICBzdHJpbmc8KSkpCisg ICAgKGxldCogKChsaXNwIChudGggMCBwYXJhbXMpKQorICAgICAgICAgICAoa2V5cyAobnRoIDEg cGFyYW1zKSkKKyAgICAgICAgICAgKGxlc3NwIChudGggMiBwYXJhbXMpKQorICAgICAgICAgICAo YmMgKGJ5dGUtY29tcGlsZSBsaXNwKSkKKyAgICAgICAgICAgKGxhcCAoYnl0ZS1kZWNvbXBpbGUt Ynl0ZWNvZGUgKGFyZWYgYmMgMSkgKGFyZWYgYmMgMikpKQorICAgICAgICAgICA7OyBBc3N1bWUg dGhlIGZpcnN0IGNvbnN0YW50IGlzIHRoZSBzd2l0Y2ggdGFibGUuCisgICAgICAgICAgICh0YWJs ZSAoY2FkciAoYXNzcSAnYnl0ZS1jb25zdGFudCBsYXApKSkpCisgICAgICAoc2hvdWxkIChoYXNo LXRhYmxlLXAgdGFibGUpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKHNvcnQgKGhhc2gtdGFibGUt a2V5cyB0YWJsZSkgbGVzc3ApIGtleXMpKQorICAgICAgKHNob3VsZCAobWVtYmVyICcoYnl0ZS1j b25zdGFudCAxMTEpIGxhcCkpCisgICAgICAoc2hvdWxkIChtZW1iZXIgJyhieXRlLWNvbnN0YW50 IDIyMikgbGFwKSkKKyAgICAgIChzaG91bGQtbm90IChtZW1iZXIgJyhieXRlLWNvbnN0YW50IDMz MykgbGFwKSkKKyAgICAgIChzaG91bGQgKG1lbWJlciAnKGJ5dGUtY29uc3RhbnQgNDQ0KSBsYXAp KSkpKQorCiA7OyBMb2NhbCBWYXJpYWJsZXM6CiA7OyBuby1ieXRlLWNvbXBpbGU6IHQKIDs7IEVu ZDoKLS0gCjIuMjAuMQoK --=-9ON/c1jV3vZk/hIjA9bv-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 22 06:52:28 2019 Received: (at submit) by debbugs.gnu.org; 22 May 2019 10:52:28 +0000 Received: from localhost ([127.0.0.1]:41613 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTOrD-0005hd-TD for submit@debbugs.gnu.org; Wed, 22 May 2019 06:52:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTOrB-0005hP-3O for submit@debbugs.gnu.org; Wed, 22 May 2019 06:52:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:44820) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTOr5-0005J9-Tk for submit@debbugs.gnu.org; Wed, 22 May 2019 06:52:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60446) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTOr4-0003Fk-Dq for bug-gnu-emacs@gnu.org; Wed, 22 May 2019 06:52:19 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTOr3-0005Hs-IW for bug-gnu-emacs@gnu.org; Wed, 22 May 2019 06:52:18 -0400 Received: from mail232c50.megamailservers.eu ([91.136.10.242]:50192 helo=mail37c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTOr2-0005EA-UP for bug-gnu-emacs@gnu.org; Wed, 22 May 2019 06:52:17 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1558522331; bh=Q/P9lZUd8JFINCPjeZYQJ+Q0OVONIoL2B8NvLd/HUZs=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=CY+3wuFna6AV17dYgpddoS+ra37urpS5jzv/vAnv273pAJzbg+OXqsBEDH7TTzrGL e4zokkfm+w+YPYfHuOnOMuHurnyoykwCRQ2ro7H1yk7YFugkXIMhDTBlhHHtw/i46q /XvOwdz+fmMe4ftijky0fF8M5Bnwg6lmHatW+m4M= Feedback-ID: mattiase@acm.or Received: from [192.168.0.4] ([188.150.171.71]) (authenticated bits=0) by mail37c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x4MAq89m000744; Wed, 22 May 2019 10:52:10 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: [PATCH] Broken duplicate case elimination in switch byte-compilation From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> Date: Wed, 22 May 2019 12:52:08 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> To: Stefan Monnier X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020F.5CE529DB.005A, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=ItQwjo3g c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=_G2kuTXN4iDmUCl-uu4A:9 a=CjuIK1q_8ugA:10 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 91.136.10.242 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@gnu.org, vibhavp@gmail.com 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.3 (--) No hurry in reviewing the patch, but since this is a wrong-code bug, I = suppose it should be back-ported to emacs-26. Does that mean that it = should be written for that branch and then merged to master, or the = other way around? The test uses bignums for numbers that aren't eq. In Emacs 26, those = would be floats instead, but bignums seemed more robust since it's not = unreasonable to have unboxed floats in the future. From debbugs-submit-bounces@debbugs.gnu.org Wed May 22 06:58:39 2019 Received: (at 35770) by debbugs.gnu.org; 22 May 2019 10:58:39 +0000 Received: from localhost ([127.0.0.1]:41625 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTOxC-0005ss-Jz for submit@debbugs.gnu.org; Wed, 22 May 2019 06:58:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTOxA-0005sc-Jb for 35770@debbugs.gnu.org; Wed, 22 May 2019 06:58:37 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:35468) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTOx0-0000xB-8m; Wed, 22 May 2019 06:58:27 -0400 Received: from [176.228.60.248] (port=3470 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hTOwy-00074n-Bz; Wed, 22 May 2019 06:58:25 -0400 Date: Wed, 22 May 2019 13:58:30 +0300 Message-Id: <83sgt67o2x.fsf@gnu.org> From: Eli Zaretskii To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= In-reply-to: <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> (message from Mattias =?utf-8?Q?Engdeg=C3=A5rd?= on Wed, 22 May 2019 12:52:08 +0200) Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35770 Cc: monnier@iro.umontreal.ca, vibhavp@gmail.com, 35770@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 (---) > From: Mattias Engdegård > Date: Wed, 22 May 2019 12:52:08 +0200 > Cc: 35770@debbugs.gnu.org, vibhavp@gmail.com > > No hurry in reviewing the patch, but since this is a wrong-code bug, I suppose it should be back-ported to emacs-26. Does that mean that it should be written for that branch and then merged to master, or the other way around? The former. However, in this case I really wonder why we should be so eager to install the change on the emacs-26 branch. How long this wrong code has been with us? From debbugs-submit-bounces@debbugs.gnu.org Wed May 22 07:11:34 2019 Received: (at 35770) by debbugs.gnu.org; 22 May 2019 11:11:34 +0000 Received: from localhost ([127.0.0.1]:41634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTP9i-0006GU-0T for submit@debbugs.gnu.org; Wed, 22 May 2019 07:11:34 -0400 Received: from mail1424c50.megamailservers.eu ([91.136.14.24]:42448 helo=mail102c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTP9e-0006GC-HJ for 35770@debbugs.gnu.org; Wed, 22 May 2019 07:11:32 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1558523483; bh=Bu/ZWpWPlh8wPB993Bb1RM7tCK8/hSPLiw2f7DwGqnU=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=XISnTgdEQOakOUBlkp1HZO3j6RuJOX5eaewIwc2d/yShFHGiu++OeUh922XHysd7e GVNlNUvkkY2ee7wyZ18yEoVDdSG8Ov5L2PMSWatmczXAFcrPisRF88b8DtirwOq9bb yQigH0+/Ntay7kUPC8SYx9k3yja1VIXGnrbusetQ= Feedback-ID: mattiase@acm.or Received: from [192.168.0.4] ([188.150.171.71]) (authenticated bits=0) by mail102c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x4MBBKt9004321; Wed, 22 May 2019 11:11:22 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: <83sgt67o2x.fsf@gnu.org> Date: Wed, 22 May 2019 13:11:19 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0208.5CE52E5B.0054, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=F7x5iJpN c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=mDV3o1hIAAAA:8 a=nKfW0Xvq2rv5CtYeUCIA:9 a=CjuIK1q_8ugA:10 a=_FVE-zBwftR9WsbkzFJk:22 X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 35770 Cc: Stefan Monnier , vibhavp@gmail.com, 35770@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 (/) 22 maj 2019 kl. 12.58 skrev Eli Zaretskii : >=20 > However, in this case I really wonder why we should be so eager to > install the change on the emacs-26 branch. How long this wrong code > has been with us? About two years, and it only matters for (arguably) buggy code, so you = are probably right. On the other hand, different behaviour in compiled and interpreted code = does not make it easier to find such bugs. From debbugs-submit-bounces@debbugs.gnu.org Wed May 22 07:21:23 2019 Received: (at 35770) by debbugs.gnu.org; 22 May 2019 11:21:23 +0000 Received: from localhost ([127.0.0.1]:41641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTPJD-0006Yk-4d for submit@debbugs.gnu.org; Wed, 22 May 2019 07:21:23 -0400 Received: from mail-it1-f179.google.com ([209.85.166.179]:53309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTPJB-0006YX-M3 for 35770@debbugs.gnu.org; Wed, 22 May 2019 07:21:22 -0400 Received: by mail-it1-f179.google.com with SMTP id m141so2839480ita.3 for <35770@debbugs.gnu.org>; Wed, 22 May 2019 04:21:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=TnbJ/FDRwwjoWI2VAfT40OIFjn9S2XxhVcxjxYxWmeI=; b=rDpdgGS+WNfgHk8czo0XEBrmTtznRbkaMwowErLI8DsddCwO6KdwxQcP+cMF41OQHl cqwp6FOFhX+rJYC68i0fELOOsDTDFWCdBRNqcr5pG5lEDMBOgLZHNd6awc9G7DQp32Nj txCwJqNWaDQnRlsjonuc+hJWUKmkpdytY/AzQYMTY5DwKBFuA6GypaOmtrO6otI3vUcH jFMVVGNOpxdFO71kMFrkGAVRpwc3uecUnXbylSBA+eoB8DWshcUMBQgJjXMVKa/ocny/ 9iXpfYjSXQTb3Nm3XrDy9ihwvsh9RTagWiPZ8YXiL+ybbA9iHGfympgKUoTeyw6xbyFJ WnNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=TnbJ/FDRwwjoWI2VAfT40OIFjn9S2XxhVcxjxYxWmeI=; b=YKu3Zo0tOeHCAMuwf1loP/bldAT+RGtf7Qu0lib8qdScwl/6H/1LdeAxqJNy7bbxVp 1CQBwQrnC3hhI2mmFNF+gXX+mr2TN01yFl9ByS5YEyP48/LjlljaTbm5RoYffEx7DYOe 7bbVqnyxKIXrY8OL7q7yb+6I9iCkCQ2kj8X0OPIHw5KgZAGh4nn4veXXhxBIp61kJ97o gqp0MNmfpGwJQ1e9p8Ecn5o6KRCqt0S7YkDoiXfA7yTH39ur1JUaE+bynOJE2cuoB/vi iqGwJvLjqhVs3fKOBfHc5tuQZOo6UjEfwby7/egU0y2gRPKgXE3JHK5Cy7GFw/ywjjal AIew== X-Gm-Message-State: APjAAAUL34ILk9ZjqR0WykGcamAdIVCL8C606FQJgNCHwz3hIH21bwkz sSA2BorTjnMZf3GtsfW9XMZsmFc2 X-Google-Smtp-Source: APXvYqyZdLyR1ig1RseYhs0PsQK/W+gxwXOu5/8arOIgks7DLNSJebNMpViy9coyp1C0nooh5gdyyQ== X-Received: by 2002:a24:4569:: with SMTP id y102mr7653791ita.51.1558524073776; Wed, 22 May 2019 04:21:13 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.gmail.com with ESMTPSA id l136sm3893639itc.23.2019.05.22.04.21.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 22 May 2019 04:21:13 -0700 (PDT) From: Noam Postavsky To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> Date: Wed, 22 May 2019 07:21:12 -0400 In-Reply-To: ("Mattias \=\?utf-8\?Q\?Engdeg\=C3\=A5rd\=22's\?\= message of "Wed, 22 May 2019 13:11:19 +0200") Message-ID: <87d0kaag5z.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35770 Cc: Eli Zaretskii , Stefan Monnier , vibhavp@gmail.com, 35770@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 (-) Mattias Engdeg=C3=A5rd writes: > 22 maj 2019 kl. 12.58 skrev Eli Zaretskii : >>=20 >> However, in this case I really wonder why we should be so eager to >> install the change on the emacs-26 branch. How long this wrong code >> has been with us? > > About two years, and it only matters for (arguably) buggy code, so you ar= e probably right. I think the significant milestone is that it's been with us since 26.1, i.e., this is a regression since Emacs 25. > On the other hand, different behaviour in compiled and interpreted > code does not make it easier to find such bugs. Another option is turning off byte-compile-cond-use-jump-table by default. From debbugs-submit-bounces@debbugs.gnu.org Wed May 22 07:23:17 2019 Received: (at 35770) by debbugs.gnu.org; 22 May 2019 11:23:18 +0000 Received: from localhost ([127.0.0.1]:41645 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTPL3-0006cV-KW for submit@debbugs.gnu.org; Wed, 22 May 2019 07:23:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52408) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTPL1-0006cG-Gy for 35770@debbugs.gnu.org; Wed, 22 May 2019 07:23:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:35812) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTPKv-0002oM-Su; Wed, 22 May 2019 07:23:09 -0400 Received: from [176.228.60.248] (port=1098 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hTPKv-0008S0-8M; Wed, 22 May 2019 07:23:09 -0400 Date: Wed, 22 May 2019 14:23:15 +0300 Message-Id: <83r28q7mxo.fsf@gnu.org> From: Eli Zaretskii To: Noam Postavsky In-reply-to: <87d0kaag5z.fsf@gmail.com> (message from Noam Postavsky on Wed, 22 May 2019 07:21:12 -0400) Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35770 Cc: mattiase@acm.org, monnier@iro.umontreal.ca, vibhavp@gmail.com, 35770@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 (---) > From: Noam Postavsky > Cc: Eli Zaretskii , Stefan Monnier , vibhavp@gmail.com, 35770@debbugs.gnu.org > Date: Wed, 22 May 2019 07:21:12 -0400 > > Mattias Engdegård writes: > > > 22 maj 2019 kl. 12.58 skrev Eli Zaretskii : > >> > >> However, in this case I really wonder why we should be so eager to > >> install the change on the emacs-26 branch. How long this wrong code > >> has been with us? > > > > About two years, and it only matters for (arguably) buggy code, so you are probably right. > > I think the significant milestone is that it's been with us since 26.1, > i.e., this is a regression since Emacs 25. Then maybe we should again consider reverting on emacs-26 the change which caused the regression. From debbugs-submit-bounces@debbugs.gnu.org Wed May 22 10:19:23 2019 Received: (at 35770) by debbugs.gnu.org; 22 May 2019 14:19:23 +0000 Received: from localhost ([127.0.0.1]:42651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTS5S-0005HJ-W1 for submit@debbugs.gnu.org; Wed, 22 May 2019 10:19:23 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:28774) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hTS5R-0005H4-D1 for 35770@debbugs.gnu.org; Wed, 22 May 2019 10:19:21 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8D85A81164; Wed, 22 May 2019 10:19:14 -0400 (EDT) Received: from mail02.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 26E3980615; Wed, 22 May 2019 10:19:13 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1558534753; bh=x+xLrNK5TIiPjfbVqhe8JBX0zTot8I9qRwiWk4sDlBg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Yt7433FMq8/X28yq2lGJYtpgMb6HcjQYmV7oUa5ZIKMMRvyK2a4fBFSgwGciYLoz3 Pxac4WmBmq8p3XyQ9tr7thbEM8ldZjniNE5WTm6gIdYE7+fdJW0Jl5gfRod7+CCOqK 6pv9leFd4mIoIzuf7FvzhHRswB5+btpOADHByqvW/ZkaoSP2fYdyi/5BF3chGhc8bl 3m4tW/jXq+Qi2nbYV/v6NRiE5OcWfqyQ1CSAaOoYKgZIKFlzOSDR84uSIxgBpq9ZJd KKiGuAsjwdK81f9k5hs1yoNV1Nm9NgPg3VTjMZt+F/1KiiKgQIuHRvlucWMVT9Fxf/ EFTk9PE//a1zg== Received: from pastel (unknown [216.154.3.168]) by mail02.iro.umontreal.ca (Postfix) with ESMTPSA id E19EC12081B; Wed, 22 May 2019 10:19:12 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation Message-ID: References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> Date: Wed, 22 May 2019 10:19:12 -0400 In-Reply-To: <83r28q7mxo.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 22 May 2019 14:23:15 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.145 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35770 Cc: mattiase@acm.org, Noam Postavsky , vibhavp@gmail.com, 35770@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 (-) > Then maybe we should again consider reverting on emacs-26 the change > which caused the regression. turning off byte-compile-cond-use-jump-table by default is the safer way to do that, I think. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun May 26 13:06:16 2019 Received: (at 35770) by debbugs.gnu.org; 26 May 2019 17:06:16 +0000 Received: from localhost ([127.0.0.1]:51622 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hUwb9-0005DX-O0 for submit@debbugs.gnu.org; Sun, 26 May 2019 13:06:15 -0400 Received: from mail76c50.megamailservers.eu ([91.136.10.86]:55136 helo=mail70c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hUwb7-0005DN-4l for 35770@debbugs.gnu.org; Sun, 26 May 2019 13:06:14 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1558890371; bh=OccO7AfeNl7GYPuAF4Cl5bYQVK6m4BmUApa+kxGEGUQ=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=F4Kz2T8vTMovFnKzYSsobqT9Vuq2PHekM2pMmElWslI6vsDORUHesripGZMwf5jeY MhcBr6CbOWLlNALuc1/wP8qTzpfS0soyKhGz6+e4uOv15ck3mWisrXixQol+NsxyOr hmO6vASsatst1nknGQ8JpWTbM8bBhsG8ZW3LHzOE= Feedback-ID: mattiase@acm.or Received: from [192.168.1.65] (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail70c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x4QH5unL020270; Sun, 26 May 2019 17:05:58 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Sun, 26 May 2019 19:05:55 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> To: Stefan Monnier X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0211.5CEAC77E.0090, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=epTxMLhX c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=iRZporoAAAAA:8 a=J4kTrFzgDyiTWEYpgkUA:9 a=CjuIK1q_8ugA:10 a=NOBgFS-JBQ2l-kSd6-zu:22 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 35770 Cc: Eli Zaretskii , Noam Postavsky , vibhavp@gmail.com, 35770@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.7 (/) 22 maj 2019 kl. 16.19 skrev Stefan Monnier : >=20 > turning off byte-compile-cond-use-jump-table by default is the safer = way > to do that, I think. Is the consensus then that the patch is fine for master, and that the = switch op generation should be disabled by default in emacs-26? Maybe = with an explanation in the doc string: -(defcustom byte-compile-cond-use-jump-table t - "Compile `cond' clauses to a jump table implementation (using a = hash-table)." +(defcustom byte-compile-cond-use-jump-table nil + "Compile `cond' clauses to a jump table implementation (using a = hash-table). + +In Emacs 26, this feature is disabled by default because of a bug +in the code generation of `cond' forms with duplicated test clauses." :version "26.1" :group 'bytecomp :type 'boolean) If so, I'll push. No NEWS change needed in either branch, right? From debbugs-submit-bounces@debbugs.gnu.org Sun May 26 14:43:18 2019 Received: (at 35770) by debbugs.gnu.org; 26 May 2019 18:43:18 +0000 Received: from localhost ([127.0.0.1]:51747 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hUy73-0007wb-NT for submit@debbugs.gnu.org; Sun, 26 May 2019 14:43:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51310) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hUy71-0007wO-Q4 for 35770@debbugs.gnu.org; Sun, 26 May 2019 14:43:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48926) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hUy6u-0004aY-CL; Sun, 26 May 2019 14:43:09 -0400 Received: from [176.228.60.248] (port=3019 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hUy6t-0005JF-Lr; Sun, 26 May 2019 14:43:08 -0400 Date: Sun, 26 May 2019 21:43:09 +0300 Message-Id: <838sut2h1e.fsf@gnu.org> From: Eli Zaretskii To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= In-reply-to: (message from Mattias =?utf-8?Q?Engdeg=C3=A5rd?= on Sun, 26 May 2019 19:05:55 +0200) Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35770 Cc: 35770@debbugs.gnu.org, monnier@iro.umontreal.ca, vibhavp@gmail.com, npostavs@gmail.com 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 (---) > From: Mattias Engdegård > Date: Sun, 26 May 2019 19:05:55 +0200 > Cc: Eli Zaretskii , Noam Postavsky , > vibhavp@gmail.com, 35770@debbugs.gnu.org > > 22 maj 2019 kl. 16.19 skrev Stefan Monnier : > > > > turning off byte-compile-cond-use-jump-table by default is the safer way > > to do that, I think. > > Is the consensus then that the patch is fine for master, and that the switch op generation should be disabled by default in emacs-26? Maybe with an explanation in the doc string: > > -(defcustom byte-compile-cond-use-jump-table t > - "Compile `cond' clauses to a jump table implementation (using a hash-table)." > +(defcustom byte-compile-cond-use-jump-table nil > + "Compile `cond' clauses to a jump table implementation (using a hash-table). > + > +In Emacs 26, this feature is disabled by default because of a bug > +in the code generation of `cond' forms with duplicated test clauses." > :version "26.1" > :group 'bytecomp > :type 'boolean) I don't think we should explain why we did this in a doc string. And :version should change as well. More generally, I can't say I like this, and don't understand why this would be better than reverting the offending change on emacs-26. Why is it a problem to defer the features which caused the regression to Emacs 27? From debbugs-submit-bounces@debbugs.gnu.org Sun May 26 18:07:11 2019 Received: (at 35770) by debbugs.gnu.org; 26 May 2019 22:07:11 +0000 Received: from localhost ([127.0.0.1]:52020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hV1IK-0006v1-C4 for submit@debbugs.gnu.org; Sun, 26 May 2019 18:07:09 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:65161) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hV1II-0006uQ-2E for 35770@debbugs.gnu.org; Sun, 26 May 2019 18:07:06 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id AE1DB1011C4; Sun, 26 May 2019 18:07:00 -0400 (EDT) Received: from mail02.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 828BE100C69; Sun, 26 May 2019 18:06:55 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1558908415; bh=9L58Qs8c2MNbMvTTbbspv9pyY7mQA9SvcqyJ0nsAFYM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=FuGH6oY9xxg5hWGoCd6BTnu8PlntYygYf2EMXFcaGmV+3DrWL8mb1BM+BzYCs/hKZ FSi1dTULaSy6wyYAEzKbuc/nlOr5uUYf/uLlrVa9+GjKqTzMxvU5+QcqJTTsNiqzNM iHvyXwHjRJQYpWwdVSUK6rnkWd2P8eOgWhNwAknJR9p+5hHTQ4OANih6thVFSQ+Jdw bRx7N5rkv34YjOLdW2We3K9biCFihCnPspLiF3pY8iaBpewKqVHIJtLRBEF0BaiWlM 1uU+BKeBmnNJy2s1uTW6E6i/AvszXINkoShsVohSei6b/0QUmW42sQ/NCoNWD0uwXh VOmZhdfY+YHFQ== Received: from pastel (192-171-44-92.cpe.pppoe.ca [192.171.44.92]) by mail02.iro.umontreal.ca (Postfix) with ESMTPSA id 41A0A120ABE; Sun, 26 May 2019 18:06:55 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation Message-ID: References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> <838sut2h1e.fsf@gnu.org> Date: Sun, 26 May 2019 18:06:54 -0400 In-Reply-To: <838sut2h1e.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 26 May 2019 21:43:09 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35770 Cc: Mattias =?windows-1252?Q?Engdeg=E5rd?= , npostavs@gmail.com, vibhavp@gmail.com, 35770@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 (-) > More generally, I can't say I like this, and don't understand why this > would be better than reverting the offending change on emacs-26. Why > is it a problem to defer the features which caused the regression to > Emacs 27? I personally don't have a preference. I find reverting the change to be a more intrusive change with more risks of errors, but it's likely a wash either way. FWIW I also think it's generally good to introduce new byte-codes in one version and only enable the compiler to use them in the next version (that's what I did for the condition-case byte codes, for example). Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon May 27 07:27:47 2019 Received: (at 35770) by debbugs.gnu.org; 27 May 2019 11:27:47 +0000 Received: from localhost ([127.0.0.1]:52826 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hVDn8-0006d3-S7 for submit@debbugs.gnu.org; Mon, 27 May 2019 07:27:47 -0400 Received: from mail200c50.megamailservers.eu ([91.136.10.210]:36740 helo=mail193c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hVDn5-0006cn-OJ for 35770@debbugs.gnu.org; Mon, 27 May 2019 07:27:45 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1558956461; bh=d3CLOnbKDNLuQZnLMr2m09vjPQdZdFfkS8Y2avrqzgk=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=ffM5OkLoI1mbhLFeKfbN9dGA3QjNXJOoKIMCgIau8xK9ocReJtqNEYP2Wn3PrOa79 iKijnmim39bpMbvG/DMVt3/dqj4YxwUXmojBl0PnmlR5cNCMeCSgea9auFUFMa0HEf Apm2CFFKl8GKS3FIdSEvO3REuyxb3ADmzyxUFsag= Feedback-ID: mattiase@acm.or Received: from [192.168.1.65] (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail193c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x4RBRcFt005997; Mon, 27 May 2019 11:27:40 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Mon, 27 May 2019 13:27:38 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <93E5062E-4D87-4C36-A44E-2F17D665080B@acm.org> References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> <838sut2h1e.fsf@gnu.org> To: Stefan Monnier X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0212.5CEBC9AD.004C, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=PM8hB8iC c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=iRZporoAAAAA:8 a=LRcMwS-MsR4utHErEbUA:9 a=CjuIK1q_8ugA:10 a=NOBgFS-JBQ2l-kSd6-zu:22 X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 35770 Cc: Eli Zaretskii , Noam Postavsky , vibhavp@gmail.com, 35770@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 (/) 27 maj 2019 kl. 00.06 skrev Stefan Monnier : >=20 > I personally don't have a preference. I find reverting the change to = be > a more intrusive change with more risks of errors, but it's likely > a wash either way. >=20 > FWIW I also think it's generally good to introduce new byte-codes in = one > version and only enable the compiler to use them in the next version > (that's what I did for the condition-case byte codes, for example). Trying to revert 'the rest' (the switch code generation) while keeping = the switch op itself seems indeed to be risky and a lot of work compared = to just turning off the generation. It is not a matter of finding a few = commits to revert; there are fixes upon fixes, and changes that need to = be untangled. It does not sound very practical. Since nobody complained about the actual bug fix, I'm boldly pushing it = to master. From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 01 09:58:53 2019 Received: (at 35770) by debbugs.gnu.org; 1 Jun 2019 13:58:53 +0000 Received: from localhost ([127.0.0.1]:38355 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hX4X6-0000nm-Vk for submit@debbugs.gnu.org; Sat, 01 Jun 2019 09:58:53 -0400 Received: from mail-it1-f182.google.com ([209.85.166.182]:33550) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hX4X4-0000nY-TX for 35770@debbugs.gnu.org; Sat, 01 Jun 2019 09:58:51 -0400 Received: by mail-it1-f182.google.com with SMTP id j17so13288986itk.0 for <35770@debbugs.gnu.org>; Sat, 01 Jun 2019 06:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=4Xuocrt+F+QNUwtfxx3592sErM3HFU37TUE8n7VbgIw=; b=kJlga8La0ztOKhFsMGB0ZFXt8FGbWOng1HPPd0CoG6TwWX9sASJjcHKKpXXYTzPMjA ERLRRue/vgjn+cZw8MJsYAdfiuvXkIl5TjIb3FC/H0Iz6obGRtDvsUdZF37UIJa4i3qZ 0yMSsuufOovu+SY4zYgov+sgjOIXkXJMWOgHgR98115PW4OwlGODmk+zgGQ/q581xQZI IK42pXEP54G6GJOUIHbywSkcRRPn1rLZsb4O4OFwHsnZh9xf/ltGvimCVvBsiDad5Cv/ uEKpz+4aCi45qHqSO9xwL4JchnJ0OUWsAsZN7FQoL1bbcFcdCLKtp7+A7VnA3X7lHBMH kxjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=4Xuocrt+F+QNUwtfxx3592sErM3HFU37TUE8n7VbgIw=; b=FgANG2OY1i47o9xejtJSSxVOV8SXCtUJJQCaYbZMmC2g8hyNu84VatOA09Kx8TRcpI A9t84jdKB2vxR8u+mWZ+x5rKmM00PMIZSMjFW0oh4q9qaD662lmk0xrJimPX3Psc+X3h RLHB2JsAFhDUUgDC46GYTrrKJnrd6SlOfatn/rusWe0S3fHQj+SNcs5EyZvRutwQKMDV BxpyFitNtOkgrreUokSA4bc9ZiM+Qnhb+6/G/SiA1kdxw/0fHEu0b5hxzcwYjqsRbiFS SnF1/A1uIcA2C168IBifBL+VT2AL7yp11vmWB1/72ONrbyuZ+pEs9No0LFDd01+5PPkF a1xQ== X-Gm-Message-State: APjAAAWv0t92Qglemn7PrBNfePeAQAAQQLilrl1hv5jHK9gLYFO4sSN1 8nE1XLH2L3Qim2qJWORx5smdkaDR X-Google-Smtp-Source: APXvYqwYBuG7G17q4DjWWYKrgck4fOSsNJssFCdOpmh4ea48jc/7va8TOyb4O1JHsujS+mgmQNBGTw== X-Received: by 2002:a24:2201:: with SMTP id o1mr10039495ito.90.1559397524815; Sat, 01 Jun 2019 06:58:44 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.gmail.com with ESMTPSA id a206sm1347803itb.8.2019.06.01.06.58.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 01 Jun 2019 06:58:43 -0700 (PDT) From: Noam Postavsky To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> <838sut2h1e.fsf@gnu.org> <93E5062E-4D87-4C36-A44E-2F17D665080B@acm.org> Date: Sat, 01 Jun 2019 09:58:42 -0400 In-Reply-To: <93E5062E-4D87-4C36-A44E-2F17D665080B@acm.org> ("Mattias \=\?utf-8\?Q\?Engdeg\=C3\=A5rd\=22's\?\= message of "Mon, 27 May 2019 13:27:38 +0200") Message-ID: <87muj15rvx.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35770 Cc: Eli Zaretskii , Stefan Monnier , vibhavp@gmail.com, 35770@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 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mattias Engdeg=C3=A5rd writes: > Trying to revert 'the rest' (the switch code generation) while keeping > the switch op itself seems indeed to be risky and a lot of work > compared to just turning off the generation. It is not a matter of > finding a few commits to revert; there are fixes upon fixes, and > changes that need to be untangled. It does not sound very practical. So, is this patch okay for emacs-26? --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Disable-byte-compile-cond-use-jump-table-Bug-35770.patch Content-Description: patch >From 257a750a10ebb77277a5d7d771c01d66a69a66e4 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 1 Jun 2019 09:53:35 -0400 Subject: [PATCH] Disable byte-compile-cond-use-jump-table (Bug#35770) * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set to nil by default. Don't merge to master, the bug is already fixed there. --- lisp/emacs-lisp/bytecomp.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index e3b34c189f..9273626c80 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -234,9 +234,9 @@ (defcustom byte-compile-delete-errors nil :group 'bytecomp :type 'boolean) -(defcustom byte-compile-cond-use-jump-table t +(defcustom byte-compile-cond-use-jump-table nil "Compile `cond' clauses to a jump table implementation (using a hash-table)." - :version "26.1" + :version "26.3" ;; Disabled due to Bug#35770. :group 'bytecomp :type 'boolean) -- 2.11.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 01 11:47:32 2019 Received: (at 35770) by debbugs.gnu.org; 1 Jun 2019 15:47:32 +0000 Received: from localhost ([127.0.0.1]:38501 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hX6EG-0003Su-8J for submit@debbugs.gnu.org; Sat, 01 Jun 2019 11:47:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hX6EE-0003Sg-6p for 35770@debbugs.gnu.org; Sat, 01 Jun 2019 11:47:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39361) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hX6E8-0003ZN-FS; Sat, 01 Jun 2019 11:47:24 -0400 Received: from [176.228.60.248] (port=3278 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hX6E7-0001Ze-P6; Sat, 01 Jun 2019 11:47:24 -0400 Date: Sat, 01 Jun 2019 18:47:09 +0300 Message-Id: <83y32lux36.fsf@gnu.org> From: Eli Zaretskii To: Noam Postavsky In-reply-to: <87muj15rvx.fsf@gmail.com> (message from Noam Postavsky on Sat, 01 Jun 2019 09:58:42 -0400) Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> <838sut2h1e.fsf@gnu.org> <93E5062E-4D87-4C36-A44E-2F17D665080B@acm.org> <87muj15rvx.fsf@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35770 Cc: mattiase@acm.org, monnier@iro.umontreal.ca, vibhavp@gmail.com, 35770@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 (---) > From: Noam Postavsky > Cc: Stefan Monnier , Eli Zaretskii , vibhavp@gmail.com, 35770@debbugs.gnu.org > Date: Sat, 01 Jun 2019 09:58:42 -0400 > > So, is this patch okay for emacs-26? Yes, thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 01 17:53:59 2019 Received: (at 35770) by debbugs.gnu.org; 1 Jun 2019 21:54:00 +0000 Received: from localhost ([127.0.0.1]:38845 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hXBwt-0006xU-Jl for submit@debbugs.gnu.org; Sat, 01 Jun 2019 17:53:59 -0400 Received: from mail-it1-f169.google.com ([209.85.166.169]:40390) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hXBwr-0006x8-Fr; Sat, 01 Jun 2019 17:53:57 -0400 Received: by mail-it1-f169.google.com with SMTP id h11so21020275itf.5; Sat, 01 Jun 2019 14:53:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=zqkNBu6SMF8GCXHMOjj5LL0bz8WFjcQxxdSSf16WYFU=; b=XgjYDVm9u5Irkao+rXQzjIwu1+vYfe7DitLpu4oAAnI4486cEiAsX7edNypxXg4Lin 0/NL7iLKc5ZvAlfmzVfNfqNZBGBdtauuzUEG8SWxgmH7lWrjgUgZv9Eb8wH4sNMd49ju iUvMVvHx/chDikHu41+NMH3xpOon/UmQrZR5vVQXP3DjQVNllIrDNF5J3jJhbY0u+FVY RFZFGj6eRJcE6j807bEjVR7GuZCeSw3f5HKz/W6vJ17eP9tu2f6M5o0tBoOZ4puimiMB QHgNUFDgNCiyHUcKCZeJEnhFhwYBYmp1eYAokp1gq0/LY0h0KUZNklcIVH2hcG+0V5mE SGUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=zqkNBu6SMF8GCXHMOjj5LL0bz8WFjcQxxdSSf16WYFU=; b=nK/wGmmzixAkWLxI7Knq7a1KUVQRuQGu7V2YAoIqaQEaTVbwNUiLWfWXol5qPxH6/N yDA3m/0K6mw7nfws8mpAMNiaeDZ1Uzjrd33XSXy26jiHyuraSQV1Emc8xm6RiuyxTGA7 cAgqSllhahGRsNLbV1AvjLNws9eYoO10cCq7eNHGZfRJahZJnomQw8D/dOMXpQzEE1Ar RC/FrDPw433N4DTwLoSHDAJfYv1d/sI3KIgCww/JdL4z8vhO9eiH2x/D0TPbc3BvstiO nYcuE0fdYmNmM7TzGVNPTH31Sm4vujCPqmVF5kwGWjMlIt2Xn5X4+WhDXTaK1pZ1a7R3 3OJQ== X-Gm-Message-State: APjAAAUL5kKHOBrTfZgo8yVHQW36G03M2RDF6nCVOpOTrG+tz7dFYxbu O0Gvz9Gf9MZmdviBv94Bw8Xhh+tV X-Google-Smtp-Source: APXvYqy6eLmtKOAmBZqBxjLxZeb6hSiyIm8Hll/p3Oloa5NwNO9GenakSLXg4B4+fSPUs7Ir0XXaXg== X-Received: by 2002:a02:394c:: with SMTP id w12mr6188711jae.126.1559426031513; Sat, 01 Jun 2019 14:53:51 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.gmail.com with ESMTPSA id p25sm909144iol.48.2019.06.01.14.53.50 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 01 Jun 2019 14:53:50 -0700 (PDT) From: Noam Postavsky To: Eli Zaretskii Subject: Re: bug#35770: [PATCH] Broken duplicate case elimination in switch byte-compilation References: <91DFE4D0-BDB6-4365-BA51-A2A3F209177C@acm.org> <752237291204505cd6b3fb98f667c2718fa6361f.camel@acm.org> <7C514C39-A204-44F4-A806-0B7DC3F4E6B4@acm.org> <83sgt67o2x.fsf@gnu.org> <87d0kaag5z.fsf@gmail.com> <83r28q7mxo.fsf@gnu.org> <838sut2h1e.fsf@gnu.org> <93E5062E-4D87-4C36-A44E-2F17D665080B@acm.org> <87muj15rvx.fsf@gmail.com> <83y32lux36.fsf@gnu.org> Date: Sat, 01 Jun 2019 17:53:49 -0400 In-Reply-To: <83y32lux36.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 01 Jun 2019 18:47:09 +0300") Message-ID: <87ef4d55w2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 35770 Cc: mattiase@acm.org, monnier@iro.umontreal.ca, vibhavp@gmail.com, 35770@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 (-) tags 35770 fixed close 35770 26.3 quit Eli Zaretskii writes: >> From: Noam Postavsky >> Cc: Stefan Monnier , Eli Zaretskii , vibhavp@gmail.com, 35770@debbugs.gnu.org >> Date: Sat, 01 Jun 2019 09:58:42 -0400 >> >> So, is this patch okay for emacs-26? > > Yes, thanks. Pushed. 04f13a5d9b 2019-06-01T17:48:43-04:00 "Disable byte-compile-cond-use-jump-table (Bug#35770)" https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=04f13a5d9bc19cfe0382e4257f1a1d856aa354ed From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 01 17:55:25 2019 Received: (at control) by debbugs.gnu.org; 1 Jun 2019 21:55:25 +0000 Received: from localhost ([127.0.0.1]:38854 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hXByH-00071X-2Y for submit@debbugs.gnu.org; Sat, 01 Jun 2019 17:55:25 -0400 Received: from mail-it1-f176.google.com ([209.85.166.176]:33854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hXByF-00071G-Fv for control@debbugs.gnu.org; Sat, 01 Jun 2019 17:55:23 -0400 Received: by mail-it1-f176.google.com with SMTP id u124so884660itc.1 for ; Sat, 01 Jun 2019 14:55:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=glUzA6evxh9V3sk2gqdRQPXePwOeT0zoSbF+8sKYVQk=; b=MLnO2dRyFuzGUA1EGRK4RyiSRR2q1cAc9cfSS8Bh7TkirOOc2ixaZPwCkAPCWwLY3L nfMYQJytgsdgmUTdJmPngJZiJSQ5/oG/WiRLblxE/sKtVfE58TsKJWGKTvXvVZAi8hnB i+hGbqTdWpYRRy4QQIRdSf39YMPH4tDEN2mfeEgsySqebNd7Z6tYxrpmRKHistTA+rND eu5KQ4UaIrdS/hXPhy/fgrIDlJhJzDSn5CgDm9PYbpo/nPIDdiUqSvz4I9lBoY6I4gpv 9YEUzNL2FQQyHJK3+4Rm8ILVPwm291QiR6DG869611rgZqh+8sk+Bcfanw+JheAQxc5Q TrcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=glUzA6evxh9V3sk2gqdRQPXePwOeT0zoSbF+8sKYVQk=; b=tFYTqge4tpWDLLzxrUwuNTFMPBHFsMkij5X6/vJtOLl7FP7tQvtgetYmR420RNFVs3 0tVkTxg3DlWDWV9GKPLcLNnNJvyMeRj0LSeFuBF7oAtb1QauMJY68X6E6PC+A0TnU0nR Q2mQz489zDe+BCrNhWsYGvjFz+Ch97XjSz1nXTUTmMLWt6B+JqHJKBjwB/qZgWe0nqcQ BnNRwIJ4R75rFPa9F2JuiYa7POqYoimz2JPtdEmbTbS7DzEB7bCEexjPf7NuLv5yaiAa T0UztrBKHHwqTcPcLVTD/JXQt5lISDfZk3F73HMynxAawRHyfZDLkdvjtZCjQCzkdjWq YskA== X-Gm-Message-State: APjAAAVWiVZM93xeZk5c0/BFETL5jRPFkdtzvrAEBQjpaJgkLQ6M7SR+ 57MibaOCjCSIq1CJsVY948te3mPP X-Google-Smtp-Source: APXvYqyHeQ4sye0Ld4JC9RlYIv7zjYra0Aq5a0slgpkiOCzGSe0rxwqlOIODVWvQLKJOsf/ZN5QwvQ== X-Received: by 2002:a02:9991:: with SMTP id a17mr10982899jal.1.1559426117789; Sat, 01 Jun 2019 14:55:17 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.gmail.com with ESMTPSA id m189sm4368430itm.21.2019.06.01.14.55.17 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 01 Jun 2019 14:55:17 -0700 (PDT) From: Noam Postavsky To: control@debbugs.gnu.org Subject: control message for bug #35770 Date: Sat, 01 Jun 2019 17:55:16 -0400 Message-ID: <87d0jx55tn.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain 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: -1.0 (-) # actually not really fixed in 26.3, just avoided fixed 35770 27.1 notfixed 35770 26.3 quit From unknown Sun Sep 07 17:04:57 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, 30 Jun 2019 11:24:09 +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