unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Titus von der Malsburg <malsburg@posteo.de>
Cc: 19395@debbugs.gnu.org
Subject: bug#19395: 25.0.50; Setting left fringe to 0 messes up window-width
Date: Wed, 17 Dec 2014 17:29:43 +0200	[thread overview]
Message-ID: <83d27iwazc.fsf@gnu.org> (raw)
In-Reply-To: <878ui79bv7.fsf@posteo.de>

> From: Titus von der Malsburg <malsburg@posteo.de>
> Cc: Eli Zaretskii <eliz@gnu.org>, 19395@debbugs.gnu.org
> Date: Tue, 16 Dec 2014 19:46:52 -0800
> 
> On 2014-12-16 Tue 15:12, Stefan Monnier wrote:
> >> As long as the left fringe exists, we can display on it.  But once its
> >> width is zero, it no longer exists, and so we need to reserve space to
> >> display the continuation glyph "by other means".
> >
> > That sounds wrong: if the user decides to get rid of the left-fringe,
> > she just shouldn't get any continuation glyph on the left.
> 
> Strange, setting left-fringe to 0 apparently reserves a column for the
> continuation character even when the right fringe is non-zero and no
> such column is needed.

You are thinking only about left-to-right lines of text.  But Emacs
also supports right-to-left lines of text, which use the left fringe
to display the continuation bitmap.  Those right-to-left lines need
the extra column for the continuation glyph when the left fringe is
not available.

And because Emacs supports mixed directions of text lines in the same
buffer, and because the line geometry needs to be symmetrical in both
cases, we reserve one column in left-to-right lines as well, even
though the right fringe is available (and so that column will be left
unused, i.e. empty, in left-to-right lines).

This all is so, when neither the left nor the right fringe are
available, we display mixed-direction lines like this (where "|"
denotes the window edge):

  |left-to-right continued line\|
  |/RIGHT-TO-LEFT CONTINUED LINE|

IOW, no matter what the direction, the text always begins at the
window edge, and its last (in logical order) column is used for the
continuation glyph.

When the right fringe is available, but the left one isn't, you will
see this instead (with "⤶" standing for the fringe bitmap:

  |left-to-right continued line |⤶
  |/RIGHT-TO-LEFT CONTINUED LINE|





  reply	other threads:[~2014-12-17 15:29 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-16 20:01 bug#19395: 25.0.50; Setting left fringe to 0 messes up window-width Titus von der Malsburg
2014-12-16 20:09 ` Eli Zaretskii
2014-12-16 20:36   ` Titus von der Malsburg
2014-12-16 20:58     ` Eli Zaretskii
2014-12-16 23:12       ` Stefan Monnier
2014-12-17  3:39         ` Eli Zaretskii
2014-12-17 14:16           ` Stefan Monnier
2014-12-17 15:47             ` Eli Zaretskii
2014-12-17 21:31               ` Stefan Monnier
2014-12-17 22:57                 ` Drew Adams
2014-12-18  3:37                 ` Eli Zaretskii
2014-12-18 14:24                   ` Stefan Monnier
2014-12-18 15:51                     ` Eli Zaretskii
2014-12-20 10:09                       ` martin rudalics
2014-12-20 11:00                         ` Eli Zaretskii
2014-12-17  3:46         ` Titus von der Malsburg
2014-12-17 15:29           ` Eli Zaretskii [this message]
2014-12-17 21:34             ` Stefan Monnier
2014-12-18  3:40               ` Eli Zaretskii
2014-12-18 14:25                 ` Stefan Monnier
2014-12-18 15:52                   ` Eli Zaretskii
2014-12-17  3:28       ` Titus von der Malsburg
2014-12-17 15:32         ` Eli Zaretskii
2014-12-17 17:18           ` Titus von der Malsburg
2014-12-17 18:21             ` Eli Zaretskii
2014-12-17 18:48               ` Titus von der Malsburg
2014-12-17 19:09                 ` Eli Zaretskii
2014-12-18  3:36                   ` Titus von der Malsburg
2014-12-18 16:15                     ` Eli Zaretskii
2014-12-19 17:09                       ` martin rudalics
2014-12-19 19:35                         ` Eli Zaretskii
2014-12-20 10:09                           ` martin rudalics
2014-12-20 10:59                             ` Eli Zaretskii
2014-12-20 11:42                               ` martin rudalics
2014-12-20 12:45                                 ` Eli Zaretskii
2014-12-20 14:51                                   ` martin rudalics
2014-12-20 16:36                                     ` Eli Zaretskii
2014-12-20 17:50                                       ` martin rudalics
2014-12-20 18:16                                         ` Eli Zaretskii
2014-12-20 18:58                                           ` martin rudalics
2014-12-20 19:52                                             ` Eli Zaretskii
2014-12-21 12:14                                               ` Titus von der Malsburg
2014-12-21 16:43                                                 ` Eli Zaretskii
2014-12-20 14:51                       ` Titus von der Malsburg
2014-12-20 15:06                         ` martin rudalics
2014-12-20 15:21                           ` Titus von der Malsburg
2014-12-20 16:03                             ` martin rudalics
2014-12-20 16:40                               ` Eli Zaretskii
2014-12-20 15:45                           ` Titus von der Malsburg
2014-12-20 16:38                           ` Eli Zaretskii
2014-12-20 17:51                             ` martin rudalics
2014-12-20 18:19                               ` Eli Zaretskii
2014-12-20 16:31                         ` Eli Zaretskii
2014-12-21 22:04                           ` Titus von der Malsburg
2014-12-22 16:00                             ` Eli Zaretskii
2022-04-29 13:14                               ` Lars Ingebrigtsen
2022-06-02 21:41                                 ` Jim Porter
     [not found]                                 ` <a54d35b0-7ed6-374c-2a14-e7d97cf6c0a2@gmail.com>
2022-06-03  3:21                                   ` Lars Ingebrigtsen
2014-12-18 17:16         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83d27iwazc.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=19395@debbugs.gnu.org \
    --cc=malsburg@posteo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).