Mercurial > emacs
changeset 110709:f07cd17d0a5a
* keyboard.c (command_loop_1): Make sure the mark is really alive
before using it (Bug#7044).
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 02 Oct 2010 20:59:02 -0400 |
parents | 4c31586ca1ca |
children | deee083d1b01 |
files | src/ChangeLog src/keyboard.c |
diffstat | 2 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sun Oct 03 00:33:27 2010 +0000 +++ b/src/ChangeLog Sat Oct 02 20:59:02 2010 -0400 @@ -1,3 +1,8 @@ +2010-10-03 Chong Yidong <cyd@stupidchicken.com> + + * keyboard.c (command_loop_1): Make sure the mark is really alive + before using it (Bug#7044). + 2010-10-02 Juanma Barranquero <lekktu@gmail.com> * makefile.w32-in (tags): Rename target to full-tags.
--- a/src/keyboard.c Sun Oct 03 00:33:27 2010 +0000 +++ b/src/keyboard.c Sat Oct 02 20:59:02 2010 -0400 @@ -1786,7 +1786,8 @@ 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 @@ /* 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)