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