From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p Date: Sun, 12 Nov 2017 06:10:58 +0200 Message-ID: <8360agnnl9.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1510459934 30571 195.159.176.226 (12 Nov 2017 04:12:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 12 Nov 2017 04:12:14 +0000 (UTC) Cc: david.reitter@gmail.com, alan@idiocy.org, andlind@gmail.com, 29233@debbugs.gnu.org To: Keith David Bershatsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 12 05:12:08 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1eDjct-0007RH-Lr for geb-bug-gnu-emacs@m.gmane.org; Sun, 12 Nov 2017 05:12:07 +0100 Original-Received: from localhost ([::1]:47932 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDjcx-00020F-Ld for geb-bug-gnu-emacs@m.gmane.org; Sat, 11 Nov 2017 23:12:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54672) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDjcr-0001zw-La for bug-gnu-emacs@gnu.org; Sat, 11 Nov 2017 23:12:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDjco-0002uG-Ey for bug-gnu-emacs@gnu.org; Sat, 11 Nov 2017 23:12:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55444) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eDjco-0002tM-B5 for bug-gnu-emacs@gnu.org; Sat, 11 Nov 2017 23:12:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eDjco-0001cT-1v for bug-gnu-emacs@gnu.org; Sat, 11 Nov 2017 23:12:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 12 Nov 2017 04:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29233 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 29233-submit@debbugs.gnu.org id=B29233.15104598676165 (code B ref 29233); Sun, 12 Nov 2017 04:12:02 +0000 Original-Received: (at 29233) by debbugs.gnu.org; 12 Nov 2017 04:11:07 +0000 Original-Received: from localhost ([127.0.0.1]:35892 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDjbu-0001bN-UB for submit@debbugs.gnu.org; Sat, 11 Nov 2017 23:11:07 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:35267) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDjbt-0001at-Kt for 29233@debbugs.gnu.org; Sat, 11 Nov 2017 23:11:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDjbl-0002F3-8I for 29233@debbugs.gnu.org; Sat, 11 Nov 2017 23:11:00 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37728) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDjbl-0002Eu-4X; Sat, 11 Nov 2017 23:10:57 -0500 Original-Received: from [176.228.60.248] (port=3537 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eDjbk-0001dC-IK; Sat, 11 Nov 2017 23:10:56 -0500 In-reply-to: (message from Keith David Bershatsky on Sat, 11 Nov 2017 14:33:22 -0800) 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:139783 Archived-At: > Date: Sat, 11 Nov 2017 14:33:22 -0800 > From: Keith David Bershatsky > Cc: Alan Third ,Anders Lindgren ,David Reitter ,Martin Rudalics ,29233@debbugs.gnu.org > > The crux of the issue raised with #29233 is whether users might wish to see a fringe bitmap instead of a partial width cursor when point is slightly less than the exact window width. Whereas the patches relating to #16856 reduce the width of the cursor so that it does not overflow into the fringe (creating unwanted artifacts), there was nothing done to permit a fringe bitmap to be placed there instead. > > I had not given any consideration to the possibility that a partial width cursor is "a feature". I.e., I erroneously assumed that a partial width cursor was merely an attempt to avoid unwanted artifacts being drawn on the fringe. > > I personally like to see fringe bitmaps when points is slightly less than the exact widow width; however, I am uncertain how to reconcile that proposed feature with the desire by others to see a partial width cursor without a fringe bitmap. The part of the display code that deals with the cursor on the fringes is insanely complicated. It's part of the code which deals with the following features: . "normal" display of the cursor at the end of a line . showing the cursor on the right (or left, for RTL lines) fringe when a line fits in the window exactly . showing the continuation/truncation bitmaps on the fringes . showing the continuation/truncation glyphs in the text area when the fringes are disabled . displaying a TAB or any other stretch of white space that extends beyond the window edge . all of the above, when lines are wrapped (word-wrap is non-nil) . most of the above on TTY frames (I could be forgetting some use cases.) Each one of these needs special considerations in the move_it_* functions, because those functions need to support all of those correctly. Adding any more complexity to what we already have on our hands is IMO only justified for some significant features. The proposed one seems to be only of aesthetic value, so I don't think we should complicate the display code more than it already is on this behalf. > If the consensus is that a user who has a window-width that is not an integral multiple of frame's character width must give up the ability to see a fringe bitmap, then that resolves #29233. It's not just the window being the integral multiple, it's _any_ situation where some space is available between the right edge of the last glyph and the window edge. Don't forget that Emacs supports variable-pitch fonts and can display glyphs from different fonts on the same line, which will almost always leave some fractional space at the end of the line. I don't know if this is the consensus, but I just don't think we should go there.