unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* automagically add/remove org mode buffers to agenda files list (was: Re: collect info from org files in agenda when open?)
       [not found]     ` <878v1aa43m.fsf@ericabrahamsen.net>
@ 2013-07-14 14:11       ` Gregor Zattler
  2013-07-14 14:22         ` Drew Adams
  0 siblings, 1 reply; 2+ messages in thread
From: Gregor Zattler @ 2013-07-14 14:11 UTC (permalink / raw)
  To: emacs-orgmode, help-gnu-emacs

Hi Eric, org-mod users and developers,
* Eric Abrahamsen <eric@ericabrahamsen.net> [13. Jul. 2013]:
> Gregor Zattler <telegraph@gmx.net> writes:
>> But I wished there was also the ability to define a list of files
>> which do only contribute to the agenda if already open
>> (preferably with some pattern matching, so one could customize
>> org to add any open org file to the agenda).
> 
> You could certainly do this with a function attached to
> `find-file-hook'. In the function, check if (buffer-file-name) ends in
> ".org": if it does, then `org-agenda-file-to-front' and you're good to
> go.

Your answer motivated me to play with org-mode-hook.  Now I have
the following as part of my init.el:

; start with diary in agenda
(setq org-agenda-files '("~/org/diary.org"))
; automatically add org files to agenda
(add-hook 'org-mode-hook 'org-agenda-file-to-front)
; automagically remove killed org buffers from agenda files list
(add-hook 'kill-buffer-hook 'org-remove-file)

But the last hook does not work as espected.  Instead it says
"Current buffer does not visit a file".  But according to the
documentation kill-buffer-hook is run before the buffer is
actually killed and the buffer is current when calling the hook.
Any ideas what I'm doing wrong?


Ciao, Gregor
-- 
 -... --- .-. . -.. ..--.. ...-.-



^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: automagically add/remove org mode buffers to agenda files list (was: Re: collect info from org files in agenda when open?)
  2013-07-14 14:11       ` automagically add/remove org mode buffers to agenda files list (was: Re: collect info from org files in agenda when open?) Gregor Zattler
@ 2013-07-14 14:22         ` Drew Adams
  0 siblings, 0 replies; 2+ messages in thread
From: Drew Adams @ 2013-07-14 14:22 UTC (permalink / raw)
  To: Gregor Zattler, emacs-orgmode, help-gnu-emacs

> (add-hook 'kill-buffer-hook 'org-remove-file)
> 
> But the last hook does not work as espected.  Instead it says
> "Current buffer does not visit a file".  But according to the
> documentation kill-buffer-hook is run before the buffer is
> actually killed and the buffer is current when calling the hook.
> Any ideas what I'm doing wrong?

I have no idea what `org-remove-file' does, but if it expects
the current buffer to be visiting a file then that explains
your problem.  `kill-buffer-hook' is run whenever ANY buffer is
killed, not just a buffer visiting a file.  And Emacs uses lots
of buffers that are not visiting files.

What you can do is use a different function, `foo', that first
tests whether the current buffer is the kind of buffer you want
to apply `org-remove-file' to, and if so invoke that, and if not
do nothing.



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-14 14:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20130712221620.GC15939@boo.workgroup>
     [not found] ` <87ppumnan8.fsf@noman.maa.corp.collab.net>
     [not found]   ` <20130713083315.GA20339@boo.workgroup>
     [not found]     ` <878v1aa43m.fsf@ericabrahamsen.net>
2013-07-14 14:11       ` automagically add/remove org mode buffers to agenda files list (was: Re: collect info from org files in agenda when open?) Gregor Zattler
2013-07-14 14:22         ` Drew Adams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).