From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jorgen =?UTF-8?Q?Sch=C3=A4fer?= Newsgroups: gmane.emacs.bugs Subject: bug#23098: 25.0.92; (recenter -1) can leave point in the middle of the window Date: Mon, 28 Mar 2016 13:10:23 +0000 Message-ID: References: <87r3f19gx0.fsf@loki.jorgenschaefer.de> <83d1ql2ebx.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a114195144cd6f7052f1ba364 X-Trace: ger.gmane.org 1459170684 1319 80.91.229.3 (28 Mar 2016 13:11:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 28 Mar 2016 13:11:24 +0000 (UTC) Cc: 23098@debbugs.gnu.org To: John Wiegley Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Mar 28 15:11:15 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1akWws-0005VC-8V for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Mar 2016 15:11:14 +0200 Original-Received: from localhost ([::1]:40933 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akWwq-000877-V8 for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Mar 2016 09:11:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46126) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akWwl-00086w-SO for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 09:11:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akWwg-0004ne-Sx for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 09:11:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:43832) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akWwg-0004na-P0 for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 09:11:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1akWwg-0008Al-E5 for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 09:11:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jorgen =?UTF-8?Q?Sch=C3=A4fer?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Mar 2016 13:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23098 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23098-submit@debbugs.gnu.org id=B23098.145917064131388 (code B ref 23098); Mon, 28 Mar 2016 13:11:02 +0000 Original-Received: (at 23098) by debbugs.gnu.org; 28 Mar 2016 13:10:41 +0000 Original-Received: from localhost ([127.0.0.1]:40959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akWwK-0008AC-Qw for submit@debbugs.gnu.org; Mon, 28 Mar 2016 09:10:41 -0400 Original-Received: from mail-lf0-f47.google.com ([209.85.215.47]:34241) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akWwJ-0008A0-LH for 23098@debbugs.gnu.org; Mon, 28 Mar 2016 09:10:40 -0400 Original-Received: by mail-lf0-f47.google.com with SMTP id c62so89157579lfc.1 for <23098@debbugs.gnu.org>; Mon, 28 Mar 2016 06:10:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SohD3ES3H18fiRi3F+4ODbAcv3yBjeZMzXLyf4aP/Cs=; b=JB8SykppmWv9LK059CqyiJs5OE30F1URllP4JQ4VS8rC7MvoUp1/WQ6/Py3lO7nn7d Z6IXzqcLke7kpGM8zzlMVU5JWlkIcTs2D2dYoCB0RZHAVHan96HFbJcgfQ8SbEif5PZ4 HyZBz0EpXq8BuYKhJHTxdq2VxonUJPonHnizlJmgUm2K5lWRJ7PcQvr1yBObfskqd1FB pWoZN7dJV5hmSNRrX85yswzVW3nslzpOy392g7afnOXnrrNaWHkSEtDBuh/vTOMtKHwE bRoNcn59mdqtjle4LxFVkOzthgU0is1QkiYQ4TK5T8+97aJofcY6zXDLuSnCrfn+Biq2 DX/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SohD3ES3H18fiRi3F+4ODbAcv3yBjeZMzXLyf4aP/Cs=; b=Y/xmUlXp8UsyCgszOnQeZGV8N3l7wJJeWemJiJuzZRlhm9Dc5TWYogRwKIBGo6YWmS cXL71rsOs+gZDuhyl7Mae+dwGa4bxIzqt7FxlnuJCGc3rSSLQJPxC5nuRtNEOx+1ZxWP Jy5XW/52drnyXVk09L6tq+iRQdqFpW6n5zxovkQCaJd70FpNYGp3AjvJbb5uGu5KsdQb oDIVmjU4/HW0co/ERrb/Pxvi0ZsedPhHPrltn9lde6O4UAnnHchKMBm8Uj6VzHZRskkJ df7vDhNruZM7yqx71ew+G4faxLIV37N6Faa0Oyg+oJWLyDOcNkiuTT7ahaDg1iyfMNF9 lMTA== X-Gm-Message-State: AD7BkJIHHGXfCK+Zvha+RCXbTwwQENmkZHlp7WM3R4G2yBLrz5C7Gv2bMNG8Jc+snpiqAYuE49SsEkbtnEPgfA== X-Received: by 10.25.80.1 with SMTP id e1mr7905984lfb.165.1459170633895; Mon, 28 Mar 2016 06:10:33 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:115638 Archived-At: --001a114195144cd6f7052f1ba364 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, Mar 27, 2016 at 12:33 AM John Wiegley wrote: > So is the bug here that it can't be done, or that (recenter -1) by itself > doesn't do what you think it should? As an end user, I expect `recenter-to-bottom' to cycle the line with point on it between the top, middle and bottom of the current window. The problem described in this report means that Emacs does not actually do this =E2=80= =93 the line with point on it does not ever go even near the bottom of the window. There is a technical reason for this problem: Emacs can not, actually, display a multi-line overlay only partly. This is a shortcoming of Emacs, but I assume this is non-trivial to fix. When Emacs notices it can not fulfill a scroll request, it will use a fall back algorithm. When I, as a user, try to display a line at the bottom of a window, it would appear to me that trying to keep the line as close to the bottom as possible instead of the middle of the window is a better fall back. Setting scroll-conservatively to a large value is a way for the user to work around this behavior. But this workaround also affects all the other times a user tries to scroll the buffer. So this is not a fix, it's a workaround with unintended and rather large side effects completely unrelated to this. A similar problems exist for programmers trying to implement a specific behavior in buffers without prescribing to users how their normal scrolling behaves. This situation strikes me as an issue Emacs could address. Regards, Jorgen --001a114195144cd6f7052f1ba364 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sun, Mar 27= , 2016 at 12:33 AM John Wiegley <j= wiegley@gmail.com> wrote:
So is the bug here that it can't be done, or that (recenter -1) by itse= lf
doesn't do what you think it should?

As= an end user, I expect `recenter-to-bottom' to cycle the line with poin= t on it between the top, middle and bottom of the current window. The probl= em described in this report means that Emacs does not actually do this =E2= =80=93 the line with point on it does not ever go even near the bottom of t= he window.

There is a technical reason for this pr= oblem: Emacs can not, actually, display a multi-line overlay only partly. T= his is a shortcoming of Emacs, but I assume this is non-trivial to fix. Whe= n Emacs notices it can not fulfill a scroll request, it will use a fall bac= k algorithm.

When I, as a user, try to display a l= ine at the bottom of a window, it would appear to me that trying to keep th= e line as close to the bottom as possible instead of the middle of the wind= ow is a better fall back.

Setting scroll-conservat= ively to a large value is a way for the user to work around this behavior. = But this workaround also affects all the other times a user tries to scroll= the buffer. So this is not a fix, it's a workaround with unintended an= d rather large side effects completely unrelated to this.

A similar problems exist for programmers trying to implement a spec= ific behavior in buffers without prescribing to users how their normal scro= lling behaves.

This situation strikes me as an iss= ue Emacs could address.

Regards,
Jorgen<= /div>
--001a114195144cd6f7052f1ba364--