From: Chong Yidong Date: Sun, 3 Oct 2010 00:59:02 +0000 (-0400) Subject: * keyboard.c (command_loop_1): Make sure the mark is really alive X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~46^2~237 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6926550f39269b4fd2717f2e5eba8b51ac044fea;p=emacs.git * keyboard.c (command_loop_1): Make sure the mark is really alive before using it (Bug#7044). --- diff --git a/src/ChangeLog b/src/ChangeLog index a8ef551d885..ee022b78ddd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-10-03 Chong Yidong + + * keyboard.c (command_loop_1): Make sure the mark is really alive + before using it (Bug#7044). + 2010-10-02 Juanma Barranquero * makefile.w32-in (tags): Rename target to full-tags. diff --git a/src/keyboard.c b/src/keyboard.c index 1be6c2aad9d..890ab80aee6 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1786,7 +1786,8 @@ command_loop_1 (void) this_single_command_key_start = 0; } - if (!NILP (current_buffer->mark_active) && !NILP (Vrun_hooks)) + if (!NILP (current_buffer->mark_active) + && !NILP (Vrun_hooks)) { /* In Emacs 22, setting transient-mark-mode to `only' was a way of turning it on for just one command. This usage is @@ -1805,6 +1806,9 @@ command_loop_1 (void) /* Even if not deactivating the mark, set PRIMARY if `select-active-regions' is non-nil. */ if (!NILP (Fwindow_system (Qnil)) + /* Even if mark_active is non-nil, the actual buffer + marker may not have been set yet (Bug#7044). */ + && XMARKER (current_buffer->mark)->buffer && (EQ (Vselect_active_regions, Qonly) ? EQ (CAR_SAFE (Vtransient_mark_mode), Qonly) : (!NILP (Vselect_active_regions)