Mercurial > emacs
comparison lisp/emacs-lisp/edebug.el @ 67780:6f62623c8c61
(edebug-all-defs, edebug-all-forms): Add autoload cookies.
(edebug-outside-d-c-i-n-s-w): New variable.
(edebug-display, edebug-outside-excursion): Use it to save the
original value of default-cursor-in-non-selected-windows.
Set default-cursor-in-non-selected-windows to t while Edebug is active.
(edebug-mode, edebug-eval-mode): Doc fix.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Fri, 23 Dec 2005 21:56:01 +0000 |
parents | 70e76c30ddcc |
children | 067115a6e738 7beb78bc1f8e |
comparison
equal
deleted
inserted
replaced
67779:01ba52243e5f | 67780:6f62623c8c61 |
---|---|
568 | 568 |
569 | 569 |
570 ;; Compatibility with old versions. | 570 ;; Compatibility with old versions. |
571 (defalias 'edebug-all-defuns 'edebug-all-defs) | 571 (defalias 'edebug-all-defuns 'edebug-all-defs) |
572 | 572 |
573 ;;;###autoload | |
573 (defun edebug-all-defs () | 574 (defun edebug-all-defs () |
574 "Toggle edebugging of all definitions." | 575 "Toggle edebugging of all definitions." |
575 (interactive) | 576 (interactive) |
576 (setq edebug-all-defs (not edebug-all-defs)) | 577 (setq edebug-all-defs (not edebug-all-defs)) |
577 (message "Edebugging all definitions is %s." | 578 (message "Edebugging all definitions is %s." |
578 (if edebug-all-defs "on" "off"))) | 579 (if edebug-all-defs "on" "off"))) |
579 | 580 |
580 | 581 |
582 ;;;###autoload | |
581 (defun edebug-all-forms () | 583 (defun edebug-all-forms () |
582 "Toggle edebugging of all forms." | 584 "Toggle edebugging of all forms." |
583 (interactive) | 585 (interactive) |
584 (setq edebug-all-forms (not edebug-all-forms)) | 586 (setq edebug-all-forms (not edebug-all-forms)) |
585 (message "Edebugging all forms is %s." | 587 (message "Edebugging all forms is %s." |
2514 (defvar edebug-outside-windows) ; outside window configuration | 2516 (defvar edebug-outside-windows) ; outside window configuration |
2515 (defvar edebug-eval-buffer) ; for the evaluation list. | 2517 (defvar edebug-eval-buffer) ; for the evaluation list. |
2516 (defvar edebug-outside-o-a-p) ; outside overlay-arrow-position | 2518 (defvar edebug-outside-o-a-p) ; outside overlay-arrow-position |
2517 (defvar edebug-outside-o-a-s) ; outside overlay-arrow-string | 2519 (defvar edebug-outside-o-a-s) ; outside overlay-arrow-string |
2518 (defvar edebug-outside-c-i-e-a) ; outside cursor-in-echo-area | 2520 (defvar edebug-outside-c-i-e-a) ; outside cursor-in-echo-area |
2521 (defvar edebug-outside-d-c-i-n-s-w) ; outside default-cursor-in-non-selected-windows | |
2519 | 2522 |
2520 (defvar edebug-eval-list nil) ;; List of expressions to evaluate. | 2523 (defvar edebug-eval-list nil) ;; List of expressions to evaluate. |
2521 | 2524 |
2522 (defvar edebug-previous-result nil) ;; Last result returned. | 2525 (defvar edebug-previous-result nil) ;; Last result returned. |
2523 | 2526 |
2555 edebug-trace-window | 2558 edebug-trace-window |
2556 edebug-trace-window-start | 2559 edebug-trace-window-start |
2557 | 2560 |
2558 (edebug-outside-o-a-p overlay-arrow-position) | 2561 (edebug-outside-o-a-p overlay-arrow-position) |
2559 (edebug-outside-o-a-s overlay-arrow-string) | 2562 (edebug-outside-o-a-s overlay-arrow-string) |
2560 (edebug-outside-c-i-e-a cursor-in-echo-area)) | 2563 (edebug-outside-c-i-e-a cursor-in-echo-area) |
2564 (edebug-outside-d-c-i-n-s-w default-cursor-in-non-selected-windows)) | |
2561 (unwind-protect | 2565 (unwind-protect |
2562 (let ((overlay-arrow-position overlay-arrow-position) | 2566 (let ((overlay-arrow-position overlay-arrow-position) |
2563 (overlay-arrow-string overlay-arrow-string) | 2567 (overlay-arrow-string overlay-arrow-string) |
2564 (cursor-in-echo-area nil) | 2568 (cursor-in-echo-area nil) |
2569 (default-cursor-in-non-selected-windows t) | |
2565 ;; any others?? | 2570 ;; any others?? |
2566 ) | 2571 ) |
2567 (if (not (buffer-name edebug-buffer)) | 2572 (if (not (buffer-name edebug-buffer)) |
2568 (let ((debug-on-error nil)) | 2573 (let ((debug-on-error nil)) |
2569 (error "Buffer defining %s not found" edebug-function))) | 2574 (error "Buffer defining %s not found" edebug-function))) |
2765 (with-timeout-unsuspend edebug-with-timeout-suspend) | 2770 (with-timeout-unsuspend edebug-with-timeout-suspend) |
2766 ;; Reset global variables to outside values in case they were changed. | 2771 ;; Reset global variables to outside values in case they were changed. |
2767 (setq | 2772 (setq |
2768 overlay-arrow-position edebug-outside-o-a-p | 2773 overlay-arrow-position edebug-outside-o-a-p |
2769 overlay-arrow-string edebug-outside-o-a-s | 2774 overlay-arrow-string edebug-outside-o-a-s |
2770 cursor-in-echo-area edebug-outside-c-i-e-a) | 2775 cursor-in-echo-area edebug-outside-c-i-e-a |
2776 default-cursor-in-non-selected-windows edebug-outside-d-c-i-n-s-w) | |
2771 ))) | 2777 ))) |
2772 | 2778 |
2773 | 2779 |
2774 (defvar edebug-number-of-recursions 0) | 2780 (defvar edebug-number-of-recursions 0) |
2775 ;; Number of recursive edits started by edebug. | 2781 ;; Number of recursive edits started by edebug. |
3578 | 3584 |
3579 ;; See edebug-display | 3585 ;; See edebug-display |
3580 (overlay-arrow-position edebug-outside-o-a-p) | 3586 (overlay-arrow-position edebug-outside-o-a-p) |
3581 (overlay-arrow-string edebug-outside-o-a-s) | 3587 (overlay-arrow-string edebug-outside-o-a-s) |
3582 (cursor-in-echo-area edebug-outside-c-i-e-a) | 3588 (cursor-in-echo-area edebug-outside-c-i-e-a) |
3589 (default-cursor-in-non-selected-windows edebug-outside-d-c-i-n-s-w) | |
3583 ) | 3590 ) |
3584 (unwind-protect | 3591 (unwind-protect |
3585 (save-excursion ; of edebug-buffer | 3592 (save-excursion ; of edebug-buffer |
3586 (set-buffer edebug-outside-buffer) | 3593 (set-buffer edebug-outside-buffer) |
3587 (goto-char edebug-outside-point) | 3594 (goto-char edebug-outside-point) |
3616 edebug-outside-defining-kbd-macro defining-kbd-macro | 3623 edebug-outside-defining-kbd-macro defining-kbd-macro |
3617 | 3624 |
3618 edebug-outside-o-a-p overlay-arrow-position | 3625 edebug-outside-o-a-p overlay-arrow-position |
3619 edebug-outside-o-a-s overlay-arrow-string | 3626 edebug-outside-o-a-s overlay-arrow-string |
3620 edebug-outside-c-i-e-a cursor-in-echo-area | 3627 edebug-outside-c-i-e-a cursor-in-echo-area |
3628 edebug-outside-d-c-i-n-s-w default-cursor-in-non-selected-windows | |
3621 ) | 3629 ) |
3622 | 3630 |
3623 ;; Restore the outside saved values; don't alter | 3631 ;; Restore the outside saved values; don't alter |
3624 ;; the outside binding loci. | 3632 ;; the outside binding loci. |
3625 (setcdr edebug-outside-pre-command-hook pre-command-hook) | 3633 (setcdr edebug-outside-pre-command-hook pre-command-hook) |
3895 In addition to all Emacs Lisp commands (except those that modify the | 3903 In addition to all Emacs Lisp commands (except those that modify the |
3896 buffer) there are local and global key bindings to several Edebug | 3904 buffer) there are local and global key bindings to several Edebug |
3897 specific commands. E.g. `edebug-step-mode' is bound to \\[edebug-step-mode] | 3905 specific commands. E.g. `edebug-step-mode' is bound to \\[edebug-step-mode] |
3898 in the Edebug buffer and \\<global-map>\\[edebug-step-mode] in any buffer. | 3906 in the Edebug buffer and \\<global-map>\\[edebug-step-mode] in any buffer. |
3899 | 3907 |
3900 Also see bindings for the eval list buffer, *edebug*. | 3908 Also see bindings for the eval list buffer *edebug* in `edebug-eval-mode'. |
3901 | 3909 |
3902 The edebug buffer commands: | 3910 The edebug buffer commands: |
3903 \\{edebug-mode-map} | 3911 \\{edebug-mode-map} |
3904 | 3912 |
3905 Global commands prefixed by `global-edebug-prefix': | 3913 Global commands prefixed by `global-edebug-prefix': |
4052 buffer and \\<global-map>\\[edebug-step-mode] in any buffer. | 4060 buffer and \\<global-map>\\[edebug-step-mode] in any buffer. |
4053 | 4061 |
4054 Eval list buffer commands: | 4062 Eval list buffer commands: |
4055 \\{edebug-eval-mode-map} | 4063 \\{edebug-eval-mode-map} |
4056 | 4064 |
4057 Global commands prefixed by global-edebug-prefix: | 4065 Global commands prefixed by `global-edebug-prefix': |
4058 \\{global-edebug-map}") | 4066 \\{global-edebug-map}") |
4059 | 4067 |
4060 ;;; Interface with standard debugger. | 4068 ;;; Interface with standard debugger. |
4061 | 4069 |
4062 ;; (setq debugger 'edebug) ; to use the edebug debugger | 4070 ;; (setq debugger 'edebug) ; to use the edebug debugger |