unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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.





  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).