emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Help debugging a problem when saving org-agenda files with


From: Carsten Dominik
Subject: Re: [Orgmode] Help debugging a problem when saving org-agenda files with C-x s
Date: Sat, 16 May 2009 17:14:18 +0200


On May 14, 2009, at 8:41 PM, Tassilo Horn wrote:

Carsten Dominik <address@hidden> writes:

Did you restart Emacs? My idea was that the first time you call this,
you change the file name of a buffer, and the second time the problem
happens.

First, I only evaled my function anew, but now I tried with a new emacs
instance and the error is still the same.

But now I can see what happens (but I don't have a solution right now):

- `C-x s' saves the modified org buffer (I checked that the changes
  are saved to disk)

- my function is triggered cause it's in `after-save-hook' buffer
  locally

Calling such functions recursively is never a good idea, even if
it is accidental recursion in this case.

You could and should turn off your hook function in after-safe-hook
for the duration of your command.  On common way to do this is to
make it dependent on a variable and bind this variable dynamically
while you run the hook function


Like

(defvar do-my-hook t)

...

(defun th-org-update-agenda-file (&optional force)
(interactive)
(when (and do-my-hook
           (eq major-mode 'org-mode)
           (member buffer-file-name org-agenda-files))
  (save-excursion
    (save-window-excursion
      (let ((do-my-hook nil)
             (file "/tmp/org-agenda.txt"))
        (org-agenda-list)
        (org-write-agenda file))))))


HTH

- Carsten




- somehow the buffer associated with the saved org file uni.org is
  erased and org tries to insert an agendo into this buffer (only one
  propertized line)

         Week-agenda (W20):

  and the major mode is now `org-agenda-mode', which results in the
  error I posted when org tries to create the agenda page.

Bye,
Tassilo
--
[Emacs] is written in Lisp, which is the only computer language that is beautiful. -- Neal Stephenson, _In the Beginning was the Command Line_





reply via email to

[Prev in Thread] Current Thread [Next in Thread]