From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: Re: How to test whether any code runs after same command invocation? Date: Fri, 14 Feb 2014 18:42:20 +0100 Message-ID: <87lhxdioar.fsf@web.de> References: <87eh36kl1f.fsf@web.de> <87d2ip91gp.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1392399773 24088 80.91.229.3 (14 Feb 2014 17:42:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 14 Feb 2014 17:42:53 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 14 18:43:00 2014 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 1WEMmt-0003yz-48 for ged-emacs-devel@m.gmane.org; Fri, 14 Feb 2014 18:42:55 +0100 Original-Received: from localhost ([::1]:53131 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WEMms-00048Q-PM for ged-emacs-devel@m.gmane.org; Fri, 14 Feb 2014 12:42:54 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39208) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WEMmk-00047T-H3 for emacs-devel@gnu.org; Fri, 14 Feb 2014 12:42:52 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WEMmd-0000AP-7r for emacs-devel@gnu.org; Fri, 14 Feb 2014 12:42:46 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:52458) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WEMmd-0000AK-1A for emacs-devel@gnu.org; Fri, 14 Feb 2014 12:42:39 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WEMmb-0003gc-0p for emacs-devel@gnu.org; Fri, 14 Feb 2014 18:42:37 +0100 Original-Received: from ip-90-186-97-10.web.vodafone.de ([90.186.97.10]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Feb 2014 18:42:37 +0100 Original-Received: from michael_heerdegen by ip-90-186-97-10.web.vodafone.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Feb 2014 18:42:37 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 35 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: ip-90-186-97-10.web.vodafone.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:ErgUtYodQGNH48C4qXmJFdUql28= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:169626 Archived-At: Stefan Monnier writes: > > I after-advice dired-insert-set-properties. > > Then why is the code run multiple times? If you operate on several (marked) files, each file's line is refreshed individually. Then the code is called several times (contrary to e.g. just hitting g) after one command invocation. > > I didn't want to cope with that. Also, this was just an example, I > > have other, quite different use cases of the raised issue. > > The general idea might still apply: try and make it lazier. E.g. change > your code so that rather than doing the job right away, it just writes > down somewhere what jobs needs to be done, and then later (e.g. in > post-command-hook, jit-lock, timer, you name it) look at what was > written down (if anything) and do it then, once. Indeed, that would be a much better approach, although this requires some more effort. > "Wall clock" is this thing that you can get from your watch, your > phone, I'm not so accustomed to such physical things... > or the `current-time' function ;-) Oh, that's what you meant, ok, I understand. Many thanks, Stefan! Michael.