summaryrefslogtreecommitdiff
path: root/lisp/wid-edit.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2004-12-05 14:19:01 +0000
committerRichard M. Stallman <rms@gnu.org>2004-12-05 14:19:01 +0000
commit263a40a61b9f1d72d22cc41a0ee7162889498b58 (patch)
tree4f6c2e99eb76bcb79baf6dbab886a418c91a8390 /lisp/wid-edit.el
parent6f8ca5e414092a352473ff1153cdfaaa686f4f58 (diff)
downloademacs-263a40a61b9f1d72d22cc41a0ee7162889498b58.tar.gz
(widget-specify-field): Add `real-field' property to boundary.
(widget-field-at): Use it.
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r--lisp/wid-edit.el4
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index f659518ee02..4888bf478df 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -339,6 +339,8 @@ new value.")
;; one character.
(let ((overlay (make-overlay (1- to) to nil t nil)))
(overlay-put overlay 'field 'boundary)
+ ;; We need the real field for tabbing.
+ (overlay-put overlay 'real-field widget)
;; Use `local-map' here, not `keymap', so that normal editing
;; works in the field when, say, Custom uses `suppress-keymap'.
(overlay-put overlay 'local-map keymap)
@@ -1149,7 +1151,7 @@ When not inside a field, move to the previous button or field."
"Return the widget field at POS, or nil if none."
(let ((field (get-char-property (or pos (point)) 'field)))
(if (eq field 'boundary)
- nil
+ (get-char-property (or pos (point)) 'real-field)
field)))
(defun widget-field-buffer (widget)