aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1995-03-03 05:01:27 +0000
committerKarl Heuer1995-03-03 05:01:27 +0000
commit8066f1a1d116b60c5165ec6f3a0b63f288e89803 (patch)
tree72c2f1753caa67f1b9f2a4bc75d5b871f4007626 /src
parent27c395516df185ae0b85c098c0554912a226e5df (diff)
downloademacs-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.c25
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,
6038Also cancel any kbd macro being defined.") 6038Also 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
6433wipe_perdisplay (perd) 6436wipe_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
6440init_keyboard () 6443init_keyboard ()