From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: storm@cua.dk (Kim F. Storm) Newsgroups: gmane.emacs.devel Subject: Re: redisplay-dont-pause does not work Date: Mon, 05 Jun 2006 23:26:47 +0200 Message-ID: References: <4483F292.2040302@soem.dk> <8564jgotvf.fsf@lola.goethe.zz> <20060605113149.FC61.SLAWOMIR.NOWACZYK.847@student.lu.se> <851wu4osca.fsf@lola.goethe.zz> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1149542997 26726 80.91.229.2 (5 Jun 2006 21:29:57 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 5 Jun 2006 21:29:57 +0000 (UTC) Cc: Slawomir Nowaczyk , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 05 23:29:55 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FnMe2-0001h1-CY for ged-emacs-devel@m.gmane.org; Mon, 05 Jun 2006 23:29:55 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FnMe1-0007Z8-8K for ged-emacs-devel@m.gmane.org; Mon, 05 Jun 2006 17:29:53 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FnMdL-0007DE-Ao for emacs-devel@gnu.org; Mon, 05 Jun 2006 17:29:11 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FnMdJ-0007BJ-FV for emacs-devel@gnu.org; Mon, 05 Jun 2006 17:29:09 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FnMdI-0007B0-Ny for emacs-devel@gnu.org; Mon, 05 Jun 2006 17:29:09 -0400 Original-Received: from [195.41.46.235] (helo=pfepa.post.tele.dk) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FnMkN-0002Wu-3L; Mon, 05 Jun 2006 17:36:27 -0400 Original-Received: from kfs-l.imdomain.dk.cua.dk (0x503e2644.bynxx3.adsl-dhcp.tele.dk [80.62.38.68]) by pfepa.post.tele.dk (Postfix) with SMTP id 253E0FAC027; Mon, 5 Jun 2006 23:28:57 +0200 (CEST) Original-To: David Kastrup In-Reply-To: <851wu4osca.fsf@lola.goethe.zz> (David Kastrup's message of "Mon, 05 Jun 2006 11:38:13 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:55728 Archived-At: David Kastrup writes: > But the hacks will have to be hunted down and replaced one by one, > anyway, since the stuff indiscriminately refreshes everything instead > of just the required parts of the display. Not so -- if we allow (but ignore) the object to update, code can be written as if it DTRT. (defun redisplay-now (&optional object) "Force immediate display update of all windows. If optional arg object is a frame, update display of that frame only. If optional arg object is a window, update display of that window only. If object is a buffer or buffer name, update display of all windows displaying that buffer." ;; There is currently no way to update individual windows, so ;; update everything. (let ((redisplay-dont-pause t)) (sit-for 0))) Of course, in this form, it redisplays way too much if you specify a window or frame object, but in most cases, nobody will be able to notice! See also force-window-update. -- Kim F. Storm http://www.cua.dk