GNU bug report logs - #23579
25.1.50; window-configuration-change-hook not invoked when window resized

Previous Next

Package: emacs;

Reported by: "Steve Purcell" <steve <at> sanityinc.com>

Date: Thu, 19 May 2016 04:44:02 UTC

Severity: minor

Tags: notabug

Found in version 25.1.50

Done: Glenn Morris <rgm <at> gnu.org>

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 23579 in the body.
You can then email your comments to 23579 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#23579; Package emacs. (Thu, 19 May 2016 04:44:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Steve Purcell" <steve <at> sanityinc.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 19 May 2016 04:44:02 GMT) Full text and rfc822 format available.

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

From: "Steve Purcell" <steve <at> sanityinc.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.1.50; window-configuration-change-hook not invoked when window
 resized
Date: Thu, 19 May 2016 06:42:57 +0200

Under OS X "El Capitan" it's possible to split a Space between two
full-screen applications, with a draggable divider between them.

When Emacs is one of those split-screen applications, it does not
trigger window-configuration-change-hook when the divider has been
dragged, even though the net result is that the window configuration
changed.

This means that user or package code which relies on the hook is not
triggered reliably, leading to unexpected behaviour.






In GNU Emacs 25.1.50.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21
Version 10.9.5 (Build 13F1603))
of 2016-05-07 built on builder10-9.local
Windowing system distributor 'Apple', version 10.3.1404
Configured using:
'configure --with-ns '--enable-locallisppath=/Library/Application
Support/Emacs/${version}/site-lisp:/Library/Application
Support/Emacs/site-lisp''

Configured features:
NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US
  locale-coding-system: utf-8

Major mode: Compilation

Minor modes in effect:
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  company-quickhelp-mode: t
  shell-dirtrack-mode: t
  global-flycheck-mode: t
  global-company-mode: t
  company-mode: t
  diff-auto-refine-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  ipretty-mode: t
  global-rinari-mode: t
  global-whitespace-cleanup-mode: t
  whitespace-cleanup-mode: t
  guide-key-mode: t
  hes-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  delete-selection-mode: t
  cua-mode: t
  show-paren-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-auto-revert-mode: t
  electric-pair-mode: t
  savehist-mode: t
  desktop-save-mode: t
  winner-mode: t
  ido-ubiquitous-mode: t
  ido-everywhere: t
  recentf-mode: t
  global-anzu-mode: t
  anzu-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  menu-bar-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
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: (only . t)

Load-path shadows:
/Users/steve/.emacs.d/elpa/seq-20151121.1017/seq hides
/Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/seq

Features:
(shadow sort mail-extr emacsbug sendmail network-stream starttls
url-cache github-clone gh-repos gh-users gh-oauth gh-api logito gh-cache
pcache eieio-base gh-auth gh-common gh-url eieio-compat gh-profile
bookmark tabify org-capture mmm-mode mmm-univ mmm-class yaml-mode
magit-extras magit-blame magit-stash magit-bisect magit-remote
magit-commit magit-sequence magit magit-apply magit-wip magit-log
magit-diff smerge-mode magit-core magit-autorevert magit-process
magit-popup magit-mode magit-git crm magit-section magit-utils
git-commit log-edit message rfc822 mml mml-sec epa epg mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader pcvs-util add-log
with-editor async-bytecomp async tramp-sh tramp tramp-compat
tramp-loaddefs trampver haskell-doc inf-haskell haskell-decl-scan
help-fns smex executable company-quickhelp pos-tip company-robe
rspec-mode robe url-http tls gnutls url-auth mail-parse rfc2231 url-gw
nsm puny url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf mailcap gitignore-mode conf-mode mmm-erb
mmm-region mmm-utils tagedit sgml-mode markdown-mode company-ghci
flycheck-haskell org-element org-rmail org-mhe org-irc org-info org-gnus
gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils
org-docview doc-view image-mode org-bibtex bibtex org-bbdb org-w3m
ob-sqlite ob-sh shell ob-ruby ob-python ob-octave ob-ledger ob-latex
ob-gnuplot ob-dot ob-ditaa ob-R org-clock org org-macro org-footnote
org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint
ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar
cal-loaddefs flycheck-package lisp-mnt flycheck-stack flycheck-hdevtools
flycheck find-func subr-x company-dabbrev-code company-dabbrev
company-capf company vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs
vc-rcs diff-hl-dired dired-sort dired+ image-dired format-spec
image-file dired-x dired-aux dired dired-loaddefs cap-words superword
subword haskell haskell-completions haskell-load haskell-commands
highlight-uses-mode haskell-modules haskell-sandbox haskell-repl
haskell-debug haskell-interactive-mode haskell-presentation-mode
haskell-collapse haskell-navigate-imports haskell-compile
haskell-process haskell-session url-util haskell-hoogle haskell-mode
haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports haskell-compat
haskell-complete-module noutline outline flymake dabbrev
haskell-customize disp-table vc-git elisp-slime-nav etags xref project
redshank skeleton rainbow-delimiters aggressive-indent highlight-quoted
nlinum linum indent-guide highlight-symbol diff-hl vc-dir ewoc vc
vc-dispatcher diff-mode bug-reference paredit-everywhere paredit
goto-addr vc-darcs xml haskell-cabal haskell-utils init init-locales
mm-util mail-prsvr session sanityinc-tomorrow-bright-theme
color-theme-sanityinc-tomorrow server jka-compr init-ledger init-dash
init-misc init-common-lisp init-clojure-cider init-clojure init-slime
init-lisp cl-lib-highlight auto-compile packed ipretty pp init-paredit
init-sql init-rails rinari json map jump inflections findr
ruby-compilation which-func imenu pcomplete inf-ruby compile comint
ansi-color ruby-mode smie init-ruby-mode derived init-elm init-haskell
init-python-mode init-haml init-css init-html init-nxml init-org
init-php init-javascript easy-mmode init-erlang erlang-start init-csv
init-markdown init-textile init-crontab init-compile init-github
init-git init-darcs init-vc init-fci init-whitespace
whitespace-cleanup-mode whitespace init-editing-utils guide-key s popwin
dash highlight-escape-sequences whole-line-or-region page-break-lines
delsel cua-base paren undo-tree diff autorevert filenotify elec-pair
init-mmm mmm-auto mmm-vars mmm-compat init-fonts init-sessions savehist
desktop frameset init-windows windmove switch-window quail winner ring
init-company init-hippie-expand init-ido ido-ubiquitous
ido-completing-read+ cus-edit cus-start cus-load ido init-recentf
recentf tree-widget wid-edit init-flycheck init-ibuffer ibuf-macs
init-uniquify init-grep init-isearch diminish anzu thingatpt init-dired
init-gui-frames init-osx-keys edmacro kmacro init-themes init-xterm
init-frame-hooks init-exec-path exec-path-from-shell init-elpa fullframe
finder-inf rx slime-autoloads info package epg-config url-handlers
url-parse auth-source eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt bytecomp byte-compile cl-extra
help-mode easymenu cconv init-site-lisp cl-seq cl gv cl-loaddefs pcase
cl-lib init-utils init-compat init-benchmarking advice time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev
obarray minibuffer cl-preloaded 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 kqueue
cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 692332 301036)
(symbols 48 53767 1)
(miscs 40 17853 2683)
(strings 32 154323 254226)
(string-bytes 1 4386329)
(vectors 16 81878)
(vector-slots 8 1886617 151604)
(floats 8 1133 1466)
(intervals 56 16673 241)
(buffers 976 57))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23579; Package emacs. (Thu, 19 May 2016 13:03:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Steve Purcell <steve <at> sanityinc.com>, 23579 <at> debbugs.gnu.org
Subject: Re: bug#23579: 25.1.50; window-configuration-change-hook not invoked
 when window resized
Date: Thu, 19 May 2016 15:02:14 +0200
> Under OS X "El Capitan" it's possible to split a Space between two
> full-screen applications, with a draggable divider between them.
>
> When Emacs is one of those split-screen applications, it does not
> trigger window-configuration-change-hook when the divider has been
> dragged, even though the net result is that the window configuration
> changed.

Recently I have tried to make the distinction between size and
configuration changes more precise.  Please have a look at the Elisp
manual.  The scenario you describe above does not change the
configuration of any of the involved frames but only their sizes.

> This means that user or package code which relies on the hook is not
> triggered reliably, leading to unexpected behaviour.

Indeed: For the given scenario you have to add a function to
‘window-size-change-functions’.

martin





Severity set to 'minor' from 'normal' Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 19 May 2016 15:51:01 GMT) Full text and rfc822 format available.

Added tag(s) notabug. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 19 May 2016 15:51:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23579; Package emacs. (Thu, 19 May 2016 19:51:02 GMT) Full text and rfc822 format available.

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

From: Steve Purcell <steve <at> sanityinc.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 23579 <at> debbugs.gnu.org
Subject: Re: bug#23579: 25.1.50;
 window-configuration-change-hook not invoked when window resized
Date: Fri, 20 May 2016 07:50:08 +1200
> On 20 May 2016, at 01:02, martin rudalics <rudalics <at> gmx.at> wrote:
> > This means that user or package code which relies on the hook is not
> > triggered reliably, leading to unexpected behaviour.
> 
> Indeed: For the given scenario you have to add a function to
> ‘window-size-change-functions’.


Oh, excellent - thanks for that!

Please feel free to close the bug report.



bug closed, send any further explanations to 23579 <at> debbugs.gnu.org and "Steve Purcell" <steve <at> sanityinc.com> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 20 May 2016 15:35:02 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. (Sat, 18 Jun 2016 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 364 days ago.

Previous Next


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