[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.