Re: [O] BUG: agenda for current days excludes reoccurring events
Hello, Jarmo Hurri writes: > If I am on the right track here, org-agenda-show-future-repeats controls > future repetitions, and org-agenda-prefer-last-repeat controls > repetitions for today? Almost. The former controls repetitions starting from tomorrow. The latter controls repetitions before yesterday. Repetitions for today are always shown. > Sounds like the best option to me. I can try give better informed > comments after I see what the effect will be in my setup. I pushed a change in that direction. Here is the new docstring for `org-agenda-prefer-last-repeat'. Non-nil sets date for repeated entries to their last repeat. When nil, display SCHEDULED and DEADLINE dates at their base date, and in today's agenda, as a reminder. Display plain time-stamps, on the other hand, at every repeat date in the past in addition to the base date. When non-nil, show a repeated entry at its latest repeat date, possibly being today even if it wasn't marked as done. This setting is useful if you do not always mark repeated entries as done and, yet, consider that reaching repeat date starts the task anew. When set to a list of strings, prefer last repeats only for entries with these TODO keywords. The problem is that plain timestamps OTOH and SCHEDULED, DEADLINE keywords OTOH are no longer consistent. However, displaying too much past SCHEDULED reminders could clutter the agenda. I'm now waiting for your better informed comments. Regards, -- Nicolas Goaziou
Re: [O] BUG: agenda for current days excludes reoccurring events
Nicolas Goaziou writes: > Jarmo Hurri writes: > >> In particular the fact that you see it for all other days except today >> makes absolutely no sense, right? > > It does make sense, but probably not when there is no TODO keyword. > Also, your sentence is inaccurate: you see it _once_ in the past, not > every others day. That is correct, only once in the past, my bad. (Which explains some of the weirdness in my own, more complicated setup.) Still not sure why it would be appropriate for a TODO _as a default_ (not to show it for today, but for future days), but like I said: we're operating above my pay grade. Just _trying_ to provide some answers to your questions, not sure if this is helping. >>> I think that a nil `org-agenda-prefer-last-repeat' should display : >>> - only the base date when the entry has a TODO keyword; - every >>> repeat between base date and today, inclusive, otherwise. >>> >>> It also applies to SCHEDULED and DEADLINE repeaters. >>> >>> Behaviour with a non-nil value needs not be changed. >>> >>> WDYT? >> >> This is slightly beyond my pay grade, but I hope a nil >> 'org-agenda-prefer-last-repeat' would also display all repeats for >> _future_ days. > > This is orthogonal to the issue. There's a dedicated variable for > that: `org-agenda-show-future-repeats'. If I am on the right track here, org-agenda-show-future-repeats controls future repetitions, and org-agenda-prefer-last-repeat controls repetitions for today? Is that correct? (Feel completely free to ignore this if I am on the wrong track.) I am not sure how this would work for timed events, since "today" and "future" are not mutually exclusive: part of today is still in the future. > If no one objects, I'll just implement the behaviour quoted above. Sounds like the best option to me. I can try give better informed comments after I see what the effect will be in my setup. Jarmo
Re: [O] BUG: agenda for current days excludes reoccurring events
Jarmo Hurri writes: > In particular the fact that you see it for all other days except today > makes absolutely no sense, right? It does make sense, but probably not when there is no TODO keyword. Also, your sentence is inaccurate: you see it _once_ in the past, not every others day. >> I think that a nil `org-agenda-prefer-last-repeat' should display : >> - only the base date when the entry has a TODO keyword; >> - every repeat between base date and today, inclusive, otherwise. >> >> It also applies to SCHEDULED and DEADLINE repeaters. >> >> Behaviour with a non-nil value needs not be changed. >> >> WDYT? > > This is slightly beyond my pay grade, but I hope a nil > 'org-agenda-prefer-last-repeat' would also display all repeats for > _future_ days. This is orthogonal to the issue. There's a dedicated variable for that: `org-agenda-show-future-repeats'. > I assume quite a few people use reoccurring entries to mark regular > meetings, short tasks etc. It is imperative that they also see how the > meeting affect the schedules of future days in their agenda. My > personal opinion is that _any entry with a timestamp_ should be > repeated as far into the future as possible, regardless of whether it > is a TODO or some other type. A timestamp indicates that this entry > very likely needs to be taken into account when scheduling future > events. Thus seeing the repetition in the agenda in the future may be > crucial. > > Does this make sense? See above. Anyway, that doesn't answer my question about what should be done for _past and present_ occurrences. If no one objects, I'll just implement the behaviour quoted above. Regards,
Re: [O] BUG: agenda for current days excludes reoccurring events
Greetings again. Nicolas Goaziou writes: > Jarmo Hurri writes: > >> - how the bug shows up: the reoccurring meeting will show up yesterday >> and in upcoming days, but not in the current day > > This is the consequence of `org-agenda-prefer-last-repeat' default > value. > > However, this behaviour doesn't make much sense when the entry is not > a task (i.e., it hasn't any TODO keyword). In this case, > `org-auto-repeat-maybe' doesn't apply, and the base date is never moved > forward in time. In particular the fact that you see it for all other days except today makes absolutely no sense, right? > I think that a nil `org-agenda-prefer-last-repeat' should display : > - only the base date when the entry has a TODO keyword; > - every repeat between base date and today, inclusive, otherwise. > > It also applies to SCHEDULED and DEADLINE repeaters. > > Behaviour with a non-nil value needs not be changed. > > WDYT? This is slightly beyond my pay grade, but I hope a nil 'org-agenda-prefer-last-repeat' would also display all repeats for _future_ days. I assume quite a few people use reoccurring entries to mark regular meetings, short tasks etc. It is imperative that they also see how the meeting affect the schedules of future days in their agenda. My personal opinion is that _any entry with a timestamp_ should be repeated as far into the future as possible, regardless of whether it is a TODO or some other type. A timestamp indicates that this entry very likely needs to be taken into account when scheduling future events. Thus seeing the repetition in the agenda in the future may be crucial. Does this make sense? Jarmo
Re: [O] BUG: agenda for current days excludes reoccurring events
Hello, Jarmo Hurri writes: > - bug: day agenda for current day does not show reoccurring events > > - how to replicate with the ECM provided > 1. untar the file provided below > 2. cd into created dir > 3. edit the first line of file agenda-setup.el so that the latest org > release lisp is in the load path > 4. run > emacs -q --load agenda-setup.el > 5. run command (org-agenda) > 6. press 'a' for day agenda > 7. press 'b' and/or 'f' to move backwards and forward in time > > - how the bug shows up: the reoccurring meeting will show up yesterday > and in upcoming days, but not in the current day This is the consequence of `org-agenda-prefer-last-repeat' default value. However, this behaviour doesn't make much sense when the entry is not a task (i.e., it hasn't any TODO keyword). In this case, `org-auto-repeat-maybe' doesn't apply, and the base date is never moved forward in time. I think that a nil `org-agenda-prefer-last-repeat' should display : - only the base date when the entry has a TODO keyword; - every repeat between base date and today, inclusive, otherwise. It also applies to SCHEDULED and DEADLINE repeaters. Behaviour with a non-nil value needs not be changed. WDYT? Regards, -- Nicolas Goaziou