Subject: bug#5985: 23.1.96; Mac OS X: Frames in other spaces erroneously thought visible

From: Harald Hanche-Olsen <[email-masked]>
Date: Tue, 20 Apr 2010 09:52:50 -0400 (EDT)

On OS X, enable Spaces. (Note to those who don't use Macs: Spaces are
a bit like virtual desktops in many X11 window managers.) Run emacs
and create two or more frames. Move some frames to different spaces.

Evaluate (visible-frame-list).

Expected result: Only frames in the current space should be listed.
Actual result: All non-iconified frames are listed.

As a side effect, C-x 5 o (other-frame) can select a frame in a
different space. Also, (frame-visible-p) evaluated in a frame in a
different space will return t.

In GNU Emacs 23.1.96.1 (i386-apple-darwin9.8.0, NS apple-appkit-949.54)
 of 2010-04-20 on mach
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:
  paredit-mode: t
  show-paren-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<return> C-x 5 b * s c <tab> <return> ( <backspace> 
M-x p a r e - m o <tab> <return> ( l i s t - v i s 
<tab> <escape> <tab> M-b <M-backspace> C-f C-f C-f 
i b <escape> <tab> f r a m <tab> <escape> <tab> <return> 
<backspace> C-e C-x C-e <switch-frame> <switch-frame> 
M-x b u g <tab> <escape> <backspace> <escape> <backspace> 
r e p o <tab> r <tab> <return>

Recent messages:
Making a message...done
+draft/3 has been queued to +queue/1 (from Draft mode)
Creating an SSL/TLS connection...done
Connecting to the SMTP server...done
Sending in background...done
Paredit mode enabled
No match
(#<frame mach:%list.emacs-devel 0x5e1510> #<frame mach:*scratch* 0x1801f310>)
Making completion list...
Type C-x 1 to delete the help window.

Load-path shadows:
/Users/hanche/lib/lisp/slime/hyperspec hides /Users/hanche/lib/emacs/hyperspec
/Users/hanche/lib/emacs/md4 hides /Applications/Emacs.app/Contents/Resources/lisp/md4
/Users/hanche/lib/emacs/cl-indent hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/cl-indent

Features:
(shadow emacsbug vc-dispatcher vc-rcs sgml-mode help-mode view
mew-varsx mew-auth mew-config mew-imap2 mew-imap mew-nntp2 mew-nntp
mew-pop mew-smtp mew-ssl mew-ssh mew-net mew-highlight mew-sort
mew-fib mew-ext mew-refile mew-demo mew-attach mew-draft mew-message
mew-thread mew-virtual mew-summary4 mew-summary3 mew-summary2
mew-summary mew-search mew-pick mew-passwd mew-scan mew-syntax mew-bq
mew-smime mew-pgp mew-header mew-exec mew-mark mew-mime mew-edit
mew-decode mew-encode mew-cache mew-minibuf mew-complete mew-addrbook
mew-local mew-darwin mew-vars3 mew-vars2 mew-vars mew-env mew-mule3
mew-mule mew-gemacs mew-key mew-func mew-blvs mew-const mew
multi-isearch compile paredit eldoc slime-asdf slime-fancy
slime-fontifying-fu slime-package-fu slime-references
slime-xref-browser tree-widget wid-edit slime-scratch
slime-presentations slime-highlight-edits slime-fuzzy
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-parse slime-repl slime byte-opt bytecomp byte-compile regexp-opt
derived apropos edmacro kmacro hideshow pp comint ring hyperspec
browse-url named-strings indentation gnus-custom advice help-fns
advice-preload slime-autoloads parenface paren delsel server
odds-and-ends thingatpt easy-mmode cl cl-19 tooltip ediff-hook
vc-hooks lisp-float-type mwheel ns-win easymenu tool-bar dnd fontset
image fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces
cus-face files text-properties overlay md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind ns multi-tty emacs)