From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#12600: 24.2.50; linum-mode: line numbers in fringe do not refresh when resizing frame Date: Fri, 12 Oct 2012 09:32:01 +0200 Message-ID: <5077C771.1000208@gmx.at> References: <50720A4F.2010200@gmail.com> <83391p5sjc.fsf@gnu.org> <50729A38.8000800@gmx.at> <83haq53qy8.fsf@gnu.org> <5073F029.4040201@gmx.at> <83y5jfziey.fsf@gnu.org> <50754C80.7010809@gmx.at> <83ehl6z5y0.fsf@gnu.org> <50767172.4060807@gmx.at> <83a9vtkkvl.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1350027197 32716 80.91.229.3 (12 Oct 2012 07:33:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 12 Oct 2012 07:33:17 +0000 (UTC) Cc: 12600@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Oct 12 09:33:24 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1TMZkK-0003Bn-AU for geb-bug-gnu-emacs@m.gmane.org; Fri, 12 Oct 2012 09:33:24 +0200 Original-Received: from localhost ([::1]:47719 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMZkD-0000jz-Ll for geb-bug-gnu-emacs@m.gmane.org; Fri, 12 Oct 2012 03:33:17 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:47576) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMZkA-0000ju-R1 for bug-gnu-emacs@gnu.org; Fri, 12 Oct 2012 03:33:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TMZk9-0004WX-Ge for bug-gnu-emacs@gnu.org; Fri, 12 Oct 2012 03:33:14 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:58254) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMZk9-0004WT-E1 for bug-gnu-emacs@gnu.org; Fri, 12 Oct 2012 03:33:13 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TMZkv-0005Xp-Qo for bug-gnu-emacs@gnu.org; Fri, 12 Oct 2012 03:34:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 12 Oct 2012 07:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12600 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 12600-submit@debbugs.gnu.org id=B12600.135002718621250 (code B ref 12600); Fri, 12 Oct 2012 07:34:01 +0000 Original-Received: (at 12600) by debbugs.gnu.org; 12 Oct 2012 07:33:06 +0000 Original-Received: from localhost ([127.0.0.1]:40272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TMZk0-0005Wg-Vs for submit@debbugs.gnu.org; Fri, 12 Oct 2012 03:33:05 -0400 Original-Received: from mailout-de.gmx.net ([213.165.64.23]:42166) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1TMZjx-0005WC-SE for 12600@debbugs.gnu.org; Fri, 12 Oct 2012 03:33:02 -0400 Original-Received: (qmail invoked by alias); 12 Oct 2012 07:32:07 -0000 Original-Received: from 62-47-56-150.adsl.highway.telekom.at (EHLO [62.47.56.150]) [62.47.56.150] by mail.gmx.net (mp039) with SMTP; 12 Oct 2012 09:32:07 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19KIwltApNKZxPCWf5P6D6eTMU8oUoEDouCF5zrt8 luT1tO5JX9RrtT In-Reply-To: <83a9vtkkvl.fsf@gnu.org> X-Y-GMX-Trusted: 0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:65512 Archived-At: >> if (! NILP (update) >> /** && ! (! NILP (w->window_end_valid) **/ >> /** && w->last_modified >= BUF_MODIFF (b) **/ >> /** && w->last_overlay_modified >= BUF_OVERLAY_MODIFF (b)) **/ >> && !noninteractive) >> >> makes the problem disappear. >> >> So apparently this can be fixed easily but as long as I don't understand >> that cryptic conjunct I won't do it. > > That 'if' is just an optimization: it tries to avoid a (potentially > expensive) call to move_it_vertically. It could be expensive with > large windows and/or very long lines, for example. > > So if window-end is not supposed to be called in some inner loop, and > we don't mind getting slower on behalf of a package whose design is > known to be flawed anyway, we can disable the optimization. Disabling > this optimization should never do any harm, AFAIU, except slow down > the function. Before doing that, could you please in window.h eventually update the comments for display related fields like last_modified, last_overlay_modified, last_point to say who's supposed to (re-)set them to which value. I'm afraid the current situation is a mess. For example, what does the "displayed buffer's text modification events counter as of last time display completed" mean? Suppose redisplay has set this to 37. Apparently, setting it to 36 means that the next redisplay will notice that for this window display is not accurate and has to be redone because 36 < 37. But why is a flag insufficient to accomplish that? IIUC it's set only once by mark_window_display_accurate_1 and everywhere else reset to 0. Why can't we set it to "accurate" in mark_window_display_accurate_1 and "inaccurate" everwhere else? And why do we have additional fields for last_overlay_modified and window_end_valid? What sense does it make to handle these separately? For example, wherever last_modified is reset to 0 last_overlay_modified is always reset to 0 too. Isn't that plain overkill? martin