From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Ergus Newsgroups: gmane.emacs.bugs Subject: bug#36858: 27.0.50; display bugs with display-fill-column-indicator-mode Date: Fri, 9 Aug 2019 00:32:49 +0200 Message-ID: <20190808223249.fzrlhoquf4uylxve@Ergus> 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> <831rxvbm3t.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="86835"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: NeoMutt/20180716 Cc: 36858@debbugs.gnu.org, rotim.davor@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Aug 09 00:34:12 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 1hvqz2-000MSv-2R for geb-bug-gnu-emacs@m.gmane.org; Fri, 09 Aug 2019 00:34:08 +0200 Original-Received: from localhost ([::1]:55440 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hvqz1-00075I-4T for geb-bug-gnu-emacs@m.gmane.org; Thu, 08 Aug 2019 18:34:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47984) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hvqyx-00074y-FL for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 18:34:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hvqyw-0005KZ-Ke for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 18:34:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:33032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hvqyw-0005KU-FI for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 18:34:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hvqyw-0003O1-Ay for bug-gnu-emacs@gnu.org; Thu, 08 Aug 2019 18:34:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ergus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 08 Aug 2019 22:34: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.156530358412901 (code B ref 36858); Thu, 08 Aug 2019 22:34:02 +0000 Original-Received: (at 36858) by debbugs.gnu.org; 8 Aug 2019 22:33:04 +0000 Original-Received: from localhost ([127.0.0.1]:41853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hvqxz-0003M1-Is for submit@debbugs.gnu.org; Thu, 08 Aug 2019 18:33:03 -0400 Original-Received: from sonic311-31.consmr.mail.ir2.yahoo.com ([77.238.176.163]:40577) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hvqxx-0003LS-Ur for 36858@debbugs.gnu.org; Thu, 08 Aug 2019 18:33:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1565303576; bh=CdDs/b5piWHLhY18xK47Xo6irnpQVsT5t17CisifGuc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=bRHTjuZSkEeFZWYMsP9v90ERbh3Dg0+agEI/0S23TegzsYAVFMc1szz3rAU5aYEGociEbTDb/WIw7MMhlGziTiUCBmog37Tbisw+NmntH06BJnr6qnikip0IfmFLhpgDHnTiOu1FnMqA7fWyE3K2kvZ13+VxYOUBOg+b6300XuAhuSxMuHNUwHUIvzoqqcy3toAW1KezOUhlPQbewvCf/hvPirlwqrc8apkIsmwKha5jM+NQo/tdIPBpd/FLTp2k0YZvyqSjdM2R6dn5PPMpkrESFCxITPxOcFXM7B43O0BUZsCJ5hda9zfZVH2sItuLfEkJ3LdZKZPWsoxcPgabbw== X-YMail-OSG: 5_Q_5ncVM1lWiA9TJsqh42UURTETMbO4IlzSHNmG23IyGD5YxP6tRytr2r5gOEW J0np.vNZ_W32PECUpL84v_4y_QQGmPEurrmvxxLlQ3DHnFy76K.irUAhAciFfWZHSvmETKZnA3PL mtNUh5Blz_t3ATZFAvYvJOAv_7aOkgtaEy4X.m2D0xlGSZKDO4Qcr1jc1RooEQTss9J0fmdeMHTK _a0Q.k7Nj06D02spD9iXwfGDDIsuK8ygvrE0.PqAVUndO0sxs8jGH0Gc6XFZlE7FsEsv4EawtqB2 SwuM7FfM8VTHNlyJqry.vKg32rx7_.LqaRvM1t_ZU4mx9Ru2qgGhAR.iRGzq3dLJyYUC0TCMrGBN k5CesBNyiz7yMP8mE0UFAs3bfWRNGgF1FRDLtr035SOfqRWFAM67Gdxj.Q6gwT5PDTawpPfR9eN. Qg_migMOlv8FUAOEJMIYf4m.M2OzfZC6OctgMxDVh6erVQSE2wnkVq9RdByy_iJYfH54CDqWEwKv 2hkf7PJcbxmMIyBBSsMxN.s3AvrFKuCkCOoQ7H4MAI6uTN4F8f57D0zUtiishJ.USQ.akjmPo3hq xx671wOmlfw7OryiIKOcIt__6fQRrGV_jdewV1Mndoe0jby9nCQudPoI57O5nLtaQSIY6Ju5oI6j DRKkgrCuKDn.nWmFbMpEHB7ndXQl5Q33JUvDJets7XVHnXulV1.83_4HJTO4nDr4hhUagg5MkSjh TjrjjUr1x8PHAE84I.0KR2nqCCZfAhhoqOW_VRVwNQacSk9Owy1JwHza1ZUBByr1GvPe37Eb.E6L 2_lvs11bKQTqZatMbkSxdwmdMzkoRy_dW.dZYhGFM1 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.ir2.yahoo.com with HTTP; Thu, 8 Aug 2019 22:32:56 +0000 Original-Received: by smtp419.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 73f24bd214d7620c8d269fc26eeb89d2; Thu, 08 Aug 2019 22:32:53 +0000 (UTC) Content-Disposition: inline In-Reply-To: <831rxvbm3t.fsf@gnu.org> 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:164783 Archived-At: On Thu, Aug 08, 2019 at 08:31:02PM +0300, Eli Zaretskii wrote: >> 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. Yes I know. I was just trying to find the key condition for our case.