From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.bugs Subject: bug#40155: 27.0.90; `math-truc' called with `nil' during `calc-graph-fast' call Date: Fri, 27 Mar 2020 18:37:17 +0100 Message-ID: References: <87pnd6bx0k.fsf@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_BF8351EC-FDF4-4F05-8D82-3CDFD297CA8E" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="22193"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 40155@debbugs.gnu.org To: Narendra Joshi Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 27 18:38:24 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jHsw3-0005f9-4j for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 Mar 2020 18:38:23 +0100 Original-Received: from localhost ([::1]:44898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHsw2-0006SQ-24 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 Mar 2020 13:38:22 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60264) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHsvj-0006Rr-NQ for bug-gnu-emacs@gnu.org; Fri, 27 Mar 2020 13:38:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHsvi-00064k-OE for bug-gnu-emacs@gnu.org; Fri, 27 Mar 2020 13:38:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55565) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHsvi-00063M-Bw for bug-gnu-emacs@gnu.org; Fri, 27 Mar 2020 13:38:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jHsvi-0002R6-4b for bug-gnu-emacs@gnu.org; Fri, 27 Mar 2020 13:38:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <87pnd6bx0k.fsf@gmail.com> Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Mar 2020 17:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40155 X-GNU-PR-Package: emacs Original-Received: via spool by 40155-submit@debbugs.gnu.org id=B40155.15853306509308 (code B ref 40155); Fri, 27 Mar 2020 17:38:02 +0000 Original-Received: (at 40155) by debbugs.gnu.org; 27 Mar 2020 17:37:30 +0000 Original-Received: from localhost ([127.0.0.1]:33305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHsvB-0002Q4-UE for submit@debbugs.gnu.org; Fri, 27 Mar 2020 13:37:30 -0400 Original-Received: from mail1477c50.megamailservers.eu ([91.136.14.77]:51306 helo=mail118c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jHsv9-0002Pn-OP for 40155@debbugs.gnu.org; Fri, 27 Mar 2020 13:37:29 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1585330640; bh=P9Av/dreG1EnCvQO9E1p0PcpFFBmkLlq61nA0zd8xAA=; h=From:Subject:Date:Cc:To:From; b=OzpaWUUm5W5AGmG3Blc0LYv33r1rYSkXq7HvoqRMgGmhMBn9zty2McihtDArpHmpN EADEjd0ZaOLhS8XDmQ8acbcRXRBJ87H+tcJmhEfD9dfpQpy1LBKlugivZR7BAzu7ug n+IlOvRBprkseUpSxBuT4ylbMQa688fa5Vz6cz98= Feedback-ID: mattiase@acm.or Original-Received: from stanniol.lan (c-6f4fe655.032-75-73746f71.bbcust.telenor.se [85.230.79.111]) (authenticated bits=0) by mail118c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 02RHbHVr025106; Fri, 27 Mar 2020 17:37:19 +0000 X-Mailer: Apple Mail (2.3445.104.14) X-CTCH-RefID: str=0001.0A782F27.5E7E39BE.0064, 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-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=KaGsTjQD c=1 sm=1 tr=0 a=fHaj9vQUQVKQ4sUldAaXuQ==:117 a=fHaj9vQUQVKQ4sUldAaXuQ==:17 a=aFrC7v_-FHcA:10 a=M51BFTxLslgA:10 a=stax8dWR__XrIO1qbxoA:9 a=5Npg4QG-Iqyj0yvp:21 a=b93wDKZ4RxacxRBl:21 a=CjuIK1q_8ugA:10 a=XC52Q48l--bY90P8W2IA:9 a=B2y7HmGcmWMA:10 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:177787 Archived-At: --Apple-Mail=_BF8351EC-FDF4-4F05-8D82-3CDFD297CA8E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Thanks for the report. Explanation: The graph code does (and (Math-num-integerp lstyle) (math-trunc lstyle)) but Math-num-integerp returns true for nil, and math-trunc returns the = argument if it satisfies Math-integerp, which used to return true for = nil as well. Thus, the expression above 'works' (ie, returns nil) when = lstyle is nil as well. However, Math-integerp was changed in Emacs 27 to use native bignums, = and no longer returns true for nil, resulting in the error. Changing = Math-num-integerp to return false for nil would make the code work = again, this time in the way originally intended. Would you try this patch? (Please try various other operations as well, = in case the change had unintended consequences.) --Apple-Mail=_BF8351EC-FDF4-4F05-8D82-3CDFD297CA8E Content-Disposition: attachment; filename=0001-Calc-don-t-treat-nil-as-an-integer-bug-40155.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Calc-don-t-treat-nil-as-an-integer-bug-40155.patch" Content-Transfer-Encoding: quoted-printable =46rom=20c2b8ce4439935e2e158d4357d234135a251c5767=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2027=20Mar=202020=2018:11:18=20+0100=0A= Subject:=20[PATCH]=20Calc:=20don't=20treat=20nil=20as=20an=20integer=20= (bug#40155)=0A=0AMake=20Math-num-integerp=20return=20false=20for=20nil,=20= following=20Math-integerp=0Awhich=20was=20changed=20in=20the=20bignum=20= reform.=20=20This=20fixes=20a=20crash=20in=0Acalc-graph-fast.=0A=0A= Reported=20by=20Narendra=20Joshi.=0A=0A*=20lisp/calc/calc-macs.el=20= (Math-num-integerp):=20Not=20true=20for=20nil.=0A*=20= test/lisp/calc/calc-tests.el=20(calc-Math-integerp):=20New=20tests.=0A= ---=0A=20lisp/calc/calc-macs.el=20=20=20=20=20=20=20|=20=205=20+++--=0A=20= test/lisp/calc/calc-tests.el=20|=2011=20+++++++++++=0A=202=20files=20= changed,=2014=20insertions(+),=202=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/calc/calc-macs.el=20b/lisp/calc/calc-macs.el=0Aindex=20= e73d108e6d..257d369b87=20100644=0A---=20a/lisp/calc/calc-macs.el=0A+++=20= b/lisp/calc/calc-macs.el=0A@@=20-161,8=20+161,9=20@@=20Math-primp=0A=20=09= =09=20=20=20=20=20=20hms=20date=20mod=20var))))=0A=20=0A=20(defsubst=20= Math-num-integerp=20(a)=0A-=20=20(or=20(not=20(consp=20a))=0A-=20=20=20=20= =20=20(and=20(eq=20(car=20a)=20'float)=0A+=20=20(or=20(integerp=20a)=0A+=20= =20=20=20=20=20(and=20(consp=20a)=0A+=20=20=20=20=20=20=20=20=20=20=20= (eq=20(car=20a)=20'float)=0A=20=09=20=20=20(>=3D=20(nth=202=20a)=200))))=0A= =20=0A=20(defsubst=20Math-equal-int=20(a=20b)=0Adiff=20--git=20= a/test/lisp/calc/calc-tests.el=20b/test/lisp/calc/calc-tests.el=0Aindex=20= 784b404898..8fffb7c14b=20100644=0A---=20a/test/lisp/calc/calc-tests.el=0A= +++=20b/test/lisp/calc/calc-tests.el=0A@@=20-334,6=20+334,17=20@@=20= calc-poly-div=0A=20=20=20=20=20=20=20=20=20(should=20(equal=20tos=20'(-=20= (*=202=20(var=20x=20var-x))=204)))=0A=20=20=20=20=20=20=20=20=20(should=20= (equal=20trail=20"pdiv=202=20*=20x=20-=204\nprem=208=20*=20x=20+=20= 1\n"))))))=0A=20=0A+(ert-deftest=20calc-Math-integerp=20()=0A+=20=20= (should=20(Math-integerp=20-7))=0A+=20=20(should=20(Math-integerp=20(ash=20= 1=2065)))=0A+=20=20(should-not=20(Math-integerp=20'(float=201=200)))=0A+=20= =20(should-not=20(Math-integerp=20nil))=0A+=0A+=20=20(should=20= (Math-num-integerp=20-7))=0A+=20=20(should=20(Math-num-integerp=20(ash=20= 1=2065)))=0A+=20=20(should=20(Math-num-integerp=20'(float=201=200)))=0A+=20= =20(should-not=20(Math-integerp=20nil)))=0A+=0A=20(provide=20= 'calc-tests)=0A=20;;;=20calc-tests.el=20ends=20here=0A=20=0A--=20=0A= 2.21.1=20(Apple=20Git-122.3)=0A=0A= --Apple-Mail=_BF8351EC-FDF4-4F05-8D82-3CDFD297CA8E--