From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#23574: 24.5; Overzealous underlining in emacs-nox Date: Fri, 10 Jun 2016 12:50:33 +0300 Message-ID: <83k2hxpe3a.fsf@gnu.org> References: <83porxwg1f.fsf@gnu.org> <83d1nxudrb.fsf@gnu.org> <83wpm3tyvn.fsf@gnu.org> <83twh7tt83.fsf@gnu.org> <83r3cbt5l3.fsf@gnu.org> <83h9d6tl3j.fsf@gnu.org> <5755AACE.8030303@gmx.at> <831t4ataep.fsf@gnu.org> <57568F86.8040902@gmx.at> <83eg89roam.fsf@gnu.org> <5757BC3A.5070402@gmx.at> <83lh2fr4pt.fsf@gnu.org> <57592B18.2030808@gmx.at> <83bn3ar1k3.fsf@gnu.org> <575A6932.70908@gmx.at> <83r3c5piq0.fsf@gnu.org> <575A793E.7090302@gmx.at> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1465553948 23007 80.91.229.3 (10 Jun 2016 10:19:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 10 Jun 2016 10:19:08 +0000 (UTC) Cc: 23574@debbugs.gnu.org, john.b.mastro@gmail.com, cwoodbury@azavea.com, npostavs@users.sourceforge.net To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jun 10 12:18:57 2016 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 1bBJWj-0001OD-MD for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Jun 2016 12:18:57 +0200 Original-Received: from localhost ([::1]:39519 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBJWi-0000xj-Op for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Jun 2016 06:18:56 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36110) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBJ5l-0002CC-2a for bug-gnu-emacs@gnu.org; Fri, 10 Jun 2016 05:51:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bBJ5h-0005gT-UM for bug-gnu-emacs@gnu.org; Fri, 10 Jun 2016 05:51:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51068) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBJ5h-0005gP-R3 for bug-gnu-emacs@gnu.org; Fri, 10 Jun 2016 05:51:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bBJ5h-0001pI-K7 for bug-gnu-emacs@gnu.org; Fri, 10 Jun 2016 05:51:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Jun 2016 09:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23574 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: notabug Original-Received: via spool by 23574-submit@debbugs.gnu.org id=B23574.14655522136965 (code B ref 23574); Fri, 10 Jun 2016 09:51:01 +0000 Original-Received: (at 23574) by debbugs.gnu.org; 10 Jun 2016 09:50:13 +0000 Original-Received: from localhost ([127.0.0.1]:35172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bBJ4v-0001oH-8j for submit@debbugs.gnu.org; Fri, 10 Jun 2016 05:50:13 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44887) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bBJ4s-0001o1-T3 for 23574@debbugs.gnu.org; Fri, 10 Jun 2016 05:50:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bBJ4j-0005Sh-8k for 23574@debbugs.gnu.org; Fri, 10 Jun 2016 05:50:05 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54913) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBJ4b-0005Qw-LX; Fri, 10 Jun 2016 05:49:53 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4438 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bBJ4Z-0003R0-KI; Fri, 10 Jun 2016 05:49:52 -0400 In-reply-to: <575A793E.7090302@gmx.at> (message from martin rudalics on Fri, 10 Jun 2016 10:24:30 +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: 208.118.235.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:119375 Archived-At: > Date: Fri, 10 Jun 2016 10:24:30 +0200 > From: martin rudalics > CC: npostavs@users.sourceforge.net, 23574@debbugs.gnu.org, > john.b.mastro@gmail.com, cwoodbury@azavea.com > > >> Which gets me back to my initial concern: If our user does that eagerly > >> for the entire buffer, the overhead might be non-negligible. > > > > I don't see why. Redisplay only considers the visible portion of the > > buffer. > > I meant the overhead for adding the text property to every newline > character in the buffer. You mean, memory overhead? I don't think it's significant. > > row->pixel_width doesn't count text glyphs, it counts all of the > > glyphs in a glyph row, including the glyphs produced by the display > > engine for its own purposes. E.g., it always includes the space glyph > > produced at the end of a line, which is needed for displaying the > > cursor. > > Are there any other significant objects but that space glyph? Yes, a few. Look at the comments at the beginning of 'struct glyph' definition in dispextern.h. > Is there any other way to get the size of the empty space after text > on each row? "Other way"? other than what? > > row->pixel_width is computed in compute_line_metrics, > > after the stretch glyph (and any other glyphs needed for line display) > > were already inserted. compute_line_metrics doesn't care about what > > glyphs are there, it counts them all. > > Hmm... How would I get the width of that stretch glyph then? It's recorded in the glyph's pixel_width. Or maybe I don't understand the problem you are trying to solve.