GNU bug report logs -
#57349
29.0.50; pixel-scroll-precision-mode. error integer-or-marker-p nil
Previous Next
Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Date: Tue, 23 Aug 2022 06:14:02 UTC
Severity: normal
Found in version 29.0.50
Fixed in version 29.1
Done: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 57349 in the body.
You can then email your comments to 57349 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 06:14:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Gerd Möllmann <gerd.moellmann <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 23 Aug 2022 06:14:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.6.0, NS
appkit-2113.60 Version 12.5.1 (Build 21G83)) of 2022-08-22 built on
Mini.fritz.box
Repository revision: 0c410206aa91b9bc9a0922d63ec34de765eb86a6
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2113
System Description: macOS 12.5.1
emacs -Q
M-x pixel-scroll-precision-mode RET
Move the mouse to the lower right corner of the Emacs frame. On macOS,
the mouse cursor changes shape to a double-arrow pointing 45 degrees in
the direction of the upper-left and lower-right corner of the screen.
Scroll the mouse wheel.
This either prints messages like this
<nil> <wheel-up> is undefined
<nil> <double-wheel-up> is undefined
<nil> <triple-wheel-up> is undefined [45 times]
<nil> <wheel-down> is undefined
or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
Not sure what to make of this. Looks like posn-at-x-y returns a posn
with a nil point? Or maybe posn-point returns nil?
Backtrace of the error:
goto-char(nil)
(save-excursion (goto-char point) (vertical-motion (- (1+ scroll-margin))) (point))
(let* ((edges (window-edges nil t nil t)) (max-y (- (nth 3 edges) (nth 1 edges))) (usable-height max-y) (posn (posn-at-x-y 0 (+ (window-tab-line-height) (window-header-line-height) (- max-y delta)))) (point (posn-point posn)) (up-point (save-excursion (goto-char point) (vertical-motion (- (1+ scroll-margin))) (point)))) (if (> (point) up-point) (progn (if (let ((pos-visible (pos-visible-in-window-p up-point nil t))) (or (eq (length pos-visible) 2) (let* (... ... ...) (if usable-height ...)))) (progn (goto-char up-point))))) (let ((current-vscroll (window-vscroll nil t))) (setq delta (- delta current-vscroll)) (set-window-vscroll nil 0 t t) (if (> delta 0) (progn (let* ((start (window-start)) (dims (window-text-pixel-size nil ... start nil nil nil t)) (height (nth 1 dims)) (position (nth 2 dims))) (set-window-start nil position t) (if (> height usable-height) (progn (goto-char position))) (if (or (not position) (eq position start)) (progn (signal ... nil))) (setq delta (- delta height))))) (if (< delta 0) (progn (set-window-vscroll nil (- delta) t t)))))
pixel-scroll-precision-scroll-up-page(0)
(while (> delta max-height) (pixel-scroll-precision-scroll-up-page max-height) (setq delta (- delta max-height)))
(let ((max-height (- (window-text-height nil t) (frame-char-height)))) (while (> delta max-height) (pixel-scroll-precision-scroll-up-page max-height) (setq delta (- delta max-height))) (pixel-scroll-precision-scroll-up-page delta))
pixel-scroll-precision-scroll-up(1)
(if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) (pixel-scroll-precision-scroll-up delta))
(progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) (pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity delta))
(condition-case nil (progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) (pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity delta)) (beginning-of-buffer (message (error-message-string '(beginning-of-buffer)))) (end-of-buffer (message (error-message-string '(end-of-buffer)))))
(if (or (and pixel-scroll-precision-interpolate-mice (eq (device-class last-event-frame last-event-device) 'mouse)) (and pixel-scroll-precision-large-scroll-height (> (abs delta) pixel-scroll-precision-large-scroll-height) (let* ((kin-state (pixel-scroll-kinetic-state)) (ring (aref kin-state 0)) (time (aref kin-state 1))) (or (null time) (> (- (float-time) time) 1.0) (and (consp ring) (ring-empty-p ring)))))) (progn (let ((kin-state (pixel-scroll-kinetic-state))) (aset kin-state 0 (make-ring 30)) (aset kin-state 1 nil)) (pixel-scroll-precision-interpolate delta current-window)) (condition-case nil (progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) (pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity delta)) (beginning-of-buffer (message (error-message-string '(beginning-of-buffer)))) (end-of-buffer (message (error-message-string '(end-of-buffer))))))
(progn (select-window (car save-selected-window--state) 'norecord) (if (or (and pixel-scroll-precision-interpolate-mice (eq (device-class last-event-frame last-event-device) 'mouse)) (and pixel-scroll-precision-large-scroll-height (> (abs delta) pixel-scroll-precision-large-scroll-height) (let* ((kin-state (pixel-scroll-kinetic-state)) (ring (aref kin-state 0)) (time (aref kin-state 1))) (or (null time) (> (- ... time) 1.0) (and (consp ring) (ring-empty-p ring)))))) (progn (let ((kin-state (pixel-scroll-kinetic-state))) (aset kin-state 0 (make-ring 30)) (aset kin-state 1 nil)) (pixel-scroll-precision-interpolate delta current-window)) (condition-case nil (progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) (pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity delta)) (beginning-of-buffer (message (error-message-string '(beginning-of-buffer)))) (end-of-buffer (message (error-message-string '(end-of-buffer)))))))
(unwind-protect (progn (select-window (car save-selected-window--state) 'norecord) (if (or (and pixel-scroll-precision-interpolate-mice (eq (device-class last-event-frame last-event-device) 'mouse)) (and pixel-scroll-precision-large-scroll-height (> (abs delta) pixel-scroll-precision-large-scroll-height) (let* ((kin-state ...) (ring ...) (time ...)) (or (null time) (> ... 1.0) (and ... ...))))) (progn (let ((kin-state (pixel-scroll-kinetic-state))) (aset kin-state 0 (make-ring 30)) (aset kin-state 1 nil)) (pixel-scroll-precision-interpolate delta current-window)) (condition-case nil (progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) (pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity delta)) (beginning-of-buffer (message (error-message-string '...))) (end-of-buffer (message (error-message-string '...)))))) (internal--after-with-selected-window save-selected-window--state))
(save-current-buffer (unwind-protect (progn (select-window (car save-selected-window--state) 'norecord) (if (or (and pixel-scroll-precision-interpolate-mice (eq (device-class last-event-frame last-event-device) 'mouse)) (and pixel-scroll-precision-large-scroll-height (> (abs delta) pixel-scroll-precision-large-scroll-height) (let* (... ... ...) (or ... ... ...)))) (progn (let ((kin-state ...)) (aset kin-state 0 (make-ring 30)) (aset kin-state 1 nil)) (pixel-scroll-precision-interpolate delta current-window)) (condition-case nil (progn (if (< delta 0) (pixel-scroll-precision-scroll-down ...) (pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity delta)) (beginning-of-buffer (message (error-message-string ...))) (end-of-buffer (message (error-message-string ...)))))) (internal--after-with-selected-window save-selected-window--state)))
(let ((save-selected-window--state (internal--before-with-selected-window window))) (save-current-buffer (unwind-protect (progn (select-window (car save-selected-window--state) 'norecord) (if (or (and pixel-scroll-precision-interpolate-mice (eq ... ...)) (and pixel-scroll-precision-large-scroll-height (> ... pixel-scroll-precision-large-scroll-height) (let* ... ...))) (progn (let (...) (aset kin-state 0 ...) (aset kin-state 1 nil)) (pixel-scroll-precision-interpolate delta current-window)) (condition-case nil (progn (if ... ... ...) (pixel-scroll-accumulate-velocity delta)) (beginning-of-buffer (message ...)) (end-of-buffer (message ...))))) (internal--after-with-selected-window save-selected-window--state))))
(if (> (abs delta) (window-text-height window t)) (mwheel-scroll event nil) (let ((save-selected-window--state (internal--before-with-selected-window window))) (save-current-buffer (unwind-protect (progn (select-window (car save-selected-window--state) 'norecord) (if (or (and pixel-scroll-precision-interpolate-mice ...) (and pixel-scroll-precision-large-scroll-height ... ...)) (progn (let ... ... ...) (pixel-scroll-precision-interpolate delta current-window)) (condition-case nil (progn ... ...) (beginning-of-buffer ...) (end-of-buffer ...)))) (internal--after-with-selected-window save-selected-window--state)))))
(if (= 0 delta) nil (if (> (abs delta) (window-text-height window t)) (mwheel-scroll event nil) (let ((save-selected-window--state (internal--before-with-selected-window window))) (save-current-buffer (unwind-protect (progn (select-window (car save-selected-window--state) 'norecord) (if (or ... ...) (progn ... ...) (condition-case nil ... ... ...))) (internal--after-with-selected-window save-selected-window--state))))))
(let ((delta (round (cdr (nth 4 event))))) (if (= 0 delta) nil (if (> (abs delta) (window-text-height window t)) (mwheel-scroll event nil) (let ((save-selected-window--state (internal--before-with-selected-window window))) (save-current-buffer (unwind-protect (progn (select-window ... ...) (if ... ... ...)) (internal--after-with-selected-window save-selected-window--state)))))))
(if (and (nth 4 event)) (let ((delta (round (cdr (nth 4 event))))) (if (= 0 delta) nil (if (> (abs delta) (window-text-height window t)) (mwheel-scroll event nil) (let ((save-selected-window--state (internal--before-with-selected-window window))) (save-current-buffer (unwind-protect (progn ... ...) (internal--after-with-selected-window save-selected-window--state))))))) (mwheel-scroll event nil))
(let ((window (mwheel-event-window event)) (current-window (selected-window))) (if (framep window) (progn (setq window (frame-selected-window window)))) (if (and (nth 4 event)) (let ((delta (round (cdr (nth 4 event))))) (if (= 0 delta) nil (if (> (abs delta) (window-text-height window t)) (mwheel-scroll event nil) (let ((save-selected-window--state ...)) (save-current-buffer (unwind-protect ... ...)))))) (mwheel-scroll event nil)))
pixel-scroll-precision((wheel-up (#<window 4 on *Minibuf-0*> right-fringe (865 . 6) 129226600 nil 1 (0 . 0) nil (11 . 6) (0 . 14)) 1 0 (0.0 . 1.0)))
funcall-interactively(pixel-scroll-precision (wheel-up (#<window 4 on *Minibuf-0*> right-fringe (865 . 6) 129226600 nil 1 (0 . 0) nil (11 . 6) (0 . 14)) 1 0 (0.0 . 1.0)))
command-execute(pixel-scroll-precision)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 07:53:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 57349 <at> debbugs.gnu.org (full text, mbox):
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
> In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.6.0, NS
> appkit-2113.60 Version 12.5.1 (Build 21G83)) of 2022-08-22 built on
> Mini.fritz.box
> Repository revision: 0c410206aa91b9bc9a0922d63ec34de765eb86a6
> Repository branch: master
> Windowing system distributor 'Apple', version 10.3.2113
> System Description: macOS 12.5.1
>
> emacs -Q
> M-x pixel-scroll-precision-mode RET
>
> Move the mouse to the lower right corner of the Emacs frame. On macOS,
> the mouse cursor changes shape to a double-arrow pointing 45 degrees in
> the direction of the upper-left and lower-right corner of the screen.
>
> Scroll the mouse wheel.
>
> This either prints messages like this
>
> <nil> <wheel-up> is undefined
> <nil> <double-wheel-up> is undefined
> <nil> <triple-wheel-up> is undefined [45 times]
> <nil> <wheel-down> is undefined
I think that's the internal border.
> or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
> Not sure what to make of this. Looks like posn-at-x-y returns a posn
> with a nil point? Or maybe posn-point returns nil?
Probably the former. Could you please see if that error reliably shows
up if you scroll with the mouse pointer over the place where the right
fringe overlaps with the right and bottom internal borders?
Thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 09:04:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 57349 <at> debbugs.gnu.org (full text, mbox):
Po Lu <luangruo <at> yahoo.com> writes:
>
> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>
>> In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.6.0, NS
>> appkit-2113.60 Version 12.5.1 (Build 21G83)) of 2022-08-22 built on
>> Mini.fritz.box
>> Repository revision: 0c410206aa91b9bc9a0922d63ec34de765eb86a6
>> Repository branch: master
>> Windowing system distributor 'Apple', version 10.3.2113
>> System Description: macOS 12.5.1
>>
>> emacs -Q
>> M-x pixel-scroll-precision-mode RET
>>
>> Move the mouse to the lower right corner of the Emacs frame. On macOS,
>> the mouse cursor changes shape to a double-arrow pointing 45 degrees in
>> the direction of the upper-left and lower-right corner of the screen.
>>
>> Scroll the mouse wheel.
>>
>> This either prints messages like this
>>
>> <nil> <wheel-up> is undefined
>> <nil> <double-wheel-up> is undefined
>> <nil> <triple-wheel-up> is undefined [45 times]
>> <nil> <wheel-down> is undefined
>
> I think that's the internal border.
>
>> or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
>> Not sure what to make of this. Looks like posn-at-x-y returns a posn
>> with a nil point? Or maybe posn-point returns nil?
>
> Probably the former. Could you please see if that error reliably shows
> up if you scroll with the mouse pointer over the place where the right
> fringe overlaps with the right and bottom internal borders?
I'm not quite sure.
...text | fringe | scrollbar | something |
-------------------- modeline ------------
...text | fringe | scrollbar | something |
Sp far, I couldn't produce the error anywhere when the mouse is above
the modeline. It's just saying that 'nil something' is undefined.
Below the modeline, it's happening when being in 'fringe', 'scrollbar'
'something' AFAICT. Sorry, it's a hard to move the mouse precisely, and
the rounded edge of the frame doesn't help either.
I think this shows one of the events leading to the error:
pixel-scroll-precision-scroll-up-page(0)
pixel-scroll-precision-scroll-up(1)
pixel-scroll-precision((wheel-up (#<window 4 on *Minibuf-0*> vertical-scroll-bar (576 . 8) 137763384 nil 1 (81 . 0) nil (576 . 8) (15 . 16)) 1 0 (0.0 . 1.0)))
funcall-interactively(pixel-scroll-precision (wheel-up (#<window 4 on *Minibuf-0*> vertical-scroll-bar (576 . 8) 137763384 nil 1 (81 . 0) nil (576 . 8) (15 . 16)) 1 0 (0.0 . 1.0)))
command-execute(pixel-scroll-precision)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 11:28:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 57349 <at> debbugs.gnu.org (full text, mbox):
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
> Po Lu <luangruo <at> yahoo.com> writes:
>
>>
>> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>>
>>> In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.6.0, NS
>>> appkit-2113.60 Version 12.5.1 (Build 21G83)) of 2022-08-22 built on
>>> Mini.fritz.box
>>> Repository revision: 0c410206aa91b9bc9a0922d63ec34de765eb86a6
>>> Repository branch: master
>>> Windowing system distributor 'Apple', version 10.3.2113
>>> System Description: macOS 12.5.1
>>>
>>> emacs -Q
>>> M-x pixel-scroll-precision-mode RET
>>>
>>> Move the mouse to the lower right corner of the Emacs frame. On macOS,
>>> the mouse cursor changes shape to a double-arrow pointing 45 degrees in
>>> the direction of the upper-left and lower-right corner of the screen.
>>>
>>> Scroll the mouse wheel.
>>>
>>> This either prints messages like this
>>>
>>> <nil> <wheel-up> is undefined
>>> <nil> <double-wheel-up> is undefined
>>> <nil> <triple-wheel-up> is undefined [45 times]
>>> <nil> <wheel-down> is undefined
>>
>> I think that's the internal border.
>>
>>> or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
>>> Not sure what to make of this. Looks like posn-at-x-y returns a posn
>>> with a nil point? Or maybe posn-point returns nil?
>>
>> Probably the former. Could you please see if that error reliably shows
>> up if you scroll with the mouse pointer over the place where the right
>> fringe overlaps with the right and bottom internal borders?
>
> I'm not quite sure.
>
> ...text | fringe | scrollbar | something |
> -------------------- modeline ------------
> ...text | fringe | scrollbar | something |
>
> Sp far, I couldn't produce the error anywhere when the mouse is above
> the modeline. It's just saying that 'nil something' is undefined.
>
> Below the modeline, it's happening when being in 'fringe', 'scrollbar'
> 'something' AFAICT. Sorry, it's a hard to move the mouse precisely, and
> the rounded edge of the frame doesn't help either.
>
> I think this shows one of the events leading to the error:
>
> pixel-scroll-precision-scroll-up-page(0)
> pixel-scroll-precision-scroll-up(1)
> pixel-scroll-precision((wheel-up (#<window 4 on *Minibuf-0*> vertical-scroll-bar (576 . 8) 137763384 nil 1 (81 . 0) nil (576 . 8) (15 . 16)) 1 0 (0.0 . 1.0)))
> funcall-interactively(pixel-scroll-precision (wheel-up (#<window 4 on *Minibuf-0*> vertical-scroll-bar (576 . 8) 137763384 nil 1 (81 . 0) nil (576 . 8) (15 . 16)) 1 0 (0.0 . 1.0)))
> command-execute(pixel-scroll-precision)
That's pretty odd, I can't reproduce the problem at all. The next time
I get access to a Mac (it may be a while) I will see if it can be
reproduced there.
Thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 11:58:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 57349 <at> debbugs.gnu.org (full text, mbox):
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Date: Tue, 23 Aug 2022 08:12:54 +0200
>
> emacs -Q
> M-x pixel-scroll-precision-mode RET
>
> Move the mouse to the lower right corner of the Emacs frame. On macOS,
> the mouse cursor changes shape to a double-arrow pointing 45 degrees in
> the direction of the upper-left and lower-right corner of the screen.
>
> Scroll the mouse wheel.
>
> This either prints messages like this
>
> <nil> <wheel-up> is undefined
> <nil> <double-wheel-up> is undefined
> <nil> <triple-wheel-up> is undefined [45 times]
> <nil> <wheel-down> is undefined
It may surprise this, but why do you think this is a problem? How is
it different from what happens if you do this, for example:
C-M-<F10>
(assuming that sequence is not bound to some command)?
> or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
This shouldn't happen, indeed.
> Not sure what to make of this. Looks like posn-at-x-y returns a posn
> with a nil point? Or maybe posn-point returns nil?
Either this should be fixed, or the code should be prepared for nil in
this case.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 12:17:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 57349 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> <nil> <wheel-down> is undefined
>
> It may surprise this, but why do you think this is a problem? How is
> it different from what happens if you do this, for example:
>
> C-M-<F10>
>
> (assuming that sequence is not bound to some command)?
I mentioned it only because I thought it might have been relevant in
some way. One never knows.
>> or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
>
> This shouldn't happen, indeed.
>
>> Not sure what to make of this. Looks like posn-at-x-y returns a posn
>> with a nil point? Or maybe posn-point returns nil?
>
> Either this should be fixed, or the code should be prepared for nil in
> this case.
Yup.
I could add a check in the function that does the (goto-char nil), but I
don't know if that would be only fixing a symptom of something else.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 12:18:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 57349 <at> debbugs.gnu.org (full text, mbox):
Po Lu <luangruo <at> yahoo.com> writes:
> That's pretty odd, I can't reproduce the problem at all. The next time
> I get access to a Mac (it may be a while) I will see if it can be
> reproduced there.
Ok, thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 12:37:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 57349 <at> debbugs.gnu.org (full text, mbox):
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Cc: 57349 <at> debbugs.gnu.org
> Date: Tue, 23 Aug 2022 14:15:59 +0200
>
> >> or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
> >
> > This shouldn't happen, indeed.
> >
> >> Not sure what to make of this. Looks like posn-at-x-y returns a posn
> >> with a nil point? Or maybe posn-point returns nil?
> >
> > Either this should be fixed, or the code should be prepared for nil in
> > this case.
>
> Yup.
>
> I could add a check in the function that does the (goto-char nil), but I
> don't know if that would be only fixing a symptom of something else.
I don't think it's reasonable to expect that posn-WHATEVER functions
will always return a valid buffer position. There are parts on the
window/frame decorations where no buffer position makes sense. We
sometimes forcibly put some close position there, or get it as a side
effect of the implementation, but I don't think we should rely on it.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 12:37:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 57349 <at> debbugs.gnu.org (full text, mbox):
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
> I could add a check in the function that does the (goto-char nil), but I
> don't know if that would be only fixing a symptom of something else.
I just had an idea. What if this deoends on the mini-window. One of
the functions signalling looks like this:
(defun pixel-scroll-precision-scroll-up-page (delta)
"Scroll the current window up by DELTA pixels.
Note that this function doesn't work if DELTA is larger than
the height of the current window."
(let* ((edges (window-edges nil t nil t))
(max-y (- (nth 3 edges)
(nth 1 edges)))
(usable-height max-y)
(posn (posn-at-x-y 0 (+ (window-tab-line-height)
(window-header-line-height)
(- max-y delta))))
(point (posn-point posn))
(up-point (save-excursion
(goto-char point)
^^^ here point is nil
(vertical-motion (- (1+ scroll-margin)))
(point))))
The documentation of window-edges says it is using the selected window
when its window argument is nil. The selected window can't be the
mini-window unless the minibuffer is active.
And indeed, when I enter the minibuffer (M-:), and mouse-wheel as
descibed before, no error occurs.
Does that sound plausible?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 12:47:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 57349 <at> debbugs.gnu.org (full text, mbox):
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Cc: 57349 <at> debbugs.gnu.org
> Date: Tue, 23 Aug 2022 14:36:52 +0200
>
> The documentation of window-edges says it is using the selected window
> when its window argument is nil. The selected window can't be the
> mini-window unless the minibuffer is active.
>
> And indeed, when I enter the minibuffer (M-:), and mouse-wheel as
> descibed before, no error occurs.
>
> Does that sound plausible?
It does to me.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#57349
; Package
emacs
.
(Tue, 23 Aug 2022 14:00:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 57349 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> Does that sound plausible?
>
> It does to me.
Thanks. Pushed to master.
FYI, I also stumbled into an infloop with the 1 line high mini-window,
which should also be fixed.
bug marked as fixed in version 29.1, send any further explanations to
57349 <at> debbugs.gnu.org and Gerd Möllmann <gerd.moellmann <at> gmail.com>
Request was from
Gerd Möllmann <gerd.moellmann <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Tue, 23 Aug 2022 14:01:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 21 Sep 2022 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 273 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.