summaryrefslogtreecommitdiff
path: root/lisp/wid-edit.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2004-11-27 12:50:34 +0000
committerEli Zaretskii <eliz@gnu.org>2004-11-27 12:50:34 +0000
commit301f9235f6be9f0714bcc442fadcd42519173b4e (patch)
tree304bbcdceb57f87b4d06ed56d37008284196ff56 /lisp/wid-edit.el
parent77cafc7a48e688a5bfcbcce44394982a79624f57 (diff)
downloademacs-301f9235f6be9f0714bcc442fadcd42519173b4e.tar.gz
(widget-narrow-to-field): New function.
(widget-complete): Use it.
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r--lisp/wid-edit.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 05ef4b95658..f659518ee02 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -1085,14 +1085,23 @@ the field."
:type 'function
:group 'widgets)
+(defun widget-narrow-to-field ()
+ "Narrow to field"
+ (interactive)
+ (let ((field (widget-field-find (point))))
+ (if field
+ (narrow-to-region (line-beginning-position) (line-end-position)))))
+
(defun widget-complete ()
"Complete content of editable field from point.
When not inside a field, move to the previous button or field."
(interactive)
(let ((field (widget-field-find (point))))
(if field
- (widget-apply field :complete)
- (error "Not in an editable field"))))
+ (save-restriction
+ (widget-narrow-to-field)
+ (widget-apply field :complete))
+ (error "Not in an editable field"))))
;;; Setting up the buffer.