bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug: debug/mode-line/Tramp


From: Richard Stallman
Subject: Re: Bug: debug/mode-line/Tramp
Date: Sun, 28 Jul 2002 19:12:43 -0600 (MDT)

This change (which I made in the current development sources)
seems to fix it.  Does it work for you?  It won't let you actually
enter edebug within computing the mode line--that would be very hard.

*** edebug.el.~3.53.~   Sat Apr 13 13:18:00 2002
--- edebug.el   Sun Jul 28 16:18:33 2002
***************
*** 2423,2467 ****
  
  
  (defun edebug-debugger (edebug-offset-index edebug-arg-mode edebug-value)
!   ;; Check breakpoints and pending input.
!   ;; If edebug display should be updated, call edebug-display.
!   ;; Return edebug-value.
!   (let* (;; This needs to be here since breakpoints may be changed.
!        (edebug-breakpoints (car (cdr edebug-data))) ; list of breakpoints
!        (edebug-break-data (assq edebug-offset-index edebug-breakpoints))
!        (edebug-break-condition (car (cdr edebug-break-data)))
!        (edebug-global-break
!         (if edebug-global-break-condition
!             (condition-case nil
!                 (setq edebug-global-break-result
!                       (eval edebug-global-break-condition))
!               (error nil))))
!        (edebug-break))
  
  ;;;    (edebug-trace "exp: %s" edebug-value)
!     ;; Test whether we should break.
!     (setq edebug-break 
!         (or edebug-global-break
!             (and edebug-break-data
!                  (or (not edebug-break-condition)
!                      (setq edebug-break-result
!                            (eval edebug-break-condition))))))
!     (if (and edebug-break
!            (nth 2 edebug-break-data)) ; is it temporary?
!       ;; Delete the breakpoint.
!       (setcdr edebug-data
!               (cons (delq edebug-break-data edebug-breakpoints)
!                     (cdr (cdr edebug-data)))))
  
!     ;; Display if mode is not go, continue, or Continue-fast
!     ;; or break, or input is pending, 
!     (if (or (not (memq edebug-execution-mode '(go continue Continue-fast)))
!           edebug-break
!           (edebug-input-pending-p))
!       (edebug-display))   ; <--------------- display
      
!     edebug-value
!     ))
  
  
  ;; window-start now stored with each function.
--- 2423,2469 ----
  
  
  (defun edebug-debugger (edebug-offset-index edebug-arg-mode edebug-value)
!   (if inhibit-redisplay
!       edebug-value
!     ;; Check breakpoints and pending input.
!     ;; If edebug display should be updated, call edebug-display.
!     ;; Return edebug-value.
!     (let* ( ;; This needs to be here since breakpoints may be changed.
!          (edebug-breakpoints (car (cdr edebug-data))) ; list of breakpoints
!          (edebug-break-data (assq edebug-offset-index edebug-breakpoints))
!          (edebug-break-condition (car (cdr edebug-break-data)))
!          (edebug-global-break
!           (if edebug-global-break-condition
!               (condition-case nil
!                   (setq edebug-global-break-result
!                         (eval edebug-global-break-condition))
!                 (error nil))))
!          (edebug-break))
  
  ;;;    (edebug-trace "exp: %s" edebug-value)
!       ;; Test whether we should break.
!       (setq edebug-break 
!           (or edebug-global-break
!               (and edebug-break-data
!                    (or (not edebug-break-condition)
!                        (setq edebug-break-result
!                              (eval edebug-break-condition))))))
!       (if (and edebug-break
!              (nth 2 edebug-break-data)) ; is it temporary?
!         ;; Delete the breakpoint.
!         (setcdr edebug-data
!                 (cons (delq edebug-break-data edebug-breakpoints)
!                       (cdr (cdr edebug-data)))))
  
!       ;; Display if mode is not go, continue, or Continue-fast
!       ;; or break, or input is pending, 
!       (if (or (not (memq edebug-execution-mode '(go continue Continue-fast)))
!             edebug-break
!             (edebug-input-pending-p))
!         (edebug-display))             ; <--------------- display
      
!       edebug-value
!       )))
  
  
  ;; window-start now stored with each function.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]