diff options
author | Kenichi Handa <handa@m17n.org> | 2010-01-13 10:33:19 +0900 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2010-01-13 10:33:19 +0900 |
commit | d1bf28dc12ef1a0f3cecbf78f38795db27b38574 (patch) | |
tree | f7030cdefb9d5d8423619e7d70273ae98c011821 /src | |
parent | dc954cb273234237b615b93b6368d4adbdea31c4 (diff) | |
parent | ca22a44072c65a233af5b4c12256dc5fd266cb85 (diff) | |
download | emacs-d1bf28dc12ef1a0f3cecbf78f38795db27b38574.tar.gz |
merge trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 14 | ||||
-rw-r--r-- | src/emacs.c | 6 | ||||
-rw-r--r-- | src/keyboard.c | 12 |
3 files changed, 28 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 55e69ff9340..6e3fc4ff1c5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -16,6 +16,20 @@ * composite.c (composition_reseat_it): Don't check PT if STRING is non nil. +2010-01-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * keyboard.c (read_char): Don't apply previous change when current + buffer is unchanged by command execution. + +2010-01-12 Jan Djärv <jan.h.d@swipnet.se> + + * keyboard.c (read_char): Return after executing from special map. + +2010-01-12 Glenn Morris <rgm@gnu.org> + + * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to + bug-gnu-emacs rather than emacs-pretest-bug. + 2010-01-11 Chong Yidong <cyd@stupidchicken.com> * nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before diff --git a/src/emacs.c b/src/emacs.c index 8b88985969b..dc19c13e8a8 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1,7 +1,7 @@ /* Fully extensible Emacs, running on Unix, intended for GNU. Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1998, 1999, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 - Free Software Foundation, Inc. + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, + 2010 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -747,7 +747,7 @@ void (*__malloc_initialize_hook) () = malloc_initialize_hook; #define REPORT_EMACS_BUG_ADDRESS "bug-gnu-emacs@gnu.org" -#define REPORT_EMACS_BUG_PRETEST_ADDRESS "emacs-pretest-bug@gnu.org" +#define REPORT_EMACS_BUG_PRETEST_ADDRESS "bug-gnu-emacs@gnu.org" /* This function is used to determine an address to which bug report should be sent. */ diff --git a/src/keyboard.c b/src/keyboard.c index 13d13cd3276..3b57c6e470f 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -3155,6 +3155,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time) if (!NILP (tem)) { + struct buffer *prev_buffer = current_buffer; #if 0 /* This shouldn't be necessary anymore. --lorentey */ int was_locked = single_kboard; int count = SPECPDL_INDEX (); @@ -3178,7 +3179,16 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time) unbind_to (count, Qnil); #endif - goto retry; + if (current_buffer != prev_buffer) + { + /* The command may have changed the keymaps. Pretend there + is input in another keyboard and return. This will + recalculate keymaps. */ + c = make_number (-2); + goto exit; + } + else + goto retry; } /* Handle things that only apply to characters. */ |