From 8b387202204e009b0e242bed602e20720d087acc Mon Sep 17 00:00:00 2001
From: Glenn Morris <rgm@gnu.org>
Date: Mon, 19 Jun 2017 14:53:47 -0400
Subject: [PATCH] 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.
---
 lisp/cus-edit.el | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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)
-- 
2.39.5