From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 19576@debbugs.gnu.org, andlind@gmail.com, juri@linkov.net
Subject: bug#19576: write-file writes the wrong buffer
Date: Sat, 21 Nov 2015 15:56:58 +0000 [thread overview]
Message-ID: <20151121155658.GA3636@acm.fritz.box> (raw)
In-Reply-To: <83k2pb4mc9.fsf@gnu.org>
Hello, Eli.
On Sat, Nov 21, 2015 at 01:35:02PM +0200, Eli Zaretskii wrote:
> > Date: Thu, 19 Nov 2015 18:03:39 +0200
> > From: Eli Zaretskii <eliz@gnu.org>
> > Cc: 19576@debbugs.gnu.org, andlind@gmail.com, juri@linkov.net
> > > Date: Wed, 18 Nov 2015 23:23:04 +0000
> > > Cc: martin rudalics <rudalics@gmx.at>, juri@linkov.net, andlind@gmail.com,
> > > 19576@debbugs.gnu.org
> > > From: Alan Mackenzie <acm@muc.de>
> > > > Could you try a simpler patch below? It seems to fix both your test
> > > > case and the one originally reported in bug#21333.
> > > It does indeed fix my test case (I haven't tried it on #21333). However
> > > it violates the specification of window-size-change-functions, which
> > > says that the hook is called _before_ redisplay, not after it has
> > > started. I suppose one could argue over what "redisplay" means here,
> > > but intuitively I would say it is the putting of glyphs into matrices.
> > "Redisplay" is indeed not defined well enough, but the only reasonable
> > interpretation of "before redisplay" is that it happens before the
> > call to redisplay_internal. And this is false for your suggested
> > solution as well. It is false even by your definition, because
> > prepare_menu_bars already manipulates the glyph matrices, the ones it
> > creates for the tool bar (and also menu bar on some display types).
> > And display_echo_area also manipulates glyph matrices (it calls
> > try_window).
> > Which is only logical for an event that by itself is triggered as part
> > of redisplay! It's redisplay that decides to resize the mini-window,
> > so calling the hook after that decision _cannot_ possibly count as
> > being "before redisplay".
> > IOW, once we, by popular demand, decided to call
> > window-size-change-functions when the mini-window is resized, we
> > invalidated that specification. All the other callers of this hook
> > are not part of a redisplay cycle, but this one is, and cannot be
> > anywhere else.
> > So no matter what change we eventually install, the documentation of
> > the hook needs to be amended to say that it's called "before redisplay
> > or at the beginning of a redisplay cycle", and maybe also mention that
> > the second case is when the mini-window is resized.
> No further comments, so I've committed the changes I posted here
> earlier. I also modified the documentation to be consistent with what
> the code does.
Thanks.
> Please tell me if this bug and bug#21333 could now be closed, or if
> there are any leftovers.
I don't think this fix concerns #19576. The discussion of #21869 seems,
somehow, to have moved to here.
But I think that #21333 can be closed, and #21869 certainly can be; both
of these were about window-size-change-functions not getting called for
echo area size changes.
> Thanks.
Ditto!
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2015-11-21 15:56 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-12 23:37 bug#19576: 24.4; Broken function in `window-size-change-functions' cause `write-file' to write the wrong buffer Anders Lindgren
2015-11-16 19:18 ` bug#19576: write-file writes " Anders Lindgren
2015-11-16 19:46 ` martin rudalics
2015-11-16 20:05 ` Anders Lindgren
2015-11-17 0:55 ` Juri Linkov
2015-11-17 20:02 ` Alan Mackenzie
2015-11-17 21:52 ` Anders Lindgren
2015-11-18 0:27 ` Juri Linkov
2015-11-18 1:37 ` Drew Adams
2015-11-18 7:54 ` Anders Lindgren
2015-11-18 17:45 ` Eli Zaretskii
2015-11-18 23:23 ` Alan Mackenzie
2015-11-19 16:03 ` Eli Zaretskii
2015-11-20 8:22 ` martin rudalics
2015-11-20 10:17 ` Eli Zaretskii
2015-11-20 10:48 ` martin rudalics
2015-11-20 11:16 ` Eli Zaretskii
2015-11-20 11:25 ` martin rudalics
2015-11-20 11:40 ` Eli Zaretskii
2015-11-20 14:21 ` martin rudalics
2015-11-20 14:54 ` Eli Zaretskii
2015-11-21 11:35 ` Eli Zaretskii
2015-11-21 15:56 ` Alan Mackenzie [this message]
2015-11-21 16:01 ` Eli Zaretskii
2015-11-21 16:49 ` Anders Lindgren
2015-11-21 17:10 ` Eli Zaretskii
2015-11-21 18:27 ` martin rudalics
2015-11-21 18:33 ` Eli Zaretskii
2015-11-21 18:44 ` martin rudalics
2015-11-21 19:08 ` Eli Zaretskii
2015-11-21 20:33 ` Anders Lindgren
2015-11-22 10:44 ` martin rudalics
2015-11-22 15:36 ` Eli Zaretskii
2015-11-21 16:02 ` bug#21333: " Eli Zaretskii
2015-11-22 11:08 ` martin rudalics
2015-11-22 15:39 ` Eli Zaretskii
2015-11-22 17:46 ` martin rudalics
2015-11-23 18:21 ` Eli Zaretskii
2015-11-23 18:28 ` Alan Mackenzie
2015-11-24 8:27 ` martin rudalics
2015-11-24 16:19 ` Eli Zaretskii
2015-11-28 10:26 ` martin rudalics
2015-11-28 11:27 ` Eli Zaretskii
2015-11-30 13:30 ` martin rudalics
2015-11-30 16:28 ` Eli Zaretskii
2015-11-30 17:27 ` martin rudalics
2015-11-19 8:13 ` martin rudalics
2015-11-19 15:45 ` Eli Zaretskii
2015-11-20 8:22 ` martin rudalics
2015-11-20 8:34 ` Eli Zaretskii
2015-11-20 10:25 ` martin rudalics
2015-11-20 11:15 ` Eli Zaretskii
2015-11-20 11:25 ` martin rudalics
2015-11-20 11:39 ` Eli Zaretskii
2015-11-20 14:21 ` martin rudalics
2015-11-20 11:32 ` Alan Mackenzie
2015-11-20 11:41 ` Eli Zaretskii
2015-11-17 21:15 ` Anders Lindgren
2015-11-18 17:52 ` Eli Zaretskii
2015-11-18 19:23 ` Anders Lindgren
2015-11-18 20:52 ` Eli Zaretskii
2015-11-19 2:06 ` John Wiegley
2015-11-19 6:54 ` Anders Lindgren
2015-11-19 15:31 ` Eli Zaretskii
2015-11-22 18:44 ` Johan Bockgård
2015-11-22 18:55 ` Johan Bockgård
2015-11-22 19:02 ` Eli Zaretskii
2015-11-17 8:34 ` martin rudalics
2015-11-17 19:08 ` Anders Lindgren
2015-11-18 17:24 ` Eli Zaretskii
2015-11-19 8:12 ` martin rudalics
2015-11-19 15:44 ` Eli Zaretskii
2015-11-20 8:22 ` martin rudalics
2015-11-20 8:32 ` Eli Zaretskii
[not found] ` <mailman.9.1447720293.31583.bug-gnu-emacs@gnu.org>
2015-11-17 22:10 ` Alan Mackenzie
2015-11-18 7:09 ` martin rudalics
2015-11-20 20:17 ` bug#19576: Fixed: " Anders Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151121155658.GA3636@acm.fritz.box \
--to=acm@muc.de \
--cc=19576@debbugs.gnu.org \
--cc=andlind@gmail.com \
--cc=eliz@gnu.org \
--cc=juri@linkov.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.