diff options
| author | Joakim Verona | 2011-10-26 13:50:37 +0200 |
|---|---|---|
| committer | Joakim Verona | 2011-10-26 13:50:37 +0200 |
| commit | fa25a460d09ba56885d47ddd46d168eba6afdc6e (patch) | |
| tree | c4e260dfdc215bb8a88a9b8d1b08540392ce681c /src | |
| parent | c591741609839575d7e0353a180b8eeb3e422fe1 (diff) | |
| parent | 3d0788a9a28c10b49217107b71d4ece9eee0f28d (diff) | |
| download | emacs-fa25a460d09ba56885d47ddd46d168eba6afdc6e.tar.gz emacs-fa25a460d09ba56885d47ddd46d168eba6afdc6e.zip | |
upstream
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 14 | ||||
| -rw-r--r-- | src/dispextern.h | 1 | ||||
| -rw-r--r-- | src/intervals.c | 2 | ||||
| -rw-r--r-- | src/keyboard.c | 16 | ||||
| -rw-r--r-- | src/sysdep.c | 5 |
5 files changed, 33 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3f9b5beeab6..854c4987be5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2011-10-25 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). | ||
| 4 | |||
| 5 | 2011-10-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 6 | |||
| 7 | * keyboard.c (test_undefined): New function (bug#9751). | ||
| 8 | (read_key_sequence): Use it to detect when a key is bound to `undefined'. | ||
| 9 | |||
| 10 | 2011-10-25 Enami Tsugutomo <tsugutomo.enami@jp.sony.com> | ||
| 11 | |||
| 12 | * sysdep.c (init_sys_modes): Fix the check for the controlling | ||
| 13 | terminal (Bug#6649). | ||
| 14 | |||
| 1 | 2011-10-20 Eli Zaretskii <eliz@gnu.org> | 15 | 2011-10-20 Eli Zaretskii <eliz@gnu.org> |
| 2 | 16 | ||
| 3 | * dispextern.h (struct bidi_it): New member next_en_type. | 17 | * dispextern.h (struct bidi_it): New member next_en_type. |
diff --git a/src/dispextern.h b/src/dispextern.h index 40e41923554..006ceb31a5a 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3374,6 +3374,7 @@ extern int tty_capable_p (struct tty_display_info *, unsigned, unsigned long, un | |||
| 3374 | extern void set_tty_color_mode (struct tty_display_info *, struct frame *); | 3374 | extern void set_tty_color_mode (struct tty_display_info *, struct frame *); |
| 3375 | extern struct terminal *get_named_tty (const char *); | 3375 | extern struct terminal *get_named_tty (const char *); |
| 3376 | EXFUN (Ftty_type, 1); | 3376 | EXFUN (Ftty_type, 1); |
| 3377 | EXFUN (Fcontrolling_tty_p, 1); | ||
| 3377 | extern void create_tty_output (struct frame *); | 3378 | extern void create_tty_output (struct frame *); |
| 3378 | extern struct terminal *init_tty (const char *, const char *, int); | 3379 | extern struct terminal *init_tty (const char *, const char *, int); |
| 3379 | extern void tty_append_glyph (struct it *); | 3380 | extern void tty_append_glyph (struct it *); |
diff --git a/src/intervals.c b/src/intervals.c index 2063655cdb9..1f3f8cf793e 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -1723,8 +1723,6 @@ graft_intervals_into_buffer (INTERVAL source, EMACS_INT position, | |||
| 1723 | BUF_INTERVALS (buffer)->position = BEG; | 1723 | BUF_INTERVALS (buffer)->position = BEG; |
| 1724 | BUF_INTERVALS (buffer)->up_obj = 1; | 1724 | BUF_INTERVALS (buffer)->up_obj = 1; |
| 1725 | 1725 | ||
| 1726 | /* Explicitly free the old tree here? */ | ||
| 1727 | |||
| 1728 | return; | 1726 | return; |
| 1729 | } | 1727 | } |
| 1730 | 1728 | ||
diff --git a/src/keyboard.c b/src/keyboard.c index a21008b9502..f06c8794a54 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -8918,6 +8918,14 @@ keyremap_step (Lisp_Object *keybuf, int bufsize, volatile keyremap *fkey, | |||
| 8918 | return 0; | 8918 | return 0; |
| 8919 | } | 8919 | } |
| 8920 | 8920 | ||
| 8921 | static int | ||
| 8922 | test_undefined (Lisp_Object binding) | ||
| 8923 | { | ||
| 8924 | return (EQ (binding, Qundefined) | ||
| 8925 | || (!NILP (binding) && SYMBOLP (binding) | ||
| 8926 | && EQ (Fcommand_remapping (binding, Qnil, Qnil), Qundefined))); | ||
| 8927 | } | ||
| 8928 | |||
| 8921 | /* Read a sequence of keys that ends with a non prefix character, | 8929 | /* Read a sequence of keys that ends with a non prefix character, |
| 8922 | storing it in KEYBUF, a buffer of size BUFSIZE. | 8930 | storing it in KEYBUF, a buffer of size BUFSIZE. |
| 8923 | Prompt with PROMPT. | 8931 | Prompt with PROMPT. |
| @@ -9868,7 +9876,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9868 | } | 9876 | } |
| 9869 | } | 9877 | } |
| 9870 | 9878 | ||
| 9871 | if (first_binding < nmaps && NILP (submaps[first_binding]) | 9879 | if (first_binding < nmaps |
| 9880 | && NILP (submaps[first_binding]) | ||
| 9881 | && !test_undefined (defs[first_binding]) | ||
| 9872 | && indec.start >= t) | 9882 | && indec.start >= t) |
| 9873 | /* There is a binding and it's not a prefix. | 9883 | /* There is a binding and it's not a prefix. |
| 9874 | (and it doesn't have any input-decode-map translation pending). | 9884 | (and it doesn't have any input-decode-map translation pending). |
| @@ -9895,7 +9905,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9895 | /* If there's a binding (i.e. | 9905 | /* If there's a binding (i.e. |
| 9896 | first_binding >= nmaps) we don't want | 9906 | first_binding >= nmaps) we don't want |
| 9897 | to apply this function-key-mapping. */ | 9907 | to apply this function-key-mapping. */ |
| 9898 | fkey.end + 1 == t && first_binding >= nmaps, | 9908 | fkey.end + 1 == t |
| 9909 | && (first_binding >= nmaps | ||
| 9910 | || test_undefined (defs[first_binding])), | ||
| 9899 | &diff, prompt); | 9911 | &diff, prompt); |
| 9900 | UNGCPRO; | 9912 | UNGCPRO; |
| 9901 | if (done) | 9913 | if (done) |
diff --git a/src/sysdep.c b/src/sysdep.c index b0d5a1abbe3..d666f8dbb79 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -854,6 +854,7 @@ void | |||
| 854 | init_sys_modes (struct tty_display_info *tty_out) | 854 | init_sys_modes (struct tty_display_info *tty_out) |
| 855 | { | 855 | { |
| 856 | struct emacs_tty tty; | 856 | struct emacs_tty tty; |
| 857 | Lisp_Object terminal; | ||
| 857 | 858 | ||
| 858 | Vtty_erase_char = Qnil; | 859 | Vtty_erase_char = Qnil; |
| 859 | 860 | ||
| @@ -907,7 +908,9 @@ init_sys_modes (struct tty_display_info *tty_out) | |||
| 907 | tty.main.c_cflag &= ~PARENB;/* Don't check parity */ | 908 | tty.main.c_cflag &= ~PARENB;/* Don't check parity */ |
| 908 | } | 909 | } |
| 909 | #endif | 910 | #endif |
| 910 | if (tty_out->input == stdin) | 911 | |
| 912 | XSETTERMINAL(terminal, tty_out->terminal); | ||
| 913 | if (!NILP (Fcontrolling_tty_p (terminal))) | ||
| 911 | { | 914 | { |
| 912 | tty.main.c_cc[VINTR] = quit_char; /* C-g (usually) gives SIGINT */ | 915 | tty.main.c_cc[VINTR] = quit_char; /* C-g (usually) gives SIGINT */ |
| 913 | /* Set up C-g for both SIGQUIT and SIGINT. | 916 | /* Set up C-g for both SIGQUIT and SIGINT. |