Mercurial > emacs
comparison lisp/emacs-lisp/debug.el @ 90119:8395880305fe
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-25
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 173-179)
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 14 Mar 2005 05:27:53 +0000 |
parents | e330fedc9152 dbd707c470de |
children | 30ad2795fdab |
comparison
equal
deleted
inserted
replaced
90118:e330fedc9152 | 90119:8395880305fe |
---|---|
168 (cursor-in-echo-area nil)) | 168 (cursor-in-echo-area nil)) |
169 (unwind-protect | 169 (unwind-protect |
170 (save-excursion | 170 (save-excursion |
171 (save-window-excursion | 171 (save-window-excursion |
172 (with-no-warnings | 172 (with-no-warnings |
173 (setq unread-command-char -1)) | 173 (setq unread-command-char -1)) |
174 (when (eq (car debugger-args) 'debug) | |
175 ;; Skip the frames for backtrace-debug, byte-code, | |
176 ;; and implement-debug-on-entry. | |
177 (backtrace-debug 4 t) | |
178 ;; Place an extra debug-on-exit for macro's. | |
179 (when (eq 'lambda (car-safe (cadr (backtrace-frame 4)))) | |
180 (backtrace-debug 5 t))) | |
174 (pop-to-buffer debugger-buffer) | 181 (pop-to-buffer debugger-buffer) |
175 (debugger-mode) | 182 (debugger-mode) |
176 (debugger-setup-buffer debugger-args) | 183 (debugger-setup-buffer debugger-args) |
177 (when noninteractive | 184 (when noninteractive |
178 ;; If the backtrace is long, save the beginning | 185 ;; If the backtrace is long, save the beginning |
188 (delete-region middlestart (point))) | 195 (delete-region middlestart (point))) |
189 (insert "...\n")) | 196 (insert "...\n")) |
190 (goto-char (point-min)) | 197 (goto-char (point-min)) |
191 (message "%s" (buffer-string)) | 198 (message "%s" (buffer-string)) |
192 (kill-emacs)) | 199 (kill-emacs)) |
193 (if (eq (car debugger-args) 'debug) | |
194 ;; Skip the frames for backtrace-debug, byte-code, | |
195 ;; and implement-debug-on-entry. | |
196 (backtrace-debug 4 t)) | |
197 (message "") | 200 (message "") |
198 (let ((standard-output nil) | 201 (let ((standard-output nil) |
199 (buffer-read-only t)) | 202 (buffer-read-only t)) |
200 (message "") | 203 (message "") |
201 ;; Make sure we unbind buffer-read-only in the right buffer. | 204 ;; Make sure we unbind buffer-read-only in the right buffer. |
223 debugger-outer-overriding-terminal-local-map) | 226 debugger-outer-overriding-terminal-local-map) |
224 (setq track-mouse debugger-outer-track-mouse) | 227 (setq track-mouse debugger-outer-track-mouse) |
225 (setq last-command debugger-outer-last-command) | 228 (setq last-command debugger-outer-last-command) |
226 (setq this-command debugger-outer-this-command) | 229 (setq this-command debugger-outer-this-command) |
227 (with-no-warnings | 230 (with-no-warnings |
228 (setq unread-command-char debugger-outer-unread-command-char)) | 231 (setq unread-command-char debugger-outer-unread-command-char)) |
229 (setq unread-command-events debugger-outer-unread-command-events) | 232 (setq unread-command-events debugger-outer-unread-command-events) |
230 (setq unread-post-input-method-events | 233 (setq unread-post-input-method-events |
231 debugger-outer-unread-post-input-method-events) | 234 debugger-outer-unread-post-input-method-events) |
232 (setq last-input-event debugger-outer-last-input-event) | 235 (setq last-input-event debugger-outer-last-input-event) |
233 (setq last-command-event debugger-outer-last-command-event) | 236 (setq last-command-event debugger-outer-last-command-event) |
261 (point))) | 264 (point))) |
262 (insert "Debugger entered") | 265 (insert "Debugger entered") |
263 ;; lambda is for debug-on-call when a function call is next. | 266 ;; lambda is for debug-on-call when a function call is next. |
264 ;; debug is for debug-on-entry function called. | 267 ;; debug is for debug-on-entry function called. |
265 (cond ((memq (car debugger-args) '(lambda debug)) | 268 (cond ((memq (car debugger-args) '(lambda debug)) |
266 (insert "--entering a function:\n") | 269 (insert "--entering a function:\n")) |
267 (if (eq (car debugger-args) 'debug) | |
268 (progn | |
269 (delete-char 1) | |
270 (insert ?*) | |
271 (beginning-of-line)))) | |
272 ;; Exiting a function. | 270 ;; Exiting a function. |
273 ((eq (car debugger-args) 'exit) | 271 ((eq (car debugger-args) 'exit) |
274 (insert "--returning value: ") | 272 (insert "--returning value: ") |
275 (setq debugger-value (nth 1 debugger-args)) | 273 (setq debugger-value (nth 1 debugger-args)) |
276 (prin1 debugger-value (current-buffer)) | 274 (prin1 debugger-value (current-buffer)) |
506 (prog1 | 504 (prog1 |
507 (let ((save-ucc (with-no-warnings unread-command-char))) | 505 (let ((save-ucc (with-no-warnings unread-command-char))) |
508 (unwind-protect | 506 (unwind-protect |
509 (progn | 507 (progn |
510 (with-no-warnings | 508 (with-no-warnings |
511 (setq unread-command-char debugger-outer-unread-command-char)) | 509 (setq unread-command-char debugger-outer-unread-command-char)) |
512 (prog1 (progn ,@body) | 510 (prog1 (progn ,@body) |
513 (with-no-warnings | 511 (with-no-warnings |
514 (setq debugger-outer-unread-command-char unread-command-char)))) | 512 (setq debugger-outer-unread-command-char unread-command-char)))) |
515 (with-no-warnings | 513 (with-no-warnings |
516 (setq unread-command-char save-ucc)))) | 514 (setq unread-command-char save-ucc)))) |
517 (setq debugger-outer-match-data (match-data)) | 515 (setq debugger-outer-match-data (match-data)) |
518 (setq debugger-outer-load-read-function load-read-function) | 516 (setq debugger-outer-load-read-function load-read-function) |
519 (setq debugger-outer-overriding-terminal-local-map | 517 (setq debugger-outer-overriding-terminal-local-map |
520 overriding-terminal-local-map) | 518 overriding-terminal-local-map) |
521 (setq debugger-outer-overriding-local-map overriding-local-map) | 519 (setq debugger-outer-overriding-local-map overriding-local-map) |