summaryrefslogtreecommitdiff
path: root/src/intervals.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2013-06-30 18:03:31 +0300
committerEli Zaretskii <eliz@gnu.org>2013-06-30 18:03:31 +0300
commit5d1c328614c3b8165ee3c9e9d3597f1fb0196ede (patch)
tree87f6910dc8ee30bc6c7dd0be3cc760a0f4dc5e48 /src/intervals.c
parent0ba54312c98bdcc8ab3ffc872cb9581710a0eea8 (diff)
downloademacs-5d1c328614c3b8165ee3c9e9d3597f1fb0196ede.tar.gz
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.
Diffstat (limited to 'src/intervals.c')
-rw-r--r--src/intervals.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/intervals.c b/src/intervals.c
index f65ce0ecc77..0b3bcc6ef4e 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -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. */