[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives arg
From: |
StrawberryTea |
Subject: |
bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer |
Date: |
Tue, 20 Feb 2024 09:42:36 -0600 |
User-agent: |
mu4e 1.10.8; emacs 30.0.50 |
Hi Eli. I inserted a print function into magit-post-command-hook:
(defadvice! cae-magit-section-post-command-hook-a (oldfun)
:around #’magit-section-post-command-hook
(condition-case e
(funcall oldfun)
(error
(+log “magit-post-command-hook error:”
(current-buffer) (selected-window) (buffer-narrowed-p) (point-min)
(point-max) (buffer-size)))))
and it outputted this:
Values: magit-post-command-hook error:, magit: emacs, #<window 156 on
*Messages*>, nil, 1, 20993, 20992 Eli Zaretskii <eliz@gnu.org>
So basically, the situation is that the (current-buffer) is magit: emacs whereas
the window is on \*Messages\* and so when we call (get-pos-property pos
’cursor-intangible), it uses a point value from magit: emacs on the messages
buffer.
Why exactly are the window-buffer and the current-buffer different? I think this
has to do with persp-mode. My guess is that when it sets the new window
configuration, the current-buffer is not updated to the new window’s buffer
immediately.
Sincerely,
StrawberryTea
writes:
>> From: StrawberryTea <look@strawberrytea.xyz>
>> Date: Sun, 18 Feb 2024 15:08:20 -0600
>>
>> Hi. So I noticed that sometimes magit-section-post-command-hook was giving an
>> ars-out-of-range error and I have narrowed it down to a C function in Emacs:
>>
>> Debugger entered–Lisp error: (args-out-of-range 9482 9482)
>> cursor-sensor–intangible-p(9483)
>> cursor-sensor-tangible-pos(9483 #<window 3 on magit: emacs>)
>> cursor-sensor-move-to-tangible(#<window 3 on magit: emacs>)
>> #<subr magit-section-post-command-hook>()
>> apply(#<subr magit-section-post-command-hook> nil)
>> (condition-case err (apply func args) ((debug error) (signal (car err) (cdr
>> err))))
>> cae-debug-reraise-error(#<subr magit-section-post-command-hook>)
>> apply(cae-debug-reraise-error #<subr magit-section-post-command-hook> nil)
>> magit-section-post-command-hook()
>>
>> Within cursor-sensor–intangible-p, (get-pos-property 9483 ’cursor-intangible)
>> is giving that error in the Magit buffer even though that 9483 number is less
>> than (point-max).
>
> Can you show a recipe to reproduce this, preferably without using
> Magit?
>
> I suspect some code narrows the buffer while this code runs, which is
> why the error is signaled.
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, StrawberryTea, 2024/02/18
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, Eli Zaretskii, 2024/02/19
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer,
StrawberryTea <=
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, Eli Zaretskii, 2024/02/21
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, Stefan Monnier, 2024/02/21
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, StrawberryTea, 2024/02/21
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, Eli Zaretskii, 2024/02/22
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, Jonas Bernoulli, 2024/02/22
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, Stefan Monnier, 2024/02/22
- bug#69259: 30.0.50; (get-pos-property 9483 'cursor-intangible) gives args-out-of-range error in folded magit buffer, StrawberryTea, 2024/02/22