Subject: bug#2249: 23.0.90; default-frame-alist: Invalid function: (menu-bar-lines . 1)

From: Stephen Berman <[email-masked]>
Date: Mon, 09 Feb 2009 17:04:31 +0100

1. emacs -Q
2. M-x customize-variable RET default-frame-alist RET
3. Custom buffer shows:

        Default Frame Alist: 
	Parameter: menu-bar-lines
	            Value: 1
	Parameter: tool-bar-lines
	            Value: 1
	   State: CHANGED outside Customize; operating on it here may be unreliable.

4. Click "State" button, select "Show Saved Lisp Expresion".  Custom
   buffer now shows:

	default-frame-alist: nil
        State: CHANGED outside Customize; operating on it here may be unreliable. (lisp)

The above just shows that Emacs sets a non-STANDARD default for
default-frame-alist.  Now comes the bug:

5. Let ~/.emacs and/or custom-file contain no setting of
   default-frame-alist. Invoke emacs (i.e. user-init-file is read).
6. Repeat step 2 above, the Custom buffer is again as in step 3.
7. Change the values of menu-bar-lines and tool-bar-lines to 0, then
   click button "Save for current session".  Custom buffer now shows:

	Default Frame Alist: 
	INS DEL Parameter: menu-bar-lines
	            Value: 0
	INS DEL Parameter: tool-bar-lines
	            Value: 0
	INS
	   State: SAVED and set.

8. Click button "Erase customizations"
   => Emacs beeps, shows message "Invalid function: (menu-bar-lines . 1)"

If in step 8 I click the button "Save for future sessions" and then
repeat steps 5 and 6, the display is as in step 7, and doing step 8
results in the same error.

If after step 6 I click "Erase customizations" without changing any
value, then the entries are flushed and the state is: STANDARD.  But
when I then repeat steps 5 and 6 again, the display is again as in 3.

In GNU Emacs 23.0.90.2 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2009-02-09 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
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