[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#4755: 23.1; case where `C-M-x' on defcustom doesn't seem to work
From: |
Drew Adams |
Subject: |
bug#4755: 23.1; case where `C-M-x' on defcustom doesn't seem to work |
Date: |
Sun, 18 Oct 2009 17:21:48 -0700 |
emacs -Q
(defcustom foo '(("foo" (f1 f2) f3) ("bar" (b1 b2) b3))
"..."
:type '(repeat
(cons
(choice :tag "a" string symbol)
(choice
(const :tag "b" nil)
(function :tag "c")
(list :tag "d"
(repeat (function :tag "e"))
(choice
(const :tag "f" nil)
(function :tag "g")))))))
(defcustom toto (copy-sequence foo)
"..."
:type '(repeat
(cons
(choice :tag "r" string symbol)
(choice
(const :tag "s" nil)
(function :tag "t")
(list :tag "u"
(repeat (function :tag "v"))
(choice
(const :tag "w" nil)
(function :tag "x")))))))
(defun f1 ())
(defun f2 ())
(defun f3 ())
(defun b1 ())
(defun b2 ())
(defun b3 ())
Then M-x customize-option foo
Insert another alist element, then set the value for the session, so
foo's value now has 3 alist elements. Option toto's value is like
foo's, but it is missing the first alist element (the new one).
Put point on toto's defcustom and do `C-M-x'. The value is not updated
to be a copy of foo's current value. The value looks like it hasn't
changed.
AFAIK, there are no side effects going on here. And if you explicitly
do (setq toto (copy-sequence foo)), then it of course does get updated
to reflect the latest foo value.
Seems like a bug. There's no doubt a simpler test case, but I have this
ready-to-hand and don't feel like paring it down.
In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
of 2009-07-29 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4)'
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#4755: 23.1; case where `C-M-x' on defcustom doesn't seem to work,
Drew Adams <=