From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Goldman Subject: Bug (?) adding attachment to note in remember buffer Date: Mon, 17 Nov 2008 10:20:17 -0600 Message-ID: <492199C1.4040002@sift.info> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L26q3-0001w6-5U for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 11:20:35 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L26q1-0001vj-Hl for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 11:20:34 -0500 Received: from [199.232.76.173] (port=38208 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L26q1-0001vg-Cm for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 11:20:33 -0500 Received: from outbound-mail-109.bluehost.com ([69.89.22.9]:47207) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1L26q0-0003d8-8h for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 11:20:32 -0500 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: emacs-orgmode@gnu.org When I try to add an attachment to a note in the remember buffer, I get an error that looks like this: Debugger entered--Lisp error: (wrong-type-argument arrayp nil) file-truename(nil) byte-code(xxxxx [org-id-locations list locs file id nil file-truename throw exit t] 3) org-id-add-location("xvsc3fr01ge0@sift.info" nil) org-id-get(353 t) org-attach-dir(t) org-attach-attach("~/Desktop/hold-notification.eml" nil) call-interactively(org-attach-attach) org-attach() call-interactively(org-attach) [sorry about the byte-code-garble] This is on the latest version, pulled from git this morning. Clearly what's wrong is the call to org-id-add-location with NIL as the FILE argument. That's the proximal cause. The root cause seems to be that when we call (buffer-file-name (buffer-base-buffer)) inside a buffer created by org-remember, it returns nil (buffer-base-buffer is nil). This suggests that the org-attachment code needs a special way of handling attachment placement when it's invoked inside remember. A short-term fix might be to use advice to intercept calls to org-attach when invoked inside a remember buffer and have it raise an error and tell you to wait until the remember note has been filed before adding an attachment. [as an aside, this whole mess is caused because I have no way to create an org link to an email from Thunderbird, so I have to handle all my email-related tasks through attachments. Grrrr....] An alternative would be to have org-id-get handle remember buffers specially. org-remember has some default location for putting its new item, and that could presumably be looked up. However, given that one has the possibility of changing the destination of the note, this would have to be handled carefully. If (a) org-refile handles relocating attachments correctly and (b) the code in org-remember for handling, e.g., C-1 C-c C-c. uses the org-refile code; then this should be relatively easy to handle. Best, Robert