From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Advice needed on modeline customization hack... Date: Mon, 17 Apr 2017 09:02:47 +0300 Message-ID: <83y3uzeflk.fsf@gnu.org> References: <20170415212800.5be89037@jabberwock.cb.piermont.com> <20170416094929.51e94c82@jabberwock.cb.piermont.com> <20170416104633.1768bbb6@jabberwock.cb.piermont.com> <20170416120942.36af8967@jabberwock.cb.piermont.com> <20170416180620.3615b4b6@jabberwock.cb.piermont.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1492408947 20275 195.159.176.226 (17 Apr 2017 06:02:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 17 Apr 2017 06:02:27 +0000 (UTC) Cc: cpitclaudel@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: "Perry E. Metzger" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 17 08:02:23 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 1czzjz-00059Y-C5 for ged-emacs-devel@m.gmane.org; Mon, 17 Apr 2017 08:02:23 +0200 Original-Received: from localhost ([::1]:34976 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1czzk3-0002P9-AY for ged-emacs-devel@m.gmane.org; Mon, 17 Apr 2017 02:02:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47818) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1czzjx-0002Os-1u for emacs-devel@gnu.org; Mon, 17 Apr 2017 02:02:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1czzjt-00023p-6S for emacs-devel@gnu.org; Mon, 17 Apr 2017 02:02:21 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40720) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1czzjt-00023l-3K; Mon, 17 Apr 2017 02:02:17 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4805 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1czzjs-0005f0-7R; Mon, 17 Apr 2017 02:02:16 -0400 In-reply-to: <20170416180620.3615b4b6@jabberwock.cb.piermont.com> (perry@piermont.com) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e 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:214044 Archived-At: > Date: Sun, 16 Apr 2017 18:06:20 -0400 > From: "Perry E. Metzger" > Cc: Stefan Monnier , emacs-devel@gnu.org > > I found an issue, though, which is that there's code throughout > xdisp.c that checks if w->column_number_displayed is the same as > current_column() in order to decide if it should update the modeline. > Naturally what I've done will break that. > > I'm thinking perhaps I should add a flag to the window structure > instead that says "add one when printing this" instead of changing > the value of w->column_number_displayed, but I can't quite figure out > where the modeline actually gets printed, only where > column_number_displayed gets set. I don't think adding a flag to the window object is necessary, as this option is global. You just need to make mode_line_update_needed look at the new variable, and offset the displayed column by one if the one-based display is used. Will this work, or am I missing something? Thanks.