bug-gnu-emacs
[Top][All Lists]
Advanced

[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)'
 







reply via email to

[Prev in Thread] Current Thread [Next in Thread]