diff options
| author | Daniel Mendler <mail@daniel-mendler.de> | 2024-02-24 15:33:41 +0100 |
|---|---|---|
| committer | Daniel Mendler <mail@daniel-mendler.de> | 2024-02-24 15:39:39 +0100 |
| commit | ebb036fd9cba9b697ab1adf8f67149756dd02e1c (patch) | |
| tree | bcf425b1780ce11229c37c0b20f7f984bae407da /cape-char.el | |
| parent | c56cd95f6df003f8928f11e8776d3a9a3eca6890 (diff) | |
cape-char: Use looking-back, look back from point
Fix minad/corfu#423
Diffstat (limited to 'cape-char.el')
| -rw-r--r-- | cape-char.el | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/cape-char.el b/cape-char.el index c2fa332..3fe7ae6 100644 --- a/cape-char.el +++ b/cape-char.el @@ -26,7 +26,6 @@ (require 'cape) -(autoload 'thing-at-point-looking-at "thingatpt") (declare-function quail-deactivate "quail") (declare-function quail-build-decode-map "quail") (declare-function quail-map "quail") @@ -90,7 +89,7 @@ PREFIX are the prefix characters." (when-let ((capf (intern (format "cape-%s" name))) (pre-req (intern (format "cape-%s-prefix-required" name))) (props (intern (format "cape--%s-properties" name))) - (thing-re (concat (regexp-opt (mapcar #'char-to-string prefix)) "[^ \n\t]*" )) + (pre-rx (concat (regexp-opt (mapcar #'char-to-string prefix)) "[^ \n\t]*" )) (hash (intern (format "cape--%s-hash" name))) (hash-val (cape-char--translation method prefix))) `(progn @@ -116,13 +115,13 @@ function acts like a Capf." method method) ;; No cycling since it breaks the :exit-function. (let (completion-cycle-threshold ,pre-req) (when (and (memq last-input-event ',prefix) - (not (thing-at-point-looking-at ,thing-re))) + (not (looking-back ,pre-rx (pos-bol)))) (self-insert-command 1 last-input-event)) (cape-interactive #',capf)) (when-let ((bounds (cond - ((thing-at-point-looking-at ,thing-re) - (cons (match-beginning 0) (match-end 0))) + ((looking-back ,pre-rx (pos-bol)) + (cons (match-beginning 0) (point))) ((not ,pre-req) (cons (point) (point)))))) (append (list (car bounds) (cdr bounds) |
