From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.bugs Subject: Re: Bug: debug/mode-line/Tramp Date: Sun, 28 Jul 2002 19:12:43 -0600 (MDT) Sender: bug-gnu-emacs-admin@gnu.org Message-ID: <200207290112.g6T1Chj12906@aztec.santafe.edu> References: <001101c235ae$b7385860$d78e2fc3@x874761> Reply-To: rms@gnu.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1027905226 693 127.0.0.1 (29 Jul 2002 01:13:46 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 29 Jul 2002 01:13:46 +0000 (UTC) Cc: bug-gnu-emacs@gnu.org, Kai.Grossjohann@CS.Uni-Dortmund.DE Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17Yz6X-0000B4-00 for ; Mon, 29 Jul 2002 03:13:45 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17Yz6v-00017q-00; Sun, 28 Jul 2002 21:14:09 -0400 Original-Received: from pele.santafe.edu ([192.12.12.119]) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17Yz5Z-0000xD-00; Sun, 28 Jul 2002 21:12:45 -0400 Original-Received: from aztec.santafe.edu (aztec [192.12.12.49]) by pele.santafe.edu (8.11.6+Sun/8.11.6) with ESMTP id g6T1CrB02993; Sun, 28 Jul 2002 19:12:53 -0600 (MDT) Original-Received: (from rms@localhost) by aztec.santafe.edu (8.10.2+Sun/8.9.3) id g6T1Chj12906; Sun, 28 Jul 2002 19:12:43 -0600 (MDT) X-Authentication-Warning: aztec.santafe.edu: rms set sender to rms@aztec using -f Original-To: larsh@math.ku.dk In-Reply-To: <001101c235ae$b7385860$d78e2fc3@x874761> (larsh@math.ku.dk) Errors-To: bug-gnu-emacs-admin@gnu.org X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GNU Emacs, the Swiss army knife of text editors List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.bugs:2966 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:2966 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.