GNU bug report logs - #31115
26.1; python shell flicker

Previous Next

Package: emacs;

Reported by: charles <at> aurox.ch (Charles A. Roelli)

Date: Mon, 9 Apr 2018 18:20:01 UTC

Severity: minor

Tags: confirmed

Found in version 26.1

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Noam Postavsky <npostavs <at> gmail.com>
To: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
Cc: 31115 <at> debbugs.gnu.org
Subject: Re: bug#31115: 26.1; python shell flicker
Date: Sat, 14 Apr 2018 10:42:12 -0400
severity 31115 minor
tags 31115 + confirmed
quit

Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:

> On 09.04.2018 20:19, Charles A. Roelli wrote:
>> emacs -q
>> M-x run-python RET C-x o
>>
>> Now press and hold down RET: a lot of prompts fly by, and as soon as
>> point reaches the bottom of the window, there is some flicker where
>> the cursor momentarily appears centered (as if `recenter' was run) and
>> simultaneously all the text in the buffer blinks as if the whole
>> screen was cleared and redrawn.  In contrast, if you try this same
>> recipe in a normal shell buffer from M-x shell, there won't be any
>> flicker.

> Can't reproduce with GNU Emacs 26.1 (build 1, i686-pc-linux-gnu, GTK+
> Version 3.14.5) of 2018-04-10 at Debian

I can reproduce on Emacs 26, both lucid and GTK builds.  Seems pretty
straightforward: point reaches the end of buffer, so Emacs autoscrolls
by half a window, then python-comint-postoutput-scroll-to-bottom kicks
in and scrolls back to the bottom.

>> A naive fix is to comment out the meat of python-comint-postoutput-
>> scroll-to-bottom, and reevaluate it:
>> 
>> (defun python-comint-postoutput-scroll-to-bottom (output)
>>   "Faster version of `comint-postoutput-scroll-to-bottom'.
>> Avoids `recenter' calls until OUTPUT is completely sent."
>>   ;; (when (and (not (string= "" output))
>>   ;;            (python-shell-comint-end-of-output-p
>>   ;;             (ansi-color-filter-apply output)))
>>   ;;   (comint-postoutput-scroll-to-bottom output))
>>   output)

Right, that help because Emacs no longer scrolls the window back to the
bottom.  Seems like (setq scroll-conservatively 1) works better to
preserve the original behaviour (I feel like that's too easy, so I must
be missing something though).




This bug report was last modified 3 years and 17 days ago.

Previous Next


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