clear flag, so we don't do the second SET_PT.
features all do nothing in that case. */
flag = point > BEGV && FETCH_CHAR (point - 1) == '\n';
- if (flag)
- /* We cannot use this optimization if properties change
- in the vicinity.
- ??? We need to check for change hook properties, etc. */
#ifdef USE_TEXT_PROPERTIES
- if (point - 1 > BEGV && ! property_change_between_p (point - 2, point))
+ /* We cannot use this optimization if properties change
+ in the vicinity.
+ ??? We need to check for change hook properties, etc. */
+ if (flag)
+ if (! (point - 1 > BEGV && ! property_change_between_p (point - 2, point)))
+ flag = 0;
#endif
- SET_PT (point - 1);
+
+ if (flag)
+ SET_PT (point - 1);
while (XINT (arg) > 0)
{