Subject: 23.0.60; (with-ns) application preferences should be global

From: "B. Smith-Mannschott" <[email-masked]>
Date: Tue, 6 Jan 2009 14:13:30 +0100

This is a usability bug.

Observed Behavior
=================

  1. Start Emacs; Open a second frame.
  2. (Two frames are open)
  3. Choose "Preferences..." from the application menu ("Emacs").
  4. (An "Emacs Preferences" Window opens)
  5. Click "Default Font..."
  6. (a font panel opens)
  7. Select a font
  8. (nothing happens)
  9. Click on a currently open emacs frame (not the Preferences window).
10. (the Preferences window loses keyboard focus)
11. Select a font (from the font panel)
12. (The font of the currently focused frame will change.)
13. (The font of the second frame will not change.)

Expected Behavior
=================

By convention, the "Preferences..." item in a Mac Application opens a
window in global settings that effect the entire application may be
manipulated.  This is what a user expects.

I would expect the "Default Font..." button to lead to a font panel
which sets the default font for all frames, persistently.

I would not expect it to require me to first focus a frame.

I would not expect it to to then change only the font for that frame.

See Also
========

The thread beginning with this message:

http://lists.gnu.org/archive/html/help-gnu-emacs/2009-01/msg00046.html

Configuration
=============

- gcc --version | head -n 1
   i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5488)

In GNU Emacs 23.0.60.1 (i386-apple-darwin9.6.0, NS apple-appkit-949.43)
  of 2009-01-06 on Meheadable.local
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--with-ns''

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: nil
   value of $XMODIFIERS: nil
   locale-coding-system: nil
   default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
   shell-dirtrack-mode: t
   openwith-mode: t
   yas/minor-mode: t
   global-hl-line-mode: t
   tooltip-mode: t
   mouse-wheel-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   global-auto-composition-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
<backspace> <backspace> <backspace> <backspace> <backspace>
f o n t SPC c o n t r o l SPC C-d C-d C-d C-d C-d C-d
C-d C-d C-d C-d <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
s e l e c t i o n SPC <escape> q C-n C-n C-b C-b C-b
C-b C-f C-n C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-p C-a
C-k C-p C-p C-y C-o C-n C-n C-n C-k C-SPC C-n C-n C-n
C-g C-e C-x C-s C-p C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n SPC SPC SPC
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC ; ; SPC
s o m e SPC o f SPC t h e s e SPC C-n SPC SPC SPC SPC
SPC ; ; SPC p r o p e r t i e s SPC m a y C-n SPC SPC
SPC SPC SPC SPC SPC SPC SPC SPC ; ; SPC n o t SPC b
e SPC n e c e s s a r y C-p C-p C-b C-b C-b C-b C-b
C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b
C-b C-b C-b C-a C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-b C-b C-k C-n C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-k C-n C-k C-b C-b C-b C-b C-b C-k C-x C-s <switch-frame>
<menu-bar> <help-menu> <send-emacs-bug-report>

Recent messages:
Mark saved where search started
Mark set [2 times]
Auto-saving...done
Wrote /Users/bsmith/Wiki/notes/EmacsBugNoCompletionOfFonts.txt
Mark set [2 times]
Quit
Wrote /Users/bsmith/Wiki/notes/EmacsBugNoCompletionOfFonts.txt
Auto-saving...done
Wrote /Users/bsmith/Wiki/notes/EmacsBugNoCompletionOfFonts.txt
byte-code: Beginning of buffer [8 times]
byte-code: Beginning of buffer