GNU bug report logs - #21730
25.0.50; Random errors in redisplay--pre-redisplay-functions

Previous Next

Package: emacs;

Reported by: Michael Welsh Duggan <mwd <at> md5i.com>

Date: Thu, 22 Oct 2015 04:05:02 UTC

Severity: normal

Found in version 25.0.50

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

Bug is archived. No further changes may be made.

Full log


Message #60 received at 21730 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Sergio Durigan Junior <sergiodj <at> sergiodj.net>
Cc: 21730 <at> debbugs.gnu.org, mwd <at> md5i.com, p.stephani2 <at> gmail.com
Subject: Re: bug#21730: 25.0.50;
 Random errors in redisplay--pre-redisplay-functions
Date: Tue, 25 Jul 2017 17:21:50 +0300
> From: Sergio Durigan Junior <sergiodj <at> sergiodj.net>
> Cc: Philipp Stephani <p.stephani2 <at> gmail.com>,  21730 <at> debbugs.gnu.org,  mwd <at> md5i.com
> Date: Mon, 24 Jul 2017 22:06:56 -0400
> 
>   Debugger entered--Lisp error: (args-out-of-range 0)
>     get-char-property(0 cursor-sensor-functions)
>     cursor-sensor--detect(#<window 5650 on *Group*>)
>                           ^^^^^^^^^^^^^^^^^^^^^^^^^
>     run-hook-with-args(cursor-sensor--detect #<window 5650 on *Group*>)
>     redisplay--pre-redisplay-functions(t)
>     apply(redisplay--pre-redisplay-functions t)
>     [ lots of other functions not interesting for us ]
> 
> I took the liberty to mark the interesting part above, which is the
> argument to cursor-sensor--detect.  As you can notice, it's working on
> the *Group* window, from Gnus.  Now, the interesting part that I noticed
> and was able to verify is that this only happens when (a) I am not
> working in that buffer, (b) the point is at (point-min) at that buffer,
> but (c) the point is not (point-min) at the buffer I'm currently in.  In
> this case, Emacs does some wrong calculations with point and ends up
> with the value of 0, which makes sense if you consider that
> (window-point) of that window is 1, but (bobp) is not t (because, as I
> explained, I'm working in another buffer, and the value of point there
> is not 1).
> 
> With all that said, I came to the conclusion that Phillip's rationale
> makes sense and therefore his patch seems to be the best shot we have at
> fixing this annoying bug.

Thanks for following up.

Phillip's hypothesis assumes that there's another function in
pre-redisplay-function, which is called before cursor-sensor--detect
and switches to another buffer, leaving us there.  Do you indeed have
other functions on that list?  If so, what are they?

I'm asking because I'd like to be sure we are on the right track with
the root cause.




This bug report was last modified 7 years and 304 days ago.

Previous Next


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