emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Re: tags-todo agenda shoud not ignore DONE items
@ 2020-09-15 18:18 James N V Cash
  2020-11-13  6:22 ` Kyle Meyer
  0 siblings, 1 reply; 6+ messages in thread
From: James N V Cash @ 2020-09-15 18:18 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-orgmode, stig

[-- Attachment #1: Type: text/plain, Size: 380 bytes --]


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"?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: matcher allow all tags --]
[-- Type: text/x-diff, Size: 551 bytes --]

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)

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

* Re: tags-todo agenda shoud not ignore DONE items
  2020-09-15 18:18 tags-todo agenda shoud not ignore DONE items James N V Cash
@ 2020-11-13  6:22 ` Kyle Meyer
  2021-04-27 19:39   ` Bastien
  0 siblings, 1 reply; 6+ messages in thread
From: Kyle Meyer @ 2020-11-13  6:22 UTC (permalink / raw)
  To: James N V Cash; +Cc: Bastien, emacs-orgmode, stig

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


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

* Re: tags-todo agenda shoud not ignore DONE items
  2020-11-13  6:22 ` Kyle Meyer
@ 2021-04-27 19:39   ` Bastien
  0 siblings, 0 replies; 6+ messages in thread
From: Bastien @ 2021-04-27 19:39 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: James N V Cash, emacs-orgmode, stig

Kyle Meyer <kyle@kyleam.com> writes:

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

Closing this issue right now -- feel free to report again if if still
needs to be resolved.


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

* Re: tags-todo agenda shoud not ignore DONE items
  2021-05-17  4:46           ` Kyle Meyer
@ 2021-05-17  5:24             ` Bastien
  0 siblings, 0 replies; 6+ messages in thread
From: Bastien @ 2021-05-17  5:24 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: emacs-orgmode, Stig Brautaset

Kyle Meyer <kyle@kyleam.com> writes:

> 823f9744e looks like a regression because it removes the distinction
> between `tags' and `tags-todo'.

I reverted this commit.

> James Cash sent a followup patch to this in a detached thread:
>
>   https://orgmode.org/list/87tuvyaopv.fsf@gmail.com
>
> As I mentioned in that thread (<87361d7p3q.fsf@kyleam.com>) and
> suggested in this thread (<87d061auiw.fsf@kyleam.com>), I think tags and
> tags-todo should stay aligned with agenda's m/M, with tags-todo
> excluding DONE items just as M does.

Sorry I missed these replies, I see now.  If you think there are
places in the documentation that needs some fixing or clarification
please go ahead as you see fit.

Thanks,

-- 
 Bastien


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

* Re: tags-todo agenda shoud not ignore DONE items
  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
  0 siblings, 1 reply; 6+ messages in thread
From: Kyle Meyer @ 2021-05-17  4:46 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-orgmode, Stig Brautaset

Bastien writes:

> Bastien <bzg@gnu.org> writes:
>
>> Confirming this as an issue, if someone wants to fix it.
>
> This should be fixed now with 823f9744e in maint, tags-todo should now
> include DONE headings.

823f9744e looks like a regression because it removes the distinction
between `tags' and `tags-todo'.  Consider the following file

--8<---------------cut here---------------start------------->8---
* h1                                                                   :atag:
* TODO h2                                                              :atag:
* DONE h3                                                              :atag:
* h4
* TODO h5
* DONE h6
--8<---------------cut here---------------end--------------->8---

and the following configuration

  (setq org-agenda-custom-commands
        '(("1" tags "atag")
          ("2" tags-todo "atag")))

Before the above commit, 1 should show

  scratch:    h1                                                                          :atag:
  scratch:    TODO h2                                                                     :atag:
  scratch:    DONE h3                                                                     :atag:

and 2

  scratch:    TODO h2                                                                     :atag:

That matches my expectations, though the request in this thread is that
2 includes "DONE h3" as well.

With 823f9744e, both 1 and 2 show

  scratch:    h1                                                                          :atag:
  scratch:    TODO h2                                                                     :atag:
  scratch:    DONE h3                                                                     :atag:

Note the inclusion of a non-TODO entry for 2 (tags-todo).

---

James Cash sent a followup patch to this in a detached thread:

  https://orgmode.org/list/87tuvyaopv.fsf@gmail.com

As I mentioned in that thread (<87361d7p3q.fsf@kyleam.com>) and
suggested in this thread (<87d061auiw.fsf@kyleam.com>), I think tags and
tags-todo should stay aligned with agenda's m/M, with tags-todo
excluding DONE items just as M does.


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

* Re: tags-todo agenda shoud not ignore DONE items
  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         ` Bastien
  2021-05-17  4:46           ` Kyle Meyer
  0 siblings, 1 reply; 6+ messages in thread
From: Bastien @ 2021-05-16 22:56 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: emacs-orgmode, Stig Brautaset

Bastien <bzg@gnu.org> writes:

> Confirming this as an issue, if someone wants to fix it.

This should be fixed now with 823f9744e in maint, tags-todo should now
include DONE headings.

-- 
 Bastien


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

end of thread, other threads:[~2021-05-17  5:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-15 18:18 tags-todo agenda shoud not ignore DONE items James N V Cash
2020-11-13  6:22 ` Kyle Meyer
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

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