Mercurial > emacs
changeset 64222:ceb9ed49f7bb
(edebug-slow-after, edebug-slow-before): Do nothing if edebug-active.
(edebug-enter): Don't do with-timeout-suspend here.
(edebug-display): Do it here instead.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 11 Jul 2005 04:05:07 +0000 |
parents | fab4526842b1 |
children | 12e95a3f6745 |
files | lisp/emacs-lisp/edebug.el |
diffstat | 1 files changed, 32 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/edebug.el Mon Jul 11 01:05:17 2005 +0000 +++ b/lisp/emacs-lisp/edebug.el Mon Jul 11 04:05:07 2005 +0000 @@ -2244,7 +2244,6 @@ (max-specpdl-size (+ 200 max-specpdl-size)) (debugger edebug-debugger) ; only while edebug is active. - (edebug-with-timeout-suspend (with-timeout-suspend)) (edebug-outside-debug-on-error debug-on-error) (edebug-outside-debug-on-quit debug-on-quit) ;; Binding these may not be the right thing to do. @@ -2290,7 +2289,6 @@ (edebug-enter edebug-function edebug-args edebug-body)) ;; Reset global variables in case outside value was changed. (setq executing-kbd-macro edebug-outside-executing-macro) - (with-timeout-unsuspend edebug-with-timeout-suspend) (edebug-restore-status 'post-command-hook edebug-outside-post-command-hook) (edebug-restore-status @@ -2376,18 +2374,19 @@ (defun edebug-slow-before (edebug-before-index) - ;; Debug current function given BEFORE position. - ;; Called from functions compiled with edebug-eval-top-level-form. - ;; Return the before index. - (setcar edebug-offset-indices edebug-before-index) - - ;; Increment frequency count - (aset edebug-freq-count edebug-before-index - (1+ (aref edebug-freq-count edebug-before-index))) - - (if (or (not (memq edebug-execution-mode '(Go-nonstop next))) - (edebug-input-pending-p)) - (edebug-debugger edebug-before-index 'before nil)) + (unless edebug-active + ;; Debug current function given BEFORE position. + ;; Called from functions compiled with edebug-eval-top-level-form. + ;; Return the before index. + (setcar edebug-offset-indices edebug-before-index) + + ;; Increment frequency count + (aset edebug-freq-count edebug-before-index + (1+ (aref edebug-freq-count edebug-before-index))) + + (if (or (not (memq edebug-execution-mode '(Go-nonstop next))) + (edebug-input-pending-p)) + (edebug-debugger edebug-before-index 'before nil))) edebug-before-index) (defun edebug-fast-before (edebug-before-index) @@ -2395,22 +2394,24 @@ ) (defun edebug-slow-after (edebug-before-index edebug-after-index edebug-value) - ;; Debug current function given AFTER position and VALUE. - ;; Called from functions compiled with edebug-eval-top-level-form. - ;; Return VALUE. - (setcar edebug-offset-indices edebug-after-index) - - ;; Increment frequency count - (aset edebug-freq-count edebug-after-index - (1+ (aref edebug-freq-count edebug-after-index))) - (if edebug-test-coverage (edebug-update-coverage)) - - (if (and (eq edebug-execution-mode 'Go-nonstop) - (not (edebug-input-pending-p))) - ;; Just return result. + (if edebug-active edebug-value - (edebug-debugger edebug-after-index 'after edebug-value) - )) + ;; Debug current function given AFTER position and VALUE. + ;; Called from functions compiled with edebug-eval-top-level-form. + ;; Return VALUE. + (setcar edebug-offset-indices edebug-after-index) + + ;; Increment frequency count + (aset edebug-freq-count edebug-after-index + (1+ (aref edebug-freq-count edebug-after-index))) + (if edebug-test-coverage (edebug-update-coverage)) + + (if (and (eq edebug-execution-mode 'Go-nonstop) + (not (edebug-input-pending-p))) + ;; Just return result. + edebug-value + (edebug-debugger edebug-after-index 'after edebug-value) + ))) (defun edebug-fast-after (edebug-before-index edebug-after-index edebug-value) ;; Do nothing but return the value. @@ -2535,6 +2536,7 @@ ;; Uses local variables of edebug-enter, edebug-before, edebug-after ;; and edebug-debugger. (let ((edebug-active t) ; for minor mode alist + (edebug-with-timeout-suspend (with-timeout-suspend)) edebug-stop ; should we enter recursive-edit (edebug-point (+ edebug-def-mark (aref (nth 2 edebug-data) edebug-offset-index))) @@ -2761,6 +2763,7 @@ (set-buffer current-buffer)) ;; ... nothing more. ) + (with-timeout-unsuspend edebug-with-timeout-suspend) ;; Reset global variables to outside values in case they were changed. (setq overlay-arrow-position edebug-outside-o-a-p