emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Noel Errenil <errelinaaron@gmail.com>
To: Ihor Radchenko <yantar92@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: `org-capture' loads all the files in `org-directory'
Date: Tue, 19 Jul 2022 12:48:29 +0800	[thread overview]
Message-ID: <CAFpY-jAbEL1qgue2eDhjRkwqnqZ5cHHP_L48PMQR6CQLBf2drw@mail.gmail.com> (raw)
In-Reply-To: <87mtd7hzl3.fsf@localhost>

Hi Ihor,

> ...
> Note that you are using %^G, while implies (see org-capture-templates docstring):
>
> %^G         Prompt for tags, with completion on all tags in all agenda files.
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Thank you so much for the help. You are absolutely right!

> Only the capture template is actually loaded. However, providing tag
> completion for %^G requires Org to scan all the agenda files for
> possible tags. Hence, agenda files must be opened and examined.

This is an oversight and misunderstanding by me. Really appreciate your
explanation.


> The reason why the capture target buffer and the agenda file buffers are
> not closed is efficiency. Opening all the agenda files may take
> considerable amount of time and hence it is generally better to keep
> them open for future use. We might change it in future or provide an
> option to close the opened files if there is enough interest. Feel free
> to write a feature request - we will judge the number of user responses
> to the request.

Currently, I'm happy with this behavior. I'll learn how to submit a
feature request
anyway in case in the future I feel a need to.

After your first reply earlier, I came to realize that the pop-up
buffer in which I am
able to select a template is indeed some kind of agenda view/mode. This can be
confirmed by looking up the source code. So my original problem indeed had sth
to do with agenda, not `org-capture'.

Then I found my setting of `org-agenda-files' was indeed wrong:

Sth like:
(setq org-agenda-files ("~/projects/org/agenda.org"))
                                     ;; ^^^^^^^^^^^^^^^^^^^^^^^^^^
empty file at the moment
will actually make the whole ~/projects/org directory as the agenda source,
hence all the files under it will be loaded once agenda function is activated.

I did that, again, because I misunderstood the manual. I should use a
list for agenda files
or a plain text file in which I specify agenda files, one per line.

Hope all the information in this thread will help whoever runs into
the same issue as I did.

Best,
Noel


On Mon, Jul 18, 2022 at 11:24 AM Ihor Radchenko <yantar92@gmail.com> wrote:
>
> Noel Errenil <errelinaaron@gmail.com> writes:
>
> > ...
> > Then, I fire `org-capture', captur a note and `C-c C-c' to save the captured
> > content.
> >
> > Suddenly all the files under ~/projects/org will be loaded into the buffer
> > list, which confuses me so much. Those that have nothing to do with
> > capturing or capture-templates are loaded into Emacs, which makes
> > little sense to me.
> > ...
> > Currently I have `org-directory' set to `~/projects/org'. My
> > `org-capture' config is as follows:
> > ...
> >    org-default-notes-file (concat org-directory "/notes.org")))
> > ...
> >         ("td" "With Dealines" entry     ; todos->deadline
> >                (file+headline "tasks.org" "Deadlines")
> >                "* TODO %? %^G\nDEADLINE: %T" :kill-buffer t :prepend t)
>
> Note that you are using %^G, while implies (see org-capture-templates docstring):
>
>   %^G         Prompt for tags, with completion on all tags in all agenda files.
>                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> > I just expect that only the capture template will be loaded during capturing
> > and the template buffer should be killed (as config-ed) after capturing.
>
> Only the capture template is actually loaded. However, providing tag
> completion for %^G requires Org to scan all the agenda files for
> possible tags. Hence, agenda files must be opened and examined.
>
> The reason why the capture target buffer and the agenda file buffers are
> not closed is efficiency. Opening all the agenda files may take
> considerable amount of time and hence it is generally better to keep
> them open for future use. We might change it in future or provide an
> option to close the opened files if there is enough interest. Feel free
> to write a feature request - we will judge the number of user responses
> to the request.
>
> > What am I doing wrong? Any advice? Thank you so much in advance.
>
> You may either not use global tag completion (use %^g instead %^G in
> your templates) or advice org-capture to close the opened files.
>
> Best,
> Ihor


  reply	other threads:[~2022-07-19  4:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-16 22:53 `org-capture' loads all the files in `org-directory' Noel Errenil
2022-07-17  8:16 ` Bruno Barbier
2022-07-18  3:25 ` Ihor Radchenko
2022-07-19  4:48   ` Noel Errenil [this message]
2022-07-20  7:19     ` Ihor Radchenko

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=CAFpY-jAbEL1qgue2eDhjRkwqnqZ5cHHP_L48PMQR6CQLBf2drw@mail.gmail.com \
    --to=errelinaaron@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=yantar92@gmail.com \
    /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).