[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 2ea98ea35c8: Avoid errors when a restricted-sexp widget is empty
From: |
Eli Zaretskii |
Subject: |
master 2ea98ea35c8: Avoid errors when a restricted-sexp widget is empty |
Date: |
Sat, 16 Sep 2023 05:58:09 -0400 (EDT) |
branch: master
commit 2ea98ea35c82da31ef419da3b49789ab750e8e00
Author: Mauro Aranda <maurooaranda@gmail.com>
Commit: Eli Zaretskii <eliz@gnu.org>
Avoid errors when a restricted-sexp widget is empty
* lisp/wid-edit.el (restricted-sexp): Don't try to read
an empty string when converting the current value to the
external format. (Bug#63838)
* test/lisp/wid-edit-tests.el (widget-test-restricted-sexp-empty-val):
New test.
---
lisp/wid-edit.el | 4 +++-
test/lisp/wid-edit-tests.el | 11 +++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index d18d721f7ed..74412414113 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -3681,7 +3681,9 @@ match-alternatives: %S"
:warning)
;; Make sure we will `read' a string.
(setq value (prin1-to-string value)))
- (read value)))
+ (if (string-empty-p value)
+ value
+ (read value))))
(defun widget-restricted-sexp-match (widget value)
(let ((alternatives (widget-get widget :match-alternatives))
diff --git a/test/lisp/wid-edit-tests.el b/test/lisp/wid-edit-tests.el
index ebfe729bc9a..66bff4ad2e3 100644
--- a/test/lisp/wid-edit-tests.el
+++ b/test/lisp/wid-edit-tests.el
@@ -380,4 +380,15 @@ return nil, even with a non-nil bubblep argument."
:value (("1" . 1) ("2" . 2))))))
(should (equal '(("1" . 1) ("2" . 2)) (widget-default-get w))))))
+(ert-deftest widget-test-restricted-sexp-empty-val ()
+ "Test that we handle an empty restricted-sexp widget just fine."
+ (with-temp-buffer
+ (let ((w (widget-create '(restricted-sexp
+ :value 3
+ :match-alternatives (integerp)))))
+ (widget-setup)
+ (widget-backward 1)
+ (delete-char 1)
+ (should (string= (widget-value w) "")))))
+
;;; wid-edit-tests.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 2ea98ea35c8: Avoid errors when a restricted-sexp widget is empty,
Eli Zaretskii <=