summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-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)