emacs-devel
[Top][All Lists]
Advanced

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

Re: Debugging printing to stderr prior glyph row values ....


From: Keith David Bershatsky
Subject: Re: Debugging printing to stderr prior glyph row values ....
Date: Fri, 24 May 2019 07:56:25 -0700

Thank you, Eli, for teaching me how to debug this particular issue and also how 
to avoid crashes of this nature in the future.  I was unaware that an enabled_p 
(true) row could have zero glyphs.  Now that I know this is possible, I can 
programmatically deal with it.

Inasmuch as rows following a row with _only_ ZV contain an ends_at_zv_p flag 
that is also true, and because there may be no guarantee that the preceding row 
in the matrix can be relied upon to ascertain whether it ends at ZV, I believe 
a new flag would be helpful (at least in this particular context) -- i.e., 
beyond_zv_p versus ends_at_zv_p.  That way, only one row in the entire matrix 
will have a flag that indicates an at-ZV versus a post-ZV situation.  I'll 
spend some time on Saturday digging around xdisp.c ...

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

> Date: [05-23-2019 23:45:44] <24 May 2019 09:45:44 +0300>
> From: Eli Zaretskii <address@hidden>
> To: Keith David Bershatsky <address@hidden>
> CC: address@hidden
> Subject: Re: Debugging printing to stderr prior glyph row values ....
> 
> > Date:  Thu, 23 May 2019 17:03:36 -0700
> > From:  Keith David Bershatsky <address@hidden>
> > Cc:  address@hidden
> >
> > I got it to crash ... again.  "pgrowx previous_row" from gdb prints nothing 
> > and returns to a new gdb command prompt.
> 
> This means the previous glyph row had its 'used' member equal to zero.
> 
> > [CAVEAT:  I wanted a crash, so I did not insert a test for the 'used' 
> > member being greater than zero.]
> 
> And it shows:
> 
> > (gdb) print *previous_row
> > $3 = {
> >   glyphs = {0x11a800000, 0x11a800000, 0x11a803520, 0x11a803520},
> >   used = {0, 0, 0, 0},
> 
> See? all of the 'used' members are zero.  IOW, there are no glyphs in
> that row.



reply via email to

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