GNU bug report logs - #79022
30.1.90; Shift-select-mode does not appear to work when scroll-lock-mode is enabled

Previous Next

Package: emacs;

Reported by: "John Haman" <mail <at> johnhaman.org>

Date: Mon, 14 Jul 2025 20:56:01 UTC

Severity: normal

Found in version 30.1.90

Done: Eli Zaretskii <eliz <at> gnu.org>

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: "John Haman" <mail <at> johnhaman.org>
Cc: 79022 <at> debbugs.gnu.org
Subject: bug#79022: 30.1.90; Shift-select-mode does not appear to work when scroll-lock-mode is enabled
Date: Tue, 15 Jul 2025 14:45:34 +0300
> Date: Mon, 14 Jul 2025 15:54:13 -0400
> From: "John Haman" <mail <at> johnhaman.org>
> 
> In short, I believe there is a bad interaction between scroll-lock-mode
> and shift-select-mode that prevent shift-select mode from working as
> intended when scroll-lock-mode is active.
> 
> 1. Emacs -Q
> 2. Open a text file.
> 3. Enable scroll-lock-mode
> 4. Try to highlight some text using C-S-n or C-S-<down>. I expected it
> to be selected, but it is not.

Thanks.  Does the patch below fix this problem without introducing new
problems?

diff --git a/lisp/scroll-lock.el b/lisp/scroll-lock.el
index 6b99e29..7689ca8 100644
--- a/lisp/scroll-lock.el
+++ b/lisp/scroll-lock.el
@@ -84,7 +84,7 @@ scroll-lock-move-to-column
 
 (defun scroll-lock-next-line-always-scroll (&optional arg)
   "Scroll up ARG lines keeping point fixed."
-  (interactive "p")
+  (interactive "^p")
   (or arg (setq arg 1))
   (scroll-lock-update-goal-column)
   (condition-case nil
@@ -94,7 +94,7 @@ scroll-lock-next-line-always-scroll
 
 (defun scroll-lock-next-line (&optional arg)
   "Scroll up ARG lines keeping point fixed."
-  (interactive "p")
+  (interactive "^p")
   (or arg (setq arg 1))
   (scroll-lock-update-goal-column)
   (if (pos-visible-in-window-p (point-max))
@@ -104,7 +104,7 @@ scroll-lock-next-line
 
 (defun scroll-lock-previous-line (&optional arg)
   "Scroll up ARG lines keeping point fixed."
-  (interactive "p")
+  (interactive "^p")
   (or arg (setq arg 1))
   (scroll-lock-update-goal-column)
   (condition-case nil
@@ -114,7 +114,7 @@ scroll-lock-previous-line
 
 (defun scroll-lock-forward-paragraph (&optional arg)
   "Scroll down ARG paragraphs keeping point fixed."
-  (interactive "p")
+  (interactive "^p")
   (or arg (setq arg 1))
   (scroll-lock-update-goal-column)
   (scroll-up (count-screen-lines (point) (save-excursion
@@ -124,7 +124,7 @@ scroll-lock-forward-paragraph
 
 (defun scroll-lock-backward-paragraph (&optional arg)
   "Scroll up ARG paragraphs keeping point fixed."
-  (interactive "p")
+  (interactive "^p")
   (or arg (setq arg 1))
   (scroll-lock-update-goal-column)
   (let ((goal (save-excursion (backward-paragraph arg) (point))))




This bug report was last modified 5 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.