unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: martin rudalics <rudalics@gmx.at>
Cc: Eli Zaretskii <eliz@gnu.org>, dancol@dancol.org, emacs-devel@gnu.org
Subject: Re: Can we make set_point_both less expensive?
Date: Thu, 19 Mar 2015 09:41:42 -0400	[thread overview]
Message-ID: <jwvr3sl6rin.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <550A7FFB.7040502@gmx.at> (martin rudalics's message of "Thu, 19 Mar 2015 08:51:23 +0100")

>>> The loop wouldn't be "an error in any case".  It would be the result of
>>> an interaction of the function on the hook and the display engine.
>> Right, but such an interaction is undesirable, so it would reflect
>> a misbehavior, i.e. an error.
> In my experience errors in hooks are a pain to detect and debug.

Agreed.

> So I'd rather try to inhibit potential misbehavior than to fix it.

Not running the hook a second time (like we do now) doesn't inhibit this
bad interaction.
And I'm not sure how we could actually inhibit this bad interaction.

> I would have "4" (which presumably would happen around the time
> mark_window_display_accurate is run) call a different function so that
> the callee is aware of (1) whether the window's point/start/end
> positions are valid and (2) the fact that redisplay might not call it
> again before the end of the present redisplay cycle.

Sounds fine.  It would also solve the issue of changing the API so the
function can indicate whether a full redisplay is needed.

Tho, I'd expect that this function will need/want to do exactly the same
as pre-redisplay-function, so maybe keeping a single function (but
providing it with some extra argument/data to distinguish the two cases
if/when needed) would work better.

And it still wouldn't prevent bad interactions (this new hook could
still move point out of the window), of course.


        Stefan



  reply	other threads:[~2015-03-19 13:41 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-15 19:53 Can we make set_point_both less expensive? Daniel Colascione
2015-03-16  3:02 ` Stefan Monnier
2015-03-16  3:32   ` Daniel Colascione
2015-03-16 12:49     ` Stefan Monnier
2015-03-16 16:24       ` Eli Zaretskii
2015-03-16 17:42         ` Stefan Monnier
2015-03-16 18:03         ` Artur Malabarba
2015-03-16  3:48   ` Eli Zaretskii
2015-03-16 12:47     ` Stefan Monnier
2015-03-16 16:23       ` Eli Zaretskii
2015-03-16 17:36         ` Stefan Monnier
2015-03-16 18:05           ` Eli Zaretskii
2015-03-16 18:18             ` Daniel Colascione
2015-03-16 18:27               ` Eli Zaretskii
2015-03-16 18:31                 ` Daniel Colascione
2015-03-16 19:42                   ` Eli Zaretskii
2015-03-16 20:43                     ` Daniel Colascione
2015-03-16 20:48                       ` Lennart Borgman
2015-03-16 20:53                         ` Daniel Colascione
2015-03-16 22:00                           ` Stefan Monnier
2015-03-17  7:08                       ` Eli Zaretskii
     [not found]                     ` <<5507408D.1040104@dancol.org>
     [not found]                       ` <<83h9tkyucg.fsf@gnu.org>
2015-03-17 15:11                         ` Drew Adams
2015-03-16 18:57             ` Stefan Monnier
2015-03-17 10:25               ` martin rudalics
2015-03-17 15:38                 ` Stefan Monnier
2015-03-17 19:27                   ` martin rudalics
2015-03-17 21:37                     ` Stefan Monnier
2015-03-18  7:36                       ` martin rudalics
2015-03-18 12:55                         ` Stefan Monnier
2015-03-18 19:05                           ` martin rudalics
2015-03-18 19:24                             ` Stefan Monnier
2015-03-19  7:51                               ` martin rudalics
2015-03-19 13:41                                 ` Stefan Monnier [this message]
2015-03-20  8:08                                   ` martin rudalics
2015-03-20 14:14                                     ` Stefan Monnier
2015-03-20 14:20                                       ` Lennart Borgman
2015-03-20 14:32                                       ` Eli Zaretskii
2015-03-20 14:48                                       ` martin rudalics
2015-03-20 15:08                                         ` Eli Zaretskii
2015-03-20 17:57                                           ` Stefan Monnier
2015-03-20 20:52                                             ` Eli Zaretskii
2015-03-20 21:50                                               ` Stefan Monnier
2015-03-21  7:32                                                 ` Eli Zaretskii
2015-03-21  9:58                                                   ` martin rudalics
2015-03-21 10:43                                                     ` Eli Zaretskii
2015-03-21 12:30                                                       ` martin rudalics
2015-03-21 12:45                                                         ` Eli Zaretskii
2015-03-20 19:53                                           ` martin rudalics
2015-03-20 21:19                                             ` Eli Zaretskii
2015-03-20 21:53                                               ` Stefan Monnier
2015-03-21  7:38                                                 ` Eli Zaretskii
2015-03-21  9:59                                                   ` martin rudalics
2015-03-21 10:46                                                     ` Eli Zaretskii
2015-03-21 10:56                                                       ` Eli Zaretskii
2015-03-21 12:31                                                       ` martin rudalics
2015-03-21 14:03                                                       ` Stefan Monnier
2015-03-21 14:44                                                         ` Eli Zaretskii
2015-03-21 17:28                                                           ` Stefan Monnier
2015-03-21 18:28                                                             ` Eli Zaretskii
2015-03-21 22:14                                                               ` Stefan Monnier
2015-03-22 14:11                                                                 ` martin rudalics
2015-03-22 22:25                                                                   ` Stefan Monnier
2015-03-21 13:59                                                   ` Stefan Monnier
2015-03-21 14:35                                                     ` Stefan Monnier
2015-03-21 14:47                                                       ` Eli Zaretskii
2015-03-21 17:10                                                         ` Stefan Monnier
2015-03-21 17:14                                                           ` Eli Zaretskii
2015-03-21 22:12                                                             ` Stefan Monnier
2015-03-22  3:34                                                               ` Eli Zaretskii
2015-03-22 13:58                                                                 ` Stefan Monnier
2015-03-22 17:41                                                                   ` Eli Zaretskii
2015-03-22 22:23                                                                     ` Stefan Monnier
2015-03-23 15:31                                                                       ` Eli Zaretskii
2015-03-23 19:27                                                                         ` Stefan Monnier
2015-03-23 19:28                                                                         ` Stefan Monnier
2015-03-23 19:39                                                                           ` Eli Zaretskii
2015-03-23 21:37                                                                             ` Stefan Monnier
2015-03-21 14:42                                                     ` Eli Zaretskii
2015-03-21  9:58                                                 ` martin rudalics
2015-03-21 14:10                                                   ` Stefan Monnier
2015-03-21  9:58                                               ` martin rudalics
2015-03-21 10:42                                                 ` Eli Zaretskii
2015-03-21 12:30                                                   ` martin rudalics
2015-03-21 12:45                                                     ` Eli Zaretskii
2015-03-20 17:59                                         ` Stefan Monnier
2015-03-20 19:53                                           ` martin rudalics
2015-03-17 14:29       ` Richard Stallman
2015-03-17 15:15         ` Yuri Khan
2015-03-17 15:33           ` Eli Zaretskii
2015-03-18 12:00           ` Richard Stallman

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvr3sl6rin.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=dancol@dancol.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rudalics@gmx.at \
    /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 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).