Fix bug #9284 with line/wrap-prefix property on display strings.
commit08fff70c6eab76f935d6827e3fd030ec40457f1d
authorEli Zaretskii <eliz@gnu.org>
Fri, 12 Aug 2011 11:19:44 +0000 (12 14:19 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 12 Aug 2011 11:19:44 +0000 (12 14:19 +0300)
tree96532d4aeaf297d62cdc264ce9a12bc6cd3908b1
parent9d5cb6312b5e6ad61c7cdb5a1282d81e677899f2
Fix bug #9284 with line/wrap-prefix property on display strings.

 src/xdisp.c (iterate_out_of_display_property): xassert that
 IT->position is set to within IT->object's boundaries.  Break from
 the loop as soon as EOB is reached; avoids infloops in redisplay
 when IT->position is set up wrongly due to some bug.  Set
 IT->current to match the bidi iterator unconditionally.
 (push_display_prop): Allow GET_FROM_STRING as IT->method on
 entry; avoids crashes when line/wrap-prefix is set on a display
 string.  Force push_it to save on the stack the current
 buffer/string position, to be restored by pop_it.  Fix flags in
 the iterator structure wrt the object coming from a display
 property, as `line-prefix' and `wrap-prefix' are not ``replacing''
 properties.
src/ChangeLog
src/xdisp.c