Subject: 24.0.94; Updating display of Customize buffer

From: Stephen Berman <[email-masked]>
Date: Tue, 28 Feb 2012 14:07:13 +0100

[I posted about this problem to gnu-emacs-help last week but there
hasn't been any response, so I'm adding it to the bugtracker with a more
explicit and self-contained recipe in the hope that, if it's a real bug,
it will be fixed, or if I have made a mistake, it will be pointed out.]

1. mkdir ~/srb; cd ~/srb; touch file1 file2 file3

2. emacs -Q -l path/to/srb.el # Load the attached file.

3. M-x customize-option RET srb-selected-file RET
The Customize buffer shows this, as expected:

 Srb Selected File:
 (*) file1
 ( ) file2
 ( ) file3
     State: STANDARD.
     A selected file name from `srb-file-list'.

4. rm -rf ~/srb

5. Repeat steps 2 and 3; now the Customize buffer shows this:

 Srb Selected File: nil
     State: STANDARD. (mismatch)
     A selected file name from `srb-file-list'.

This is also expected, since srb-selected-file doesn't handle nil.

6. M-x srb-add-file RET file1 RET

7. In the Customize buffer hide and then re-show the value of
srb-selected-file; now the Customize buffer shows this:

 Srb Selected File: "file1"
     State: STANDARD. (mismatch)
     A selected file name from `srb-file-list'.

If I kill the Customize buffer and repeat step 3, it still has the
same display.  What I expected to see is this: 

 Srb Selected File:
 (*) file1
     State: STANDARD.
     A selected file name from `srb-file-list'.

But only if I exit Emacs and then restart it does the Customize buffer
look like this (after loading srb.el).  I haven't been able to get this
display after carrying out steps 4-7 without restarting Emacs.  Is it
possible?  Is there a problem with my defcustom srb-selected-file, or
with the calls to custom-reevaluate-setting and custom-set-default in
srb-add-file, or have I overlooked some other custom-* function that
correctly updates the display?  Or is this a bug in the Customize API?
I'd be grateful for any help.

In GNU Emacs 24.0.94.1 (i686-suse-linux-gnu, GTK+ Version 2.24.7)
 of 2012-02-28 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.11004000
Configured using:
 `configure '--without-toolkit-scroll-bars' 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t