mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 23:10:47 -08:00
Fix assertion failure when displaying stretch glyphs under linum-mode.
src/xdisp.c (pop_it): Allow it->object that is a cons cell to pass the xassert test. src/dispextern.h (struct it): Update the comment documenting what can it->OBJECT be.
This commit is contained in:
parent
b523dc2054
commit
3341db6299
3 changed files with 23 additions and 4 deletions
|
|
@ -1,3 +1,11 @@
|
|||
2011-09-21 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (pop_it): Allow it->object that is a cons cell to pass
|
||||
the xassert test.
|
||||
|
||||
* dispextern.h (struct it): Update the comment documenting what
|
||||
can it->OBJECT be.
|
||||
|
||||
2011-09-20 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (set_cursor_from_row): If the row ends in a newline from
|
||||
|
|
|
|||
|
|
@ -2398,9 +2398,19 @@ struct it
|
|||
Lisp_Object font_height;
|
||||
|
||||
/* Object and position where the current display element came from.
|
||||
Object can be a Lisp string in case the current display element
|
||||
comes from an overlay string, or it is buffer. It may also be nil
|
||||
during mode-line update. Position is a position in object. */
|
||||
Object is normally the buffer which is being rendered, but it can
|
||||
also be a Lisp string in case the current display element comes
|
||||
from an overlay string or from a display string (before- or
|
||||
after-string). It may also be nil when a C string is being
|
||||
rendered, e.g., during mode-line or header-line update. It can
|
||||
also be a cons cell of the form `(space ...)', when we produce a
|
||||
stretch glyph from a `display' specification. Finally, it can be
|
||||
a zero-valued Lisp integer, but only temporarily, when we are
|
||||
producing special glyphs for display purposes, like truncation
|
||||
and continuation glyphs, or blanks that extend each line to the
|
||||
edge of the window on a TTY.
|
||||
|
||||
Position is the current iterator position in object. */
|
||||
Lisp_Object object;
|
||||
struct text_pos position;
|
||||
|
||||
|
|
|
|||
|
|
@ -5459,7 +5459,8 @@ pop_it (struct it *it)
|
|||
&& IT_BYTEPOS (*it) == it->bidi_it.bytepos)
|
||||
|| (STRINGP (it->object)
|
||||
&& IT_STRING_CHARPOS (*it) == it->bidi_it.charpos
|
||||
&& IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos));
|
||||
&& IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos)
|
||||
|| (CONSP (it->object) && it->method == GET_FROM_STRETCH));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue