emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problems with move_it_in_display_line_to X when tabs exist.


From: Keith David Bershatsky
Subject: Re: Problems with move_it_in_display_line_to X when tabs exist.
Date: Wed, 06 Dec 2017 08:24:17 -0800

I wanted to give you an update on my efforts.  I was unable to isolate 
different results due to the platform upon which Emacs was built/run.  I did, 
however, track down a few areas in Emacs 26 where it->pixel_width is being set 
incorrectly when I am running my custom code.  When the 
continuation_lines_width is incorrect, the code in the vicinity of line 28212 
sets an erroneous it.pixel_width.  Inasmuch as I am moving along the length of 
the current line by it.pixel_width, the X and/or HPOS coordinates get skewed.  
I tried manually setting continuation_lines_width to 0 at both locations 
mentioned below, and it.pixel_width gets reported correctly.  However, this 
solution is not ideal because the STRETCH does not shrink and expand as it 
would normally do as things change in the buffer; e.g., adding/removing the 
right vertical scroll-bar affects whether the STRETCH would normally be either 
1 or 2 columns wide.  I feel as though I am zeroing-in on the underlying issue, 
but more work is ne
 eded in the coming days/weeks as time permits:

xdisp.c:9563
it->continuation_lines_width += it->current_x;

xdisp.c:21671
it->continuation_lines_width += x;

xdisp.c:28212
it->pixel_width = next_tab_x - x0;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DATE:  [12-04-2017 08:26:04] <04 Dec 2017 18:26:04 +0200>
FROM:  Eli Zaretskii <address@hidden>
> 
> > Date:  Sun, 03 Dec 2017 19:01:47 -0800
> > From:  Keith David Bershatsky <address@hidden>
> > Cc:  address@hidden
> > 
> > I built Emacs 26 for Windows (using my modification patch) and ran the same 
> > series of tests along with taking a screen-shot at the link below.  
> > it.pixel_width is correct on Emacs 26 for Windows, whereas it.pixel_width 
> > is wrong on Emacs 26 for OSX 10.6.8.
> 
> I'm surprised you see a difference.  This code is supposed to be
> platform independent.  So I guess you need to examine all the places
> in xdisp.c which are "#ifded NS" or "#ifndef NS".
> 
> * * *



reply via email to

[Prev in Thread] Current Thread [Next in Thread]