From unknown Sun Aug 10 09:46:16 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#45917 <45917@debbugs.gnu.org> To: bug#45917 <45917@debbugs.gnu.org> Subject: Status: [PATCH] Use big brackets in Calc in big mode Reply-To: bug#45917 <45917@debbugs.gnu.org> Date: Sun, 10 Aug 2025 16:46:16 +0000 retitle 45917 [PATCH] Use big brackets in Calc in big mode reassign 45917 emacs submitter 45917 Mattias Engdeg=C3=A5rd severity 45917 normal tag 45917 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 16 12:10:46 2021 Received: (at submit) by debbugs.gnu.org; 16 Jan 2021 17:10:46 +0000 Received: from localhost ([127.0.0.1]:43905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l0p65-0000Fp-US for submit@debbugs.gnu.org; Sat, 16 Jan 2021 12:10:46 -0500 Received: from lists.gnu.org ([209.51.188.17]:45950) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l0p64-0000Fh-2G for submit@debbugs.gnu.org; Sat, 16 Jan 2021 12:10:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36168) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l0p63-0003lO-9n for bug-gnu-emacs@gnu.org; Sat, 16 Jan 2021 12:10:43 -0500 Received: from mail1467c50.megamailservers.eu ([91.136.14.67]:55384 helo=mail268c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l0p5y-0001tl-JT for bug-gnu-emacs@gnu.org; Sat, 16 Jan 2021 12:10:43 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1610817034; bh=CJl1kz0EXjVw0W0rtyIBHlUWYynXzv5d6oTtOVD+RUM=; h=From:Subject:Date:To:From; b=Waz6ZRHk4t9bdHfIHN6vPDcEmw1v77wMfPGm1fMMO6c2/bZIS6hua2H/V4Q3sJAZ6 aPZfmRC2mfNOCp5IEuMKVZWfk5u7IM3L/q1RI7XdbNswV9afFN+lcdacdyDMcZq0ir zoHMIPSqO2DV8TqCxYm1nA3V1YQHGQ0lk25xIsik= Feedback-ID: mattiase@acm.or Received: from stanniol.lan (c-b952e353.032-75-73746f71.bbcust.telenor.se [83.227.82.185]) (authenticated bits=0) by mail268c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 10GHAWJZ001983 for ; Sat, 16 Jan 2021 17:10:33 +0000 From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= Content-Type: multipart/mixed; boundary="Apple-Mail=_1629750A-F015-4A05-9F94-904D47744B8E" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.17\)) Subject: [PATCH] Use big brackets in Calc in big mode Message-Id: <99D62C96-8FA8-4089-BB4C-9BA65F30B7E3@acm.org> Date: Sat, 16 Jan 2021 18:10:31 +0100 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3445.104.17) X-CTCH-RefID: str=0001.0A742F17.60031E0A.0012, 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=J+PUEzvS c=1 sm=1 tr=0 a=von4qPfY+hyqc0zmWf0tYQ==:117 a=von4qPfY+hyqc0zmWf0tYQ==:17 a=M51BFTxLslgA:10 a=hz4ZEoUbM58TYr4sGwoA:9 a=CjuIK1q_8ugA:10 a=FxUsVjK5u7_X8EQ_saYA:9 a=B2y7HmGcmWMA:10 a=tclcd6dtLQvEqt9_mmAA:9 X-Origin-Country: SE Received-SPF: softfail client-ip=91.136.14.67; envelope-from=mattiase@acm.org; helo=mail268c50.megamailservers.eu X-Spam_score_int: -11 X-Spam_score: -1.2 X-Spam_bar: - X-Spam_report: (-1.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --Apple-Mail=_1629750A-F015-4A05-9F94-904D47744B8E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii The attached patch makes Calc use big brackets in Big mode when the = Unicode characters are available. This makes for prettier display which = is sort of the point of using Big mode. It follows previous use of = Unicode characters for square root and integral signs. The code supports big versions of round, square and curly brackets. Big = square brackets are currently only used for intervals and curly ones not = at all (maybe they could be put to use for Stirling numbers of the = second kind). Matrices do not use big brackets but they probably should since it is = standard mathematical notation. As far as I can tell the only reasons for not applying this would be = that it is common with fonts or terminals where this doesn't look good, = or that the resulting formula isn't recognised by the embedded-mode = parser (which is already the case with several other constructs). --Apple-Mail=_1629750A-F015-4A05-9F94-904D47744B8E Content-Disposition: attachment; filename=0001-Calc-use-big-Unicode-brackets-in-Big-mode-when-avail.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Calc-use-big-Unicode-brackets-in-Big-mode-when-avail.patch" Content-Transfer-Encoding: quoted-printable =46rom=2001a065dfb6047e0c0db7a89f6113723a1763bd2b=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Sat,=2016=20Jan=202021=2017:30:57=20+0100=0A= Subject:=20[PATCH]=20Calc:=20use=20big=20Unicode=20brackets=20in=20Big=20= mode=20when=20available=0A=0A*=20lisp/calc/calccomp.el=20= (math--big-bracket-alist)=0A(math--big-bracket,=20math--comp-bracket,=20= math--comp-round-bracket):=0ANew.=0A(math-compose-expr,=20= math-compose-log,=20math-compose-log10)=0A(math-compose-choose,=20= math-compose-integ,=20math-compose-sum)=0A(math-compose-prod):=20Use=20= big=20brackets=20when=20available.=0A---=0A=20lisp/calc/calccomp.el=20|=20= 247=20+++++++++++++++++++++++++++---------------=0A=201=20file=20= changed,=20162=20insertions(+),=2085=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/calc/calccomp.el=20b/lisp/calc/calccomp.el=0Aindex=20= 07e70cad0a..5f38ee71c7=20100644=0A---=20a/lisp/calc/calccomp.el=0A+++=20= b/lisp/calc/calccomp.el=0A@@=20-138,19=20+138,19=20@@=20= math-compose-expr=0A=20=09=09=09=09=20=20=20=20=20=20(math-format-number=20= (nth=202=20aa))))))=0A=20=09=09=20=20(if=20(=3D=20calc-number-radix=20= 10)=0A=20=09=09=20=20=20=20=20=20c=0A-=09=09=20=20=20=20(list=20'horiz=20= "("=20c=0A-=09=09=09=20=20(list=20'subscr=20")"=0A-=09=09=09=09= (int-to-string=20calc-number-radix)))))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(list=20'subscr=20= (math--comp-round-bracket=20c)=0A+=09=09=09=20=20(int-to-string=20= calc-number-radix))))=0A=20=09=20=20=20=20=20=20(math-format-number=20= a)))=0A=20=09(if=20(not=20(eq=20calc-language=20'big))=0A=20=09=20=20=20=20= (math-format-number=20a=20prec)=0A=20=09=20=20(if=20(memq=20(car-safe=20= a)=20'(cplx=20polar))=0A=20=09=20=20=20=20=20=20(if=20(math-zerop=20(nth=20= 2=20a))=0A=20=09=09=20=20(math-compose-expr=20(nth=201=20a)=20prec)=0A-=09= =09(list=20'horiz=20"("=0A-=09=09=20=20=20=20=20=20(math-compose-expr=20= (nth=201=20a)=200)=0A-=09=09=20=20=20=20=20=20(if=20(eq=20(car=20a)=20= 'cplx)=20",=20"=20";=20")=0A-=09=09=20=20=20=20=20=20(math-compose-expr=20= (nth=202=20a)=200)=20")"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(math--comp-round-bracket=0A+=09=09=20(list=20'horiz=0A+=09=09=20=20=20= =20=20=20=20(math-compose-expr=20(nth=201=20a)=200)=0A+=09=09=20=20=20=20= =20=20=20(if=20(eq=20(car=20a)=20'cplx)=20",=20"=20";=20")=0A+=09=09=20=20= =20=20=20=20=20(math-compose-expr=20(nth=202=20a)=200))))=0A=20=09=20=20=20= =20(if=20(or=20(=3D=20calc-number-radix=2010)=0A=20=09=09=20=20=20=20= (not=20(Math-realp=20a))=0A=20=09=09=20=20=20=20(and=20calc-group-digits=0A= @@=20-340,12=20+340,13=20@@=20math-compose-expr=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(funcall=20spfn=20a=20prec)=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20(math-compose-var=20a)))))=0A=20=20=20=20=20=20((eq=20= (car=20a)=20'intv)=0A-=20=20=20=20=20=20(list=20'horiz=0A-=20=20=20=20=20= =20=20=20=20=20=20=20(if=20(memq=20(nth=201=20a)=20'(0=201))=20"("=20= "[")=0A-=09=20=20=20=20(math-compose-expr=20(nth=202=20a)=200)=0A-=20=20=20= =20=20=20=20=20=20=20=20=20"=20..=20"=0A-=09=20=20=20=20= (math-compose-expr=20(nth=203=20a)=200)=0A-=20=20=20=20=20=20=20=20=20=20= =20=20(if=20(memq=20(nth=201=20a)=20'(0=202))=20")"=20"]")))=0A+=20=20=20= =20=20=20(math--comp-bracket=0A+=20=20=20=20=20=20=20(if=20(memq=20(nth=20= 1=20a)=20'(0=201))=20?\(=20?\[)=0A+=20=20=20=20=20=20=20(if=20(memq=20= (nth=201=20a)=20'(0=202))=20?\)=20?\])=0A+=20=20=20=20=20=20=20(list=20= 'horiz=0A+=09=20=20=20=20=20(math-compose-expr=20(nth=202=20a)=200)=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20"=20..=20"=0A+=09=20=20=20=20=20= (math-compose-expr=20(nth=203=20a)=200))))=0A=20=20=20=20=20=20((eq=20= (car=20a)=20'date)=0A=20=20=20=20=20=20=20(if=20(eq=20(car=20= calc-date-format)=20'X)=0A=20=09=20=20(math-format-date=20a)=0A@@=20= -377,7=20+378,7=20@@=20math-compose-expr=0A=20=09=09=20=20=20=20(and=20= (eq=20(car-safe=20(nth=201=20a))=20'cplx)=0A=20=09=09=09=20(math-negp=20= (nth=201=20(nth=201=20a)))=0A=20=09=09=09=20(eq=20(nth=202=20(nth=201=20= a))=200)))=0A-=09=09(list=20'horiz=20"("=20(math-compose-expr=20(nth=201=20= a)=200)=20")")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (math--comp-round-bracket=20(math-compose-expr=20(nth=201=20a)=200))=0A=20= =09=20=20=20=20=20=20(math-compose-expr=20(nth=201=20a)=20201))=0A=20=09=20= =20=20=20(let=20((calc-language=20'flat)=0A=20=09=09=20=20= (calc-number-radix=2010)=0A@@=20-444,7=20+445,7=20@@=20math-compose-expr=0A= =20=09(if=20(>=20prec=20(nth=202=20a))=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20(if=20(setq=20spfn=20(get=20calc-language=20'math-big-parens))=0A=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(list=20'horiz=20(car=20= spfn)=20c=20(cdr=20spfn))=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (list=20'horiz=20"("=20c=20")"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(math--comp-round-bracket=20c))=0A=20=09=20=20c)))=0A=20=20=20=20=20=20= ((and=20(eq=20(car=20a)=20'calcFunc-choriz)=0A=20=09=20=20=20(not=20(eq=20= calc-language=20'unform))=0A@@=20-612,7=20+613,7=20@@=20= math-compose-expr=0A=20=09=09=09=20=20=20(list=20'horiz=20"{left=20(=20"=0A= =20=09=09=09=09=20(math-compose-expr=20a=20-1)=0A=20=09=09=09=09=20"=20= right=20)}")))=0A-=09=09=20=20=20=20=20(list=20'horiz=20"("=20= (math-compose-expr=20a=200)=20")"))))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(math--comp-round-bracket=20= (math-compose-expr=20a=200)))))=0A=20=09=09((and=20(memq=20calc-language=20= '(tex=20latex))=0A=20=09=09=20=20=20=20=20=20(memq=20(car=20a)=20'(/=20= calcFunc-choose=20calcFunc-evalto))=0A=20=09=09=20=20=20=20=20=20(>=3D=20= prec=200))=0A@@=20-638,7=20+639,7=20@@=20math-compose-expr=0A=20=09=09=09= (rhs=20(math-compose-expr=20(nth=202=20a)=20(nth=203=20op)=20(eq=20(nth=20= 1=20op)=20'/))))=0A=20=09=09=20=20=20(and=20(equal=20(car=20op)=20"^")=0A= =20=09=09=09(eq=20(math-comp-first-char=20lhs)=20?-)=0A-=09=09=09(setq=20= lhs=20(list=20'horiz=20"("=20lhs=20")")))=0A+=09=09=09(setq=20lhs=20= (math--comp-round-bracket=20lhs)))=0A=20=09=09=20=20=20(and=20(memq=20= calc-language=20'(tex=20latex))=0A=20=09=09=09(or=20(equal=20(car=20op)=20= "^")=20(equal=20(car=20op)=20"_"))=0A=20=09=09=09(not=20(and=20(stringp=20= rhs)=20(=3D=20(length=20rhs)=201)))=0A@@=20-721,7=20+722,7=20@@=20= math-compose-expr=0A=20=09=09=09=20=20=20(list=20'horiz=20"{left=20(=20"=0A= =20=09=09=09=09=20(math-compose-expr=20a=20-1)=0A=20=09=09=09=09=20"=20= right=20)}")))=0A-=09=09=20=20=20=20=20(list=20'horiz=20"("=20= (math-compose-expr=20a=200)=20")"))))=0A+=09=09=20=20=20=20=20= (math--comp-round-bracket=20(math-compose-expr=20a=200)))))=0A=20=09=09= (t=0A=20=09=09=20(let=20((lhs=20(math-compose-expr=20(nth=201=20a)=20= (nth=202=20op))))=0A=20=09=09=20(list=20'horiz=0A@@=20-759,7=20+760,7=20= @@=20math-compose-expr=0A=20=09=09=09=20=20=20(list=20'horiz=20"{left=20= (=20"=0A=20=09=09=09=09=20(math-compose-expr=20a=20-1)=0A=20=09=09=09=09=20= "=20right=20)}")))=0A-=09=09=20=20=20=20=20(list=20'horiz=20"("=20= (math-compose-expr=20a=200)=20")"))))=0A+=09=09=20=20=20=20=20= (math--comp-round-bracket=20(math-compose-expr=20a=200)))))=0A=20=09=09= (t=0A=20=09=09=20(let=20((rhs=20(math-compose-expr=20(nth=201=20a)=20= (nth=203=20op))))=0A=20=09=09=20=20=20(list=20'horiz=0A@@=20-966,6=20= +967,69=20@@=20math-tex-expr-is-flat=0A=20=20=20=20=20=20=20(and=20(memq=20= (car=20a)=20'(^=20calcFunc-subscr))=0A=20=09=20=20=20= (math-tex-expr-is-flat=20(nth=201=20a)))))=0A=20=0A+;;=20FIXME:=20maybe=20= try=20box=20drawing=20chars=20if=20big=20bracket=20chars=20are=20= unavailable,=0A+;;=20like=20=20=E2=94=8C=20=20=20=20=20=E2=94=90n=0A+;;=20= =20=20=20=20=20=20=E2=94=82a=20+=20b=E2=94=82=20=20=20=20=20=E2=94=8C=20= a=20+=20b=20=E2=94=90n=0A+;;=20=20=20=20=20=20=20=E2=94=82-----=E2=94=82=20= =20or=20=E2=94=82=20-----=20=E2=94=82=20=20=20=20?=0A+;;=20=20=20=20=20=20= =20=E2=94=82=20=20c=20=20=E2=94=82=20=20=20=20=20=E2=94=94=20=20=20c=20=20= =20=E2=94=98=0A+;;=20=20=20=20=20=20=20=E2=94=94=20=20=20=20=20=E2=94=98=0A= +;;=20They=20are=20more=20common=20than=20the=20chars=20below,=20but=20= look=20a=20bit=20square.=0A+;;=20Rounded=20corners=20exist=20but=20are=20= less=20commonly=20available.=0A+=0A+(defconst=20math--big-bracket-alist=0A= +=20=20'((?\(=20.=20(?=E2=8E=9B=20?=E2=8E=9D=20?=E2=8E=9C))=0A+=20=20=20=20= (?\)=20.=20(?=E2=8E=9E=20?=E2=8E=A0=20?=E2=8E=9F))=0A+=20=20=20=20(?\[=20= .=20(?=E2=8E=A1=20?=E2=8E=A3=20?=E2=8E=A2))=0A+=20=20=20=20(?\]=20.=20= (?=E2=8E=A4=20?=E2=8E=A6=20?=E2=8E=A5))=0A+=20=20=20=20(?\{=20.=20(?=E2=8E= =A7=20?=E2=8E=A9=20?=E2=8E=AA=20?=E2=8E=A8))=0A+=20=20=20=20(?\}=20.=20= (?=E2=8E=AB=20?=E2=8E=AD=20?=E2=8E=AA=20?=E2=8E=AC)))=0A+=20=20"Alist=20= mapping=20bracket=20chars=20to=20(UPPER=20LOWER=20EXTENSION=20MIDPIECE).=0A= +Not=20all=20brackets=20have=20midpieces.")=0A+=0A+(defun=20= math--big-bracket=20(bracket-char=20height=20baseline)=0A+=20=20= "Composition=20for=20BRACKET-CHAR=20of=20HEIGHT=20with=20BASELINE."=0A+=20= =20(if=20(<=3D=20height=201)=0A+=20=20=20=20=20=20(char-to-string=20= bracket-char)=0A+=20=20=20=20(let=20((pieces=20(cdr=20(assq=20= bracket-char=20math--big-bracket-alist))))=0A+=20=20=20=20=20=20(if=20= (memq=20nil=20(mapcar=20#'char-displayable-p=20pieces))=0A+=20=20=20=20=20= =20=20=20=20=20(char-to-string=20bracket-char)=0A+=20=20=20=20=20=20=20=20= (let*=20((upper=20(nth=200=20pieces))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(lower=20(nth=201=20pieces))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(extension=20(nth=202=20pieces))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(midpiece=20(nth=203=20pieces)))=0A+=20=20=20=20=20=20= =20=20=20=20(cons=20'vleft=20=20=20=20=20=20=20=20;=20alignment=20= doesn't=20matter;=20width=20is=201=20char=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(cons=20baseline=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(mapcar=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20#'char-to-string=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(append=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(list=20= upper)=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(if=20midpiece=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=20=20=20(let=20((lower-ext=20(/=20(-=20= height=203)=202)))=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=20=20=20=20=20(append=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=20=20=20=20=20=20= (make-list=20(-=20height=203=20lower-ext)=20extension)=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=20=20=20=20=20= =20(list=20midpiece)=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=20=20=20=20=20=20(make-list=20lower-ext=20= extension)))=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=20(make-list=20(-=20height=202)=20extension))=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(list=20= lower))))))))))=0A+=0A+(defun=20math--comp-bracket=20(left-bracket=20= right-bracket=20comp)=0A+=20=20"Put=20the=20composition=20COMP=20inside=20= LEFT-BRACKET=20and=20RIGHT-BRACKET."=0A+=20=20(if=20(eq=20calc-language=20= 'big)=0A+=20=20=20=20=20=20(let=20((height=20(math-comp-height=20comp))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20(baseline=20(1-=20(math-comp-ascent=20= comp))))=0A+=20=20=20=20=20=20=20=20(list=20'horiz=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(math--big-bracket=20left-bracket=20height=20= baseline)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20comp=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(math--big-bracket=20right-bracket=20= height=20baseline)))=0A+=20=20=20=20(list=20'horiz=0A+=20=20=20=20=20=20=20= =20=20=20(char-to-string=20left-bracket)=0A+=20=20=20=20=20=20=20=20=20=20= comp=0A+=20=20=20=20=20=20=20=20=20=20(char-to-string=20= right-bracket))))=0A+=0A+(defun=20math--comp-round-bracket=20(comp)=0A+=20= =20"Put=20the=20composition=20COMP=20inside=20plain=20brackets."=0A+=20=20= (math--comp-bracket=20?\(=20?\)=20comp))=0A+=0A=20(put=20'calcFunc-log=20= 'math-compose-big=20#'math-compose-log)=0A=20(defun=20math-compose-log=20= (a=20_prec)=0A=20=20=20(and=20(=3D=20(length=20a)=203)=0A@@=20-973,18=20= +1037,14=20@@=20math-compose-log=0A=20=09=20=20=20=20=20(list=20'subscr=20= "log"=0A=20=09=09=20=20=20(let=20((calc-language=20'flat))=0A=20=09=09=20= =20=20=20=20(math-compose-expr=20(nth=202=20a)=201000)))=0A-=09=20=20=20=20= =20"("=0A-=09=20=20=20=20=20(math-compose-expr=20(nth=201=20a)=201000)=0A= -=09=20=20=20=20=20")")))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (math--comp-round-bracket=20(math-compose-expr=20(nth=201=20a)=20= 1000)))))=0A=20=0A=20(put=20'calcFunc-log10=20'math-compose-big=20= #'math-compose-log10)=0A=20(defun=20math-compose-log10=20(a=20_prec)=0A=20= =20=20(and=20(=3D=20(length=20a)=202)=0A=20=20=20=20=20=20=20=20(list=20= 'horiz=0A-=09=20=20=20=20=20(list=20'subscr=20"log"=20"10")=0A-=09=20=20=20= =20=20"("=0A-=09=20=20=20=20=20(math-compose-expr=20(nth=201=20a)=20= 1000)=0A-=09=20=20=20=20=20")")))=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20(list=20'subscr=20"log"=20"10")=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20(math--comp-round-bracket=20(math-compose-expr=20(nth=201=20a)=20= 1000)))))=0A=20=0A=20(put=20'calcFunc-deriv=20'math-compose-big=20= #'math-compose-deriv)=0A=20(put=20'calcFunc-tderiv=20'math-compose-big=20= #'math-compose-deriv)=0A@@=20-1027,12=20+1087,9=20@@=20math-compose-sqrt=0A= =20(defun=20math-compose-choose=20(a=20_prec)=0A=20=20=20(let=20((a1=20= (math-compose-expr=20(nth=201=20a)=200))=0A=20=09(a2=20= (math-compose-expr=20(nth=202=20a)=200)))=0A-=20=20=20=20(list=20'horiz=0A= -=09=20=20"("=0A-=09=20=20(list=20'vcent=0A-=09=09(math-comp-height=20= a1)=0A-=09=09a1=20"=20"=20a2)=0A-=09=20=20")")))=0A+=20=20=20=20= (math--comp-round-bracket=20(list=20'vcent=0A+=09=09=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(+=20(math-comp-height=20a1))=0A+=09= =09=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20a1=20"=20= "=20a2))))=0A=20=0A=20(put=20'calcFunc-integ=20'math-compose-big=20= #'math-compose-integ)=0A=20(defun=20math-compose-integ=20(a=20prec)=0A@@=20= -1052,9=20+1109,12=20@@=20math-compose-integ=0A=20=09=09=09=09=09=09=20=20= =20=20=20=20=20"d%s"=0A=20=09=09=09=09=09=09=20=20=20=20=20=20=20(nth=20= 1=20(nth=202=20a)))))=0A=20=09=09=09=09=09=20(nth=201=20a))=20185))=0A-=09= =20=20=20=20=20=20(calc-language=20'flat)=0A-=09=20=20=20=20=20=20(low=20= (and=20(nth=203=20a)=20(math-compose-expr=20(nth=203=20a)=200)))=0A-=09=20= =20=20=20=20=20(high=20(and=20(nth=204=20a)=20(math-compose-expr=20(nth=20= 4=20a)=200)))=0A+=09=20=20=20=20=20=20(low=20(and=20(nth=203=20a)=0A+=09=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(let=20((calc-language=20= 'flat))=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=20(math-compose-expr=20(nth=203=20a)=200))))=0A+=09=20=20=20= =20=20=20(high=20(and=20(nth=204=20a)=0A+=09=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(let=20((calc-language=20'flat))=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=20=20= (math-compose-expr=20(nth=204=20a)=200))))=0A=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Check=20if=20we=20have=20Unicode=20integral=20= top/bottom=20parts.=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (fancy=20(and=20(char-displayable-p=20?=E2=8C=A0)=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=20=20= (char-displayable-p=20?=E2=8C=A1)))=0A@@=20-1066,40=20+1126,47=20@@=20= math-compose-integ=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=20=20=20=20=20=20=20=20((char-displayable-p=20= ?=E2=94=82)=20"=E2=94=82=20")=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=20=20=20=20=20=20=20=20;;=20U+007C=20= VERTICAL=20LINE=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=20=20=20=20=20=20=20=20(t=20"|=20"))))=0A-=09=20(list=20= 'horiz=0A-=09=20=20=20=20=20=20=20(if=20parens=20"("=20"")=0A-=09=20=20=20= =20=20=20=20(append=20(list=20'vcent=20(if=20fancy=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=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(if=20high=202=201)=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=20=20=20=20=20=20=20=20=20= =20=20=20=20(if=20high=203=202)))=0A-=09=09=20=20=20=20=20=20=20(and=20= high=20(list=20(if=20fancy=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=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(list=20'horiz=20high=20"=20")=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=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(list=20'horiz=20"=20=20"=20high))))=0A-=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20fancy=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=20=20= (list=20"=E2=8C=A0=20"=20fancy-stem=20"=E2=8C=A1=20")=0A-=09=09=20=20=20=20= =20=20=20=20=20'("=20=20/"=0A-=09=09=09=20=20=20"=20|=20"=0A-=09=09=09=20= =20=20"=20|=20"=0A-=09=09=09=20=20=20"=20|=20"=0A-=09=09=09=20=20=20"/=20= =20"))=0A-=09=09=20=20=20=20=20=20=20(and=20low=20(list=20(if=20fancy=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=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(list=20'horiz=20= low=20"=20")=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=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(list=20= 'horiz=20low=20"=20=20")))))=0A-=09=20=20=20=20=20=20=20expr=0A-=09=20=20= =20=20=20=20=20(if=20over=0A-=09=09=20=20=20""=0A-=09=09=20(list=20= 'horiz=20"=20d"=20var))=0A-=09=20=20=20=20=20=20=20(if=20parens=20")"=20= "")))))=0A+=20=20=20=20=20=20=20=20=20(let=20((comp=0A+=09=20=20=20=20=20= =20=20=20(list=20'horiz=0A+=09=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (append=20(list=20'vcent=20(if=20fancy=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=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(if=20high=202=201)=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=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20high=203=202)))=0A+=09=09= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(and=20high=20(list=20(if=20= fancy=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=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(list=20'horiz=20high=20"=20")=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=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(list=20'horiz=20"=20=20"=20= high))))=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=20=20=20=20=20(if=20fancy=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=20=20=20=20=20=20=20=20=20= (list=20"=E2=8C=A0=20"=20fancy-stem=20"=E2=8C=A1=20")=0A+=09=09=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20'("=20=20/"=0A+=09=09=09=20=20=20=20=20= =20=20=20=20=20"=20|=20"=0A+=09=09=09=20=20=20=20=20=20=20=20=20=20"=20|=20= "=0A+=09=09=09=20=20=20=20=20=20=20=20=20=20"=20|=20"=0A+=09=09=09=20=20=20= =20=20=20=20=20=20=20"/=20=20"))=0A+=09=09=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(and=20low=20(list=20(if=20fancy=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=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(list=20'horiz=20low=20"=20")=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=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (list=20'horiz=20low=20"=20=20")))))=0A+=09=20=20=20=20=20=20=20=20=20=20= =20=20=20=20expr=0A+=09=20=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20= over=0A+=09=09=20=20=20=20=20=20=20=20=20=20""=0A+=09=09=20=20=20=20=20=20= =20=20(list=20'horiz=20"=20d"=20var)))))=0A+=20=20=20=20=20=20=20=20=20=20= =20(if=20parens=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (math--comp-round-bracket=20comp)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20comp)))))=0A=20=0A=20(put=20'calcFunc-sum=20'math-compose-big=20= #'math-compose-sum)=0A=20(defun=20math-compose-sum=20(a=20prec)=0A=20=20=20= (and=20(memq=20(length=20a)=20'(3=205=206))=0A=20=20=20=20=20=20=20=20= (let*=20((expr=20(math-compose-expr=20(nth=201=20a)=20185))=0A-=09=20=20=20= =20=20=20(calc-language=20'flat)=0A-=09=20=20=20=20=20=20(var=20= (math-compose-expr=20(nth=202=20a)=200))=0A-=09=20=20=20=20=20=20(low=20= (and=20(nth=203=20a)=20(math-compose-expr=20(nth=203=20a)=200)))=0A-=09=20= =20=20=20=20=20(high=20(and=20(nth=204=20a)=20(math-compose-vector=20= (nthcdr=204=20a)=20",=20"=200))))=0A-=09=20(list=20'horiz=0A-=09=20=20=20= =20=20=20=20(if=20(memq=20prec=20'(180=20201))=20"("=20"")=0A+=09=20=20=20= =20=20=20(var=0A+=09=20=20=20=20=20=20=20(let=20((calc-language=20= 'flat))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (math-compose-expr=20(nth=202=20a)=200)))=0A+=09=20=20=20=20=20=20(low=20= (and=20(nth=203=20a)=0A+=09=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (let=20((calc-language=20'flat))=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=20(math-compose-expr=20(nth=203=20= a)=200))))=0A+=09=20=20=20=20=20=20(high=20(and=20(nth=204=20a)=0A+=09=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(let=20((calc-language=20= 'flat))=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=20=20(math-compose-vector=20(nthcdr=204=20a)=20",=20"=20= 0))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20(comp=0A+=09=20=20=20=20= =20=20=20(list=20'horiz=0A=20=09=20=20=20=20=20=20=20(append=20(list=20= 'vcent=20(if=20high=203=202))=0A=20=09=09=20=20=20=20=20=20=20(and=20= high=20(list=20high))=0A=20=09=09=20=20=20=20=20=20=20'("----=20"=0A@@=20= -1112,32=20+1179,42=20@@=20math-compose-sum=0A=20=09=09=09=20(list=20= var)))=0A=20=09=20=20=20=20=20=20=20(if=20(memq=20(car-safe=20(nth=201=20= a))=20'(calcFunc-sum=20calcFunc-prod))=0A=20=09=09=20=20=20"=20"=20"")=0A= -=09=20=20=20=20=20=20=20expr=0A-=09=20=20=20=20=20=20=20(if=20(memq=20= prec=20'(180=20201))=20")"=20"")))))=0A+=09=20=20=20=20=20=20=20expr)))=0A= +=09=20(if=20(memq=20prec=20'(180=20201))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20(math--comp-round-bracket=20comp)=0A+=20=20=20=20=20=20=20=20=20= =20=20comp))))=0A=20=0A=20(put=20'calcFunc-prod=20'math-compose-big=20= #'math-compose-prod)=0A=20(defun=20math-compose-prod=20(a=20prec)=0A=20=20= =20(and=20(memq=20(length=20a)=20'(3=205=206))=0A=20=20=20=20=20=20=20=20= (let*=20((expr=20(math-compose-expr=20(nth=201=20a)=20198))=0A-=09=20=20=20= =20=20=20(calc-language=20'flat)=0A-=09=20=20=20=20=20=20(var=20= (math-compose-expr=20(nth=202=20a)=200))=0A-=09=20=20=20=20=20=20(low=20= (and=20(nth=203=20a)=20(math-compose-expr=20(nth=203=20a)=200)))=0A-=09=20= =20=20=20=20=20(high=20(and=20(nth=204=20a)=20(math-compose-vector=20= (nthcdr=204=20a)=20",=20"=200))))=0A-=09=20(list=20'horiz=0A-=09=20=20=20= =20=20=20=20(if=20(memq=20prec=20'(196=20201))=20"("=20"")=0A-=09=20=20=20= =20=20=20=20(append=20(list=20'vcent=20(if=20high=203=202))=0A-=09=09=20=20= =20=20=20=20=20(and=20high=20(list=20high))=0A-=09=09=20=20=20=20=20=20=20= '("-----=20"=0A-=09=09=09=20"=20|=20|=20=20"=0A-=09=09=09=20"=20|=20|=20=20= "=0A-=09=09=09=20"=20|=20|=20=20")=0A-=09=09=20=20=20=20=20=20=20(if=20= low=0A-=09=09=09=20=20=20(list=20(list=20'horiz=20var=20"=20=3D=20"=20= low))=0A-=09=09=09=20(list=20var)))=0A-=09=20=20=20=20=20=20=20(if=20= (memq=20(car-safe=20(nth=201=20a))=20'(calcFunc-sum=20calcFunc-prod))=0A= -=09=09=20=20=20"=20"=20"")=0A-=09=20=20=20=20=20=20=20expr=0A-=09=20=20=20= =20=20=20=20(if=20(memq=20prec=20'(196=20201))=20")"=20"")))))=0A+=09=20=20= =20=20=20=20(var=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(let=20= ((calc-language=20'flat))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(math-compose-expr=20(nth=202=20a)=200)))=0A+=09=20=20=20=20=20=20= (low=20(and=20(nth=203=20a)=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(let=20((calc-language=20'flat))=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=20= (math-compose-expr=20(nth=203=20a)=200))))=0A+=09=20=20=20=20=20=20(high=20= (and=20(nth=204=20a)=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(let=20((calc-language=20'flat))=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=20=20= (math-compose-vector=20(nthcdr=204=20a)=20",=20"=200))))=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(comp=0A+=09=20=20=20=20=20=20=20(list=20= 'horiz=0A+=09=20=20=20=20=20=20=20=20=20=20=20=20=20(append=20(list=20= 'vcent=20(if=20high=203=202))=0A+=09=09=20=20=20=20=20=20=20=20=20=20=20=20= =20(and=20high=20(list=20high))=0A+=09=09=20=20=20=20=20=20=20=20=20=20=20= =20=20'("-----=20"=0A+=09=09=09=20=20=20=20=20=20=20"=20|=20|=20=20"=0A+=09= =09=09=20=20=20=20=20=20=20"=20|=20|=20=20"=0A+=09=09=09=20=20=20=20=20=20= =20"=20|=20|=20=20")=0A+=09=09=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20= low=0A+=09=09=09=20=20=20=20=20=20=20=20=20(list=20(list=20'horiz=20var=20= "=20=3D=20"=20low))=0A+=09=09=09=20=20=20=20=20=20=20(list=20var)))=0A+=09= =20=20=20=20=20=20=20=20=20=20=20=20=20(if=20(memq=20(car-safe=20(nth=20= 1=20a))=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=20=20=20=20=20=20'(calcFunc-sum=20calcFunc-prod))=0A+=09=09=20= =20=20=20=20=20=20=20=20"=20"=20"")=0A+=09=20=20=20=20=20=20=20=20=20=20=20= =20=20expr)))=0A+=20=20=20=20=20=20=20=20=20(if=20(memq=20prec=20'(196=20= 201))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (math--comp-round-bracket=20comp)=0A+=20=20=20=20=20=20=20=20=20=20=20= comp))))=0A=20=0A=20;;=20The=20variables=20math-svo-c,=20math-svo-wid=20= and=20math-svo-off=20are=20local=0A=20;;=20to=20math-stack-value-offset=20= in=20calc.el,=20but=20are=20used=20by=0A--=20=0A2.21.1=20(Apple=20= Git-122.3)=0A=0A= --Apple-Mail=_1629750A-F015-4A05-9F94-904D47744B8E Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii --Apple-Mail=_1629750A-F015-4A05-9F94-904D47744B8E-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 19 00:37:33 2021 Received: (at 45917) by debbugs.gnu.org; 19 Jan 2021 05:37:33 +0000 Received: from localhost ([127.0.0.1]:49112 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1jhs-0006cO-Rr for submit@debbugs.gnu.org; Tue, 19 Jan 2021 00:37:33 -0500 Received: from quimby.gnus.org ([95.216.78.240]:54702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1jhr-0006c7-G4 for 45917@debbugs.gnu.org; Tue, 19 Jan 2021 00:37:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=yDzaiflo4jg6YA1kCLzAF61gyKeSCDz8zFZB9e/cFKY=; b=KLZkWdhLcawHifX55dR/IyrTbj OdQFh2c1OPb+iFzJP26tbBEBD3HEb77Y5ACzk9mOnbaik0jfSBhbyUjNcEgDFI65S68D0Ylf8hkrv zQgcCyqUuX7eczgmEnhC36JyiEmrcBPi6R2I2EB+L2oNzPlKo6E1sYUj1fEdtxR9qSbA=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1jhg-0003yU-Mf; Tue, 19 Jan 2021 06:37:25 +0100 From: Lars Ingebrigtsen To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= Subject: Re: bug#45917: [PATCH] Use big brackets in Calc in big mode References: <99D62C96-8FA8-4089-BB4C-9BA65F30B7E3@acm.org> X-Now-Playing: Cocteau Twins's _Treasure Hiding (4): Sessions & Rarities_: "Violaine (Robert Elms BBC Session)" Date: Tue, 19 Jan 2021 06:37:19 +0100 In-Reply-To: <99D62C96-8FA8-4089-BB4C-9BA65F30B7E3@acm.org> ("Mattias =?utf-8?Q?Engdeg=C3=A5rd=22's?= message of "Sat, 16 Jan 2021 18:10:31 +0100") Message-ID: <87zh15o5bk.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Mattias EngdegÄrd writes: > The attached patch makes Calc use big brackets in Big mode when the > Unicode characters are available. This makes for prettier display > which is sort of the point of using Big mode. It follows pre [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45917 Cc: 45917@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: > The attached patch makes Calc use big brackets in Big mode when the > Unicode characters are available. This makes for prettier display > which is sort of the point of using Big mode. It follows previous use > of Unicode characters for square root and integral signs. Makes sense to me, but... > As far as I can tell the only reasons for not applying this would be > that it is common with fonts or terminals where this doesn't look > good, ... would it be possible to have a fallback if the display doesn't support these characters? > or that the resulting formula isn't recognised by the > embedded-mode parser (which is already the case with several other > constructs). Yeah. Or there could be a variable to allow the user to not use these fancy brackets if this is important for them? --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 19 05:12:19 2021 Received: (at 45917) by debbugs.gnu.org; 19 Jan 2021 10:12:19 +0000 Received: from localhost ([127.0.0.1]:49520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1nzn-0000p0-5A for submit@debbugs.gnu.org; Tue, 19 Jan 2021 05:12:19 -0500 Received: from mail209c50.megamailservers.eu ([91.136.10.219]:49010 helo=mail194c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1nze-0000oi-Bq for 45917@debbugs.gnu.org; Tue, 19 Jan 2021 05:12:11 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1611051128; bh=GOjMwKvxmUyJYbPpYrY4h77dFXdR+/rXC2b172tN4X8=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=Zk89klLt8/LTvA4VLqi2ZaArZAbfM7D/xeNo8J5Nujftqjs4yk/B0lY5TGodIFNyp nwfevt+kdAXKhh+/CzW3P2bzQ4M9qjxzMPUd46pqu+y6pQVtVLv62pC/spS9V5qeLC IoPXZaCOrYsd6bjwL1PYiH3suOn9mzzvo7C0q2Kg= Feedback-ID: mattiase@acm.or Received: from stanniol.lan (c-b952e353.032-75-73746f71.bbcust.telenor.se [83.227.82.185]) (authenticated bits=0) by mail194c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 10JAC6gj030615; Tue, 19 Jan 2021 10:12:07 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.17\)) Subject: Re: bug#45917: [PATCH] Use big brackets in Calc in big mode From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: <87zh15o5bk.fsf@gnus.org> Date: Tue, 19 Jan 2021 11:12:05 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <99D62C96-8FA8-4089-BB4C-9BA65F30B7E3@acm.org> <87zh15o5bk.fsf@gnus.org> To: Lars Ingebrigtsen X-Mailer: Apple Mail (2.3445.104.17) X-CTCH-RefID: str=0001.0A742F22.6006B078.002C, 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=AfXP4EfG c=1 sm=1 tr=0 a=von4qPfY+hyqc0zmWf0tYQ==:117 a=von4qPfY+hyqc0zmWf0tYQ==:17 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=OocQHUDgAAAA:8 a=WEKe6O7_GN0VKdXAbA8A:9 a=CjuIK1q_8ugA:10 a=xUZTl98r3Qw_uB5NK3jt:22 X-Origin-Country: SE X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 45917 Cc: 45917@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 (/) 19 jan. 2021 kl. 06.37 skrev Lars Ingebrigtsen : > ... would it be possible to have a fallback if the display doesn't > support these characters? Yes, all Unicode characters are checked using char-displayable-p in the = patch. However, some characters may be technically displayable but not = very pretty, or have awkward metrics. That said, the brackets look fine where I've tested them so it's = probably not a serious concern. > Yeah. Or there could be a variable to allow the user to not use these > fancy brackets if this is important for them? Maybe, but Calc already has rather too many variables and should we have = separate variables for all non-ASCII features then, like the square root = sign? We are just speculating here. I'd hoped for concrete cheerful evidence = like 'looks terrible on my terminal', 'completely destroys embedded-mode = for me'... From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 19 10:45:21 2021 Received: (at 45917) by debbugs.gnu.org; 19 Jan 2021 15:45:21 +0000 Received: from localhost ([127.0.0.1]:51328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1tC5-0004ns-DM for submit@debbugs.gnu.org; Tue, 19 Jan 2021 10:45:21 -0500 Received: from quimby.gnus.org ([95.216.78.240]:32792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1tC3-0004na-3E for 45917@debbugs.gnu.org; Tue, 19 Jan 2021 10:45:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=97FxAPK1ubSaCCfmUb2yl++/EFjb59ZwEHubwq7xSGc=; b=tUNDG3xTvYPff2LMbH/qt2sS6w Kc4Ks18O3O8t1IML7URd+tJMWUON8Z8UWh6r5oklWlFS7IX8GFiznPQ7KpoqBVMIY9l2gphXCK4wc hpYHXD8YDh18+C9erFp8pP2SqmB14ZHvDD3pBqGYRx/fYAh1VrAh/zAIYO9eWHRuHpE8=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1tBm-0001ig-U5; Tue, 19 Jan 2021 16:45:13 +0100 From: Lars Ingebrigtsen To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= Subject: Re: bug#45917: [PATCH] Use big brackets in Calc in big mode References: <99D62C96-8FA8-4089-BB4C-9BA65F30B7E3@acm.org> <87zh15o5bk.fsf@gnus.org> X-Now-Playing: Fennesz's _Agora_: "Agora" Date: Tue, 19 Jan 2021 16:45:01 +0100 In-Reply-To: ("Mattias =?utf-8?Q?Engdeg=C3=A5rd=22's?= message of "Tue, 19 Jan 2021 11:12:05 +0100") Message-ID: <87im7thqwy.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Mattias EngdegÄrd writes: > 19 jan. 2021 kl. 06.37 skrev Lars Ingebrigtsen : > >> ... would it be possible to have a fallback if the display doesn't >> support these characters? > > Yes, all Unicode characters [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45917 Cc: 45917@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: > 19 jan. 2021 kl. 06.37 skrev Lars Ingebrigtsen : > >> ... would it be possible to have a fallback if the display doesn't >> support these characters? > > Yes, all Unicode characters are checked using char-displayable-p in > the patch. Duh. I skimmed the patch, but I missed that bit... > However, some characters may be technically displayable but > not very pretty, or have awkward metrics. > > That said, the brackets look fine where I've tested them so it's > probably not a serious concern. Yup. >> Yeah. Or there could be a variable to allow the user to not use these >> fancy brackets if this is important for them? > > Maybe, but Calc already has rather too many variables and should we > have separate variables for all non-ASCII features then, like the > square root sign? Possibly? But I see you've just pushed a fix for parsing the root sign. :-) > We are just speculating here. I'd hoped for concrete cheerful evidence > like 'looks terrible on my terminal', 'completely destroys > embedded-mode for me'... I'm guessing you won't get feedback like that until you push this change. :-) --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 19 12:59:33 2021 Received: (at 45917-done) by debbugs.gnu.org; 19 Jan 2021 17:59:33 +0000 Received: from localhost ([127.0.0.1]:51601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1vHw-0002Xc-R3 for submit@debbugs.gnu.org; Tue, 19 Jan 2021 12:59:33 -0500 Received: from mail1450c50.megamailservers.eu ([91.136.14.50]:60774 helo=mail265c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l1vHu-0002XN-6r for 45917-done@debbugs.gnu.org; Tue, 19 Jan 2021 12:59:31 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1611079163; bh=LzCRS85dHyzWOv/lbFIFyxgKO+sIQDS6gWOlBG1o1Ng=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=hjqQD062qKuHldj3WlbBkNPFhYucJKhl2/Jx5+XvW44iv0jMQ6bEZqGwV/YjLd14o fn/Df3/cLsNf7+wK53oyDiE+Jesuhr37lhLJECZTKfoSntsefStHzesC/pRvesbJUQ ZiUqpUIAhzeyRp4YgkwMu7lHQTwhugkuwgoKxKnk= Feedback-ID: mattiase@acm.or Received: from stanniol.lan (c-b952e353.032-75-73746f71.bbcust.telenor.se [83.227.82.185]) (authenticated bits=0) by mail265c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 10JHxLpE024841; Tue, 19 Jan 2021 17:59:22 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.17\)) Subject: Re: bug#45917: [PATCH] Use big brackets in Calc in big mode From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: <87im7thqwy.fsf@gnus.org> Date: Tue, 19 Jan 2021 18:59:20 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <5014EA86-B44E-462C-B626-879C1D2F8395@acm.org> References: <99D62C96-8FA8-4089-BB4C-9BA65F30B7E3@acm.org> <87zh15o5bk.fsf@gnus.org> <87im7thqwy.fsf@gnus.org> To: Lars Ingebrigtsen X-Mailer: Apple Mail (2.3445.104.17) X-CTCH-RefID: str=0001.0A742F18.60071DFB.002C, 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=QoAgIm6d c=1 sm=1 tr=0 a=von4qPfY+hyqc0zmWf0tYQ==:117 a=von4qPfY+hyqc0zmWf0tYQ==:17 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=OocQHUDgAAAA:8 a=IXOI9S0_rbTbVTrxFhEA:9 a=CjuIK1q_8ugA:10 a=xUZTl98r3Qw_uB5NK3jt:22 X-Origin-Country: SE X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 19 jan. 2021 kl. 16.45 skrev Lars Ingebrigtsen : >> Maybe, but Calc already has rather too many variables and should we >> have separate variables for all non-ASCII features then, like the >> square root sign? > > Possibly? But I see you've just pus [...] Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-Debbugs-Envelope-To: 45917-done Cc: 45917-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) 19 jan. 2021 kl. 16.45 skrev Lars Ingebrigtsen : >> Maybe, but Calc already has rather too many variables and should we >> have separate variables for all non-ASCII features then, like the >> square root sign? >=20 > Possibly? But I see you've just pushed a fix for parsing the root > sign. :-) Yes, it turned out to be easy! Parsing big brackets is probably not = quite as easy; I'm not even going to try. >> We are just speculating here. I'd hoped for concrete cheerful = evidence >> like 'looks terrible on my terminal', 'completely destroys >> embedded-mode for me'... >=20 > I'm guessing you won't get feedback like that until you push this > change. :-) Right, now done. Let's see if anything turns up. From unknown Sun Aug 10 09:46:16 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 17 Feb 2021 12:24:06 +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