From: Eli Zaretskii Date: Sat, 16 Nov 2013 09:27:19 +0000 (+0200) Subject: Fix bug #15907 with crashes due to after-change-functions. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~812 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3d6dec8d1ef99202a00c58a6ebdc3aaac7d83de6;p=emacs.git Fix bug #15907 with crashes due to after-change-functions. src/keymap.c (describe_map): Don't crash if PT is 1 both before and after inserting the description string. --- diff --git a/src/ChangeLog b/src/ChangeLog index f92eb7b85fc..696475c17e5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-11-16 Eli Zaretskii + + * keymap.c (describe_map): Don't crash if PT is 1 both before and + after inserting the description string. (Bug#15907) + 2013-11-15 Paul Eggert * data.c: Work around bogus GCC diagnostic about shift count. diff --git a/src/keymap.c b/src/keymap.c index 7a18cd5d983..562787ee8a5 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -3383,9 +3383,12 @@ describe_map (Lisp_Object map, Lisp_Object prefix, if (vect[i].shadowed) { - SET_PT (PT - 1); + ptrdiff_t pt = max (PT - 1, BEG); + + SET_PT (pt); insert_string ("\n (that binding is currently shadowed by another mode)"); - SET_PT (PT + 1); + pt = min (PT + 1, Z); + SET_PT (pt); } }