summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2023-01-12 15:46:51 +0100
committerDaniel Mendler <mail@daniel-mendler.de>2023-01-12 15:47:10 +0100
commit8841d1d21c64061d34fe35c46c05b661421cdab1 (patch)
treeb1648e4d6f37dff09bf5afcaa299afd7e0035a0b
parenta35d699196bda21e18e6f5b3c0cb21f2a7d951ce (diff)
cape-tex: Do not insert backslash when already looking at \phi (Fix #71)
-rw-r--r--cape-char.el9
1 files changed, 5 insertions, 4 deletions
diff --git a/cape-char.el b/cape-char.el
index 81b3799..5f49a54 100644
--- a/cape-char.el
+++ b/cape-char.el
@@ -73,7 +73,8 @@ PREFIX are the prefix characters."
(ann (intern (format "cape--%s-annotation" name)))
(docsig (intern (format "cape--%s-docsig" name)))
(exit (intern (format "cape--%s-exit" name)))
- (properties (intern (format "cape--%s-properties" name))))
+ (properties (intern (format "cape--%s-properties" name)))
+ (thing-re (concat (regexp-opt (mapcar #'char-to-string prefix)) "[^ \n\t]*" )))
`(progn
(defvar ,hash (cape-char--translation
,method
@@ -113,13 +114,13 @@ is nil the function acts like a capf." method method)
(if interactive
;; NOTE: Disable cycling since replacement breaks it.
(let (completion-cycle-threshold ,prefix-required)
- (when (memq last-input-event ',prefix)
+ (when (and (memq last-input-event ',prefix)
+ (not (thing-at-point-looking-at ,thing-re)))
(self-insert-command 1 last-input-event))
(cape--interactive #',capf))
(when-let (bounds
(cond
- ((thing-at-point-looking-at
- ,(concat (regexp-opt (mapcar #'char-to-string prefix)) "[^ \n\t]*" ))
+ ((thing-at-point-looking-at ,thing-re)
(cons (match-beginning 0) (match-end 0)))
((not ,prefix-required) (cons (point) (point)))))
(append