From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Help debugging a problem when saving org-agenda files with C-x s Date: Thu, 14 May 2009 16:17:34 +0200 Message-ID: References: <87d4ad8rb7.fsf@thinkpad.tsdh.de> Mime-Version: 1.0 (Apple Message framework v930.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M4bkq-0008J7-UT for emacs-orgmode@gnu.org; Thu, 14 May 2009 10:17:48 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M4bkl-0008HH-PX for emacs-orgmode@gnu.org; Thu, 14 May 2009 10:17:48 -0400 Received: from [199.232.76.173] (port=36168 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M4bkl-0008HC-Ly for emacs-orgmode@gnu.org; Thu, 14 May 2009 10:17:43 -0400 Received: from mail-ew0-f210.google.com ([209.85.219.210]:34822) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M4bkk-0002uT-Ew for emacs-orgmode@gnu.org; Thu, 14 May 2009 10:17:43 -0400 Received: by ewy6 with SMTP id 6so1703265ewy.42 for ; Thu, 14 May 2009 07:17:40 -0700 (PDT) In-Reply-To: <87d4ad8rb7.fsf@thinkpad.tsdh.de> 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: Tassilo Horn Cc: emacs-orgmode@gnu.org On May 13, 2009, at 8:12 AM, Tassilo Horn wrote: > Hi all, > > I use an own function to save the current agenta to a text file, > which I > display in a tooltip on my desktop: > > --8<---------------cut here---------------start------------->8--- > (defun th-org-mode-init () > (add-hook 'after-save-hook 'th-org-update-agenda-file t t)) > > (add-hook 'org-mode-hook 'th-org-mode-init) > > ;; TODO: This errors when calling C-x s after modifying things in > the agenda. > (defun th-org-update-agenda-file (&optional force) > (interactive) > (when (and (eq major-mode 'org-mode) > (member buffer-file-name org-agenda-files)) > (save-excursion > (save-window-excursion > (let ((file "/tmp/org-agenda.txt")) > (org-agenda-list) > (org-write-agenda file)))))) > --8<---------------cut here---------------end--------------->8--- > > This works fine when I save an agenda file while in its buffer, but > when > I edit the file via agenda commands and hit `C-x s', I'm asked if I > want > to save "/home/horn/repos/org/uni.org" and say yes, I get this error: > This probably happens because you are relying on org-agenda-list which is supposed to display the agenda window and in this way set the selected window and buffer. In non-interactive use, the buffer is created, but display is delayed until after the next idle moment. Not tested, but this may help: Replace (org-agenda-write) with this: (with-current-buffer org-agenda-buffer-name (org-write-agenda file)) HTH - Carsten