From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master fd8f724: * src/xdisp.c (overlay_arrows_changed_p): Fix last change. Date: Tue, 28 Feb 2017 15:02:35 -0500 Message-ID: References: <83y3wqnvol.fsf@gnu.org> <83tw7enq58.fsf@gnu.org> <83r32inna5.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1488312180 7600 195.159.176.226 (28 Feb 2017 20:03:00 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 28 Feb 2017 20:03:00 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 28 21:02:56 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cinyz-00011S-Vb for ged-emacs-devel@m.gmane.org; Tue, 28 Feb 2017 21:02:50 +0100 Original-Received: from localhost ([::1]:36609 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cinz6-0004ur-1C for ged-emacs-devel@m.gmane.org; Tue, 28 Feb 2017 15:02:56 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60075) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cinyz-0004uE-L9 for emacs-devel@gnu.org; Tue, 28 Feb 2017 15:02:50 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cinyv-0003WF-KO for emacs-devel@gnu.org; Tue, 28 Feb 2017 15:02:49 -0500 Original-Received: from [195.159.176.226] (port=32903 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cinyv-0003Vx-Dm for emacs-devel@gnu.org; Tue, 28 Feb 2017 15:02:45 -0500 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1cinym-0008Bq-OA for emacs-devel@gnu.org; Tue, 28 Feb 2017 21:02:36 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 39 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:E9uo3wRB/LzhaOvwYMSPWyJF01g= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:212663 Archived-At: > But we only care what happens with these between two successive > redisplay cycles. What kind of scenario could possibly change that > variable in more than one buffer? Here's a situation: (with-current-buffer A (setq-local overlay-arrow-position (copy-marker 10))) (with-current-buffer B (setq-local overlay-arrow-position (copy-marker 5))) after redisplay, what should be the value of (get 'overlay-arrow-position 'last-arrow-position) ? If it's 5 and we perform a redisplay, will buffer A be refreshed even if no changes occurred in it? The way I look at it, this code fundamentally assumes that the variables on that list are not buffer-local (not only because of the use of global symbol properties but also because it only considers the value of those vars in the buffer which happens to be current). Yet: % grep -l local.\*overlay-arrow-position **/*.el calc/calc.el gnus/gnus-sum.el mpc.el net/rcirc.el progmodes/compile.el progmodes/python.el % And from my understanding of how this code works, we can both end up redisplaying unnecessarily, as well as fail to redisplay when needed. Stefan