GNU bug report logs - #16874
24.3.50; Regression in active window detection

Previous Next

Package: emacs;

Reported by: Damien Cassou <damien.cassou <at> gmail.com>

Date: Tue, 25 Feb 2014 09:08:02 UTC

Severity: normal

Tags: notabug

Found in version 24.3.50

Done: Juanma Barranquero <lekktu <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 16874 in the body.
You can then email your comments to 16874 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Tue, 25 Feb 2014 09:08:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Damien Cassou <damien.cassou <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 25 Feb 2014 09:08:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Damien Cassou <damien.cassou <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; Regression in active window detection
Date: Tue, 25 Feb 2014 10:06:49 +0100
The following piece of code, from the milkypostman/powerline github
repository, used to detect if the current window is active or not:

    (defun powerline-selected-window-active ()
      "Return whether the current window is active."
      (or (eq (frame-selected-window)
              (selected-window))
          (and (minibuffer-window-active-p
                (frame-selected-window))
               (eq (pl/minibuffer-selected-window)
                   (selected-window)))))

This works fine in released Emacs 24 but does not work anymore in
emacs-snapshot (see below for details about the version I used to test).
Is this an Emacs regression or a problem in the implementation of this
function that is revealed by some recent changes in Emacs?


More about this issue: https://github.com/milkypostman/powerline/issues/37

In GNU Emacs 24.3.50.2 (x86_64-pc-linux-gnu, GTK+ Version 3.8.6)
 of 2014-02-23 on peryton
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description:	Ubuntu 13.10

Configured using:
 `configure --build=x86_64-linux-gnu --prefix=/usr
 '--includedir=${prefix}/include' '--mandir=${prefix}/share/man'
 '--infodir=${prefix}/share/info' --sysconfdir=/etc --localstatedir=/var
 '--libdir=${prefix}/lib/x86_64-linux-gnu'
 '--libexecdir=${prefix}/lib/x86_64-linux-gnu' --disable-maintainer-mode
 --disable-dependency-tracking --prefix=/usr --sharedstatedir=/var/lib
 --program-suffix=-snapshot --with-x=yes --with-x-toolkit=gtk3
 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
 -Werror=format-security' CPPFLAGS=-D_FORTIFY_SOURCE=2
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Important settings:
  value of $LC_MONETARY: fr_FR.UTF-8
  value of $LC_NUMERIC: fr_FR.UTF-8
  value of $LC_TIME: fr_FR.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-switcher-mode: t
  diff-auto-refine-mode: t
  auto-revert-mode: t
  outline-minor-mode: t
  shell-dirtrack-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  ido-ubiquitous-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  global-smart-tab-mode: t
  smart-tab-mode: t
  eldoc-mode: t
  paredit-mode: t
  ido-vertical-mode: t
  global-discover-mode: t
  discover-mode: t
  projectile-global-mode: t
  projectile-mode: t
  guide-key-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-ethan-wspace-mode: t
  ethan-wspace-mode: t
  ethan-wspace-clean-many-nls-eof-mode: t
  ethan-wspace-clean-no-nl-eof-mode: t
  ethan-wspace-clean-eol-mode: t
  ethan-wspace-highlight-tabs-mode: t
  drag-stuff-global-mode: t
  drag-stuff-mode: t
  override-global-mode: t
  winner-mode: t
  show-paren-mode: t
  recentf-mode: t
  ido-everywhere: t
  icomplete-mode: t
  global-hl-line-mode: t
  electric-indent-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-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-f C-f C-f C-k f l y c k <backspace> h e c k SPC m 
u s t SPC u s e SPC C a s k SPC w h e n SPC p r e s 
e n t SPC f o r SPC d e p e n d e n c i e s C-x C-s 
M-b M-b M-b M-b M-b M-b <M-backspace> <M-backspace> 
C-x C-s C-M-' c a s k <return> C-x b i n i t <return> 
M-i f l y c h <return> C-n C-n C-e C-b <return> <tab> 
: c o n f i g <return> <tab> ( p r o g n <return> <tab> 
( a d d - h o o <tab> C-a C-o <tab> ( u s e - p a c 
<tab> SPC f l y c h e c k - c a s k C-n C-a <tab> C-n 
C-M-k C-p C-e M-j C-b <return> <tab> : c o n f i g 
<return> ( p r o g n <return> <tab> ( a d d - h o o 
k SPC ' f l y c h e c k - m o <tab> - h o o k C-h v 
C-g M-x f l y c <return> M-x <return> C-h v C-g SPC 
# ' f l y c h <tab> - c a s k - s e t u p <M-backspace> 
<backspace> <backspace> <backspace> s <tab> C-h f C-g 
C-h v C-g - s e t u p C-x C-s M-< C-M-f C-M-f C-M-f 
C-M-f C-M-f C-' e x i t <return> C-x C-e C-l C-u C-SPC 
C-u C-g C-e C-x C-e C-b C-x C-e C-b C-x C-e C-e <down-mouse-1> 
<mouse-1> M-x r e p o r t - e m a <return>

Recent messages:
t
Quit
Configuring package flycheck...
Loading package flycheck-cask...done
Configuring package flycheck...done
t
Loading package flycheck-cask...done
t
Loading package flycheck-cask...done
t

Load-path shadows:
/usr/share/emacs/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3.50/lisp/textmodes/flyspell
/usr/share/emacs/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3.50/lisp/textmodes/ispell
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-python hides /usr/share/emacs/24.3.50/lisp/org/ob-python
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-matlab hides /usr/share/emacs/24.3.50/lisp/org/ob-matlab
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-org hides /usr/share/emacs/24.3.50/lisp/org/ox-org
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-octave hides /usr/share/emacs/24.3.50/lisp/org/ob-octave
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-perl hides /usr/share/emacs/24.3.50/lisp/org/ob-perl
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-comint hides /usr/share/emacs/24.3.50/lisp/org/ob-comint
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-ruby hides /usr/share/emacs/24.3.50/lisp/org/ob-ruby
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-irc hides /usr/share/emacs/24.3.50/lisp/org/org-irc
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-list hides /usr/share/emacs/24.3.50/lisp/org/org-list
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-mouse hides /usr/share/emacs/24.3.50/lisp/org/org-mouse
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-id hides /usr/share/emacs/24.3.50/lisp/org/org-id
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-compat hides /usr/share/emacs/24.3.50/lisp/org/org-compat
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-R hides /usr/share/emacs/24.3.50/lisp/org/ob-R
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox hides /usr/share/emacs/24.3.50/lisp/org/ox
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-ref hides /usr/share/emacs/24.3.50/lisp/org/ob-ref
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-screen hides /usr/share/emacs/24.3.50/lisp/org/ob-screen
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-css hides /usr/share/emacs/24.3.50/lisp/org/ob-css
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-table hides /usr/share/emacs/24.3.50/lisp/org/org-table
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-bbdb hides /usr/share/emacs/24.3.50/lisp/org/org-bbdb
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-lilypond hides /usr/share/emacs/24.3.50/lisp/org/ob-lilypond
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-ledger hides /usr/share/emacs/24.3.50/lisp/org/ob-ledger
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-indent hides /usr/share/emacs/24.3.50/lisp/org/org-indent
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-footnote hides /usr/share/emacs/24.3.50/lisp/org/org-footnote
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-protocol hides /usr/share/emacs/24.3.50/lisp/org/org-protocol
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-capture hides /usr/share/emacs/24.3.50/lisp/org/org-capture
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-rmail hides /usr/share/emacs/24.3.50/lisp/org/org-rmail
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-w3m hides /usr/share/emacs/24.3.50/lisp/org/org-w3m
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-mobile hides /usr/share/emacs/24.3.50/lisp/org/org-mobile
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-ascii hides /usr/share/emacs/24.3.50/lisp/org/ox-ascii
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-inlinetask hides /usr/share/emacs/24.3.50/lisp/org/org-inlinetask
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-texinfo hides /usr/share/emacs/24.3.50/lisp/org/ox-texinfo
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-pcomplete hides /usr/share/emacs/24.3.50/lisp/org/org-pcomplete
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-colview hides /usr/share/emacs/24.3.50/lisp/org/org-colview
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-awk hides /usr/share/emacs/24.3.50/lisp/org/ob-awk
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-src hides /usr/share/emacs/24.3.50/lisp/org/org-src
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-scala hides /usr/share/emacs/24.3.50/lisp/org/ob-scala
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-timer hides /usr/share/emacs/24.3.50/lisp/org/org-timer
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-shen hides /usr/share/emacs/24.3.50/lisp/org/ob-shen
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-plantuml hides /usr/share/emacs/24.3.50/lisp/org/ob-plantuml
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-docview hides /usr/share/emacs/24.3.50/lisp/org/org-docview
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-sass hides /usr/share/emacs/24.3.50/lisp/org/ob-sass
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-calc hides /usr/share/emacs/24.3.50/lisp/org/ob-calc
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-agenda hides /usr/share/emacs/24.3.50/lisp/org/org-agenda
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-sqlite hides /usr/share/emacs/24.3.50/lisp/org/ob-sqlite
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-lob hides /usr/share/emacs/24.3.50/lisp/org/ob-lob
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-odt hides /usr/share/emacs/24.3.50/lisp/org/ox-odt
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-macro hides /usr/share/emacs/24.3.50/lisp/org/org-macro
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-mscgen hides /usr/share/emacs/24.3.50/lisp/org/ob-mscgen
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-picolisp hides /usr/share/emacs/24.3.50/lisp/org/ob-picolisp
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-io hides /usr/share/emacs/24.3.50/lisp/org/ob-io
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-dot hides /usr/share/emacs/24.3.50/lisp/org/ob-dot
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-haskell hides /usr/share/emacs/24.3.50/lisp/org/ob-haskell
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-exp hides /usr/share/emacs/24.3.50/lisp/org/ob-exp
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-macs hides /usr/share/emacs/24.3.50/lisp/org/org-macs
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-clojure hides /usr/share/emacs/24.3.50/lisp/org/ob-clojure
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-element hides /usr/share/emacs/24.3.50/lisp/org/org-element
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-faces hides /usr/share/emacs/24.3.50/lisp/org/org-faces
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-mhe hides /usr/share/emacs/24.3.50/lisp/org/org-mhe
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-gnus hides /usr/share/emacs/24.3.50/lisp/org/org-gnus
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-plot hides /usr/share/emacs/24.3.50/lisp/org/org-plot
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-html hides /usr/share/emacs/24.3.50/lisp/org/ox-html
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-fortran hides /usr/share/emacs/24.3.50/lisp/org/ob-fortran
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-attach hides /usr/share/emacs/24.3.50/lisp/org/org-attach
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-bibtex hides /usr/share/emacs/24.3.50/lisp/org/org-bibtex
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-icalendar hides /usr/share/emacs/24.3.50/lisp/org/ox-icalendar
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-ocaml hides /usr/share/emacs/24.3.50/lisp/org/ob-ocaml
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-emacs-lisp hides /usr/share/emacs/24.3.50/lisp/org/ob-emacs-lisp
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-sh hides /usr/share/emacs/24.3.50/lisp/org/ob-sh
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-maxima hides /usr/share/emacs/24.3.50/lisp/org/ob-maxima
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-crypt hides /usr/share/emacs/24.3.50/lisp/org/org-crypt
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-install hides /usr/share/emacs/24.3.50/lisp/org/org-install
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-js hides /usr/share/emacs/24.3.50/lisp/org/ob-js
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-eshell hides /usr/share/emacs/24.3.50/lisp/org/org-eshell
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-beamer hides /usr/share/emacs/24.3.50/lisp/org/ox-beamer
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-gnuplot hides /usr/share/emacs/24.3.50/lisp/org/ob-gnuplot
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-keys hides /usr/share/emacs/24.3.50/lisp/org/ob-keys
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-version hides /usr/share/emacs/24.3.50/lisp/org/org-version
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-latex hides /usr/share/emacs/24.3.50/lisp/org/ob-latex
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org hides /usr/share/emacs/24.3.50/lisp/org/org
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-core hides /usr/share/emacs/24.3.50/lisp/org/ob-core
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-scheme hides /usr/share/emacs/24.3.50/lisp/org/ob-scheme
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-clock hides /usr/share/emacs/24.3.50/lisp/org/org-clock
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-publish hides /usr/share/emacs/24.3.50/lisp/org/ox-publish
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-lisp hides /usr/share/emacs/24.3.50/lisp/org/ob-lisp
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-feed hides /usr/share/emacs/24.3.50/lisp/org/org-feed
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-man hides /usr/share/emacs/24.3.50/lisp/org/ox-man
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-sql hides /usr/share/emacs/24.3.50/lisp/org/ob-sql
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-ditaa hides /usr/share/emacs/24.3.50/lisp/org/ob-ditaa
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob hides /usr/share/emacs/24.3.50/lisp/org/ob
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-eval hides /usr/share/emacs/24.3.50/lisp/org/ob-eval
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-table hides /usr/share/emacs/24.3.50/lisp/org/ob-table
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-java hides /usr/share/emacs/24.3.50/lisp/org/ob-java
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-loaddefs hides /usr/share/emacs/24.3.50/lisp/org/org-loaddefs
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-archive hides /usr/share/emacs/24.3.50/lisp/org/org-archive
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-makefile hides /usr/share/emacs/24.3.50/lisp/org/ob-makefile
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-asymptote hides /usr/share/emacs/24.3.50/lisp/org/ob-asymptote
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-C hides /usr/share/emacs/24.3.50/lisp/org/ob-C
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-entities hides /usr/share/emacs/24.3.50/lisp/org/org-entities
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-latex hides /usr/share/emacs/24.3.50/lisp/org/ox-latex
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-datetree hides /usr/share/emacs/24.3.50/lisp/org/org-datetree
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-tangle hides /usr/share/emacs/24.3.50/lisp/org/ob-tangle
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ob-org hides /usr/share/emacs/24.3.50/lisp/org/ob-org
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-habit hides /usr/share/emacs/24.3.50/lisp/org/org-habit
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-info hides /usr/share/emacs/24.3.50/lisp/org/org-info
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/org-ctags hides /usr/share/emacs/24.3.50/lisp/org/org-ctags
/home/cassou/.emacs.d/.cask/24.3.50.2/elpa/org-plus-contrib-20140224/ox-md hides /usr/share/emacs/24.3.50/lisp/org/ox-md

Features:
(shadow sort mail-extr emacsbug sendmail flycheck-cask flycheck rx
idomenu dabbrev misearch multi-isearch diary-lib diary-loaddefs cal-iso
org-agenda tramp-cache mule-util git-auto-commit-mode eieio-opt speedbar
sb-image ezimage dframe files-x vc-git em-unix em-term term disp-table
ehelp em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl
em-basic em-banner em-alias esh-var esh-io esh-cmd esh-opt esh-ext
esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util
shell-switcher rswitcher magit-svn magit-key-mode magit view epa derived
epg epg-config diff-mode autorevert filenotify git-rebase-mode
git-commit-mode log-edit message rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log smex flyspell ispell
org-element org-pomodoro-pidgin org-pomodoro alert org-timer org-clock
org-bookmark bookmark pp org-w3m org-wl org-vm org-rmail org-protocol
org-mhe org-mew org-irc org-info org-capture org-gnus org-docview
doc-view jka-compr image-mode dired-imenu imenu runner dired-aux dired-x
dired org-bibtex bibtex org-bbdb org org-macro org-footnote
org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table
ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs cal-menu calendar cal-loaddefs tramp-sh tramp tramp-compat
auth-source eieio eieio-core gnus-util mm-util mail-prsvr password-cache
tramp-loaddefs trampver shell pcomplete format-spec yasnippet help-mode
server ido-ubiquitous warnings auto-complete-config auto-complete popup
pos-tip smart-tab eldoc paredit iso-transl ido-vertical-mode discover
makey projectile pkg-info find-func grep compile thingatpt guide-key
face-remap popwin undo-tree diff ethan-wspace drag-stuff byte-opt
browse-kill-ring calc-prog calc-ext calc calc-loaddefs calc-macs python
comint ansi-color wombat-theme use-package diminish bytecomp
byte-compile cconv bind-key easy-mmode tex-site info powerline
powerline-separators color powerline-themes advice edmacro kmacro cask
help-fns cl-macs gv cl cask-bootstrap epl git commander f dash s package
saveplace winner ring paren recentf tree-widget wid-edit cl-loaddefs
cl-lib easymenu ido icomplete hl-line cus-start cus-load time-date
tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar 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 minibuffer nadvice loaddefs button faces cus-face macroexp
files text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Tue, 25 Feb 2014 16:19:02 GMT) Full text and rfc822 format available.

Message #8 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Damien Cassou <damien.cassou <at> gmail.com>
Cc: 16874 <at> debbugs.gnu.org
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Tue, 25 Feb 2014 18:18:09 +0200
> From: Damien Cassou <damien.cassou <at> gmail.com>
> Date: Tue, 25 Feb 2014 10:06:49 +0100
> 
> 
> The following piece of code, from the milkypostman/powerline github
> repository, used to detect if the current window is active or not:
> 
>     (defun powerline-selected-window-active ()
>       "Return whether the current window is active."
>       (or (eq (frame-selected-window)
>               (selected-window))
>           (and (minibuffer-window-active-p
>                 (frame-selected-window))
>                (eq (pl/minibuffer-selected-window)
>                    (selected-window)))))
> 
> This works fine in released Emacs 24 but does not work anymore in
> emacs-snapshot (see below for details about the version I used to test).
> Is this an Emacs regression or a problem in the implementation of this
> function that is revealed by some recent changes in Emacs?

It's a deliberate change in Emacs that breaks functions which assume
that the window whose mode line is being redrawn is selected at that
time.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Tue, 25 Feb 2014 16:30:02 GMT) Full text and rfc822 format available.

Message #11 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: Damien Cassou <damien.cassou <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 16874 <at> debbugs.gnu.org
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Tue, 25 Feb 2014 17:28:57 +0100
On Tue, Feb 25, 2014 at 5:18 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> It's a deliberate change in Emacs that breaks functions which assume
> that the window whose mode line is being redrawn is selected at that
> time.


is there anything we can do about that?

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Tue, 25 Feb 2014 17:49:01 GMT) Full text and rfc822 format available.

Message #14 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Damien Cassou <damien.cassou <at> gmail.com>
Cc: 16874 <at> debbugs.gnu.org
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Tue, 25 Feb 2014 19:47:58 +0200
> From: Damien Cassou <damien.cassou <at> gmail.com>
> Date: Tue, 25 Feb 2014 17:28:57 +0100
> Cc: 16874 <at> debbugs.gnu.org
> 
> On Tue, Feb 25, 2014 at 5:18 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> > It's a deliberate change in Emacs that breaks functions which assume
> > that the window whose mode line is being redrawn is selected at that
> > time.
> 
> is there anything we can do about that?

What kind of thing did you have in mind?

FWIW, I think code that relies on implementation details of the
display engine runs a high risk of becoming broken.  I'd rather have
application programmers request features that will allow them to do
what they want using some documented public interfaces, instead of
looking high and low for how to trick Emacs into revealing some of its
internals.

So perhaps you could explain what feature/API/hook would you want to
be added to Emacs so that powerline, whatever it is, could do its job
reliably?  Who knows, it might even be that such a feature already
exists, or is easy to implement.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Wed, 26 Feb 2014 10:17:04 GMT) Full text and rfc822 format available.

Message #17 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Damien Cassou <damien.cassou <at> gmail.com>
Cc: 16874 <at> debbugs.gnu.org
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Wed, 26 Feb 2014 11:16:39 +0100
Damien Cassou schrieb:
> The following piece of code, from the milkypostman/powerline github
> repository, used to detect if the current window is active or not:
>
>     (defun powerline-selected-window-active ()
>       "Return whether the current window is active."
>       (or (eq (frame-selected-window)
>               (selected-window))
>           (and (minibuffer-window-active-p
>                 (frame-selected-window))
>                (eq (pl/minibuffer-selected-window)
>                    (selected-window)))))
>
> This works fine in released Emacs 24 but does not work anymore in
> emacs-snapshot (see below for details about the version I used to test).
> Is this an Emacs regression or a problem in the implementation of this
> function that is revealed by some recent changes in Emacs?
>
>
> More about this issue: https://github.com/milkypostman/powerline/issues/37

From the discussion in that thread I wasn't able to understand what that
function is needed for.  Could you describe that?  For example, why is

>       (or (eq (frame-selected-window)
>               (selected-window))

needed?  What does `pl/minibuffer-selected-window' return?  And why does

>           (and (minibuffer-window-active-p
>                 (frame-selected-window))
>                (eq (pl/minibuffer-selected-window)
>                    (selected-window)))))

one time call `frame-selected-window' and one time `selected-window'?

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Fri, 07 Mar 2014 06:36:01 GMT) Full text and rfc822 format available.

Message #20 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: Donald Curtis <d <at> milkbox.net>
To: rudalics <at> gmx.at
Cc: 16874 <at> debbugs.gnu.org, damien.cassou <at> gmail.com
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Thu, 6 Mar 2014 22:31:37 -0800
[Message part 1 (text/plain, inline)]
apologies for taking my sweet time in responding.

so what I am trying to do is set the modeline to be a bit different
depending on which window is currently selected. as it stands, there is a
`mode-line` face and a `mode-line-inactive face`. somehow emacs changes the
default face for each mode-line depending on whether it is for the "active"
window or not. I want to be able to customize other parts of the mode-line
depending on whether it is selected or not.

for example, you cannot make the `mode-line-buffer-id` face different
depending on whether its being displayed in the active window or not.

so the code I had written was able to detect whether the mode-line was
being displayed in the active window or not.

now that things have changed, my code falls on its face. the currently
suggested method is to wrap advice around the "select-window" function and
add a few hooks.
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Sat, 08 Mar 2014 00:26:02 GMT) Full text and rfc822 format available.

Message #23 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Donald Curtis <d <at> milkbox.net>
Cc: rudalics <at> gmx.at, 16874 <at> debbugs.gnu.org, damien.cassou <at> gmail.com
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Fri, 07 Mar 2014 19:25:11 -0500
> so the code I had written was able to detect whether the mode-line was
> being displayed in the active window or not.

IIUC your old code was not correct in some circumstance (maybe in the
presence of multiple frames, can't remember), but indeed the change in
Emacs-24.4 (which was made to fix another problem) breaks such hacks.

The best I can offer so far goes along the following lines:

1- use post-command-hook (or better yet pre-redisplay-function) to set
   a global variable `my-selected-window'.
2- use that variable instead of (selected-window) in your modeline :eval code.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Sat, 08 Mar 2014 01:54:02 GMT) Full text and rfc822 format available.

Message #26 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: Donald Curtis <d <at> milkbox.net>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: rudalics <at> gmx.at, 16874 <at> debbugs.gnu.org, damien.cassou <at> gmail.com
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Fri, 7 Mar 2014 17:53:39 -0800
[Message part 1 (text/plain, inline)]
Cool thanks for the pre redisplay suggestion.
On Mar 7, 2014 4:26 PM, "Stefan Monnier" <monnier <at> iro.umontreal.ca> wrote:

> > so the code I had written was able to detect whether the mode-line was
> > being displayed in the active window or not.
>
> IIUC your old code was not correct in some circumstance (maybe in the
> presence of multiple frames, can't remember), but indeed the change in
> Emacs-24.4 (which was made to fix another problem) breaks such hacks.
>
> The best I can offer so far goes along the following lines:
>
> 1- use post-command-hook (or better yet pre-redisplay-function) to set
>    a global variable `my-selected-window'.
> 2- use that variable instead of (selected-window) in your modeline :eval
> code.
>
>
>         Stefan
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16874; Package emacs. (Tue, 18 Mar 2014 22:20:02 GMT) Full text and rfc822 format available.

Message #29 received at 16874 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Donald Curtis <d <at> milkbox.net>
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>,
 Damien Cassou <damien.cassou <at> gmail.com>, 16874 <at> debbugs.gnu.org
Subject: Re: bug#16874: 24.3.50; Regression in active window detection
Date: Tue, 18 Mar 2014 23:18:36 +0100
tags 16874 notabug
close 16874
quit

Closing, as seems is not a bug and there's nothing to be done.




Added tag(s) notabug. Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 18 Mar 2014 22:20:03 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 16874 <at> debbugs.gnu.org and Damien Cassou <damien.cassou <at> gmail.com> Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 18 Mar 2014 22:20:04 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 16 Apr 2014 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 72 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.