From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Why do idle timers trigger redisplay? Date: Fri, 12 Feb 2016 10:25:51 +0200 Message-ID: <83wpqa72sw.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1455265577 2237 80.91.229.3 (12 Feb 2016 08:26:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 12 Feb 2016 08:26:17 +0000 (UTC) Cc: emacs-devel@gnu.org To: Keith David Bershatsky Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 12 09:26:16 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aU93P-0003Gu-4T for ged-emacs-devel@m.gmane.org; Fri, 12 Feb 2016 09:26:15 +0100 Original-Received: from localhost ([::1]:58512 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aU93L-0007aJ-3A for ged-emacs-devel@m.gmane.org; Fri, 12 Feb 2016 03:26:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39228) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aU938-0007a6-Vm for emacs-devel@gnu.org; Fri, 12 Feb 2016 03:25:59 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aU934-0000t9-Ux for emacs-devel@gnu.org; Fri, 12 Feb 2016 03:25:58 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43330) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aU934-0000sv-Rm; Fri, 12 Feb 2016 03:25:54 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1883 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aU934-0004oM-2o; Fri, 12 Feb 2016 03:25:54 -0500 In-reply-to: (message from Keith David Bershatsky on Thu, 11 Feb 2016 16:14:44 -0800) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:199799 Archived-At: > Date: Thu, 11 Feb 2016 16:14:44 -0800 > From: Keith David Bershatsky > Cc: 22404@debbugs.gnu.org > > Question, please: Is it a necessary evil that the `timer-idle-list` must always trigger a redisplay? Emacs does another redisplay cycle each time there was some kind of input. The logic of this is that any input could potentially affect what is displayed (the job of figuring out what, if anything, does need to be redrawn is integral part of what redisplay does, and it might as well conclude that no redisplay is actually needed). Code run by timers is one such kind of input, since any code run by timers runs with the purpose of doing something with Emacs data: buffers, strings, windows, frames, etc. Other kinds of input include: keyboard input, input from subprocesses, mouse gestures, events that come from sources like D-bus and file notifications, etc. They all cause a cycle of redisplay.