summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/wid-edit.el11
1 files changed, 10 insertions, 1 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index a5999c0de8d..4d1a609809d 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -58,6 +58,10 @@
(require 'cl-lib)
(eval-when-compile (require 'subr-x)) ; when-let
+;; The `string' widget completion uses this.
+(declare-function ispell-get-word "ispell"
+ (following &optional extra-otherchars))
+
;;; Compatibility.
(defun widget-event-point (event)
@@ -3074,7 +3078,12 @@ as the value."
"A string."
:tag "String"
:format "%{%t%}: %v"
- :complete-function 'ispell-complete-word
+ :complete (lambda (widget)
+ (require 'ispell)
+ (let ((start (save-excursion (nth 1 (ispell-get-word nil)))))
+ (if (< start (widget-field-start widget))
+ (message "No word to complete inside field")
+ (ispell-complete-word))))
:prompt-history 'widget-string-prompt-value-history)
(define-widget 'regexp 'string