From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Ken Manheimer" Newsgroups: gmane.emacs.devel Subject: two related edebug problems Date: Mon, 7 Aug 2006 14:30:48 -0400 Message-ID: <2cd46e7f0608071130o7d72123ct82841031bf757f5d@mail.gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1154975556 23475 80.91.229.2 (7 Aug 2006 18:32:36 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 7 Aug 2006 18:32:36 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Aug 07 20:32:33 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GA9sY-0007qB-Sy for ged-emacs-devel@m.gmane.org; Mon, 07 Aug 2006 20:31:07 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GA9sY-0004fJ-6N for ged-emacs-devel@m.gmane.org; Mon, 07 Aug 2006 14:31:06 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GA9sK-0004d1-Ij for emacs-devel@gnu.org; Mon, 07 Aug 2006 14:30:52 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GA9sJ-0004ay-6v for emacs-devel@gnu.org; Mon, 07 Aug 2006 14:30:52 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GA9sJ-0004ao-20 for emacs-devel@gnu.org; Mon, 07 Aug 2006 14:30:51 -0400 Original-Received: from [66.249.82.225] (helo=wx-out-0506.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GA9wa-0008DO-Uu for emacs-devel@gnu.org; Mon, 07 Aug 2006 14:35:17 -0400 Original-Received: by wx-out-0506.google.com with SMTP id i26so136539wxd for ; Mon, 07 Aug 2006 11:30:49 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=MwAfinvjiNLYHM1ukxb0Xpw0Ec737BFlJkNYlUAyBChOThiSzH5FMwCHzB6R3JgrB34jKx1qvOd7KbhalGMj9PmbtZlWiaeacV/iU+X2BWvVMdvt4HYtqc/DxZsc5G+DwmC0la+bYZTZP3q9V2meu2ZBjR4/x4AURmNfup40uV0= Original-Received: by 10.78.116.19 with SMTP id o19mr873309huc; Mon, 07 Aug 2006 11:30:49 -0700 (PDT) Original-Received: by 10.78.202.13 with HTTP; Mon, 7 Aug 2006 11:30:48 -0700 (PDT) Original-To: Emacs-Devel Content-Disposition: inline X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:58164 Archived-At: i've been hitting two elusive edebug problems, one new and one that's been happening for a while. i find edebug hard to debug, so i'm hoping i might be able to just precipitate investigation by someone more experienced with it. i hadn't noticed this first problem until recently, though it may have been happening before but less frequently. sometimes when i'm stepping through code, any of the progress commands always single step - when i try to contiue (edebug-continue-mode), step over (edebug-forward-sexp), out, and even go or edebug-goto-here, i always get a single step from the current step. generally a fresh edebug session doesn't have the problem. i haven't identified when the problem starts, or what particular action is associated with its onset. the second problem is something i've noticed on several occasions over time. edebug-step-in causes a traceback, with an odd complaint: Lisp error: (void-variable {). the full stack trace is included below. i think the second problem happens when the first one is happening, maybe only when it's happening. both of these problems usually make the current edebug excursion futile. sometimes i have to work hard to be able to quit with leaving things fouled. is this ringing any bells? here's the full traceback. this time it happens to be during a post-command-hook investigation, but i can't say that it is restricted to such a special context. it certainly doesn't always happen in such a context. Debugger entered--Lisp error: (void-variable {) apply(debug error (void-variable {)) edebug(error (void-variable {)) signal(void-variable ({)) edebug-signal(void-variable ({)) (edebug-after 0 0 {) (lambda nil (edebug-after 0 0 {))() edebug-enter(edebug-anon2 nil (lambda nil (edebug-after 0 0 {))) edebug-enter(edebug-anon2 nil (lambda nil (edebug-after 0 0 {))) eval((edebug-enter (quote edebug-anon2) nil (function (lambda nil ...)))) eval-expression((edebug-enter (quote edebug-anon2) nil (function (lambda nil ...)))) edebug-eval-top-level-form() edebug-instrument-function(widget-apply) edebug-instrument-callee() edebug-step-in() call-interactively(edebug-step-in) recursive-edit() edebug-recursive-edit() edebug-display() edebug-debugger(169 before nil) edebug-before(169) (edebug-after (edebug-before 169) 171 (widget-apply (edebug-after 0 170 doing-item) :decorate-guides)) (progn (edebug-after (edebug-before 134) 137 (widget-apply ... :parse-item t ...)) (edebug-after (edebug-before 138) 156 (if ... ...)) (edebug-after (edebug-before 157) 168 (setq doing-guides-changed ...)) (edebug-after (edebug-before 169) 171 (widget-apply ... :decorate-guides)) (edebug-after (edebug-before 172) 174 (widget-apply ... :decorate-icon)) (edebug-after (edebug-before 175) 177 (widget-apply ... :decorate-cue)) (edebug-after (edebug-before 178) 180 (widget-apply ... :decorate-body)) (edebug-after (edebug-before 181) 184 (widget-put ... :last-decorated-tick ...))) (if (edebug-after (edebug-before 123) 133 (or ... ...)) (progn (edebug-after ... 137 ...) (edebug-after ... 156 ...) (edebug-after ... 168 ...) (edebug-after ... 171 ...) (edebug-after ... 174 ...) (edebug-after ... 177 ...) (edebug-after ... 180 ...) (edebug-after ... 184 ...))) (when (edebug-after (edebug-before 123) 133 (or ... ...)) (edebug-after (edebug-before 134) 137 (widget-apply ... :parse-item t ...)) (edebug-after (edebug-before 138) 156 (if ... ...)) (edebug-after (edebug-before 157) 168 (setq doing-guides-changed ...)) (edebug-after (edebug-before 169) 171 (widget-apply ... :decorate-guides)) (edebug-after (edebug-before 172) 174 (widget-apply ... :decorate-icon)) (edebug-after (edebug-before 175) 177 (widget-apply ... :decorate-cue)) (edebug-after (edebug-before 178) 180 (widget-apply ... :decorate-body)) (edebug-after (edebug-before 181) 184 (widget-put ... :last-decorated-tick ...))) (edebug-after (edebug-before 122) 185 (when (edebug-after ... 133 ...) (edebug-after ... 137 ...) (edebug-after ... 156 ...) (edebug-after ... 168 ...) (edebug-after ... 171 ...) (edebug-after ... 174 ...) (edebug-after ... 177 ...) (edebug-after ... 180 ...) (edebug-after ... 184 ...))) (while --cl-dolist-temp-- (setq doing-at (car --cl-dolist-temp--)) (edebug-after (edebug-before 103) 105 (goto-char ...)) (edebug-after (edebug-before 106) 121 (setq doing-item ...)) (edebug-after (edebug-before 122) 185 (when ... ... ... ... ... ... ... ... ...)) (edebug-after (edebug-before 186) 188 (setq successor-sibling ...)) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))) (let ((--cl-dolist-temp-- ...) doing-at) (while --cl-dolist-temp-- (setq doing-at ...) (edebug-after ... 105 ...) (edebug-after ... 121 ...) (edebug-after ... 185 ...) (edebug-after ... 188 ...) (setq --cl-dolist-temp-- ...)) nil) (catch (quote --cl-block-nil--) (let (... doing-at) (while --cl-dolist-temp-- ... ... ... ... ... ...) nil)) (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil))) (block nil (let (... doing-at) (while --cl-dolist-temp-- ... ... ... ... ... ...) nil)) (dolist (doing-at (edebug-after 0 102 reverse-siblings-chart)) (edebug-after (edebug-before 103) 105 (goto-char ...)) (edebug-after (edebug-before 106) 121 (setq doing-item ...)) (edebug-after (edebug-before 122) 185 (when ... ... ... ... ... ... ... ... ...)) (edebug-after (edebug-before 186) 188 (setq successor-sibling ...))) (edebug-after (edebug-before 101) 189 (dolist (doing-at ...) (edebug-after ... 105 ...) (edebug-after ... 121 ...) (edebug-after ... 185 ...) (edebug-after ... 188 ...))) (let* ((allout-inhibit-body-modification-hook t) (item-type ...) (was-modified ...) (was-point ...) prefix-start (is-container ...) (steady-point ...) (steady-point ...) (parent ...) (parent-flags ...) successor-sibling body doing-item doing-guides-changed sub-item-widget depth reverse-siblings-chart) (edebug-after (edebug-before 58) 100 (if ... ... ... ... ... ... ...)) (edebug-after (edebug-before 101) 189 (dolist ... ... ... ... ...)) (edebug-after (edebug-before 190) 192 (set-buffer-modified-p ...)) (edebug-after (edebug-before 193) 195 (goto-char ...)) (edebug-after (edebug-before 196) 198 (set-marker ... nil)) (edebug-after 0 199 item-widget)) (edebug-after (edebug-before 12) 200 (let* (... ... ... ... prefix-start ... ... ... ... ... successor-sibling body doing-item doing-guides-changed sub-item-widget depth reverse-siblings-chart) (edebug-after ... 100 ...) (edebug-after ... 189 ...) (edebug-after ... 192 ...) (edebug-after ... 195 ...) (edebug-after ... 198 ...) (edebug-after 0 199 item-widget))) (progn (edebug-after (edebug-before 12) 200 (let* ... ... ... ... ... ... ...))) (if (edebug-after (edebug-before 1) 11 (or ... ...)) (progn (edebug-after ... 200 ...))) (when (edebug-after (edebug-before 1) 11 (or ... ...)) (edebug-after (edebug-before 12) 200 (let* ... ... ... ... ... ... ...))) (edebug-after (edebug-before 0) 201 (when (edebug-after ... 11 ...) (edebug-after ... 200 ...))) (lambda nil (edebug-after (edebug-before 0) 201 (when ... ...)))() edebug-enter(allout-decorate-item-and-context ((allout-item-widget :depth 5 :from 190971 :bullet-at 190975 :prefix-end 190976 :cue-end 190977 :body-end 194603 :settings-start nil :settings-assimilated t :to 194603 :has-contents nil :expanded nil :guide-column-flags (t nil t) :was-guide-column-flags (t nil t) :guides-overlay # :was-expanded nil :was-has-contents nil :was-does-encrypt nil :was-is-encrypted nil :icon-overlay # :cue-overlay # :body-overlay # :last-decorated-tick 13410) redecorate nil (allout-item-widget :depth 4 :from 190929 :bullet-at 190932 :prefix-end 190933 :cue-end 190934 :body-end 190970 :settings-start nil :settings-assimilated t :to 190970 :has-contents t :expanded t :guide-column-flags (nil t) :was-guide-column-flags (nil t) :guides-overlay # :was-expanded t :was-has-contents t :was-does-encrypt nil :was-is-encrypted nil :icon-overlay # :cue-overlay # :body-overlay # :last-decorated-tick 13415)) (lambda nil (edebug-after (edebug-before 0) 201 (when ... ...)))) allout-decorate-item-and-context((allout-item-widget :depth 5 :from 190971 :bullet-at 190975 :prefix-end 190976 :cue-end 190977 :body-end 194603 :settings-start nil :settings-assimilated t :to 194603 :has-contents nil :expanded nil :guide-column-flags (t nil t) :was-guide-column-flags (t nil t) :guides-overlay # :was-expanded nil :was-has-contents nil :was-does-encrypt nil :was-is-encrypted nil :icon-overlay # :cue-overlay # :body-overlay # :last-decorated-tick 13410) redecorate nil (allout-item-widget :depth 4 :from 190929 :bullet-at 190932 :prefix-end 190933 :cue-end 190934 :body-end 190970 :settings-start nil :settings-assimilated t :to 190970 :has-contents t :expanded t :guide-column-flags (nil t) :was-guide-column-flags (nil t) :guides-overlay # :was-expanded t :was-has-contents t :was-does-encrypt nil :was-is-encrypted nil :icon-overlay # :cue-overlay # :body-overlay # :last-decorated-tick 13415)) (edebug-after (edebug-before 52) 55 (allout-decorate-item-and-context (edebug-after 0 53 item-widget) (quote redecorate) nil (edebug-after 0 54 parent-widget))) (if (edebug-after (edebug-before 48) 51 (setq item-widget ...)) (edebug-after (edebug-before 52) 55 (allout-decorate-item-and-context ... ... nil ...)) (edebug-after (edebug-before 56) 57 (allout-get-or-create-item-widget))) (edebug-after (edebug-before 47) 58 (if (edebug-after ... 51 ...) (edebug-after ... 55 ...) (edebug-after ... 57 ...))) (progn (edebug-after (edebug-before 44) 46 (goto-char ...)) (edebug-after (edebug-before 47) 58 (if ... ... ...))) (if (edebug-after (edebug-before 41) 43 (not ...)) (progn (edebug-after ... 46 ...) (edebug-after ... 58 ...))) (when (edebug-after (edebug-before 41) 43 (not ...)) (edebug-after (edebug-before 44) 46 (goto-char ...)) (edebug-after (edebug-before 47) 58 (if ... ... ...))) (edebug-after (edebug-before 40) 59 (when (edebug-after ... 43 ...) (edebug-after ... 46 ...) (edebug-after ... 58 ...))) (cond ((edebug-after ... 39 ...) (edebug-after ... 59 ...) (edebug-after ... 63 ...)) ((edebug-after ... 66 ...) (edebug-after ... 77 ...))) (edebug-after (edebug-before 36) 78 (cond (... ... ...) (... ...))) (while --cl-dolist-temp-- (setq sibling-point (car --cl-dolist-temp--)) (edebug-after (edebug-before 36) 78 (cond ... ...)) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))) (let ((--cl-dolist-temp-- ...) sibling-point) (while --cl-dolist-temp-- (setq sibling-point ...) (edebug-after ... 78 ...) (setq --cl-dolist-temp-- ...)) nil) (catch (quote --cl-block-nil--) (let (... sibling-point) (while --cl-dolist-temp-- ... ... ...) nil)) (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil))) (block nil (let (... sibling-point) (while --cl-dolist-temp-- ... ... ...) nil)) (dolist (sibling-point (edebug-after 0 35 pending-chart)) (edebug-after (edebug-before 36) 78 (cond ... ...))) (edebug-after (edebug-before 34) 79 (dolist (sibling-point ...) (edebug-after ... 78 ...))) (let ((parent-widget ...) (pending-chart ...) item-widget previous-sibling-point previous-sibling recent-sibling-point) (edebug-after (edebug-before 29) 33 (setq pending-chart ...)) (edebug-after (edebug-before 34) 79 (dolist ... ...)) (edebug-after (edebug-before 80) 92 (if ... ...))) (edebug-after (edebug-before 0) 93 (let (... ... item-widget previous-sibling-point previous-sibling recent-sibling-point) (edebug-after ... 33 ...) (edebug-after ... 79 ...) (edebug-after ... 92 ...))) (lambda nil (edebug-after (edebug-before 0) 93 (let ... ... ... ...)))() edebug-enter(allout-redecorate-visible-subtree (nil nil) (lambda nil (edebug-after (edebug-before 0) 93 (let ... ... ... ...)))) allout-redecorate-visible-subtree() (edebug-after (edebug-before 45) 46 (allout-redecorate-visible-subtree)) (if (edebug-after (edebug-before 43) 44 (allout-ascend)) (edebug-after (edebug-before 45) 46 (allout-redecorate-visible-subtree))) (edebug-after (edebug-before 42) 47 (if (edebug-after ... 44 ...) (edebug-after ... 46 ...))) (progn (edebug-after (edebug-before 39) 41 (goto-char ...)) (edebug-after (edebug-before 42) 47 (if ... ...)) (edebug-after (edebug-before 48) 57 (if ... ...)) (edebug-after (edebug-before 58) 76 (while ... ... ... ...)) (edebug-after (edebug-before 77) 97 (if ... ...))) (if (edebug-after (edebug-before 36) 38 (not ...)) (progn (edebug-after ... 41 ...) (edebug-after ... 47 ...) (edebug-after ... 57 ...) (edebug-after ... 76 ...) (edebug-after ... 97 ...))) (when (edebug-after (edebug-before 36) 38 (not ...)) (edebug-after (edebug-before 39) 41 (goto-char ...)) (edebug-after (edebug-before 42) 47 (if ... ...)) (edebug-after (edebug-before 48) 57 (if ... ...)) (edebug-after (edebug-before 58) 76 (while ... ... ... ...)) (edebug-after (edebug-before 77) 97 (if ... ...))) (edebug-after (edebug-before 35) 98 (when (edebug-after ... 38 ...) (edebug-after ... 41 ...) (edebug-after ... 47 ...) (edebug-after ... 57 ...) (edebug-after ... 76 ...) (edebug-after ... 97 ...))) (let ((from ...) bucket (to ...)) (edebug-after (edebug-before 11) 21 (if ... ...)) (edebug-after (edebug-before 22) 34 (setq handled ... covered ... handled ...)) (edebug-after (edebug-before 35) 98 (when ... ... ... ... ... ...))) (edebug-after (edebug-before 4) 99 (let (... bucket ...) (edebug-after ... 21 ...) (edebug-after ... 34 ...) (edebug-after ... 98 ...))) (while --cl-dolist-temp-- (setq change (car --cl-dolist-temp--)) (edebug-after (edebug-before 4) 99 (let ... ... ... ...)) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))) (let ((--cl-dolist-temp-- ...) change) (while --cl-dolist-temp-- (setq change ...) (edebug-after ... 99 ...) (setq --cl-dolist-temp-- ...)) nil) (catch (quote --cl-block-nil--) (let (... change) (while --cl-dolist-temp-- ... ... ...) nil)) (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil))) (block nil (let (... change) (while --cl-dolist-temp-- ... ... ...) nil)) (dolist (change (edebug-after 0 3 changes)) (edebug-after (edebug-before 4) 99 (let ... ... ... ...))) (edebug-after (edebug-before 2) 100 (dolist (change ...) (edebug-after ... 99 ...))) (let ((handled nil) covered) (edebug-after (edebug-before 2) 100 (dolist ... ...))) (edebug-after (edebug-before 1) 101 (let (... covered) (edebug-after ... 100 ...))) (save-excursion (edebug-after (edebug-before 1) 101 (let ... ...))) (edebug-after (edebug-before 0) 102 (save-excursion (edebug-after ... 101 ...))) (lambda nil (edebug-after (edebug-before 0) 102 (save-excursion ...)))() edebug-enter(allout-widgets-additions-processor (((:added 199101 199108))) (lambda nil (edebug-after (edebug-before 0) 102 (save-excursion ...)))) edebug-enter(allout-widgets-additions-processor (((:added 199101 199108))) (lambda nil (edebug-after (edebug-before 0) 102 (save-excursion ...)))) allout-widgets-additions-processor(((:added 199101 199108))) (if additions (allout-widgets-additions-processor additions)) (progn (while changes-record (setq entry ...) (case ... ... ... ... ...)) (if exposures (allout-widgets-exposure-change-processor exposures)) (if additions (allout-widgets-additions-processor additions)) (if deletions (allout-widgets-deletions-processor deletions)) (if shifts (allout-widgets-shifts-processor shifts))) (if changes-pending (progn (while changes-record ... ...) (if exposures ...) (if additions ...) (if deletions ...) (if shifts ...))) (when changes-pending (while changes-record (setq entry ...) (case ... ... ... ... ...)) (if exposures (allout-widgets-exposure-change-processor exposures)) (if additions (allout-widgets-additions-processor additions)) (if deletions (allout-widgets-deletions-processor deletions)) (if shifts (allout-widgets-shifts-processor shifts))) (let ((changes-pending ...) entry exposures additions deletions shifts) (when changes-pending (while changes-record ... ...) (if exposures ...) (if additions ...) (if deletions ...) (if shifts ...))) allout-widgets-changes-dispatcher(((:added 199101 199108))) allout-widgets-post-command-business() run-hooks(post-command-hook) -- ken ken.manheimer@gmail.com http://myriadicity.net