From 3341db6299a2bb63a641210d72f73e93e2d1542e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 21 Sep 2011 04:13:18 -0400 Subject: 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. --- src/dispextern.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/dispextern.h') diff --git a/src/dispextern.h b/src/dispextern.h index 6528412158..3c157371ef 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -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; -- cgit v1.2.3