diff options
| -rw-r--r-- | lisp/wid-edit.el | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index afc0df372b3..bfed43794a6 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -331,7 +331,9 @@ new value.") ;; one character. (let ((overlay (make-overlay (1- to) to nil t nil))) (overlay-put overlay 'field 'boundary) - (overlay-put overlay 'keymap keymap) + ;; 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) (overlay-put overlay 'face face) (overlay-put overlay 'help-echo help-echo)) (setq to (1- to)) @@ -340,7 +342,7 @@ new value.") (widget-put widget :field-overlay overlay) ;;(overlay-put overlay 'detachable nil) (overlay-put overlay 'field widget) - (overlay-put overlay 'keymap keymap) + (overlay-put overlay 'local-map keymap) (overlay-put overlay 'face face) (overlay-put overlay 'help-echo help-echo))) (widget-specify-secret widget)) |
