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: Wed, 18 Mar 2015 15:24:35 -0400	[thread overview]
Message-ID: <jwvh9tiruf1.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <5509CC67.5010207@gmx.at> (martin rudalics's message of "Wed, 18 Mar 2015 20:05:11 +0100")

>> We don't have to have an endless loop.  We can decide to stop the loop
>> at any point.   Since such inf-loop would be an error in any case it's
>> perfectly OK to end up with an "incorrect" display.
> 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.

>> Currently we decide to stop the loop before it can even start, so we end
>> up with an incorrect display even if there would not be any such
>> inf-looping.
> I'd be among the first to appreciate a hook that is run once after the
> display engine has established new window-start/-end/-point positions.
> But having the display engine potentially call that hook again and again
> would scare me.

I don't want an inf-loop either.
Basically, I'd want something like:
1- pre-redisplay-function
2- do redisplay
3- point is out of the window, so move point
4- pre-redisplay-function again
5- do redisplay again
6- point is out of the window again, so move point again but without
   going through a new redisplay loop (might want to record the problem
   in *Messages* instead)

tho the exact behavior of 6 is not very important to me (as long as
it doesn't loop indefinitely).

Also, step (4) will often do nothing in which case we should be able to
skip 5 and 6.  For that we might need to slightly change
pre-redisplay-function by making it return whether something was changed
or not.


        Stefan



  reply	other threads:[~2015-03-18 19:24 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 [this message]
2015-03-19  7:51                               ` martin rudalics
2015-03-19 13:41                                 ` Stefan Monnier
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=jwvh9tiruf1.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).