summaryrefslogtreecommitdiff
path: root/lisp/textmodes
diff options
context:
space:
mode:
authorTassilo Horn <tsdh@gnu.org>2015-09-25 23:02:28 +0200
committerTassilo Horn <tsdh@gnu.org>2015-09-25 23:04:39 +0200
commit188f657a827b04d72376f8b483c7d4b678e96fac (patch)
treeb25caf1ac5d5c07b8ea5d4247378a8aa90d20a6e /lisp/textmodes
parentb1dfa84abea1c6357dc2adbd1b5f278ed0d910d0 (diff)
downloademacs-188f657a827b04d72376f8b483c7d4b678e96fac.tar.gz
Fix false negatives in tex--prettify-symbols-compose-p.
* lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Fix some false negatives.
Diffstat (limited to 'lisp/textmodes')
-rw-r--r--lisp/textmodes/tex-mode.el18
1 files changed, 11 insertions, 7 deletions
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 25ffb5ed578..16162e14ef2 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -3409,16 +3409,20 @@ There might be text before point."
(defun tex--prettify-symbols-compose-p (start end _match)
(let* ((after-char (char-after end))
- (after-syntax (char-syntax after-char)))
+ (after-syntax (char-syntax after-char)))
(not (or
;; Don't compose \alpha@foo.
- (eq after-syntax ?_)
- ;; Don't compose inside verbatim blocks!
- (nth 8 (syntax-ppss))
- ;; The \alpha in \alpha2 may be composed but of course \alphax may not.
+ (eq after-char ?@)
+ ;; The \alpha in \alpha2 or \alpha-\beta may be composed but
+ ;; of course \alphax may not.
(and (eq after-syntax ?w)
- (or (< after-char ?0)
- (> after-char ?9)))))))
+ (not (memq after-char
+ '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?+ ?- ?' ?\"))))
+ ;; Don't compose inside verbatim blocks.
+ (let* ((face (get-text-property end 'face))
+ (faces (if (consp face) face (list face))))
+ (or (memq 'tex-verbatim faces)
+ (memq 'font-latex-verbatim-face faces)))))))
(run-hooks 'tex-mode-load-hook)