X-Loop: help-debbugs@HIDDEN
Subject: bug#50234: 28.0.50; Horizontal scrolling doesn't keep the point in view
Resent-From: Dima Kogan <dima@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 28 Aug 2021 07:41:01 +0000
Resent-Message-ID: <handler.50234.B.16301364518982 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 50234
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: 50234 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.16301364518982
(code B ref -1); Sat, 28 Aug 2021 07:41:01 +0000
Received: (at submit) by debbugs.gnu.org; 28 Aug 2021 07:40:51 +0000
Received: from localhost ([127.0.0.1]:53333 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1mJsxP-0002Kn-CF
for submit <at> debbugs.gnu.org; Sat, 28 Aug 2021 03:40:51 -0400
Received: from lists.gnu.org ([209.51.188.17]:44410)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <dima@HIDDEN>) id 1mJsxM-0002Kf-EX
for submit <at> debbugs.gnu.org; Sat, 28 Aug 2021 03:40:49 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:60424)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <dima@HIDDEN>)
id 1mJsxM-0002nR-2M
for bug-gnu-emacs@HIDDEN; Sat, 28 Aug 2021 03:40:48 -0400
Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:51185)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <dima@HIDDEN>)
id 1mJsxK-00038J-4m
for bug-gnu-emacs@HIDDEN; Sat, 28 Aug 2021 03:40:47 -0400
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
by mailout.west.internal (Postfix) with ESMTP id 37E683200989
for <bug-gnu-emacs@HIDDEN>; Sat, 28 Aug 2021 03:40:43 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
by compute3.internal (MEProxy); Sat, 28 Aug 2021 03:40:43 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secretsauce.net;
h=from:to:subject:date:message-id:mime-version:content-type; s=
fm1; bh=i2WW8ezNSD6UylriH5fjLpudB4rpRJCi0NiOWwxf6Ck=; b=b/BSyqe8
sd5v+KciP2eve0WBV9twZHUo7KVFgnmam2KWAtUHBy1KVc6s8oVoKz3azEq3A6w7
/gMEz+1JXpcnTmV4XIvfazcAE0wRj6mwY5l1TN7dOl5Oue4RX5yceBSY5/bnnD50
CUIYnIS/lg8Q3cLynv7Fn+vosspjB/P/quufrvIMY5hWl3ODYbWPWwbm9Vf4fJOp
egY2ZE2i/5jTILFAHZZl73VHdWVJ8+fY698m23IIi3wn5vlauKwDPopNx3SoljLM
sVI+2h00ZDxKxGfssraaL1l131SlWgI/3eI1lH3IjAxB1+LQ3X2P642b5rQC3+mK
FfIxk0s+JS9PQw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=content-type:date:from:message-id
:mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender
:x-me-sender:x-sasl-enc; s=fm3; bh=i2WW8ezNSD6UylriH5fjLpudB4rpR
JCi0NiOWwxf6Ck=; b=FwKYT2HionmKv1j1x+9Vx7W19f/EpvbaIEN5qiiICgZAw
odSNgFYSdz+pfNK1Mv7BdUEDVVnvtV0jGUomvG6XagtbKjpIunJcp43QL3AaehrQ
tv4MVgpS2zHMK5vin69OoAEeZUNBbyUjSjbLhPyCjkAhSDK0jgXBJ8BUmjAQNw9x
CP4SJwHPHYtqOGI98GQsAEAouXfSyLI7qDudtCe0Y/bOStjSPFoPr0xJWpbv6H3U
G5/PAwt/KexVwjgdHAIbDlxfz2cGZTLah26IQK8txFSLRM8gNCeasVKL7+Okkobb
dwzCD2wbjKi9EDl59S0AciVOVfWYY4w7i6XH+lEIA==
X-ME-Sender: <xms:eugpYVLPT3UnhN8X1R9yvRMicwMk-u-DFM4lU0CG0oAVmXOHLPWeyQ>
<xme:eugpYRIOzSqwtBz5kLmCbWVfxxoLFEb3iI0EWMYaZGtdiq5ygVcwDNRTw6IwUaOV7
QY_NaHuHszj3mwz>
X-ME-Received: <xmr:eugpYduB6_-3__g4ga3gVfc_HXTPZdZ110uMrlyTJlEoViiuw6lw9LqU_Mz78UbcuwCVjhon4D1-TuGW63J7K1-W_IRLZqX7GUdw8W5wEECra1H2FwI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddugedguddvfecutefuodetggdotefrod
ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
necuuegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkfggtgesthdtredttd
dttdenucfhrhhomhepffhimhgrucfmohhgrghnuceoughimhgrsehsvggtrhgvthhsrghu
tggvrdhnvghtqeenucggtffrrghtthgvrhhnpeffvdffudfhkeffhfeifefhffdvtdfgfe
ejveeuvdefudejjeduveeftdeggeeuvdenucevlhhushhtvghrufhiiigvpedtnecurfgr
rhgrmhepmhgrihhlfhhrohhmpeguihhmrgesshgvtghrvghtshgruhgtvgdrnhgvth
X-ME-Proxy: <xmx:eugpYWZ4uHKCGC6ZGjogtxixTymyZ7gd8XNX0lu-CTsHR88crwINmQ>
<xmx:eugpYcarAkNh8TS1iD_2HYNKe2XVwXUFzUb9a8MYW4HOiYJsgDukOQ>
<xmx:eugpYaCj5X3NrKShuFPUK9p9oYe15MvE5GRh5e7Tgou0n6NOu8k2Ng>
<xmx:eugpYS0xioZwyffrcpftlPzJOkbi_UqFMOGfzu9hgOgp-eNHwI2nVw>
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
<bug-gnu-emacs@HIDDEN>; Sat, 28 Aug 2021 03:40:42 -0400 (EDT)
From: Dima Kogan <dima@HIDDEN>
Date: Sat, 28 Aug 2021 00:40:57 -0700
Message-ID: <87sfyuuid2.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=64.147.123.25; envelope-from=dima@HIDDEN;
helo=wout2-smtp.messagingengine.com
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.6 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.6 (--)
Hi. This is an old bug; I've been observing it for years. I have
C-M-arrowkeys bound to scrolling commands:
(global-set-key [C-M-down] (lambda () (interactive) (let ((scroll-preserve-screen-position nil)) (scroll-up 3))))
(global-set-key [C-M-up] (lambda () (interactive) (let ((scroll-preserve-screen-position nil)) (scroll-up -3))))
(global-set-key [C-M-left] (lambda () (interactive) (let ((scroll-preserve-screen-position nil)) (scroll-left -3))))
(global-set-key [C-M-right] (lambda () (interactive) (let ((scroll-preserve-screen-position nil)) (scroll-left 3))))
The vertical scrolling works as expected: if the point is scrolled off
screen, the point moves to stay in-bounds.
I expect the same from horizontal scrolling, but it doesn't work.
Recipe:
1. emacs -Q --eval '(global-set-key [C-M-right] (lambda () (interactive) (let ((scroll-preserve-screen-position t)) (scroll-left 3))))'
Emacs comes up with the default text in the *scratch* buffer
2. (goto-char (point-min))
Move the point to the beginning of the buffer. (point) evaluates to 1
3. C-M-right
We scroll to the right. The point was on the left edge of the screen
at position 1, which is now out of view. Emacs still draws the point
at the left edge of the screen, implying that the point was moved to
stay in-bounds. But this is not where the point actually is: (point)
still evaluates to 1. I expect (point) to be updated with the new
position
4. C-a
Now, some commands behave strangely. For instance C-a should move to
the start of the line. This is now off-screen, so I would expect
emacs to scroll back so that we can see the beginning of the line.
But emacs does nothing: the point was at position 1, and it was moved
to position 1, so it doesn't see the need to scroll anything.
Thanks!
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Dima Kogan <dima@HIDDEN> Subject: bug#50234: Acknowledgement (28.0.50; Horizontal scrolling doesn't keep the point in view) Message-ID: <handler.50234.B.16301364518982.ack <at> debbugs.gnu.org> References: <87sfyuuid2.fsf@HIDDEN> X-Gnu-PR-Message: ack 50234 X-Gnu-PR-Package: emacs Reply-To: 50234 <at> debbugs.gnu.org Date: Sat, 28 Aug 2021 07:41:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 50234 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 50234: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D50234 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#50234: 28.0.50; Horizontal scrolling doesn't keep the point in view
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 28 Aug 2021 08:37:01 +0000
Resent-Message-ID: <handler.50234.B50234.163013976614487 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50234
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Dima Kogan <dima@HIDDEN>
Cc: 50234 <at> debbugs.gnu.org
Received: via spool by 50234-submit <at> debbugs.gnu.org id=B50234.163013976614487
(code B ref 50234); Sat, 28 Aug 2021 08:37:01 +0000
Received: (at 50234) by debbugs.gnu.org; 28 Aug 2021 08:36:06 +0000
Received: from localhost ([127.0.0.1]:53364 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1mJtoo-0003lR-UN
for submit <at> debbugs.gnu.org; Sat, 28 Aug 2021 04:36:06 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50112)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <eliz@HIDDEN>)
id 1mJtof-0003kf-JI; Sat, 28 Aug 2021 04:35:57 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:57326)
by eggs.gnu.org with esmtp (Exim 4.90_1)
(envelope-from <eliz@HIDDEN>)
id 1mJtoa-0006ok-7n; Sat, 28 Aug 2021 04:35:48 -0400
Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1632
helo=home-c4e4a596f7)
by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1mJtoZ-0002Gw-Qq; Sat, 28 Aug 2021 04:35:48 -0400
Date: Sat, 28 Aug 2021 11:35:32 +0300
Message-Id: <83o89inezv.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87sfyuuid2.fsf@HIDDEN> (message from Dima Kogan on Sat,
28 Aug 2021 00:40:57 -0700)
References: <87sfyuuid2.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
tags 50234 wishlist
thanks
> From: Dima Kogan <dima@HIDDEN>
> Date: Sat, 28 Aug 2021 00:40:57 -0700
>
> Hi. This is an old bug; I've been observing it for years.
It isn't a bug, it might be a missing feature. Horizontal scroll
commands were never coded to support scroll-preserve-screen-position.
Only the vertical scroll commands support it.
The documentation of scroll-preserve-screen-position says:
Scroll commands should have the ‘scroll-command’ property
on their symbols to be controlled by this variable.
But:
(get 'scroll-left 'scroll-command) => nil
> 1. emacs -Q --eval '(global-set-key [C-M-right] (lambda () (interactive) (let ((scroll-preserve-screen-position t)) (scroll-left 3))))'
>
> Emacs comes up with the default text in the *scratch* buffer
>
> 2. (goto-char (point-min))
>
> Move the point to the beginning of the buffer. (point) evaluates to 1
>
> 3. C-M-right
>
> We scroll to the right. The point was on the left edge of the screen
> at position 1, which is now out of view. Emacs still draws the point
> at the left edge of the screen, implying that the point was moved to
> stay in-bounds. But this is not where the point actually is: (point)
> still evaluates to 1. I expect (point) to be updated with the new
> position
This is the expected behavior. The Emacs manual says:
If the text is scrolled to the left, and point moves off the left
edge of the window, the cursor will freeze at the left edge of the
window, until point moves back to the displayed portion of the text.
> 4. C-a
>
> Now, some commands behave strangely. For instance C-a should move to
> the start of the line. This is now off-screen, so I would expect
> emacs to scroll back so that we can see the beginning of the line.
> But emacs does nothing: the point was at position 1, and it was moved
> to position 1, so it doesn't see the need to scroll anything.
This is also expected, since horizontal scroll command affect the
automatic hscrolling, as described in the manual:
If you use those commands to scroll a window horizontally, that sets
a lower bound for automatic horizontal scrolling. Automatic scrolling
will continue to scroll the window, but never farther to the right than
the amount you previously set by ‘scroll-left’.
Bottom line: if we want scroll-preserve-screen-position to affect
horizontal scrolling in some (as yet to be defined) way, we need to
code that. Other than that, what you report here is the expected and
documented behavior.
Thanks.
Received: (at control) by debbugs.gnu.org; 28 Aug 2021 08:47:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 28 04:47:30 2021 Received: from localhost ([127.0.0.1]:53369 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1mJtzu-00063h-J5 for submit <at> debbugs.gnu.org; Sat, 28 Aug 2021 04:47:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52192) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1mJtzt-0005z7-4B for control <at> debbugs.gnu.org; Sat, 28 Aug 2021 04:47:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57748) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1mJtzn-0008Ak-TG for control <at> debbugs.gnu.org; Sat, 28 Aug 2021 04:47:23 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2353 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1mJtzm-0003kb-SD for control <at> debbugs.gnu.org; Sat, 28 Aug 2021 04:47:23 -0400 Date: Sat, 28 Aug 2021 11:47:10 +0300 Message-Id: <83fsuunegh.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: control <at> debbugs.gnu.org (GNU bug tracker automated control server) In-Reply-To: <handler.s.C.163013976314476.transcript <at> debbugs.gnu.org> (control <at> debbugs.gnu.org) Subject: Re: Processed (with 1 errors): Re: bug#50234: 28.0.50; Horizontal scrolling doesn't keep the point in view References: <83o89inezv.fsf@HIDDEN> <handler.s.C.163013976314476.transcript <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) severity 50234 wishlist thanks
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.