Subject: 29.0.50; [PATCH] Missing symbols in tex--prettify-symbols-alist

From: Arash Esbati <[email-masked]>
Date: Thu, 03 Mar 2022 12:48:02 +0100

Hi all,

I'd like to propose the following change to
`tex--prettify-symbols-alist'.  It adds support for macros formerly
provided by textcomp package which are now part of LaTeX kernel.  I will
prepare a format-patch once this change is accepted.

Any comments welcome.

Best, Arash
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index ab94036d01..b0aa39a23f 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -3568,28 +3568,118 @@ tex--prettify-symbols-alist
     ("\\ordmasculine" . ?º)
     ("\\lambdabar" . ?ƛ)
     ("\\celsius" . ?℃)
-    ("\\textmu" . ?µ)
-    ("\\textfractionsolidus" . ?⁄)
-    ("\\textbigcircle" . ?⃝)
-    ("\\textmusicalnote" . ?♪)
-    ("\\textdied" . ?✝)
-    ("\\textcolonmonetary" . ?₡)
-    ("\\textwon" . ?₩)
-    ("\\textnaira" . ?₦)
-    ("\\textpeso" . ?₱)
-    ("\\textlira" . ?₤)
-    ("\\textrecipe" . ?℞)
-    ("\\textinterrobang" . ?‽)
-    ("\\textpertenthousand" . ?‱)
-    ("\\textbaht" . ?฿)
-    ("\\textnumero" . ?№)
-    ("\\textdiscount" . ?⁒)
-    ("\\textestimated" . ?℮)
-    ("\\textopenbullet" . ?◦)
-    ("\\textlquill" . 8261)		; Literal ?⁅ breaks indentation.
-    ("\\textrquill" . 8262)             ; Literal ?⁆ breaks indentation.
-    ("\\textcircledP" . ?℗)
-    ("\\textreferencemark" . ?※))
+    ;; Text symbols formerly part of textcomp package:
+    ("\\textdollar" . ?$) ; "0024
+    ("\\textborn" . ?*) ; "002A
+    ("\\textless" . ?<) ; "003C
+    ("\\textgreater" . ?>) ; "003E
+    ("\\textbackslash" . ?\\) ; "005C
+    ("\\textasciicircum" . ?^) ; "005E
+    ("\\textunderscore" . ?_) ; "005F
+    ("\\textbraceleft" . ?\{) ; "007B
+    ("\\textbar" . ?|) ; "007C
+    ("\\textbraceright" . ?\}) ; "007D
+    ("\\textasciitilde" . ?~) ; "007E
+    ("\\textexclamdown" . ?¡) ; "00A1
+    ("\\textcent" . ?¢) ; "00A2
+    ("\\textsterling" . ?£) ; "00A3
+    ("\\textcurrency" . ?¤) ; "00A4
+    ("\\textyen" . ?¥) ; "00A5
+    ("\\textbrokenbar" . ?¦) ; "00A6
+    ("\\textsection" . ?§) ; "00A7
+    ("\\textasciidieresis" . ?¨) ; "00A8
+    ("\\textcopyright" . ?©) ; "00A9
+    ("\\textordfeminine" . ?ª) ; "00AA
+    ("\\guillemetleft" . ?«) ; "00AB
+    ("\\guillemotleft" . ?«) ; "00AB
+    ("\\textlnot" . ?¬) ; "00AC
+    ("\\textregistered" . ?®) ; "00AE
+    ("\\textasciimacron" . ?¯) ; "00AF
+    ("\\textdegree" . ?°) ; "00B0
+    ("\\textpm" . ?±) ; "00B1
+    ("\\texttwosuperior" . ?²) ; "00B2
+    ("\\textthreesuperior" . ?³) ; "00B3
+    ("\\textasciiacute" . ?´) ; "00B4
+    ("\\textmu" . ?µ) ; "00B5
+    ("\\textparagraph" . ?¶) ; "00B6
+    ("\\textpilcrow" . ?¶) ; "00B6
+    ("\\textperiodcentered" . ?·) ; "00B7
+    ("\\textonesuperior" . ?¹) ; "00B9
+    ("\\textordmasculine" . ?º) ; "00BA
+    ("\\guillemetright" . ?») ; "00BB
+    ("\\guillemotright" . ?») ; "00BB
+    ("\\textonequarter" . ?¼) ; "00BC
+    ("\\textonehalf" . ?½) ; "00BD
+    ("\\textthreequarters" . ?¾) ; "00BE
+    ("\\textquestiondown" . ?¿) ; "00BF
+    ("\\texttimes" . ?×) ; "00D7
+    ("\\textdiv" . ?÷) ; "00F7
+    ("\\textflorin" . ?ƒ) ; "0192
+    ("\\textasciicaron" . ?ˇ) ; "02C7
+    ("\\textasciibreve" . ?˘) ; "02D8
+    ("\\textacutedbl" . ?˝) ; "02DD
+    ("\\textgravedbl" . 757) ; "02F5
+    ("\\texttildelow" . 759) ; "02F7
+    ("\\textbaht" . ?฿) ; "0E3F
+    ("\\textendash" . ?–) ; "2013
+    ("\\textemdash" . ?—) ; "2014
+    ("\\textbardbl" . ?‖) ; "2016
+    ("\\textquoteleft" . 8216) ; "2018 ?‘
+    ("\\textquoteright" . 8217) ; "2019 ?’
+    ("\\quotesinglbase" . 8218) ; "201A ?‚
+    ("\\textquotedblleft" . 8220) ; "201C ?“
+    ("\\textquotedblright" . 8221) ; "201D ?”
+    ("\\quotedblbase" . 8222) ; "201E ?„
+    ("\\textdagger" . ?†) ; "2020
+    ("\\textdied" . ?†) ; "2020
+    ("\\textdaggerdbl" . ?‡) ; "2021
+    ("\\textbullet" . ?•) ; "2022
+    ("\\textellipsis" . ?…) ; "2026
+    ("\\textperthousand" . ?‰) ; "2030
+    ("\\textpertenthousand" . ?‱) ; "2031
+    ("\\guilsinglleft" . ?‹) ; "2039
+    ("\\guilsinglright" . ?›) ; "203A
+    ("\\textreferencemark" . ?※) ; "203B
+    ("\\textinterrobang" . ?‽) ; "203D
+    ("\\textfractionsolidus" . ?⁄) ; "2044
+    ("\\textlquill" . 8261) ; "2045 Literal ?⁅ breaks indentation
+    ("\\textrquill" . 8262) ; "2046 Literal ?⁆ breaks indentation
+    ("\\textdiscount" . ?⁒) ; "2052
+    ("\\textcolonmonetary" . ?₡) ; "20A1
+    ("\\textlira" . ?₤) ; "20A4
+    ("\\textnaira" . ?₦) ; "20A6
+    ("\\textwon" . ?₩) ; "20A9
+    ("\\textdong" . ?₫) ; "20AB
+    ("\\texteuro" . ?€) ; "20AC
+    ("\\textpeso" . ?₱) ; "20B1
+    ("\\textguarani" . ?₲) ; "20B2
+    ("\\textcelsius" . ?℃) ; "2103
+    ("\\textnumero" . ?№) ; "2116
+    ("\\textcircledP" . ?℗) ; "2117
+    ("\\textrecipe" . ?℞) ; "211E
+    ("\\textservicemark" . ?℠) ; "2120
+    ("\\texttrademark" . ?™) ; "2122
+    ("\\textohm" . ?Ω) ; "2126
+    ("\\textmho" . ?℧) ; "2127
+    ("\\textestimated" . ?℮) ; "212E
+    ("\\textleftarrow" . ?←) ; "2190
+    ("\\textuparrow" . ?↑) ; "2191
+    ("\\textrightarrow" . ?→) ; "2192
+    ("\\textdownarrow" . ?↓) ; "2193
+    ("\\textminus" . ?−) ; "2212
+    ("\\textsurd" . ?√) ; "221A
+    ("\\textlangle" . 9001) ; "2329 Literal ?〈 breaks indentation
+    ("\\textrangle" . 9002) ; "232A Literal ?〉 breaks indentation
+    ("\\textblank" . ?␢) ; "2422
+    ("\\textvisiblespace" . ?␣) ; "2423
+    ("\\textopenbullet" . ?◦) ; "25E6
+    ("\\textbigcircle" . ?◯) ; "25EF
+    ("\\textmusicalnote" . ?♪) ; "266A
+    ("\\textmarried" . ?⚭) ; "26AD
+    ("\\textdivorced" . ?⚮) ; "26AE
+    ("\\textlbrackdbl" . 10214) ; "27E6 Literal ?⟦ breaks indentation
+    ("\\textrbrackdbl" . 10215) ; "27E7 Literal ?⟧ breaks indentation
+    ("\\textinterrobangdown" . ?⸘)) ; "2E18
   "A `prettify-symbols-alist' usable for (La)TeX modes.")
 
 (defun tex--prettify-symbols-compose-p (_start end _match)