From: Eli Zaretskii <eliz@gnu.org>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 19300@debbugs.gnu.org
Subject: bug#19300: 24.4.51; visual-line-mode messes up after-string rendering when it spans all window columns
Date: Tue, 09 Dec 2014 18:11:53 +0200 [thread overview]
Message-ID: <83zjawx0om.fsf@gnu.org> (raw)
In-Reply-To: <54864794.80802@yandex.ru>
> Date: Tue, 09 Dec 2014 02:51:32 +0200
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: 19300@debbugs.gnu.org
>
> On 12/08/2014 10:39 PM, Eli Zaretskii wrote:
> > I meant a recipe to show one window with the problem and another
> > without, in the same session. If you achieve that with the same
> > resizing of a window, it'd be interesting to see.
>
> The recipe won't work on your system anyway, right? Since you can't
> reproduce the situation of just "one window with a problem", and the
> above would be a (tiny bit) more complicated version of it.
>
> I can make a video, if you like.
>
> > The pixel size of the canonical character of that font, as you get in
> > your session, would be a good start. E.g., put a breakpoint in
> > set_cursor_from_row, then step a few lines, and type "pgrow".
> >
> > Here's the full recipe:
> > ...
> > (gdb) pgrow
>
> 14350 set_cursor_from_row (struct window *w, struct glyph_row *row,
> (gdb) pgrow
> TEXT: 39 glyphs
> 0 0: STRETCH[20+15] pos=740 w=64 a+d=15+5 MB
> 1 64: STRETCH[20+15] pos=741 w=64 a+d=15+5 MB
> 2 128: STRETCH[20+15] pos=742 w=64 a+d=15+5 MB
> 3 192: CHAR[ ] pos=743 blev=0,btyp=L w=8 a+d=15+5 MB
> 4 200: CHAR["] pos=744 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 5 208: CHAR[ ] pos=745 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 6 216: CHAR[a] pos=746 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 7 224: CHAR[d] pos=747 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 8 232: CHAR[-] pos=748 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 9 240: CHAR[A] pos=749 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 10 248: CHAR[d] pos=750 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 11 256: CHAR[v] pos=751 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 12 264: CHAR[i] pos=752 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 13 272: CHAR[c] pos=753 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 14 280: CHAR[e] pos=754 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 15 288: CHAR[-] pos=755 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 16 296: CHAR[d] pos=756 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 17 304: CHAR[e] pos=757 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 18 312: CHAR[l] pos=758 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 19 320: CHAR[e] pos=759 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 20 328: CHAR[t] pos=760 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 21 336: CHAR[e] pos=761 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 22 344: CHAR[-] pos=762 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 23 352: CHAR[f] pos=763 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 24 360: CHAR[i] pos=764 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 25 368: CHAR[l] pos=765 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 26 376: CHAR[e] pos=766 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 27 384: CHAR[ ] pos=767 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 28 392: CHAR[<] pos=768 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 29 400: CHAR[f] pos=769 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 30 408: CHAR[>] pos=770 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 31 416: CHAR[ ] pos=771 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 32 424: CHAR[ ] pos=772 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 33 432: CHAR[ ] pos=773 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 34 440: CHAR[ ] pos=774 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 35 448: CHAR[ ] pos=775 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 36 456: CHAR[ ] pos=776 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 37 464: CHAR["] pos=777 blev=0,btyp=L w=8 a+d=15+5 face=17 MB
> 38 472: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=15+5 MB
This means every character is 8 pixels wide, so I'd expect the
wrapping to occur around 256-pixel wide window.
> >> I can also drag the left window border a bit, so that (window-width)
> >> still returns 34, but (window-pixel-width) is 291, then the lines in the
> >> test buffer become not wrapped.
> >
> > The fact that pixel size changes, but the size in characters doesn't
> > is expected, of course.
>
> I wrote down specific numbers, for you to maybe try resizing the window
> to these dimensions. Like mentioned, I see the problem at 288px, and
> there's no problem at 291px, while the reported width in columns stays
> the same.
These are not the numbers we need, we need what this returns:
M-: (window-width nil t) RET
> It's fairly hard to reach 288px though, because dragging with the mouse
> still moves the window border in jumps (even though not by columns).
Perhaps set window-resize-pixelwise non-nil.
next prev parent reply other threads:[~2014-12-09 16:11 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-07 23:50 bug#19300: 24.4.51; visual-line-mode messes up after-string rendering when it spans all window columns Dmitry Gutov
2014-12-08 3:46 ` Eli Zaretskii
2014-12-08 10:14 ` Dmitry Gutov
2014-12-08 16:04 ` Eli Zaretskii
2014-12-08 16:40 ` Dmitry Gutov
2014-12-08 17:03 ` Eli Zaretskii
2014-12-08 18:47 ` Dmitry Gutov
2014-12-08 20:39 ` Eli Zaretskii
2014-12-09 0:51 ` Dmitry Gutov
2014-12-09 16:11 ` Eli Zaretskii [this message]
2014-12-09 17:30 ` Dmitry Gutov
2014-12-09 17:51 ` Eli Zaretskii
2014-12-09 18:38 ` Dmitry Gutov
2014-12-09 18:50 ` Eli Zaretskii
2014-12-10 17:58 ` Eli Zaretskii
2014-12-10 22:50 ` Dmitry Gutov
2014-12-11 3:42 ` 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=83zjawx0om.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=19300@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
/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).