unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Anders Lindgren <andlind@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 22891@debbugs.gnu.org
Subject: bug#22891: 25.0.92; set-fringe-mode with left fringe 0 breaks window width calculations on Mac OS (again)
Date: Thu, 14 Apr 2016 20:19:36 +0200	[thread overview]
Message-ID: <CABr8ebbtiK1o8r5hvRnZg8rGQPKyKBp_MmnO8EKdKUzJ3nzOAw@mail.gmail.com> (raw)
In-Reply-To: <83y48gdxsy.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2487 bytes --]

Hi!


> > Setting the `left-frame' frame parameter to any from 1 and up change the
> width of the fringe, while retaining
> > the width of the text area (80 characters). However, setting it to 0
> makes the text area wrap on 79 characters
> > (despite there being space for the 80:th character) while `window-width'
> still returns 80.
>
> This is all as expected: setting any of the fringes to zero requires
> displaying a continuation glyph in the text area, and since Emacs
> supports bidirectional display, we need to usurp one character cell
> from the other edge of the window as well, to make the geometry of L2R
> and R2L screen lines symmetrical.
>

Oh, this was a bit unexpected...

However, I don't understand why you need it. If the right fringe is
visible, it can hold the continuation character. In fact, I just tried this
with the left fringe set to 0 with a bidirectional text stretching multiple
lines, and the last text column didn't appear to be used at all.

Furthermore, I don't think this is what people want -- some people would
surely like to hide the fringes (especially the left) without losing one
text column. (Most Emacs users don't use bidirectional text anyway.)

When it comes to documentation, there is very little, if any, information
about this. For example, this is the description of the fringe frame
properties, it doesn't mention that setting either to zero would make Emacs
reserve a column for the continuation glyph:

    `left-fringe'
    `right-fringe'
         The default width of the left and right fringes of windows in this
         frame (*note Fringes::).  If either of these is zero, that
         effectively removes the corresponding fringe.

In the documentation of `window-width' (a.k.a. `window-body-width') it is
mentioned that the width includes the continuation glyph. However, in
`window-text-width' it is not.

It took some time to find the function `window-max-chars-per-line', which
seems to be the only way to check if there is a column reserved for the
continuation character. (term.el has replicated the logic in
`term-window-width'.)


Anyway, I think I found the real problem this time. ansi-term picks the
window size from both `term-window-width' (which correctly returns 79) and
`window-adjust-process-window-size-smallest' which doesn't take the
continuation glyph into account and says that the width is 80.

Again, I'l leaving it to others to fix it, as this is code I'm not at all
familiar with.

    -- Anders

[-- Attachment #2: Type: text/html, Size: 3207 bytes --]

  reply	other threads:[~2016-04-14 18:19 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-03  6:38 bug#22891: 25.0.92; set-fringe-mode with left fringe 0 breaks window width calculations on Mac OS (again) Constantine Vetoshev
2016-04-11  6:58 ` martin rudalics
2016-04-15  1:24   ` Constantine Vetoshev
2016-04-20 13:48     ` martin rudalics
2016-04-14  5:33 ` Anders Lindgren
2016-04-14 15:17   ` Eli Zaretskii
2016-04-14 18:19     ` Anders Lindgren [this message]
2016-04-14 19:24       ` Eli Zaretskii
2016-04-15  7:11         ` Anders Lindgren
2016-04-15  7:42           ` Eli Zaretskii
2016-04-15  8:05             ` Anders Lindgren
2016-04-15  8:25               ` Eli Zaretskii
2016-04-23 18:42 ` bug#22891: Anders Lindgren
2016-04-23 19:03   ` bug#22891: Daniel Colascione
2016-04-24  8:40   ` bug#22891: martin rudalics
2016-04-24 13:04     ` bug#22891: Anders Lindgren
2016-04-24 19:07     ` bug#22891: Anders Lindgren
2016-04-26  6:34       ` bug#22891: martin rudalics
2016-04-26  6:44         ` bug#22891: Eli Zaretskii
2016-04-26 19:10         ` bug#22891: Anders Lindgren
2016-04-26 19:17           ` bug#22891: Eli Zaretskii
2016-04-26 21:07             ` bug#22891: Anders Lindgren
2016-04-27  6:21               ` bug#22891: Eli Zaretskii
2016-04-27 21:30                 ` bug#22891: Anders Lindgren
2016-04-28  6:33                   ` bug#22891: martin rudalics
2016-04-26 19:03       ` bug#22891: Constantine Vetoshev
2016-04-27 21:38 ` bug#22891: Fixed: 25.0.92; set-fringe-mode with left fringe 0 breaks window width calculations on Mac OS (again) Anders Lindgren

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=CABr8ebbtiK1o8r5hvRnZg8rGQPKyKBp_MmnO8EKdKUzJ3nzOAw@mail.gmail.com \
    --to=andlind@gmail.com \
    --cc=22891@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /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).