emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: Emacs-orgmode Digest, Vol 37, Issue 121


From: Robert Goldman
Subject: [Orgmode] Re: Emacs-orgmode Digest, Vol 37, Issue 121
Date: Sun, 29 Mar 2009 09:48:13 -0500
User-agent: Thunderbird 2.0.0.21 (Macintosh/20090302)

From: Matthew Lundin <address@hidden>
Subject: Re: [Orgmode] Re: Handling org-file agenda dependenncies?
To: Eraldo Helal <address@hidden>
Cc: address@hidden
Message-ID: <address@hidden>
Content-Type: text/plain; charset=us-ascii

    ML> Hi Eraldo,

    ML> Eraldo Helal <address@hidden> writes:

    >> > Mike Newman <mike <at> newmanfamily.me.uk> writes: >
    >>> >> When you use the standard commands to add/removes files from
the >>
    >>> agenda, it will write a definition for the variable
org-agenda-files to
    >>> >> the custom section of your .emacs file.
    >> > > That would still mean removing every org-file in the tree
manually >
    >> when wanting to make a project "inactive".  >
    >>> >> If you want to deal with trees of files, you might be better
off >>
    >>> removing the variable from the custom section, defining it >>
yourself
    >>> and updating it manually.
    >> > > The questions here is... How could one define it?

    ML> I think you could set something like the following in your
.emacs file:

    ML> --8<---------------cut here---------------start------------->8---
    ML> (load-library "find-lisp") (setq org-agenda-files (append
    ML> (find-lisp-find-files "~/directory1" "\.org$") (find-lisp-find-files
    ML> "~/directory2" "\.org$") (find-lisp-find-files "~/directory3"
    ML> "\.org$"))) --8<---------------cut
    ML> here---------------end--------------->8---

    ML> This will search the directories above recursively for org files.
    ML> Whenever you want to remove a project from your agenda, simply
delete
    ML> the appropriate line and evaluate the expression. I'd imagine
someone
    ML> else can think of a way to do this more economically, though.

An interesting question would be how to generalize this to update
remember templates accordingly.  Possibly the best approach would be to
have a defining form that would define a project in a single
s-expression, adding both remember templates and agenda entries, and
then that form could be removed all at once.  Something like

(org-add-project newproj
  "A sample new project to show the greatness of org-add-project."
  (agenda-files (find-lisp-find-files "~/newproj/" "\.org$"))
  (remember-templates
     ....))

[The above wouldn't work as written, since it's syntax is a mess of what
would be handled by a macro --- the "named arguments" like agenda-files
and remember-templates --- and what looks like a functional argument ---
the find-lisp-files --- but something like it could be lashed together
if anyone was interested.]




reply via email to

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