all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Anders Lindgren <andlind@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 16129@debbugs.gnu.org
Subject: bug#16129: 24.3.50; Emacs slow with follow-mode when buffer ends before last window
Date: Tue, 14 Jan 2014 13:34:23 +0100	[thread overview]
Message-ID: <CABr8ebaqMMHp+d_yXsm61hLg2FwHwKt2Xvuy=tYkJdJsdPwaYA@mail.gmail.com> (raw)
In-Reply-To: <83eh4b7t8f.fsf@gnu.org>

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

>
> > Sounds like a good idea to post this feature request. However, being a
> > realist, I doubt that this will happen anytime soon.
>
> You mean, the list of requirements, or their implementation?  I hoped
> the former should not be too hard to come up with, especially for
> someone who is familiar with follow-mode.
>

I mean the implementation -- adding this to the display engine is a major
undertaking. If it gets put on hold, or prove more complicated then
anticipated, I think that we can improve the current implementation with a
relatively small effort.

I think that we can come up with a list of requirements relatively easy.
Basically, it is supposed to do whatever Follow mode does today, with a few
exceptions (well, right now I can only think of one):

* It should be applied to all visible windows where Follow mode is active.
(Follow mode today only act upon the selected window -- Mainly for
efficiency reasons.)


> I would suggest that we also post feature requests for things that would
> > help the situation on a shorter time scale. Primarily, I would like to be
> > able, on a window-by-window basis, control whether or not a window should
> > be recentered, when empty.
>
> What should Emacs do instead of recentering a window?
>

It should keep the window empty.

Follow mode tries to create the illusion of a combining several windows
into one very tall window. When the tail of the buffer doesn't reach the
last window(s), for example when you have opened a very small file, follow
mode wants the remaining window(s) to be empty. Today, Emacs prevents this
by recentering them, breaking the illusion. (This, of course, does not
apply to the first window in a sequence of windows, because then you still
want the normal recentering.) Follow mode, today, sets the window-start to
point-max in those windows whenever it has a chance, to prevent the
recentering.

Stefan wrote:
> The region highlighting
> has been moved to Elisp, and it seems that follow-mode's highlighting
> code seems to interact poorly with the new behavior.
> But the good news is that follow-mode could use the new Elisp
> highlighting to "do it right" (no need to use hacks to try and coerce
> the redisplay to highlight the region over more than one window).

I will look into it the first chance I get! Where is the implementation
located, and what interface do I have to make it appear in more than one
window?

The current Follow mode implementation of getting the highlight region into
more than one window stopped working years ago (when Emacs decided that it
should only show the region in the selected window).

    -- Anders

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

  reply	other threads:[~2014-01-14 12:34 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-13 14:34 bug#16129: 24.3.50; Emacs slow with follow-mode when buffer ends before last window Anders Lindgren
2013-12-13 15:32 ` Eli Zaretskii
2013-12-13 15:36   ` Eli Zaretskii
2013-12-13 16:38 ` Stefan Monnier
2013-12-13 17:55   ` Anders Lindgren
2014-01-02 13:55     ` Anders Lindgren
2014-01-02 18:39       ` Anders Lindgren
2014-01-05 23:13         ` Anders Lindgren
2014-01-06  3:45           ` Eli Zaretskii
2014-01-06  8:20             ` Anders Lindgren
2014-01-06 16:33               ` Eli Zaretskii
2014-01-07  8:13                 ` Anders Lindgren
2014-01-10  9:31                   ` Eli Zaretskii
2014-01-10 18:52                     ` Anders Lindgren
2014-01-10 19:00                       ` Eli Zaretskii
2014-01-13 11:41                         ` Anders Lindgren
2014-01-13 14:47                           ` Stefan Monnier
2014-01-13 16:16                           ` Eli Zaretskii
2014-01-14 12:34                             ` Anders Lindgren [this message]
2014-01-14 16:25                               ` Eli Zaretskii
2014-01-16 12:24                                 ` Anders Lindgren
2014-01-16 14:42                                   ` Stefan Monnier

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='CABr8ebaqMMHp+d_yXsm61hLg2FwHwKt2Xvuy=tYkJdJsdPwaYA@mail.gmail.com' \
    --to=andlind@gmail.com \
    --cc=16129@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /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.