aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1997-07-24 16:45:55 +0000
committerRichard M. Stallman1997-07-24 16:45:55 +0000
commitef6661f7767c113ab8db7ce6f804ed97023be4bc (patch)
tree944bf2065584198c5d606c4a12d7417b97a49c47 /src
parentd61e2ad99702c1603ae93c91b52df1e431c520b1 (diff)
downloademacs-ef6661f7767c113ab8db7ce6f804ed97023be4bc.tar.gz
emacs-ef6661f7767c113ab8db7ce6f804ed97023be4bc.zip
(read_char): Delete spurious UNGCPRO.
Add UNGCPRO before the longjmps to wrong_kboard_jmpbuf. Initialize c before the GCPRO1.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 6c068dfd043..39629ae463a 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1711,6 +1711,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
1711 1711
1712 before_command_key_count = this_command_key_count; 1712 before_command_key_count = this_command_key_count;
1713 before_command_echo_length = echo_length (); 1713 before_command_echo_length = echo_length ();
1714 c = Qnil;
1714 1715
1715 GCPRO1 (c); 1716 GCPRO1 (c);
1716 1717
@@ -1865,6 +1866,9 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
1865 *tailp = Fcons (c, Qnil); 1866 *tailp = Fcons (c, Qnil);
1866 kb->kbd_queue_has_data = 1; 1867 kb->kbd_queue_has_data = 1;
1867 current_kboard = kb; 1868 current_kboard = kb;
1869 /* This is going to exit from read_char
1870 so we had better get rid of this frame's stuff. */
1871 UNGCPRO;
1868 longjmp (wrong_kboard_jmpbuf, 1); 1872 longjmp (wrong_kboard_jmpbuf, 1);
1869 } 1873 }
1870 } 1874 }
@@ -2030,6 +2034,9 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2030 if (kb->kbd_queue_has_data) 2034 if (kb->kbd_queue_has_data)
2031 { 2035 {
2032 current_kboard = kb; 2036 current_kboard = kb;
2037 /* This is going to exit from read_char
2038 so we had better get rid of this frame's stuff. */
2039 UNGCPRO;
2033 longjmp (wrong_kboard_jmpbuf, 1); 2040 longjmp (wrong_kboard_jmpbuf, 1);
2034 } 2041 }
2035 } 2042 }
@@ -2067,6 +2074,9 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2067 if (single_kboard) 2074 if (single_kboard)
2068 goto wrong_kboard; 2075 goto wrong_kboard;
2069 current_kboard = kb; 2076 current_kboard = kb;
2077 /* This is going to exit from read_char
2078 so we had better get rid of this frame's stuff. */
2079 UNGCPRO;
2070 longjmp (wrong_kboard_jmpbuf, 1); 2080 longjmp (wrong_kboard_jmpbuf, 1);
2071 } 2081 }
2072#endif 2082#endif
@@ -2191,8 +2201,6 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2191 if (! NILP (also_record)) 2201 if (! NILP (also_record))
2192 record_char (also_record); 2202 record_char (also_record);
2193 2203
2194 UNGCPRO;
2195
2196 from_macro: 2204 from_macro:
2197 reread_first: 2205 reread_first:
2198 2206