diff options
| author | Mauro Aranda | 2023-07-16 19:46:54 -0300 |
|---|---|---|
| committer | Eli Zaretskii | 2023-07-22 15:55:31 +0300 |
| commit | a9210e8efd628a76084f50b6e67e009d35fac32b (patch) | |
| tree | 84b4d90d51f11553f9a223f3e307c9d88a55d969 | |
| parent | a403e2832d240242154200f0e5448652fa189769 (diff) | |
| download | emacs-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.el | 7 |
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) |