From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.bugs Subject: bug#54263: 29.0.50; color-values-from-color-spec accepts whitespace in rgbi: specifications Date: Sun, 6 Mar 2022 12:12:08 +0100 Message-ID: <832485F0-60AE-48E6-B163-0DF031F31028@acm.org> References: <875yore4vb.fsf@posteo.net> Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_9A4EBC03-2F79-4A76-B6A0-662EF583C3A5" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15896"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 54263@debbugs.gnu.org, Lars Ingebrigtsen To: Philip Kaludercic Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Mar 06 12:17:04 2022 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 1nQosq-0003vn-Ng for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 06 Mar 2022 12:17:04 +0100 Original-Received: from localhost ([::1]:48094 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQosp-0007qk-Di for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 06 Mar 2022 06:17:03 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55046) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQoow-0001qq-Li for bug-gnu-emacs@gnu.org; Sun, 06 Mar 2022 06:13:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56062) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nQoow-00089d-9K for bug-gnu-emacs@gnu.org; Sun, 06 Mar 2022 06:13:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nQoov-0001kg-UQ for bug-gnu-emacs@gnu.org; Sun, 06 Mar 2022 06:13:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 06 Mar 2022 11:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54263 X-GNU-PR-Package: emacs Original-Received: via spool by 54263-submit@debbugs.gnu.org id=B54263.16465651396673 (code B ref 54263); Sun, 06 Mar 2022 11:13:01 +0000 Original-Received: (at 54263) by debbugs.gnu.org; 6 Mar 2022 11:12:19 +0000 Original-Received: from localhost ([127.0.0.1]:49959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nQooE-0001jZ-Nt for submit@debbugs.gnu.org; Sun, 06 Mar 2022 06:12:18 -0500 Original-Received: from mail204c50.megamailservers.eu ([91.136.10.214]:33776 helo=mail193c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nQooC-0001jO-08 for 54263@debbugs.gnu.org; Sun, 06 Mar 2022 06:12:17 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1646565133; bh=8Fe8lZ2wJMrLSTBRjQ3Vr6BxjSdFtIhiu7SfDFurEbo=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=m/t0Ds3wLBo1MpxR6RpMAIj1fNNVNuwoIGGnlHkrGGOXxT18FD67JzEfj/xwYErou PHt/Q+9wnAnX044xp2vNOEGmJl4ewdMbs10U/TMyU0QFjNnijTGpKS6O5rRddSN3Y0 wj2foTDASaw09F/Xb/IlqL2DjZ4GUAC1uivWKsUQ= Feedback-ID: mattiase@acm.or Original-Received: from smtpclient.apple (c-b952e353.032-75-73746f71.bbcust.telenor.se [83.227.82.185]) (authenticated bits=0) by mail193c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 226BC9ou031566; Sun, 6 Mar 2022 11:12:12 +0000 In-Reply-To: <875yore4vb.fsf@posteo.net> X-Mailer: Apple Mail (2.3654.120.0.1.13) X-CTCH-RefID: str=0001.0A742F1D.6224970D.0023, 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-Origin-Country: SE X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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:228058 Archived-At: --Apple-Mail=_9A4EBC03-2F79-4A76-B6A0-662EF583C3A5 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 6 mars 2022 kl. 11.45 skrev Philip Kaludercic : > (should (equal (color-values-from-color-spec "rgbi:0/0/0x0") nil)) >=20 > should be accepted or not. =46rom looking at xfaces-tests.el I was > surprised to see that the exponential notation was intentional, but > there was no comment or test on the un-lispy 0x... notation that = strtod > allows. We could disallow hex floats (such as 0x1 or 0XDEFP-16) too, but whether = they are un-lispy or not should have no bearing on our decision because = we are parsing an external representation that doesn't come from the = Lisp world. Finding an authoritative source for the rgbi: format proved elusive but = it doesn't seem that X11 or NS allow hex floats so let's reject them. = New patch attached. --Apple-Mail=_9A4EBC03-2F79-4A76-B6A0-662EF583C3A5 Content-Disposition: attachment; filename=0001-Don-t-accept-whitespace-or-hex-floats-in-rgbi-colour.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Don-t-accept-whitespace-or-hex-floats-in-rgbi-colour.patch" Content-Transfer-Encoding: quoted-printable =46rom=205356a4dd21e2d427cc3c17a0592b30f85b7af1db=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Sun,=206=20Mar=202022=2010:50:27=20+0100=0A= Subject:=20[PATCH]=20Don't=20accept=20whitespace=20or=20hex=20floats=20= in=20rgbi:=20colour=20specs=0A=0A`color-values-from-color-spec`=20(new=20= in=20Emacs=2028)=20erroneously=20accepted=0Aleading=20whitespace=20and=20= hex=20floats=20in=20rgbi:=20components.=0A=0AReported=20by=20Philip=20= Kaludercic.=0A=0A*=20src/xfaces.c=20(parse_float_color_comp):=20Disallow=20= leading=20whitespace=0Aand=20hex=20floats.=0A*=20= test/src/xfaces-tests.el=0A= (xfaces-internal-color-values-from-color-spec):=20Add=20test=20cases.=0A= ---=0A=20src/xfaces.c=20=20=20=20=20=20=20=20=20=20=20=20=20|=205=20= +++++=0A=20test/src/xfaces-tests.el=20|=204=20+++-=0A=202=20files=20= changed,=208=20insertions(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/src/xfaces.c=20b/src/xfaces.c=0Aindex=208100bdb157..d43e2936a9=20= 100644=0A---=20a/src/xfaces.c=0A+++=20b/src/xfaces.c=0A@@=20-888,6=20= +888,11=20@@=20parse_hex_color_comp=20(const=20char=20*s,=20const=20char=20= *e,=20unsigned=20short=20*dst)=0A=20static=20double=0A=20= parse_float_color_comp=20(const=20char=20*s,=20const=20char=20*e)=0A=20{=0A= +=20=20if=20(s=20>=3D=20e=0A+=20=20=20=20=20=20||=20!(*s=20=3D=3D=20'0'=20= ||=20*s=20=3D=3D=20'1'=20||=20*s=20=3D=3D=20'.'=20||=20*s=20=3D=3D=20'+'=20= ||=20*s=20=3D=3D=20'-')=0A+=20=20=20=20=20=20||=20(s=20+=201=20<=20e=20= &&=20(s[1]=20=3D=3D=20'x'=20||=20s[1]=20=3D=3D=20'X')))=0A+=20=20=20=20= /*=20No=20leading=20whitespace=20or=20hex=20floats=20permitted.=20=20*/=0A= +=20=20=20=20return=20-1;=0A=20=20=20char=20*end;=0A=20=20=20double=20x=20= =3D=20strtod=20(s,=20&end);=0A=20=20=20return=20(end=20=3D=3D=20e=20&&=20= x=20>=3D=200=20&&=20x=20<=3D=201)=20?=20x=20:=20-1;=0Adiff=20--git=20= a/test/src/xfaces-tests.el=20b/test/src/xfaces-tests.el=0Aindex=20= 31c0f021b2..fc0e731db4=20100644=0A---=20a/test/src/xfaces-tests.el=0A+++=20= b/test/src/xfaces-tests.el=0A@@=20-47,7=20+47,9=20@@=20= xfaces-internal-color-values-from-color-spec=0A=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20'(0=2032768=206554)))=0A=20=20=20(should=20= (equal=20(color-values-from-color-spec=20"rgbi:1e-3/1.0e-2/1e0")=0A=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20'(66=20655=2065535)))=0A= -=20=20(should=20(equal=20(color-values-from-color-spec=20= "rgbi:0/0.5/10")=20nil)))=0A+=20=20(should=20(equal=20= (color-values-from-color-spec=20"rgbi:0/0.5/10")=20nil))=0A+=20=20= (should=20(equal=20(color-values-from-color-spec=20"rgbi:0/0/=200")=20= nil))=0A+=20=20(should=20(equal=20(color-values-from-color-spec=20= "rgbi:0/0x0/0")=20nil)))=0A=20=0A=20(provide=20'xfaces-tests)=0A=20=0A--=20= =0A2.32.0=20(Apple=20Git-132)=0A=0A= --Apple-Mail=_9A4EBC03-2F79-4A76-B6A0-662EF583C3A5--