branch: externals/cape commit 8841d1d21c64061d34fe35c46c05b661421cdab1 Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
cape-tex: Do not insert backslash when already looking at \phi (Fix #71) --- cape-char.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cape-char.el b/cape-char.el index 81b3799586..5f49a54098 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