883 |
if (NILP (object)) |
if (NILP (object)) |
884 |
XSETBUFFER (object, current_buffer); |
XSETBUFFER (object, current_buffer); |
885 |
|
|
886 |
if (! NILP (limit) && ! EQ (limit, Qt)) |
if (!NILP (limit) && !EQ (limit, Qt)) |
887 |
CHECK_NUMBER_COERCE_MARKER (limit); |
CHECK_NUMBER_COERCE_MARKER (limit); |
888 |
|
|
889 |
i = validate_interval_range (object, &position, &position, soft); |
i = validate_interval_range (object, &position, &position, soft); |
911 |
|
|
912 |
next = next_interval (i); |
next = next_interval (i); |
913 |
|
|
914 |
while (! NULL_INTERVAL_P (next) && intervals_equal (i, next) |
while (!NULL_INTERVAL_P (next) && intervals_equal (i, next) |
915 |
&& (NILP (limit) || next->position < XFASTINT (limit))) |
&& (NILP (limit) || next->position < XFASTINT (limit))) |
916 |
next = next_interval (next); |
next = next_interval (next); |
917 |
|
|
918 |
if (NULL_INTERVAL_P (next)) |
if (NULL_INTERVAL_P (next)) |
919 |
return limit; |
return limit; |
920 |
if (! NILP (limit) && !(next->position < XFASTINT (limit))) |
if (NILP (limit)) |
921 |
|
XSETFASTINT (limit, (STRINGP (object) |
922 |
|
? XSTRING (object)->size |
923 |
|
: BUF_ZV (XBUFFER (object)))); |
924 |
|
if (!(next->position < XFASTINT (limit))) |
925 |
return limit; |
return limit; |
926 |
|
|
927 |
XSETFASTINT (position, next->position); |
XSETFASTINT (position, next->position); |
997 |
|
|
998 |
if (NULL_INTERVAL_P (next)) |
if (NULL_INTERVAL_P (next)) |
999 |
return limit; |
return limit; |
1000 |
if (! NILP (limit) && !(next->position < XFASTINT (limit))) |
if (NILP (limit)) |
1001 |
|
XSETFASTINT (limit, (STRINGP (object) |
1002 |
|
? XSTRING (object)->size |
1003 |
|
: BUF_ZV (XBUFFER (object)))); |
1004 |
|
if (!(next->position < XFASTINT (limit))) |
1005 |
return limit; |
return limit; |
1006 |
|
|
1007 |
return make_number (next->position); |
return make_number (next->position); |
1038 |
i = previous_interval (i); |
i = previous_interval (i); |
1039 |
|
|
1040 |
previous = previous_interval (i); |
previous = previous_interval (i); |
1041 |
while (! NULL_INTERVAL_P (previous) && intervals_equal (previous, i) |
while (!NULL_INTERVAL_P (previous) && intervals_equal (previous, i) |
1042 |
&& (NILP (limit) |
&& (NILP (limit) |
1043 |
|| (previous->position + LENGTH (previous) > XFASTINT (limit)))) |
|| (previous->position + LENGTH (previous) > XFASTINT (limit)))) |
1044 |
previous = previous_interval (previous); |
previous = previous_interval (previous); |
1045 |
if (NULL_INTERVAL_P (previous)) |
if (NULL_INTERVAL_P (previous)) |
1046 |
return limit; |
return limit; |
1047 |
if (!NILP (limit) |
if (NILP (limit)) |
1048 |
&& !(previous->position + LENGTH (previous) > XFASTINT (limit))) |
XSETFASTINT (limit, (STRINGP (object) ? 0 : BUF_BEGV (XBUFFER (object)))); |
1049 |
|
if (!(previous->position + LENGTH (previous) > XFASTINT (limit))) |
1050 |
return limit; |
return limit; |
1051 |
|
|
1052 |
return make_number (previous->position + LENGTH (previous)); |
return make_number (previous->position + LENGTH (previous)); |
1079 |
i = validate_interval_range (object, &position, &position, soft); |
i = validate_interval_range (object, &position, &position, soft); |
1080 |
|
|
1081 |
/* Start with the interval containing the char before point. */ |
/* Start with the interval containing the char before point. */ |
1082 |
if (! NULL_INTERVAL_P (i) && i->position == XFASTINT (position)) |
if (!NULL_INTERVAL_P (i) && i->position == XFASTINT (position)) |
1083 |
i = previous_interval (i); |
i = previous_interval (i); |
1084 |
|
|
1085 |
if (NULL_INTERVAL_P (i)) |
if (NULL_INTERVAL_P (i)) |
1087 |
|
|
1088 |
here_val = textget (i->plist, prop); |
here_val = textget (i->plist, prop); |
1089 |
previous = previous_interval (i); |
previous = previous_interval (i); |
1090 |
while (! NULL_INTERVAL_P (previous) |
while (!NULL_INTERVAL_P (previous) |
1091 |
&& EQ (here_val, textget (previous->plist, prop)) |
&& EQ (here_val, textget (previous->plist, prop)) |
1092 |
&& (NILP (limit) |
&& (NILP (limit) |
1093 |
|| (previous->position + LENGTH (previous) > XFASTINT (limit)))) |
|| (previous->position + LENGTH (previous) > XFASTINT (limit)))) |
1094 |
previous = previous_interval (previous); |
previous = previous_interval (previous); |
1095 |
if (NULL_INTERVAL_P (previous)) |
if (NULL_INTERVAL_P (previous)) |
1096 |
return limit; |
return limit; |
1097 |
if (!NILP (limit) |
if (NILP (limit)) |
1098 |
&& !(previous->position + LENGTH (previous) > XFASTINT (limit))) |
XSETFASTINT (limit, (STRINGP (object) ? 0 : BUF_BEGV (XBUFFER (object)))); |
1099 |
|
if (!(previous->position + LENGTH (previous) > XFASTINT (limit))) |
1100 |
return limit; |
return limit; |
1101 |
|
|
1102 |
return make_number (previous->position + LENGTH (previous)); |
return make_number (previous->position + LENGTH (previous)); |