1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00

(Fnext_property_change, Fnext_single_property_change)

(Fprevious_property_change, Fprevious_single_property_change):
Stay within the narrowed-buffer boundaries.
This commit is contained in:
Stefan Monnier 2002-01-25 22:42:13 +00:00
parent 843e5edd21
commit 3a232704c3
2 changed files with 43 additions and 29 deletions

View File

@ -1,3 +1,9 @@
2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
* textprop.c (Fnext_property_change, Fnext_single_property_change)
(Fprevious_property_change, Fprevious_single_property_change):
Stay within the narrowed-buffer boundaries.
2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
* term.c (Ftty_display_color_cells): New function.
@ -270,7 +276,7 @@
2002-01-07 Jason Rumney <jasonr@gnu.org>
* xmenu.c (set_frame_menubar, xmenu_show):
(xdialog_show): Initialize wv->help to Qnil.
(xdialog_show): Initialize wv->help to Qnil.
* w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
(w32_dialog_show): Initialize wv->help to Qnil.
@ -305,8 +311,8 @@
(notice_overwritten_cursor): Don't depend on
output_cursor and updated_area. Compare pixel coordinates with
window's cursor pixel coordinates.
(x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
notice_overwritten_cursor with new arg list.
(x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
Call notice_overwritten_cursor with new arg list.
(show_mouse_face): Fix bug setting a row's mouse_face_p flag
unconditionally.
(x_draw_image_relief): Use predefined macro instead of
@ -404,17 +410,17 @@
* keymap.c (Flookup_key): Error message if key has wrong data type.
(Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
(exclude_key): New variable.
2001-12-28 Gerd Moellmann <gerd@gnu.org>
* xterm.c (x_setup_relief_colors): Don't compute an image's
background color if it doesn't have a Pixmap.
* xterm.c (notice_overwritten_cursor): Don't depend on
output_cursor and updated_area. Compare pixel coordinates with
window's cursor pixel coordinates.
(x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
notice_overwritten_cursor with new arg list.
(x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
Call notice_overwritten_cursor with new arg list.
(show_mouse_face): Fix bug setting a row's mouse_face_p flag
unconditionally.
@ -441,7 +447,7 @@
separated by mouse-movement. When tracking mouse, only record
first and last mouse-movement event in same window.
Don't record mouse-movement events in keyboard macros.
2001-12-25 Richard M. Stallman <rms@gnu.org>
* window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
@ -452,7 +458,7 @@
2001-12-22 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
The following changes remove mocklisp support:
The following changes remove mocklisp support:
* mocklisp.h, mocklisp.c: Files removed.
@ -460,17 +466,15 @@
`Qmocklisp' and `Qmocklisp_arguments'.
Remove prototype of syms_of_mocklisp.
* makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
files.
* makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
* callint.c: Do not include mocklisp.h.
(Fcall_interactively): Do not test for mocklisp case.
* eval.c: Remove variables `Qmocklisp_arguments',
`Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
ml_apply.
(Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
not test for mocklisp case.
`Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
(Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
Do not test for mocklisp case.
(Fwhile): Remove unused variable `tem'.
(syms_of_eval): Remove variable `moclisp-arguments'.
@ -645,8 +649,8 @@
2001-12-09 Jason Rumney <jasonr@gnu.org>
* w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
comment to explain where the struct came from.
* w32menu.c (_widget_value): Make `help' field a Lisp_Object.
Add comment to explain where the struct came from.
(single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
(add_menu_item): Process pop-up menus first to avoid memory leak.
(add_menu_item, w32_menu_display_help): Use `help' field as
@ -675,7 +679,7 @@
* alloc.c (inhibit_garbage_collection): Don't exceed value an int
can hold.
* data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
* data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
from most_positive_fixnum and most_negative_fixnum, resp., and
type changed to Lisp_Object.
(syms_of_data): DEFVAR_LISP them.

View File

@ -883,7 +883,7 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
if (NILP (object))
XSETBUFFER (object, current_buffer);
if (! NILP (limit) && ! EQ (limit, Qt))
if (!NILP (limit) && !EQ (limit, Qt))
CHECK_NUMBER_COERCE_MARKER (limit);
i = validate_interval_range (object, &position, &position, soft);
@ -911,13 +911,17 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
next = next_interval (i);
while (! NULL_INTERVAL_P (next) && intervals_equal (i, next)
while (!NULL_INTERVAL_P (next) && intervals_equal (i, next)
&& (NILP (limit) || next->position < XFASTINT (limit)))
next = next_interval (next);
if (NULL_INTERVAL_P (next))
return limit;
if (! NILP (limit) && !(next->position < XFASTINT (limit)))
if (NILP (limit))
XSETFASTINT (limit, (STRINGP (object)
? XSTRING (object)->size
: BUF_ZV (XBUFFER (object))));
if (!(next->position < XFASTINT (limit)))
return limit;
XSETFASTINT (position, next->position);
@ -993,7 +997,11 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
if (NULL_INTERVAL_P (next))
return limit;
if (! NILP (limit) && !(next->position < XFASTINT (limit)))
if (NILP (limit))
XSETFASTINT (limit, (STRINGP (object)
? XSTRING (object)->size
: BUF_ZV (XBUFFER (object))));
if (!(next->position < XFASTINT (limit)))
return limit;
return make_number (next->position);
@ -1030,14 +1038,15 @@ back past position LIMIT; return LIMIT if nothing is found until LIMIT. */)
i = previous_interval (i);
previous = previous_interval (i);
while (! NULL_INTERVAL_P (previous) && intervals_equal (previous, i)
while (!NULL_INTERVAL_P (previous) && intervals_equal (previous, i)
&& (NILP (limit)
|| (previous->position + LENGTH (previous) > XFASTINT (limit))))
previous = previous_interval (previous);
if (NULL_INTERVAL_P (previous))
return limit;
if (!NILP (limit)
&& !(previous->position + LENGTH (previous) > XFASTINT (limit)))
if (NILP (limit))
XSETFASTINT (limit, (STRINGP (object) ? 0 : BUF_BEGV (XBUFFER (object))));
if (!(previous->position + LENGTH (previous) > XFASTINT (limit)))
return limit;
return make_number (previous->position + LENGTH (previous));
@ -1070,7 +1079,7 @@ back past position LIMIT; return LIMIT if nothing is found until LIMIT. */)
i = validate_interval_range (object, &position, &position, soft);
/* Start with the interval containing the char before point. */
if (! NULL_INTERVAL_P (i) && i->position == XFASTINT (position))
if (!NULL_INTERVAL_P (i) && i->position == XFASTINT (position))
i = previous_interval (i);
if (NULL_INTERVAL_P (i))
@ -1078,15 +1087,16 @@ back past position LIMIT; return LIMIT if nothing is found until LIMIT. */)
here_val = textget (i->plist, prop);
previous = previous_interval (i);
while (! NULL_INTERVAL_P (previous)
while (!NULL_INTERVAL_P (previous)
&& EQ (here_val, textget (previous->plist, prop))
&& (NILP (limit)
|| (previous->position + LENGTH (previous) > XFASTINT (limit))))
previous = previous_interval (previous);
if (NULL_INTERVAL_P (previous))
return limit;
if (!NILP (limit)
&& !(previous->position + LENGTH (previous) > XFASTINT (limit)))
if (NILP (limit))
XSETFASTINT (limit, (STRINGP (object) ? 0 : BUF_BEGV (XBUFFER (object))));
if (!(previous->position + LENGTH (previous) > XFASTINT (limit)))
return limit;
return make_number (previous->position + LENGTH (previous));