diff options
| author | Richard M. Stallman | 1997-07-24 16:45:55 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1997-07-24 16:45:55 +0000 |
| commit | ef6661f7767c113ab8db7ce6f804ed97023be4bc (patch) | |
| tree | 944bf2065584198c5d606c4a12d7417b97a49c47 /src | |
| parent | d61e2ad99702c1603ae93c91b52df1e431c520b1 (diff) | |
| download | emacs-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.c | 12 |
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 | ||