From d8bcf58ebc6d2a7ef91cca9d0fe35dabc5a796e2 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Wed, 7 Jun 1995 22:18:05 +0000 Subject: [PATCH] (cmd_error, command_loop_1, Fcommand_execute) (Fexecute_extended_command, init_kboard, syms_of_keyboard): Undo Feb 28 change; prefix arg handling is now in Lisp code again. --- src/keyboard.c | 46 +++++++++++----------------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/src/keyboard.c b/src/keyboard.c index c4e44ba9e5e..5556e3d18be 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -282,7 +282,6 @@ Lisp_Object Qself_insert_command; Lisp_Object Qforward_char; Lisp_Object Qbackward_char; Lisp_Object Qundefined; -Lisp_Object Qdigit_argument, Qnegative_argument; /* read_key_sequence stores here the command definition of the key sequence that it reads. */ @@ -835,7 +834,7 @@ cmd_error (data) Vstandard_output = Qt; Vstandard_input = Qt; Vexecuting_macro = Qnil; - clear_prefix_arg (); + current_kboard->Vprefix_arg = Qnil; cancel_echoing (); /* Avoid unquittable loop if data contains a circular list. */ @@ -1190,16 +1189,6 @@ command_loop_1 () last_point_position = PT; XSETBUFFER (last_point_position_buffer, prev_buffer); - /* If we're building a prefix argument, override minus and digits. */ - if (current_kboard->prefix_partial && i == 1 && NATNUMP (keybuf[0])) - { - if (XFASTINT (keybuf[0]) == '-' - && NILP (current_kboard->prefix_value)) - cmd = Qnegative_argument; - else if (XFASTINT (keybuf[0]) >= '0' && XFASTINT (keybuf[0]) <= '9') - cmd = Qdigit_argument; - } - /* Execute the command. */ this_command = cmd; @@ -1214,15 +1203,11 @@ command_loop_1 () bitch_at_user (); current_kboard->defining_kbd_macro = Qnil; update_mode_lines = 1; - clear_prefix_arg (); + current_kboard->Vprefix_arg = Qnil; } else { - current_prefix_partial = current_kboard->prefix_partial; - if (current_kboard->prefix_partial) - finalize_prefix_arg (); - - if (NILP (Vprefix_arg) && ! no_direct) + if (NILP (current_kboard->Vprefix_arg) && ! no_direct) { /* Recognize some common commands in common situations and do them directly. */ @@ -1345,7 +1330,7 @@ command_loop_1 () /* Here for a command that isn't executed directly */ nonundocount = 0; - if (NILP (Vprefix_arg)) + if (NILP (current_kboard->Vprefix_arg)) Fundo_boundary (); Fcommand_execute (this_command, Qnil); @@ -1369,7 +1354,7 @@ command_loop_1 () 3) we want to leave this_command_key_count non-zero, so that read_char will realize that it is re-reading a character, and not echo it a second time. */ - if (NILP (Vprefix_arg) && !current_kboard->prefix_partial) + if (NILP (current_kboard->Vprefix_arg)) { last_command = this_command; cancel_echoing (); @@ -1390,8 +1375,8 @@ command_loop_1 () finalize: /* Install chars successfully executed in kbd macro. */ - if (!NILP (current_kboard->defining_kbd_macro) && NILP (Vprefix_arg) - && !current_kboard->prefix_partial) + if (!NILP (current_kboard->defining_kbd_macro) + && NILP (current_kboard->Vprefix_arg)) finalize_kbd_macro_chars (); #ifdef MULTI_KBOARD @@ -5983,8 +5968,8 @@ Otherwise, that is done only if an arg is read using the minibuffer.") struct backtrace backtrace; extern int debug_on_next_call; - prefixarg = Vprefix_arg; - clear_prefix_arg (); + prefixarg = current_kboard->Vprefix_arg; + current_kboard->Vprefix_arg = Qnil; Vcurrent_prefix_arg = prefixarg; debug_on_next_call = 0; @@ -6115,7 +6100,7 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_ UNGCPRO; function = Fintern (function, Qnil); - Vprefix_arg = prefixarg; + current_kboard->Vprefix_arg = prefixarg; this_command = function; return Fcommand_execute (function, Qt); @@ -6601,10 +6586,7 @@ void init_kboard (kb) KBOARD *kb; { - kb->prefix_factor = Qnil; - kb->prefix_value = Qnil; - kb->prefix_sign = 1; - kb->prefix_partial = 0; + kb->Vprefix_arg = Qnil; kb->kbd_queue = Qnil; kb->kbd_queue_has_data = 0; kb->immediate_echo = 0; @@ -6762,12 +6744,6 @@ syms_of_keyboard () Qundefined = intern ("undefined"); staticpro (&Qundefined); - Qdigit_argument = intern ("digit-argument"); - staticpro (&Qdigit_argument); - - Qnegative_argument = intern ("negative-argument"); - staticpro (&Qnegative_argument); - Qpre_command_hook = intern ("pre-command-hook"); staticpro (&Qpre_command_hook); -- 2.39.2