aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Aranda2023-07-16 19:46:54 -0300
committerEli Zaretskii2023-07-22 15:55:31 +0300
commita9210e8efd628a76084f50b6e67e009d35fac32b (patch)
tree84b4d90d51f11553f9a223f3e307c9d88a55d969
parenta403e2832d240242154200f0e5448652fa189769 (diff)
downloademacs-a9210e8efd628a76084f50b6e67e009d35fac32b.tar.gz
emacs-a9210e8efd628a76084f50b6e67e009d35fac32b.zip
Avoid prompting when creating a restricted-sexp widget
* lisp/wid-edit.el (restricted-sexp): Turn value into a string before reading. (widget-field-value-create): Guard against value being nil, so the field can be created even if the widget has a bad default value. (Bug#59937)
-rw-r--r--lisp/wid-edit.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 606093fd293..b9291af2bd5 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -2127,7 +2127,8 @@ the earlier input."
2127 ;; `widget-setup' is called. 2127 ;; `widget-setup' is called.
2128 (overlay (cons (make-marker) (make-marker)))) 2128 (overlay (cons (make-marker) (make-marker))))
2129 (widget-put widget :field-overlay overlay) 2129 (widget-put widget :field-overlay overlay)
2130 (insert value) 2130 (when value
2131 (insert value))
2131 (and size 2132 (and size
2132 (< (length value) size) 2133 (< (length value) size)
2133 (insert-char ?\s (- size (length value)))) 2134 (insert-char ?\s (- size (length value))))
@@ -3655,7 +3656,9 @@ match-alternatives: %S"
3655 value 3656 value
3656 (widget-get widget :match) 3657 (widget-get widget :match)
3657 (widget-get widget :match-alternatives)) 3658 (widget-get widget :match-alternatives))
3658 :warning)) 3659 :warning)
3660 ;; Make sure we will `read' a string.
3661 (setq value (prin1-to-string value)))
3659 (read value))) 3662 (read value)))
3660 3663
3661(defun widget-restricted-sexp-match (widget value) 3664(defun widget-restricted-sexp-match (widget value)