Skip to content

Commit 6e2a402

Browse files
committed
Prettify TeX macros not ending in a word char
* lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Prettify macros which don't end in a word character.
1 parent 9db11fa commit 6e2a402

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

lisp/textmodes/tex-mode.el

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3410,18 +3410,24 @@ There might be text before point."
34103410
"A `prettify-symbols-alist' usable for (La)TeX modes.")
34113411

34123412
(defun tex--prettify-symbols-compose-p (_start end _match)
3413-
(let* ((after-char (char-after end))
3414-
(after-syntax (char-syntax after-char)))
3415-
(not (or
3416-
;; Don't compose \alpha@foo.
3417-
(eq after-char ?@)
3418-
;; The \alpha in \alpha2 or \alpha-\beta may be composed but
3419-
;; of course \alphax may not.
3420-
(and (eq after-syntax ?w)
3421-
(not (memq after-char
3422-
'(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?+ ?- ?' ?\"))))
3423-
;; Don't compose inside verbatim blocks.
3424-
(eq 2 (nth 7 (syntax-ppss)))))))
3413+
(or
3414+
;; If the matched symbol doesn't end in a word character, then we
3415+
;; simply allow composition. The symbol is probably something like
3416+
;; \|, \(, etc.
3417+
(not (eq ?w (char-syntax (char-before end))))
3418+
;; Else we look at what follows the match in order to decide.
3419+
(let* ((after-char (char-after end))
3420+
(after-syntax (char-syntax after-char)))
3421+
(not (or
3422+
;; Don't compose \alpha@foo.
3423+
(eq after-char ?@)
3424+
;; The \alpha in \alpha2 or \alpha-\beta may be composed but
3425+
;; of course \alphax may not.
3426+
(and (eq after-syntax ?w)
3427+
(not (memq after-char
3428+
'(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?+ ?- ?' ?\"))))
3429+
;; Don't compose inside verbatim blocks.
3430+
(eq 2 (nth 7 (syntax-ppss))))))))
34253431

34263432
(run-hooks 'tex-mode-load-hook)
34273433

0 commit comments

Comments
 (0)