# HG changeset patch # User Richard M. Stallman # Date 753788649 0 # Node ID 82bcf2c36929cdbc13ebb21ce0c0eaec519fc86e # Parent 863e092a5891211220629146aca662c961de603b (compute_motion): Pass new arg to Fnext_single_property_change. diff -r 863e092a5891 -r 82bcf2c36929 src/indent.c --- a/src/indent.c Sat Nov 20 09:43:41 1993 +0000 +++ b/src/indent.c Sat Nov 20 09:44:09 1993 +0000 @@ -460,25 +460,27 @@ /* if the `invisible' property is set, we can skip to the next property change */ while (pos == next_invisible && pos < to) - { - XFASTINT (position) = pos; - prop = Fget_text_property (position, - Qinvisible, - Fcurrent_buffer ()); - { - Lisp_Object end; + { + XFASTINT (position) = pos; + prop = Fget_text_property (position, + Qinvisible, + Fcurrent_buffer ()); + { + Lisp_Object end, limit; - end = Fnext_single_property_change (position, - Qinvisible, - Fcurrent_buffer ()); - if (INTEGERP (end)) - next_invisible = XINT (end); - else - next_invisible = to; - if (! NILP (prop)) - pos = next_invisible; - } - } + /* This is just an estimate to give reasonable + performance; nothing should go wrong if it is too small. */ + XFASTINT (limit) = pos + 100; + end = Fnext_single_property_change (position, Qinvisible, + Fcurrent_buffer (), limit); + if (INTEGERP (end)) + next_invisible = XINT (end); + else + next_invisible = to; + if (! NILP (prop)) + pos = next_invisible; + } + } if (pos >= to) break; #endif