comparison lisp/emacs-lisp/debug.el @ 24741:00ef85c8a0ff

(debugger-outer-inhibit-redisplay): New variable. (debug): Bind and use debugger-outer-inhibit-redisplay. Bind inhibit-redisplay to nil. (debugger-env-macro): Treat inhibit-redisplay like other outside vars.
author Richard M. Stallman <rms@gnu.org>
date Tue, 18 May 1999 04:20:59 +0000
parents d46353824322
children 8523249aaee3
comparison
equal deleted inserted replaced
24740:a112021381c5 24741:00ef85c8a0ff
70 (defvar debugger-outer-last-command-event) 70 (defvar debugger-outer-last-command-event)
71 (defvar debugger-outer-last-nonmenu-event) 71 (defvar debugger-outer-last-nonmenu-event)
72 (defvar debugger-outer-last-event-frame) 72 (defvar debugger-outer-last-event-frame)
73 (defvar debugger-outer-standard-input) 73 (defvar debugger-outer-standard-input)
74 (defvar debugger-outer-standard-output) 74 (defvar debugger-outer-standard-output)
75 (defvar debugger-outer-inhibit-redisplay)
75 (defvar debugger-outer-cursor-in-echo-area) 76 (defvar debugger-outer-cursor-in-echo-area)
76 77
77 ;;;###autoload 78 ;;;###autoload
78 (setq debugger 'debug) 79 (setq debugger 'debug)
79 ;;;###autoload 80 ;;;###autoload
114 (debugger-outer-last-command-event last-command-event) 115 (debugger-outer-last-command-event last-command-event)
115 (debugger-outer-last-nonmenu-event last-nonmenu-event) 116 (debugger-outer-last-nonmenu-event last-nonmenu-event)
116 (debugger-outer-last-event-frame last-event-frame) 117 (debugger-outer-last-event-frame last-event-frame)
117 (debugger-outer-standard-input standard-input) 118 (debugger-outer-standard-input standard-input)
118 (debugger-outer-standard-output standard-output) 119 (debugger-outer-standard-output standard-output)
120 (debugger-outer-inhibit-redisplay inhibit-redisplay)
119 (debugger-outer-cursor-in-echo-area cursor-in-echo-area)) 121 (debugger-outer-cursor-in-echo-area cursor-in-echo-area))
120 ;; Set this instead of binding it, so that `q' 122 ;; Set this instead of binding it, so that `q'
121 ;; will not restore it. 123 ;; will not restore it.
122 (setq overriding-terminal-local-map nil) 124 (setq overriding-terminal-local-map nil)
123 ;; Don't let these magic variables affect the debugger itself. 125 ;; Don't let these magic variables affect the debugger itself.
131 ;; If we are inside a minibuffer, allow nesting 133 ;; If we are inside a minibuffer, allow nesting
132 ;; so that we don't get an error from the `e' command. 134 ;; so that we don't get an error from the `e' command.
133 (enable-recursive-minibuffers 135 (enable-recursive-minibuffers
134 (or enable-recursive-minibuffers (> (minibuffer-depth) 0))) 136 (or enable-recursive-minibuffers (> (minibuffer-depth) 0)))
135 (standard-input t) (standard-output t) 137 (standard-input t) (standard-output t)
138 inhibit-redisplay
136 (cursor-in-echo-area nil)) 139 (cursor-in-echo-area nil))
137 (unwind-protect 140 (unwind-protect
138 (save-excursion 141 (save-excursion
139 (save-window-excursion 142 (save-window-excursion
140 (pop-to-buffer debugger-buffer) 143 (pop-to-buffer debugger-buffer)
226 (setq last-command-event debugger-outer-last-command-event) 229 (setq last-command-event debugger-outer-last-command-event)
227 (setq last-nonmenu-event debugger-outer-last-nonmenu-event) 230 (setq last-nonmenu-event debugger-outer-last-nonmenu-event)
228 (setq last-event-frame debugger-outer-last-event-frame) 231 (setq last-event-frame debugger-outer-last-event-frame)
229 (setq standard-input debugger-outer-standard-input) 232 (setq standard-input debugger-outer-standard-input)
230 (setq standard-output debugger-outer-standard-output) 233 (setq standard-output debugger-outer-standard-output)
234 (setq inhibit-redisplay debugger-outer-inhibit-redisplay)
231 (setq cursor-in-echo-area debugger-outer-cursor-in-echo-area) 235 (setq cursor-in-echo-area debugger-outer-cursor-in-echo-area)
232 (setq debug-on-next-call debugger-step-after-exit) 236 (setq debug-on-next-call debugger-step-after-exit)
233 debugger-value)) 237 debugger-value))
234 238
235 (defun debugger-step-through () 239 (defun debugger-step-through ()
349 (save-excursion 353 (save-excursion
350 (if (null (buffer-name debugger-old-buffer)) 354 (if (null (buffer-name debugger-old-buffer))
351 ;; old buffer deleted 355 ;; old buffer deleted
352 (setq debugger-old-buffer (current-buffer))) 356 (setq debugger-old-buffer (current-buffer)))
353 (set-buffer debugger-old-buffer) 357 (set-buffer debugger-old-buffer)
354 (let ((track-mouse debugger-outer-track-mouse) 358 (let ((load-read-function debugger-outer-load-read-function)
359 (overriding-terminal-local-map
360 debugger-outer-overriding-terminal-local-map)
361 (overriding-local-map debugger-outer-overriding-local-map)
362 (track-mouse debugger-outer-track-mouse)
355 (last-command debugger-outer-last-command) 363 (last-command debugger-outer-last-command)
356 (this-command debugger-outer-this-command) 364 (this-command debugger-outer-this-command)
357 (unread-command-char debugger-outer-unread-command-char) 365 (unread-command-char debugger-outer-unread-command-char)
358 (unread-command-events debugger-outer-unread-command-events) 366 (unread-command-events debugger-outer-unread-command-events)
359 (unread-post-input-method-events 367 (unread-post-input-method-events
362 (last-command-event debugger-outer-last-command-event) 370 (last-command-event debugger-outer-last-command-event)
363 (last-nonmenu-event debugger-outer-last-nonmenu-event) 371 (last-nonmenu-event debugger-outer-last-nonmenu-event)
364 (last-event-frame debugger-outer-last-event-frame) 372 (last-event-frame debugger-outer-last-event-frame)
365 (standard-input debugger-outer-standard-input) 373 (standard-input debugger-outer-standard-input)
366 (standard-output debugger-outer-standard-output) 374 (standard-output debugger-outer-standard-output)
367 (cursor-in-echo-area debugger-outer-cursor-in-echo-area) 375 (inhibit-redisplay debugger-outer-inhibit-redisplay)
368 (overriding-local-map debugger-outer-overriding-local-map) 376 (cursor-in-echo-area debugger-outer-cursor-in-echo-area))
369 (overriding-terminal-local-map
370 debugger-outer-overriding-terminal-local-map)
371 (load-read-function debugger-outer-load-read-function))
372 (set-match-data debugger-outer-match-data) 377 (set-match-data debugger-outer-match-data)
373 (prog1 (progn (,@ body)) 378 (prog1 (progn (,@ body))
374 (setq debugger-outer-match-data (match-data)) 379 (setq debugger-outer-match-data (match-data))
375 (setq debugger-outer-load-read-function load-read-function) 380 (setq debugger-outer-load-read-function load-read-function)
376 (setq debugger-outer-overriding-terminal-local-map 381 (setq debugger-outer-overriding-terminal-local-map
387 (setq debugger-outer-last-command-event last-command-event) 392 (setq debugger-outer-last-command-event last-command-event)
388 (setq debugger-outer-last-nonmenu-event last-nonmenu-event) 393 (setq debugger-outer-last-nonmenu-event last-nonmenu-event)
389 (setq debugger-outer-last-event-frame last-event-frame) 394 (setq debugger-outer-last-event-frame last-event-frame)
390 (setq debugger-outer-standard-input standard-input) 395 (setq debugger-outer-standard-input standard-input)
391 (setq debugger-outer-standard-output standard-output) 396 (setq debugger-outer-standard-output standard-output)
397 (setq debugger-outer-inhibit-redisplay inhibit-redisplay)
392 (setq debugger-outer-cursor-in-echo-area cursor-in-echo-area) 398 (setq debugger-outer-cursor-in-echo-area cursor-in-echo-area)
393 ))))) 399 )))))
394 400
395 (defun debugger-eval-expression (exp) 401 (defun debugger-eval-expression (exp)
396 "Eval an expression, in an environment like that outside the debugger." 402 "Eval an expression, in an environment like that outside the debugger."