summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2017-06-19 14:53:47 -0400
committerGlenn Morris <rgm@gnu.org>2017-06-19 14:53:47 -0400
commit8b387202204e009b0e242bed602e20720d087acc (patch)
tree5ccbc43104829493c7ad94fb3346a18474ff6e2f
parent65b323e14e09fa6024fee93fd484deea4b7f51a2 (diff)
downloademacs-8b387202204e009b0e242bed602e20720d087acc.tar.gz
Avoid a custom-variable-type error (bug#27363)
* lisp/cus-edit.el (custom-variable-type): Avoid an error due to plist-put becoming stricter of late.
-rw-r--r--lisp/cus-edit.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index ca6b8a38d99..6dbb45ec6b9 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -2518,7 +2518,10 @@ try matching its doc string against `custom-guess-doc-alist'."
(copy-sequence type)
(list type))))
(when options
- (widget-put tmp :options options))
+ ;; This used to use widget-put, but with strict plists that
+ ;; fails when type is an even-length list, eg (repeat character).
+ ;; Passing our result through widget-convert makes it a valid widget.
+ (setcdr tmp (append (list :options options) (cdr tmp))))
tmp))
(defun custom-variable-value-create (widget)