diff options
| author | Karl Heuer | 1995-03-03 05:01:27 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-03-03 05:01:27 +0000 |
| commit | 8066f1a1d116b60c5165ec6f3a0b63f288e89803 (patch) | |
| tree | 72c2f1753caa67f1b9f2a4bc75d5b871f4007626 /src | |
| parent | 27c395516df185ae0b85c098c0554912a226e5df (diff) | |
| download | emacs-8066f1a1d116b60c5165ec6f3a0b63f288e89803.tar.gz emacs-8066f1a1d116b60c5165ec6f3a0b63f288e89803.zip | |
(read_char_minibuf_menu_prompt): orig_defn_macro is now Lisp_Object, not int.
(init_perdisplay): Initialize some of the new members.
(wipe_perdisplay): Free kbd_macro_buffer.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 8212d2aedc0..81bf5b0323a 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1173,7 +1173,7 @@ command_loop_1 () | |||
| 1173 | { | 1173 | { |
| 1174 | /* nil means key is undefined. */ | 1174 | /* nil means key is undefined. */ |
| 1175 | bitch_at_user (); | 1175 | bitch_at_user (); |
| 1176 | defining_kbd_macro = 0; | 1176 | current_perdisplay->defining_kbd_macro = Qnil; |
| 1177 | update_mode_lines = 1; | 1177 | update_mode_lines = 1; |
| 1178 | clear_prefix_arg (); | 1178 | clear_prefix_arg (); |
| 1179 | } | 1179 | } |
| @@ -1392,7 +1392,7 @@ command_loop_1 () | |||
| 1392 | finalize: | 1392 | finalize: |
| 1393 | /* Install chars successfully executed in kbd macro. */ | 1393 | /* Install chars successfully executed in kbd macro. */ |
| 1394 | 1394 | ||
| 1395 | if (defining_kbd_macro && NILP (Vprefix_arg)) | 1395 | if (!NILP (current_perdisplay->defining_kbd_macro) && NILP (Vprefix_arg)) |
| 1396 | finalize_kbd_macro_chars (); | 1396 | finalize_kbd_macro_chars (); |
| 1397 | 1397 | ||
| 1398 | #ifdef MULTI_PERDISPLAY | 1398 | #ifdef MULTI_PERDISPLAY |
| @@ -4581,7 +4581,7 @@ read_char_minibuf_menu_prompt (commandflag, nmaps, maps) | |||
| 4581 | int i = nlength; | 4581 | int i = nlength; |
| 4582 | Lisp_Object obj; | 4582 | Lisp_Object obj; |
| 4583 | int ch; | 4583 | int ch; |
| 4584 | int orig_defn_macro ; | 4584 | Lisp_Object orig_defn_macro; |
| 4585 | 4585 | ||
| 4586 | /* Loop over elements of map. */ | 4586 | /* Loop over elements of map. */ |
| 4587 | while (i < width) | 4587 | while (i < width) |
| @@ -4676,12 +4676,12 @@ read_char_minibuf_menu_prompt (commandflag, nmaps, maps) | |||
| 4676 | is pressed. Help characters are not recorded because menu prompting | 4676 | is pressed. Help characters are not recorded because menu prompting |
| 4677 | is not used on replay. | 4677 | is not used on replay. |
| 4678 | */ | 4678 | */ |
| 4679 | orig_defn_macro = defining_kbd_macro ; | 4679 | orig_defn_macro = current_perdisplay->defining_kbd_macro; |
| 4680 | defining_kbd_macro = 0 ; | 4680 | current_perdisplay->defining_kbd_macro = Qnil; |
| 4681 | do | 4681 | do |
| 4682 | obj = read_char (commandflag, 0, 0, Qnil, 0); | 4682 | obj = read_char (commandflag, 0, 0, Qnil, 0); |
| 4683 | while (BUFFERP (obj)); | 4683 | while (BUFFERP (obj)); |
| 4684 | defining_kbd_macro = orig_defn_macro ; | 4684 | current_perdisplay->defining_kbd_macro = orig_defn_macro; |
| 4685 | 4685 | ||
| 4686 | if (!INTEGERP (obj)) | 4686 | if (!INTEGERP (obj)) |
| 4687 | return obj; | 4687 | return obj; |
| @@ -4692,8 +4692,8 @@ read_char_minibuf_menu_prompt (commandflag, nmaps, maps) | |||
| 4692 | && (!INTEGERP (menu_prompt_more_char) | 4692 | && (!INTEGERP (menu_prompt_more_char) |
| 4693 | || ! EQ (obj, make_number (Ctl (XINT (menu_prompt_more_char)))))) | 4693 | || ! EQ (obj, make_number (Ctl (XINT (menu_prompt_more_char)))))) |
| 4694 | { | 4694 | { |
| 4695 | if ( defining_kbd_macro ) | 4695 | if (!NILP (current_perdisplay->defining_kbd_macro)) |
| 4696 | store_kbd_macro_char(obj) ; | 4696 | store_kbd_macro_char (obj); |
| 4697 | return obj; | 4697 | return obj; |
| 4698 | } | 4698 | } |
| 4699 | /* Help char - go round again */ | 4699 | /* Help char - go round again */ |
| @@ -6038,7 +6038,7 @@ DEFUN ("discard-input", Fdiscard_input, Sdiscard_input, 0, 0, 0, | |||
| 6038 | Also cancel any kbd macro being defined.") | 6038 | Also cancel any kbd macro being defined.") |
| 6039 | () | 6039 | () |
| 6040 | { | 6040 | { |
| 6041 | defining_kbd_macro = 0; | 6041 | current_perdisplay->defining_kbd_macro = Qnil; |
| 6042 | update_mode_lines++; | 6042 | update_mode_lines++; |
| 6043 | 6043 | ||
| 6044 | Vunread_command_events = Qnil; | 6044 | Vunread_command_events = Qnil; |
| @@ -6422,6 +6422,9 @@ init_perdisplay (perd) | |||
| 6422 | perd->immediate_echo = 0; | 6422 | perd->immediate_echo = 0; |
| 6423 | perd->echoptr = perd->echobuf; | 6423 | perd->echoptr = perd->echobuf; |
| 6424 | perd->echo_after_prompt = -1; | 6424 | perd->echo_after_prompt = -1; |
| 6425 | perd->kbd_macro_buffer = 0; | ||
| 6426 | perd->kbd_macro_bufsize = 0; | ||
| 6427 | perd->defining_kbd_macro = Qnil; | ||
| 6425 | } | 6428 | } |
| 6426 | 6429 | ||
| 6427 | /* | 6430 | /* |
| @@ -6433,8 +6436,8 @@ void | |||
| 6433 | wipe_perdisplay (perd) | 6436 | wipe_perdisplay (perd) |
| 6434 | PERDISPLAY *perd; | 6437 | PERDISPLAY *perd; |
| 6435 | { | 6438 | { |
| 6436 | /* Free anything that was malloc'd in init_perdisplay. */ | 6439 | if (perd->kbd_macro_buffer) |
| 6437 | /* Placeholder -- currently no action required. */ | 6440 | xfree (perd->kbd_macro_buffer); |
| 6438 | } | 6441 | } |
| 6439 | 6442 | ||
| 6440 | init_keyboard () | 6443 | init_keyboard () |