From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.bugs Subject: bug#35418: [PATCH] Don't poll auto-revert files that use notification Date: Fri, 10 May 2019 11:49:30 +0200 Message-ID: <87muju1vx1.fsf@gmx.de> References: <877ebdqmbj.fsf@gmx.de> <834l6gu6ee.fsf@gnu.org> <834l6eqdam.fsf@gnu.org> <8bbbdc62bee1dc16b6fd684e7da5ffac43f1e232.camel@acm.org> <87woj9nj77.fsf@gmx.de> <83r29fmz3f.fsf@gnu.org> <6b722334f6eaddcbbf3def636b5181c9439a172c.camel@acm.org> <831s1emvz7.fsf@gnu.org> <26e8159ac86da37d9cf555f6cb3f2dcb63ac0a67.camel@acm.org> <87y33mgo0c.fsf@gmx.de> <05128E42-E970-4C41-9DF9-E9E0BC1C9E4A@acm.org> <87tveagg4f.fsf@gmx.de> <87pnoygdx6.fsf@gmx.de> <8FEB518A-F5AA-488B-BDC5-7947FFE51394@acm.org> <87lfzlgvka.fsf@gmx.de> <3D200C55-AD11-4214-9C50-C2183F6598CC@acm.org> <93015872-0F5F-4E27-97BB-94BA0EE72653@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="154387"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 35418@debbugs.gnu.org To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 10 11:50:23 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hP2AX-000e2A-B7 for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 May 2019 11:50:21 +0200 Original-Received: from localhost ([127.0.0.1]:40185 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hP2AW-0001gL-7n for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 May 2019 05:50:20 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:50528) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hP2AF-0001bX-7N for bug-gnu-emacs@gnu.org; Fri, 10 May 2019 05:50:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hP2AE-0005Lm-3O for bug-gnu-emacs@gnu.org; Fri, 10 May 2019 05:50:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:51868) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hP2AE-0005Lf-0R for bug-gnu-emacs@gnu.org; Fri, 10 May 2019 05:50:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hP2AD-0002pc-Tp for bug-gnu-emacs@gnu.org; Fri, 10 May 2019 05:50:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 May 2019 09:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35418 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 35418-submit@debbugs.gnu.org id=B35418.155748178710859 (code B ref 35418); Fri, 10 May 2019 09:50:01 +0000 Original-Received: (at 35418) by debbugs.gnu.org; 10 May 2019 09:49:47 +0000 Original-Received: from localhost ([127.0.0.1]:37178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hP29y-0002oz-Qi for submit@debbugs.gnu.org; Fri, 10 May 2019 05:49:47 -0400 Original-Received: from mout.gmx.net ([212.227.15.19]:41673) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hP29u-0002ob-7w for 35418@debbugs.gnu.org; Fri, 10 May 2019 05:49:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1557481772; bh=TYRDg/FLh+WOqMo/5ybaWSVbAkAuMUKKbkXMCL+Y7nI=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=LSrhpZDyUcElOrCZu7IKVcD1SK/iD2vyhDmkSlM47JqxjZ9+Tk3K/+kKrmq0/VHJQ cgusHN4r1UiZ2S7AI8oh1gO0oNf2OvUOZVN6wDrihETSFm8QrFgWKR8WXW5MN5oseX cvdI8WZg0rY33AJckS8pl1AGvo9vg282LT4GOeH4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from detlef.gmx.de ([212.91.238.102]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M5QF5-1hNf6v39vh-001RDZ; Fri, 10 May 2019 11:49:32 +0200 In-Reply-To: <93015872-0F5F-4E27-97BB-94BA0EE72653@acm.org> ("Mattias \=\?utf-8\?Q\?Engdeg\=C3\=A5rd\=22's\?\= message of "Thu, 9 May 2019 12:00:17 +0200") X-Provags-ID: V03:K1:w/mOLo6e7cwtLCvV5zFHNzrN50Pdhtz21HGj9YxUp05EMpn1wlN ybNmOrou8ecSD6+aastSzlgMP8FOn3oiZplvYPrNlJCRhz7rAhkO2Tz0SuTI49oCx1ywX93 rrk8dlbwEWiB2exXVFnvSSEdbo6CVcKYPRKUUk7SQrPFNUZ1shK5mU7xV6p0rjwOvfMxF8y 4+yWnXvwSuCsNOfZi+T3w== X-UI-Out-Filterresults: notjunk:1;V03:K0:96mBjl9IEbw=:fc2uFs9axokXTUORKyYjyE ZxtuAwJ2y8mmQ1V8u+0czaqsoyTrluFJamJV16ufFSg7AN1oyultNZ4BnNuOKuIIRLDIOVsLO 46SusoMO+66i4tFSowwmCMh99cjrNqu8QIj/3d+DIyIoaOw7hvJfxA2qai6qr/UQyFwM8FSNb ISBpT6z2rU40fo8GoQwZmj/mHSi0l3SCcS/HqI5UCevC9JAsq9UQvw2rCYUMiPhvbufNQueNz uy2FYpvy9WIw+7QPRFqzVprC+k6IIP0/UXeubztjPIZ/wjNLNiGnrk7jZrzd0B6TTEZNh39xC I4aRHqP1Cgg2EDsOgMN4BkYCg1TbniuQEVYxuZJcd3i+55jwylwC7CL1/aLNa9145ulFX8u0u xWqxH8KocrWJppax1dknGJtYJD4i/SdfmuEnE6qmHEl0FXzyDO8IgM7yJidTSh76Ud3EzMTiL fr33tIpyPbCxUxtPJ5Pk9+naLpnotKsI1m37lBufSu0QhqMg9sUKmpN81r3/Z8XpF7upBiBJ9 uaC4T1Q/Xuzcxk8eHrhlhuf7BK4ywnBt5rnD7Is9w3WQLoxpdvqzAhEwaKB817o1kJSfKQm7a dOCrCW0yX/8P79I7VHklkKTppn1kbOHjJ36wiUtiK1rpYuvlknTL2xN8yc81lBshxghY76OGX 8wjnEFCfS4+RnRUJJ6UQRzJiI5Gt4sj6lrVFYEhHKuPkoohP7Itcp0uQUx9epoc5UqHT+0UN+ vYLT4OT47zPOego5JAlxpj+5jtZTRCXs6MlPUBD5DDE5jMIoel/nRGeJscGQICKKGpeFfFcG X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:159030 Archived-At: Mattias Engdeg=C3=A5rd writes: Hi Mattias, > I understand that some people are queasy about using advice in code > like this, and am open to suggestions about alternatives. It's not just being qeasy. It is a design rule, that advising functions do not belong to core Emacs. > What the code needs is a reasonable (not necessarily bullet-proof) way > to detect new file buffers and changes to buffer-file-name of those > buffers. Monitoring `find-file-noselect' and `set-visited-file-name' > turned out to be good enough. > For the former, it might be possible to get away with > `after-change-major-mode-hook' instead (already used for non-file > buffers). There is `find-file-hook'. If we need to hook into `set-visited-file-name', we shall create a new hook `after-set-visited-file-name', and run it there. > +(defvar-local global-auto-revert--tracked-buffer nil > + "Non-nil if buffer is handled by Global Auto-Revert mode.") > + Somehow, I'm not so comfortable with that name. Could we take `auto-revert-global-mode'? It is similar to `auto-revert-mode' and `auto-revert-tail-mode', with the disadvantage that there does not exist such a mode. Alternatively, we could create a local variable `global-autorevert-mode' in buffers which are tracked, and check always for that local value where it matters. > +(defun auto-revert--find-file-noselect-advice (buffer) > + "Adopt BUFFER for Global Auto-Revert if appropriate. > +Called with the return value of `find-file-noselect'." > + (auto-revert--global-add-buffer buffer) > + (auto-revert-set-timer) > + buffer) > + > +(defun auto-revert--after-change-major-mode () > + "Adopt the current buffer for Global Auto-Revert if appropriate. > +Called after the current buffer got a new major mode." > + (auto-revert--global-add-buffer (current-buffer)) > + (auto-revert-set-timer)) These are almost identical. Make argument buffer optional, and it is just one function. Best regards, Michael.