# HG changeset patch # User Karl Heuer # Date 794623537 0 # Node ID df11ec79623a89701295b940701bb5ee6be70a0a # Parent 933a04abe0acc6e45e622635fb08e47d41d270c3 (cmd_error): Bind Vprint_level and Vprint_length. diff -r 933a04abe0ac -r df11ec79623a src/keyboard.c --- a/src/keyboard.c Tue Mar 07 15:24:44 1995 +0000 +++ b/src/keyboard.c Wed Mar 08 00:45:37 1995 +0000 @@ -444,6 +444,8 @@ Lisp_Object Qpolling_period; +extern Lisp_Object Vprint_level, Vprint_length; + /* Address (if not 0) of EMACS_TIME to zero out if a SIGIO interrupt happens. */ EMACS_TIME *input_available_clear_time; @@ -765,6 +767,8 @@ cmd_error (data) Lisp_Object data; { + Lisp_Object old_level, old_length; + Vstandard_output = Qt; Vstandard_input = Qt; Vexecuting_macro = Qnil; @@ -773,7 +777,15 @@ clear_prefix_arg (); cancel_echoing (); } + + /* Avoid unquittable loop if data contains a circular list. */ + old_level = Vprint_level; + old_length = Vprint_length; + XSETFASTINT(Vprint_level, 10); + XSETFASTINT(Vprint_length, 10); cmd_error_internal (data, 0); + Vprint_level = old_level; + Vprint_length = old_length; Vquit_flag = Qnil;