emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Kyle Meyer <kyle@kyleam.com>
To: James N V Cash <james.cash@occasionallycogent.com>
Cc: Bastien <bzg@gnu.org>, emacs-orgmode@gnu.org, stig@brautaset.org
Subject: Re: tags-todo agenda shoud not ignore DONE items
Date: Fri, 13 Nov 2020 01:22:33 -0500	[thread overview]
Message-ID: <87361d7p3q.fsf@kyleam.com> (raw)
In-Reply-To: <87tuvyaopv.fsf@gmail.com>

[ Sorry for the slow reply here, and thank you for looking into this. ]

James N V Cash writes:

> Bastien <bzg@gnu.org> writes:
>
>> Confirming this as an issue, if someone wants to fix it.
>
> I've tried taking a shot at addressing this issue via the patch attached.
>
> As mentioned in the thread, might potentially cause issues by changing
> how it matches -- should there be an option? Or is the idea just that
> if you really do want to exclude done tags, you'd query like "/!DONE"?

Yep, that's the idea, I think.  It's mentioned in both 942b6267a
(org-agenda: `tags-todo' command type includes DONE keywords,
2017-04-18) and 2fb129b5c (`org-scan-tags' retrieve all TODO keywords,
not only not-done ones, 2017-08-17).

>
> diff --git a/lisp/org.el b/lisp/org.el
> index 020cfc873..3db1add8b 100644
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -11691,7 +11691,7 @@ See also `org-scan-tags'."
>  		       `(and ,tagsmatcher ,todomatcher)
>  		     (or tagsmatcher todomatcher t))))
>        (when org--matcher-tags-todo-only
> -	(setq matcher `(and (member todo org-not-done-keywords) ,matcher)))
> +	(setq matcher `(and (member todo org-todo-keywords-1) ,matcher)))
>        (cons match0 `(lambda (todo tags-list level) ,matcher)))))
>  
>  (defun org--tags-expand-group (group tag-groups expanded)

This does resolve the reported issue with the b tags-todo set reported
in <https://orgmode.org/list/m2ftazm3l1.fsf@brautaset.org>.  However, it
breaks the org-tags-view todo-only operation (agenda's M): it no longer
filters out todos in a DONE state.  This behavior is explicitly
specified in the manual:

  Using ‘M-x org-agenda M’ or ‘/!’ does not match TODO keywords in a
  DONE state.

In <https://orgmode.org/list/87d061auiw.fsf@kyleam.com>, I asked,
"shouldn't tags-todo consider only none-DONE todo items, in the same
spirit as m versus M?"  And, looking at this again, it's not only in
spirit; the tags-todo agenda view and org-tags-view's todo-only are
really directly linked:

   ((eq type 'tags-todo)
    (org-let lprops '(org-tags-view '(4) org-match)))

After rereading the thread at m2ftazm3l1.fsf@brautaset.org, I'm still
not convinced we should break that link.


  reply	other threads:[~2020-11-13  6:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-15 18:18 James N V Cash
2020-11-13  6:22 ` Kyle Meyer [this message]
2021-04-27 19:39   ` Bastien
  -- strict thread matches above, loose matches on Subject: below --
2020-06-13 14:40 tags-todo org-agenda-custom-command weirdness Stig Brautaset
2020-06-15  3:16 ` Kyle Meyer
2020-06-15 18:52   ` Stig Brautaset
2020-06-16  5:11     ` Kyle Meyer
2020-09-06  5:07       ` tags-todo agenda shoud not ignore DONE items (was: tags-todo org-agenda-custom-command weirdness) Bastien
2021-05-16 22:56         ` tags-todo agenda shoud not ignore DONE items Bastien
2021-05-17  4:46           ` Kyle Meyer
2021-05-17  5:24             ` Bastien

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=87361d7p3q.fsf@kyleam.com \
    --to=kyle@kyleam.com \
    --cc=bzg@gnu.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=james.cash@occasionallycogent.com \
    --cc=stig@brautaset.org \
    --subject='Re: tags-todo agenda shoud not ignore DONE items' \
    /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

Code repositories for project(s) associated with this 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).