diff options
author | Eli Zaretskii <eliz@gnu.org> | 2004-11-27 12:50:34 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2004-11-27 12:50:34 +0000 |
commit | 301f9235f6be9f0714bcc442fadcd42519173b4e (patch) | |
tree | 304bbcdceb57f87b4d06ed56d37008284196ff56 /lisp/wid-edit.el | |
parent | 77cafc7a48e688a5bfcbcce44394982a79624f57 (diff) | |
download | emacs-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.el | 13 |
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. |