diff options
author | Tassilo Horn <tsdh@gnu.org> | 2015-10-28 08:47:26 +0100 |
---|---|---|
committer | Tassilo Horn <tsdh@gnu.org> | 2015-10-28 08:47:26 +0100 |
commit | 6e2a4021d3fc0166b72c60088fb2cea01484453c (patch) | |
tree | 6f76b417577e23fe805ebeadcf8009d255795155 /lisp | |
parent | 9db11fa2d635935318364370f31821023c2501b9 (diff) | |
download | emacs-6e2a4021d3fc0166b72c60088fb2cea01484453c.tar.gz emacs-6e2a4021d3fc0166b72c60088fb2cea01484453c.tar.bz2 emacs-6e2a4021d3fc0166b72c60088fb2cea01484453c.zip |
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.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/textmodes/tex-mode.el | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 45afafc2381..0b13759b9bc 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -3410,18 +3410,24 @@ There might be text before point." "A `prettify-symbols-alist' usable for (La)TeX modes.") (defun tex--prettify-symbols-compose-p (_start end _match) - (let* ((after-char (char-after end)) - (after-syntax (char-syntax after-char))) - (not (or - ;; Don't compose \alpha@foo. - (eq after-char ?@) - ;; The \alpha in \alpha2 or \alpha-\beta may be composed but - ;; of course \alphax may not. - (and (eq after-syntax ?w) - (not (memq after-char - '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?+ ?- ?' ?\")))) - ;; Don't compose inside verbatim blocks. - (eq 2 (nth 7 (syntax-ppss))))))) + (or + ;; If the matched symbol doesn't end in a word character, then we + ;; simply allow composition. The symbol is probably something like + ;; \|, \(, etc. + (not (eq ?w (char-syntax (char-before end)))) + ;; Else we look at what follows the match in order to decide. + (let* ((after-char (char-after end)) + (after-syntax (char-syntax after-char))) + (not (or + ;; Don't compose \alpha@foo. + (eq after-char ?@) + ;; The \alpha in \alpha2 or \alpha-\beta may be composed but + ;; of course \alphax may not. + (and (eq after-syntax ?w) + (not (memq after-char + '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?+ ?- ?' ?\")))) + ;; Don't compose inside verbatim blocks. + (eq 2 (nth 7 (syntax-ppss)))))))) (run-hooks 'tex-mode-load-hook) |