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:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "Agenda file /home/horn/repos/org/uni.org 
is not in `org-mode'")
  signal(error ("Agenda file /home/horn/repos/org/uni.org is not in 
`org-mode'"))
  error("Agenda file %s is not in `org-mode'" "/home/horn/repos/org/uni.org")
  org-agenda-get-day-entries("/home/horn/repos/org/uni.org" (5 11 2009) 
:deadline :scheduled :sexp :timestamp)
  byte-code("...")
  org-agenda-list()
  (let ((file "/tmp/org-agenda.txt")) (org-agenda-list) (org-write-agenda file))
  (save-window-excursion (let (...) (org-agenda-list) (org-write-agenda file)))
  (save-excursion (save-window-excursion (let ... ... ...)))
  (progn (save-excursion (save-window-excursion ...)))
  (if (and (eq major-mode ...) (member buffer-file-name org-agenda-files)) 
(progn (save-excursion ...)))
  (when (and (eq major-mode ...) (member buffer-file-name org-agenda-files)) 
(save-excursion (save-window-excursion ...)))
  th-org-update-agenda-file()
  run-hooks(after-save-hook)
  basic-save-buffer()
  save-buffer()
  #[(buffer) "rq. )" [buffer save-buffer] 1](#<buffer uni.org>)
  map-y-or-n-p(#[(buffer) ".!V.!..."])
  byte-code("...")
  save-some-buffers(nil)
  call-interactively(save-some-buffers nil nil)
--8<---------------cut here---------------end--------------->8---

I'm not sure what's the problem here.  /home/horn/repos/org/uni.org is
surely in org-mode!

Any help on that?

Bye,
Tassilo



_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to