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 buffer_shared is a mistake Date: Sat, 08 Dec 2012 15:58:12 +0200 Message-ID: <83ip8clk7f.fsf@gnu.org> References: <50C0C196.2020400@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1354975112 24776 80.91.229.3 (8 Dec 2012 13:58:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 8 Dec 2012 13:58:32 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dmitry Antipov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 08 14:58:45 2012 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 1ThKvV-0002MT-FY for ged-emacs-devel@m.gmane.org; Sat, 08 Dec 2012 14:58:45 +0100 Original-Received: from localhost ([::1]:42690 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ThKvJ-0001mK-4i for ged-emacs-devel@m.gmane.org; Sat, 08 Dec 2012 08:58:33 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:60970) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ThKvH-0001m8-0S for emacs-devel@gnu.org; Sat, 08 Dec 2012 08:58:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ThKvF-0005Pf-GI for emacs-devel@gnu.org; Sat, 08 Dec 2012 08:58:30 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:65445) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ThKvF-0005PN-8P for emacs-devel@gnu.org; Sat, 08 Dec 2012 08:58:29 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MEP00J00TBBLU00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Sat, 08 Dec 2012 15:58:27 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MEP00J1MTHFF860@a-mtaout20.012.net.il>; Sat, 08 Dec 2012 15:58:27 +0200 (IST) In-reply-to: <50C0C196.2020400@yandex.ru> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 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:155377 Archived-At: > Date: Thu, 06 Dec 2012 20:02:30 +0400 > From: Dmitry Antipov > CC: Eli Zaretskii > > 1) Redisplay is invoked with "xaxa" as current_buffer, and buffer_shared is recalculated > to 2 because "xaxa" is displayed in 2 windows. On leaving redisplay_internal, buffer_shared > is 2. > > 2) modify_overlay is called for "*scratch*", and this function still sees buffer_shared as 2 > (unchanged since last redisplay invocation), although *scratch* is displayed in the only > window. > > 3) ??? > > IIUC, as the minimum minorum, buffer_shared should be reset to 0 after leaving redisplay_internal. > Or it should be a per-buffer field. buffer_shared is used only by xdisp.c, with the single exception of modify_overlay. How about changing modify_overlay to compute this value by itself? IOW, I think modify_overlay shouldn't have used that variable to begin with. It's an internal variable used by the display engine.