emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Robert Goldman <rpgoldman@sift.info>
To: emacs-orgmode@gnu.org
Subject: Re: Emacs-orgmode Digest, Vol 37, Issue 121
Date: Sun, 29 Mar 2009 09:48:13 -0500	[thread overview]
Message-ID: <49CF8A2D.3090502@sift.info> (raw)
In-Reply-To: <E1Lnb4u-0006nm-1T@box188.bluehost.com>

From: Matthew Lundin <mdl@imapmail.org>
Subject: Re: [Orgmode] Re: Handling org-file agenda dependenncies?
To: Eraldo Helal <admin@eraldo.at>
Cc: emacs-orgmode@gnu.org
Message-ID: <m2tz5doo8m.fsf@fastmail.fm>
Content-Type: text/plain; charset=us-ascii

    ML> Hi Eraldo,

    ML> Eraldo Helal <admin@eraldo.at> 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	other threads:[~2009-03-29 14:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1Lnb4u-0006nm-1T@box188.bluehost.com>
2009-03-29 14:48 ` Robert Goldman [this message]
2009-03-29 15:39   ` Re: Emacs-orgmode Digest, Vol 37, Issue 121 Eraldo Helal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49CF8A2D.3090502@sift.info \
    --to=rpgoldman@sift.info \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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).