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." ;; `widget-setup' is called. (overlay (cons (make-marker) (make-marker)))) (widget-put widget :field-overlay overlay) - (insert value) + (when value + (insert value)) (and size (< (length value) size) (insert-char ?\s (- size (length value)))) @@ -3655,7 +3656,9 @@ match-alternatives: %S" value (widget-get widget :match) (widget-get widget :match-alternatives)) - :warning)) + :warning) + ;; Make sure we will `read' a string. + (setq value (prin1-to-string value))) (read value))) (defun widget-restricted-sexp-match (widget value)