GNU bug report logs - #15045
Point jumps inappropriately around time of Semantic lexing

Previous Next

Package: emacs;

Reported by: Barry OReilly <gundaetiapo <at> gmail.com>

Date: Wed, 7 Aug 2013 18:00:02 UTC

Severity: normal

Done: Barry OReilly <gundaetiapo <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Barry OReilly <gundaetiapo <at> gmail.com>
Cc: 15045 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca, deng <at> randomsample.de,
 eric <at> siege-engine.com
Subject: Re: bug#15045: Point jumps inappropriately around time of Semantic
 lexing
Date: Tue, 15 Oct 2013 21:48:23 +0300
> Date: Tue, 15 Oct 2013 13:08:58 -0400
> From: Barry OReilly <gundaetiapo <at> gmail.com>
> Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, David Engster <deng <at> randomsample.de>, 
> 	15045 <at> debbugs.gnu.org, Eric Ludlam <eric <at> siege-engine.com>
> 
>   (defun sit-for (seconds &optional nodisp obsolete)
>     [...]
>     (cond
>      [...]
>      ((input-pending-p)
>       nil)
>      ((<= seconds 0)
>       (or nodisp (redisplay)))
>      [...]
> 
> I considered whether (<= seconds 0) could fall through to the t case
> instead.

Maybe I'm missing something, but wouldn't that bypass redisplay?
Currently, (sit-for 0) is a very popular method to trigger redisplay;
changing that _will_ bite a lot of code out there.

> The read_char function has a complex implementation, so it's not
> clear doing so wouldn't change behavior.

Are you assuming that read_char always redisplays?  That's not true,
AFAIK.

> Is there another Lisp function that does timer_check and little else,
> which the (<= seconds 0) case could call? Should I write a new subr
> for it?

Not sure I understand the question, sorry.




This bug report was last modified 11 years and 193 days ago.

Previous Next


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