From: Karl Heuer Date: Wed, 8 Mar 1995 00:45:37 +0000 (+0000) Subject: (cmd_error): Bind Vprint_level and Vprint_length. X-Git-Tag: emacs-19.34~4926 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a9f16aa9867d71f14ccda18fe83c8b6e7ebabec9;p=emacs.git (cmd_error): Bind Vprint_level and Vprint_length. --- diff --git a/src/keyboard.c b/src/keyboard.c index b8c653b8fd7..3f3ca70d3cb 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -444,6 +444,8 @@ Lisp_Object Qextended_command_history; 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 @@ Lisp_Object 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 @@ cmd_error (data) 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;