1 Return-Path: <rodney@rodney.id.au>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id E3C61429E5F
\r
6 for <notmuch@notmuchmail.org>; Tue, 17 Jan 2012 10:33:54 -0800 (PST)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]
\r
13 Received: from olra.theworths.org ([127.0.0.1])
\r
14 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id c0APzlzo2kl7 for <notmuch@notmuchmail.org>;
\r
16 Tue, 17 Jan 2012 10:33:54 -0800 (PST)
\r
17 Received: from rodney.id.au (rodney.id.au [178.79.159.183])
\r
18 (using TLSv1 with cipher AES256-SHA (256/256 bits))
\r
19 (No client certificate requested)
\r
20 by olra.theworths.org (Postfix) with ESMTPS id 11565429E3B
\r
21 for <notmuch@notmuchmail.org>; Tue, 17 Jan 2012 10:33:54 -0800 (PST)
\r
22 Received: from 232.26-200-80.adsl-dyn.isp.belgacom.be ([80.200.26.232]
\r
24 by rodney.id.au with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:16)
\r
25 (Exim 4.77) (envelope-from <rodney@rodney.id.au>)
\r
26 id 1RnDqy-0008Cr-I1; Tue, 17 Jan 2012 18:33:52 +0000
\r
27 From: Rodney Lorrimar <dev@rodney.id.au>
\r
28 To: Aaron Ecay <aaronecay@gmail.com>, notmuch@notmuchmail.org
\r
29 Subject: Re: Infinite loop in emacs interface
\r
30 In-Reply-To: <m2k44qb573.fsf@gmail.com>
\r
31 References: <87pqei8d0h.fsf@boekje.home> <m2k44qb573.fsf@gmail.com>
\r
32 User-Agent: Notmuch/0.11 (http://notmuchmail.org) Emacs/24.0.92.1
\r
33 (x86_64-pc-linux-gnu)
\r
34 Date: Tue, 17 Jan 2012 19:35:58 +0100
\r
35 Message-ID: <87y5t6kwhd.fsf@boekje.home>
\r
37 Content-Type: text/plain
\r
38 X-SA-Exim-Connect-IP: 80.200.26.232
\r
39 X-SA-Exim-Mail-From: rodney@rodney.id.au
\r
40 X-SA-Exim-Scanned: No (on rodney.id.au); SAEximRunCond expanded to false
\r
41 X-BeenThere: notmuch@notmuchmail.org
\r
42 X-Mailman-Version: 2.1.13
\r
44 List-Id: "Use and development of the notmuch mail system."
\r
45 <notmuch.notmuchmail.org>
\r
46 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
47 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
48 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
49 List-Post: <mailto:notmuch@notmuchmail.org>
\r
50 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
51 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
52 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
53 X-List-Received-Date: Tue, 17 Jan 2012 18:33:55 -0000
\r
55 On Tue, 17 Jan 2012 12:37:52 -0500, Aaron Ecay <aaronecay@gmail.com> wrote:
\r
56 > After converting the mbox file to Maildir and adding it to my mailstore,
\r
57 > I cannot reproduce the loop. (The versions of notmuch and emacs I used
\r
58 > are close to the ones you have, but not an exact match, so it may be
\r
59 > something subtle about those versions. I can investigate
\r
60 > more carefully if it seems like this is the case.)
\r
64 That's a pity. I am using Julien Danjou's emacs-snapshot package for
\r
65 debian and actually I only noticed the infinite loop on this thread
\r
66 after restarting emacs some unknown time after the package was
\r
67 upgraded. The package was upgraded from 20120105 to 20120111.
\r
69 I haven't been using this snapshot of emacs for very long, so possibly
\r
70 the problem might occur with other threads. To test this thread, I
\r
71 copied it out of my maildirs with mutt, deleted the original messages,
\r
72 ran "notmuch new", copied the mbox thread back into my maildirs, then
\r
73 ran "notmuch new" again, and the problem was still there.
\r
77 > M-x set-variable RET debug-on-quit RET t RET
\r
78 > then trigger the loop and press C-g, you should get a buffer showing a
\r
79 > backtrace of the lisp stack. What does that say?
\r
81 I copied 4 backtraces which appear below. I pressed the 'a' key when
\r
82 viewing the thread, then C-g.
\r
84 They were run with notmuch git commit efa5d6cb32. Since then I went back
\r
85 to 0.11 because it seems like the reply function stopped working.
\r
93 Debugger entered--Lisp error: (quit)
\r
94 mapc((lambda (del-tag) (setq result-tags (delete del-tag result-tags))) ("inbox"))
\r
95 (let ((result-tags (copy-sequence current-tags))) (mapc (lambda (del-tag) (setq result-tags (delete del-tag result-tags))) del-tags) result-tags)
\r
96 notmuch-show-del-tags-worker(nil ("inbox"))
\r
97 (let* ((current-tags (notmuch-show-get-tags)) (new-tags (notmuch-show-del-tags-worker current-tags toremove))) (unless (equal current-tags new-tags) (apply (quote notmuch-tag) (notmuch-show-get-message-id) (mapcar (lambda (s) (concat "-" s)) toremove)) (notmuch-show-set-tags new-tags)))
\r
98 notmuch-show-remove-tag("inbox")
\r
99 (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))
\r
100 (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next)))))
\r
101 (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
102 (cl-block-wrapper (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil))
\r
103 (block nil (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
104 (loop do (notmuch-show-remove-tag "inbox") until (not (notmuch-show-goto-message-next)))
\r
105 notmuch-show-archive-thread-internal(t)
\r
106 notmuch-show-archive-thread()
\r
107 call-interactively(notmuch-show-archive-thread nil nil)
\r
109 Debugger entered--Lisp error: (quit)
\r
110 notmuch-show-move-to-message-top()
\r
111 (save-excursion (notmuch-show-move-to-message-top) (get-text-property (point) :notmuch-message-properties))
\r
112 notmuch-show-get-message-properties()
\r
113 (or props (notmuch-show-get-message-properties))
\r
114 (let ((props (or props (notmuch-show-get-message-properties)))) (plist-get props prop))
\r
115 notmuch-show-get-prop(:tags)
\r
116 notmuch-show-get-tags()
\r
117 (let* ((current-tags (notmuch-show-get-tags)) (new-tags (notmuch-show-del-tags-worker current-tags toremove))) (unless (equal current-tags new-tags) (apply (quote notmuch-tag) (notmuch-show-get-message-id) (mapcar (lambda (s) (concat "-" s)) toremove)) (notmuch-show-set-tags new-tags)))
\r
118 notmuch-show-remove-tag("inbox")
\r
119 (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))
\r
120 (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next)))))
\r
121 (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
122 (cl-block-wrapper (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil))
\r
123 (block nil (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
124 (loop do (notmuch-show-remove-tag "inbox") until (not (notmuch-show-goto-message-next)))
\r
125 notmuch-show-archive-thread-internal(t)
\r
126 notmuch-show-archive-thread()
\r
127 call-interactively(notmuch-show-archive-thread nil nil)
\r
129 Debugger entered--Lisp error: (quit)
\r
130 notmuch-show-move-to-message-top()
\r
131 (save-excursion (notmuch-show-move-to-message-top) (get-text-property (point) :notmuch-message-properties))
\r
132 notmuch-show-get-message-properties()
\r
133 (or props (notmuch-show-get-message-properties))
\r
134 (let ((props (or props (notmuch-show-get-message-properties)))) (plist-get props prop))
\r
135 notmuch-show-get-prop(:tags)
\r
136 notmuch-show-get-tags()
\r
137 (let* ((current-tags (notmuch-show-get-tags)) (new-tags (notmuch-show-del-tags-worker current-tags toremove))) (unless (equal current-tags new-tags) (apply (quote notmuch-tag) (notmuch-show-get-message-id) (mapcar (lambda (s) (concat "-" s)) toremove)) (notmuch-show-set-tags new-tags)))
\r
138 notmuch-show-remove-tag("inbox")
\r
139 (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))
\r
140 (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next)))))
\r
141 (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
142 (cl-block-wrapper (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil))
\r
143 (block nil (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
144 (loop do (notmuch-show-remove-tag "inbox") until (not (notmuch-show-goto-message-next)))
\r
145 notmuch-show-archive-thread-internal(t)
\r
146 notmuch-show-archive-thread()
\r
147 call-interactively(notmuch-show-archive-thread nil nil)
\r
149 Debugger entered--Lisp error: (quit)
\r
150 (while (not (setq r (get-text-property (point) :notmuch-message-extent))) (backward-char))
\r
151 (save-excursion (while (not (setq r (get-text-property (point) :notmuch-message-extent))) (backward-char)))
\r
152 (let (r) (save-excursion (while (not (setq r (get-text-property (point) :notmuch-message-extent))) (backward-char))) r)
\r
153 notmuch-show-message-extent()
\r
154 (cdr (notmuch-show-message-extent))
\r
155 notmuch-show-message-bottom()
\r
156 (goto-char (notmuch-show-message-bottom))
\r
157 notmuch-show-move-to-message-bottom()
\r
158 (let ((start (point))) (notmuch-show-move-to-message-bottom) (if (not (eobp)) t (goto-char start) nil))
\r
159 notmuch-show-goto-message-next()
\r
160 (not (notmuch-show-goto-message-next))
\r
161 (not (not (notmuch-show-goto-message-next)))
\r
162 (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))
\r
163 (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next)))))
\r
164 (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
165 (cl-block-wrapper (catch (quote --cl-block-nil--) (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil))
\r
166 (block nil (while (progn (notmuch-show-remove-tag "inbox") (not (not (notmuch-show-goto-message-next))))) nil)
\r
167 (loop do (notmuch-show-remove-tag "inbox") until (not (notmuch-show-goto-message-next)))
\r
168 notmuch-show-archive-thread-internal(t)
\r
169 notmuch-show-archive-thread()
\r
170 call-interactively(notmuch-show-archive-thread nil nil)
\r