From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#36858: 27.0.50; display bugs with display-fill-column-indicator-mode Date: Thu, 08 Aug 2019 20:31:02 +0300 Message-ID: <831rxvbm3t.fsf@gnu.org> References: <83wofwexkr.fsf@gnu.org> <20190805152747.4vyzejqoiy33l4ou@Ergus> <83tvatavmh.fsf@gnu.org> <20190807162033.hpphf2pbfo4p6vam@Ergus> <83h86taq4v.fsf@gnu.org> <20190807170654.b6wsccs3b2acduff@Ergus> <83ef1wc2ae.fsf@gnu.org> <20190807194621.6ankodv7hclbvmdz@Ergus> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="171234"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 36858@debbugs.gnu.org, rotim.davor@gmail.com To: Ergus Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 08 19:32:10 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.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hvmGo-000iRH-4G for geb-bug-gnu-emacs@m.gmane.org; Thu, 08 Aug 2019 19:32:10 +0200 Original-Received: from localhost ([::1]:54296 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hvmGm-000396-I6 for geb-bug-gnu-emacs@m.gmane.org; Thu, 08 Aug 2019 13:32:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34915) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hvmGh-00036W-Il for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 13:32:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hvmGg-0006ro-J9 for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 13:32:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:32832) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hvmGg-0006rc-G9 for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 13:32:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hvmGg-0007fF-Ag for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 13:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 08 Aug 2019 17:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36858 X-GNU-PR-Package: emacs Original-Received: via spool by 36858-submit@debbugs.gnu.org id=B36858.156528547829391 (code B ref 36858); Thu, 08 Aug 2019 17:32:02 +0000 Original-Received: (at 36858) by debbugs.gnu.org; 8 Aug 2019 17:31:18 +0000 Original-Received: from localhost ([127.0.0.1]:41653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hvmFy-0007dz-9s for submit@debbugs.gnu.org; Thu, 08 Aug 2019 13:31:18 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:50683) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hvmFw-0007dm-9N for 36858@debbugs.gnu.org; Thu, 08 Aug 2019 13:31:17 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:38525) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hvmFq-0006SB-MW; Thu, 08 Aug 2019 13:31:10 -0400 Original-Received: from [176.228.60.248] (port=1201 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hvmFq-0006TQ-5X; Thu, 08 Aug 2019 13:31:10 -0400 In-reply-to: <20190807194621.6ankodv7hclbvmdz@Ergus> (message from Ergus on Wed, 7 Aug 2019 21:46:21 +0200) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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:164774 Archived-At: > Date: Wed, 7 Aug 2019 21:46:21 +0200 > From: Ergus > Cc: 36858@debbugs.gnu.org, rotim.davor@gmail.com > > >In a buffer showing only buffer text (no after-strings at EOB), all > >the glyph rows starting from the one showing EOB have their > >ends_at_zv_p flag set. > > Hi: > > In my tests inside extend_face_to_end_of_line the flag ends_at_zv_p is > always false. And for the last line (where it is supposed to be true) > the function extend_face_to_end_of_line is not called at all. So > actually all the code like: > > if (it->glyph_row->ends_at_zv_p) > it->face_id = default_face->id; > else > it->face_id = face->id; > > does nothing now. I see 2 calls to extend_face_to_end_of_line that have an explicit setting of the ends_at_zv_p flag to 'true' right before the call. The fact that you don't see that just means that you are not trying the use cases where those code fragments are executed. Which doesn't surprise me, since the Emacs display engine supports dozens of rare and subtle use cases, some of which are not easy to even reproduce. > I think that the problem is in the condition: > > if (!get_next_display_element (it)) inside display_line that filters the > call to extend_face_to_end_of_line with: > > if (row->reversed_p > || lookup_basic_face (it->w, it->f, DEFAULT_FACE_ID) != > DEFAULT_FACE_ID) > extend_face_to_end_of_line (it); > > And needs to be extended probably with with: > > || (!row_text_area_empty (row)) Not sure about which place you are talking: there are several places in xdisp.c where we call get_next_display_element and test that its value is zero. In any case, if we are going to call extend_face_to_end_of_line in some of the places where we currently don't do that at EOB, we should condition of the display-fill-column-indicator-mode being ON as well.