A possible fix for bug #14753 with aborts in get_local_map.
src/intervals.c (get_local_map): Instead of aborting, clip POSITION to the valid range of values.
This commit is contained in:
parent
0ba54312c9
commit
5d1c328614
2 changed files with 5 additions and 6 deletions
|
|
@ -1,5 +1,8 @@
|
|||
2013-06-30 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* intervals.c (get_local_map): Instead of aborting, clip POSITION
|
||||
to the valid range of values. (Bug#14753)
|
||||
|
||||
* xdisp.c (Fmove_point_visually): Invalidate the cursor position
|
||||
when moving point by using the current glyph matrix. This avoids
|
||||
the need to force redisplay when this function is called in a
|
||||
|
|
|
|||
|
|
@ -2196,9 +2196,7 @@ get_property_and_range (ptrdiff_t pos, Lisp_Object prop, Lisp_Object *val,
|
|||
/* Return the proper local keymap TYPE for position POSITION in
|
||||
BUFFER; TYPE should be one of `keymap' or `local-map'. Use the map
|
||||
specified by the PROP property, if any. Otherwise, if TYPE is
|
||||
`local-map' use BUFFER's local map.
|
||||
|
||||
POSITION must be in the accessible part of BUFFER. */
|
||||
`local-map' use BUFFER's local map. */
|
||||
|
||||
Lisp_Object
|
||||
get_local_map (register ptrdiff_t position, register struct buffer *buffer,
|
||||
|
|
@ -2207,9 +2205,7 @@ get_local_map (register ptrdiff_t position, register struct buffer *buffer,
|
|||
Lisp_Object prop, lispy_position, lispy_buffer;
|
||||
ptrdiff_t old_begv, old_zv, old_begv_byte, old_zv_byte;
|
||||
|
||||
/* Perhaps we should just change `position' to the limit. */
|
||||
if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer))
|
||||
emacs_abort ();
|
||||
clip_to_bounds (BUF_BEGV (buffer), position, BUF_ZV (buffer));
|
||||
|
||||
/* Ignore narrowing, so that a local map continues to be valid even if
|
||||
the visible region contains no characters and hence no properties. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue