Subject: current-buffer returns wrong value in X11 under OSX

From: Drew McDermott <[email-masked]>
Date: Fri, 01 Jan 2010 13:04:33 -0500

If more than one emacs frame is open in X11 under OS X (version 10.5),
then (current-buffer) seems to return the most recently created
visible buffer, not the one that currently has X focus, which is what
the user expects.  This causes the menu-bar hooks to be unable to
recalculate menu names based on which buffer is current.

I never noticed this problem in emacs 21, so I conjecture that
current-buffer worked correctly before version 22, but that's merely a
conjecture.

In GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, X toolkit)
 of 2009-09-07 on dvm-Macbook
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure  '--with-x=yes''

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
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
M-m C-p C-p C-a C-o <tab> ( s e t q SPC m m i * SPC 
m a r k s - m e n u - i t e m s ) M-x d v l <return> 
M-: M-p <return> M-: m m i i * <backspace> <backspace> 
* <return> C-x b <return> <return> m m i * C-j C-x 
b <return> M-v <M-down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down-mouse-1> <mouse-1> <backspace> l C-f C-f C-k 
m e n u - l a b e l ) M-x d v l <return> M-: M-p M-p 
<return> C-x b * <backspace> <return> <return> m m 
l * C-j C-x b <return> M-v C-s l b - m a y b e - C-e 
C-c C-b f m C-a C-v C-c C-b j C-g C-u 0 C-c C-b j C-u 
C-c C-b j C-a C-c C-b m <return> C-v 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-p C-o C-( ( p u s 
h SPC ( c u r r e n t - b u f f e r ) SPC C-M-b <M-backspace> 
s e t q SPC c b * SPC C-e <backspace> ) M-x d v l <return> 
M-: M-p <return> C-c l C-c b * C-_ C-x b * s c r <tab> 
<return> <return> c b * C-j M-: ( c u r r e n t - b 
u f f e r ) <return> C-x b <return> M-: M-p <return> 
<switch-frame> # # # q C-x 5 b <return> M-x v m <return> 
y <switch-frame> M-x r e p o r t - e m a c s - b u 
g <return>

Recent messages:
Reordering messages... done
360 messages, 0 new, 168 unread, 0 deleted
Generating summary... 360
Generating summary markers... 
Generating summary... done
Decoding MIME message...
Decoding quoted-printable... done
Decoding MIME message... done
360 messages, 0 new, 168 unread, 0 deleted
Loading emacsbug...done