unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16874: 24.3.50; Regression in active window detection
@ 2014-02-25  9:06 Damien Cassou
  2014-02-25 16:18 ` Eli Zaretskii
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Damien Cassou @ 2014-02-25  9:06 UTC (permalink / raw)
  To: 16874


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)





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-02-25  9:06 bug#16874: 24.3.50; Regression in active window detection Damien Cassou
@ 2014-02-25 16:18 ` Eli Zaretskii
  2014-02-25 16:28   ` Damien Cassou
  2014-02-26 10:16 ` martin rudalics
  2014-03-07  6:31 ` Donald Curtis
  2 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2014-02-25 16:18 UTC (permalink / raw)
  To: Damien Cassou; +Cc: 16874

> From: Damien Cassou <damien.cassou@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.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-02-25 16:18 ` Eli Zaretskii
@ 2014-02-25 16:28   ` Damien Cassou
  2014-02-25 17:47     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Damien Cassou @ 2014-02-25 16:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 16874

On Tue, Feb 25, 2014 at 5:18 PM, Eli Zaretskii <eliz@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





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-02-25 16:28   ` Damien Cassou
@ 2014-02-25 17:47     ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2014-02-25 17:47 UTC (permalink / raw)
  To: Damien Cassou; +Cc: 16874

> From: Damien Cassou <damien.cassou@gmail.com>
> Date: Tue, 25 Feb 2014 17:28:57 +0100
> Cc: 16874@debbugs.gnu.org
> 
> On Tue, Feb 25, 2014 at 5:18 PM, Eli Zaretskii <eliz@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.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-02-25  9:06 bug#16874: 24.3.50; Regression in active window detection Damien Cassou
  2014-02-25 16:18 ` Eli Zaretskii
@ 2014-02-26 10:16 ` martin rudalics
  2014-03-07  6:31 ` Donald Curtis
  2 siblings, 0 replies; 9+ messages in thread
From: martin rudalics @ 2014-02-26 10:16 UTC (permalink / raw)
  To: Damien Cassou; +Cc: 16874

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





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-02-25  9:06 bug#16874: 24.3.50; Regression in active window detection Damien Cassou
  2014-02-25 16:18 ` Eli Zaretskii
  2014-02-26 10:16 ` martin rudalics
@ 2014-03-07  6:31 ` Donald Curtis
  2014-03-08  0:25   ` Stefan Monnier
  2 siblings, 1 reply; 9+ messages in thread
From: Donald Curtis @ 2014-03-07  6:31 UTC (permalink / raw)
  To: rudalics; +Cc: 16874, damien.cassou

[-- Attachment #1: Type: text/plain, Size: 886 bytes --]

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.

[-- Attachment #2: Type: text/html, Size: 1058 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-03-07  6:31 ` Donald Curtis
@ 2014-03-08  0:25   ` Stefan Monnier
  2014-03-08  1:53     ` Donald Curtis
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2014-03-08  0:25 UTC (permalink / raw)
  To: Donald Curtis; +Cc: 16874, damien.cassou

> 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





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-03-08  0:25   ` Stefan Monnier
@ 2014-03-08  1:53     ` Donald Curtis
  2014-03-18 22:18       ` Juanma Barranquero
  0 siblings, 1 reply; 9+ messages in thread
From: Donald Curtis @ 2014-03-08  1:53 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 16874, damien.cassou

[-- Attachment #1: Type: text/plain, Size: 755 bytes --]

Cool thanks for the pre redisplay suggestion.
On Mar 7, 2014 4:26 PM, "Stefan Monnier" <monnier@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
>

[-- Attachment #2: Type: text/html, Size: 1073 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16874: 24.3.50; Regression in active window detection
  2014-03-08  1:53     ` Donald Curtis
@ 2014-03-18 22:18       ` Juanma Barranquero
  0 siblings, 0 replies; 9+ messages in thread
From: Juanma Barranquero @ 2014-03-18 22:18 UTC (permalink / raw)
  To: Donald Curtis; +Cc: Damien Cassou, 16874

tags 16874 notabug
close 16874
quit

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





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-03-18 22:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-25  9:06 bug#16874: 24.3.50; Regression in active window detection Damien Cassou
2014-02-25 16:18 ` Eli Zaretskii
2014-02-25 16:28   ` Damien Cassou
2014-02-25 17:47     ` Eli Zaretskii
2014-02-26 10:16 ` martin rudalics
2014-03-07  6:31 ` Donald Curtis
2014-03-08  0:25   ` Stefan Monnier
2014-03-08  1:53     ` Donald Curtis
2014-03-18 22:18       ` Juanma Barranquero

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).