diff options
| author | Karl Heuer | 1995-03-08 00:45:37 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-03-08 00:45:37 +0000 |
| commit | a9f16aa9867d71f14ccda18fe83c8b6e7ebabec9 (patch) | |
| tree | 5509218c96f3bee19f3ccee436de466e86682790 | |
| parent | 521fffcd6f37b957885965df82deb6d84c15002e (diff) | |
| download | emacs-a9f16aa9867d71f14ccda18fe83c8b6e7ebabec9.tar.gz emacs-a9f16aa9867d71f14ccda18fe83c8b6e7ebabec9.zip | |
(cmd_error): Bind Vprint_level and Vprint_length.
| -rw-r--r-- | src/keyboard.c | 12 |
1 files changed, 12 insertions, 0 deletions
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; | |||
| 444 | 444 | ||
| 445 | Lisp_Object Qpolling_period; | 445 | Lisp_Object Qpolling_period; |
| 446 | 446 | ||
| 447 | extern Lisp_Object Vprint_level, Vprint_length; | ||
| 448 | |||
| 447 | /* Address (if not 0) of EMACS_TIME to zero out if a SIGIO interrupt | 449 | /* Address (if not 0) of EMACS_TIME to zero out if a SIGIO interrupt |
| 448 | happens. */ | 450 | happens. */ |
| 449 | EMACS_TIME *input_available_clear_time; | 451 | EMACS_TIME *input_available_clear_time; |
| @@ -765,6 +767,8 @@ Lisp_Object | |||
| 765 | cmd_error (data) | 767 | cmd_error (data) |
| 766 | Lisp_Object data; | 768 | Lisp_Object data; |
| 767 | { | 769 | { |
| 770 | Lisp_Object old_level, old_length; | ||
| 771 | |||
| 768 | Vstandard_output = Qt; | 772 | Vstandard_output = Qt; |
| 769 | Vstandard_input = Qt; | 773 | Vstandard_input = Qt; |
| 770 | Vexecuting_macro = Qnil; | 774 | Vexecuting_macro = Qnil; |
| @@ -773,7 +777,15 @@ cmd_error (data) | |||
| 773 | clear_prefix_arg (); | 777 | clear_prefix_arg (); |
| 774 | cancel_echoing (); | 778 | cancel_echoing (); |
| 775 | } | 779 | } |
| 780 | |||
| 781 | /* Avoid unquittable loop if data contains a circular list. */ | ||
| 782 | old_level = Vprint_level; | ||
| 783 | old_length = Vprint_length; | ||
| 784 | XSETFASTINT(Vprint_level, 10); | ||
| 785 | XSETFASTINT(Vprint_length, 10); | ||
| 776 | cmd_error_internal (data, 0); | 786 | cmd_error_internal (data, 0); |
| 787 | Vprint_level = old_level; | ||
| 788 | Vprint_length = old_length; | ||
| 777 | 789 | ||
| 778 | Vquit_flag = Qnil; | 790 | Vquit_flag = Qnil; |
| 779 | 791 | ||