GNU bug report logs -
#80100
[PATCH] Mark Org agenda entries in the calendar
Previous Next
To reply to this bug, email your comments to 80100 AT debbugs.gnu.org.
There is no need to reopen the bug first.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Tue, 30 Dec 2025 12:59:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Manuel Giraud <manuel <at> ledu-giraud.fr>:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org.
(Tue, 30 Dec 2025 12:59:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Tags: patch
Hi,
Here's a WIP patch to be able to mark entries from the Org agenda into
the calendar view.
The main problem so far is that calling 'org-agenda-get-day-entries' on
each of the 91 dates (typical number of days in a calendar view) is
quite slow. @Ihor, do you know a better function to use? Thanks.
In GNU Emacs 31.0.50 (build 7, x86_64-unknown-openbsd7.8) of 2025-12-29
built on computer
Repository revision: 3e5c942b75a62aa67b22bd3e689c403e175a537a
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101020
System Description: OpenBSD computer 7.8 GENERIC.MP#182 amd64
Configured using:
'configure CC=egcc CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib MAKEINFO=gmakeinfo --prefix=/home/manuel/emacs
--bindir=/home/manuel/bin --with-x-toolkit=no
--with-toolkit-scroll-bars=no --without-cairo --without-dbus
--without-gconf --without-gsettings --without-compress-install'
[0001-Mark-Org-agenda-entries-in-the-calendar.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
--
Manuel Giraud
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 12:36:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
> The main problem so far is that calling 'org-agenda-get-day-entries' on
> each of the 91 dates (typical number of days in a calendar view) is
> quite slow. @Ihor, do you know a better function to use? Thanks.
There is nothing ready-to-use I can think of.
If you look into org-agenda-get-timestamps, you will see that it is
optimized to collect timestamps for a single day, not a range.
Maybe you can pre-filter entries using some regexp search and then loop
over each candidate, calling org-agenda-get-day-entries with restriction
limiting agenda to current entry only. Not sure if it is going to be
faster though.
Another possibility is installing a custom skip function augment what
will terminate agenda building process one we get more than one entry.
Also, be aware that entries returned by agenda are not designed as
calendar entries. Agenda, by default, presents "overdue" items. This is
probably not what you expect.
--
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 13:41:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 80100 <at> debbugs.gnu.org (full text, mbox):
> Cc: 80100 <at> debbugs.gnu.org
> From: Ihor Radchenko <yantar92 <at> posteo.net>
> Date: Sun, 04 Jan 2026 12:35:25 +0000
>
> Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
>
> > The main problem so far is that calling 'org-agenda-get-day-entries' on
> > each of the 91 dates (typical number of days in a calendar view) is
> > quite slow. @Ihor, do you know a better function to use? Thanks.
>
> There is nothing ready-to-use I can think of.
> If you look into org-agenda-get-timestamps, you will see that it is
> optimized to collect timestamps for a single day, not a range.
> Maybe you can pre-filter entries using some regexp search and then loop
> over each candidate, calling org-agenda-get-day-entries with restriction
> limiting agenda to current entry only. Not sure if it is going to be
> faster though.
> Another possibility is installing a custom skip function augment what
> will terminate agenda building process one we get more than one entry.
>
> Also, be aware that entries returned by agenda are not designed as
> calendar entries. Agenda, by default, presents "overdue" items. This is
> probably not what you expect.
Is it useful to discuss this here? It sounds like an Org issue to me.
Or what am I missing?
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 13:54:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 80100 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> Is it useful to discuss this here? It sounds like an Org issue to me.
> Or what am I missing?
The patch is for calender.el.
If you think that discussing the technical details should move to Org
mailing list, it is up to you. IMHO, it belongs both to Org mailing list
and also debbugs/emacs-devel.
--
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 15:11:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 80100 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> Cc: 80100 <at> debbugs.gnu.org
>> From: Ihor Radchenko <yantar92 <at> posteo.net>
>> Date: Sun, 04 Jan 2026 12:35:25 +0000
>>
>> Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
>>
>> > The main problem so far is that calling 'org-agenda-get-day-entries' on
>> > each of the 91 dates (typical number of days in a calendar view) is
>> > quite slow. @Ihor, do you know a better function to use? Thanks.
>>
>> There is nothing ready-to-use I can think of.
>> If you look into org-agenda-get-timestamps, you will see that it is
>> optimized to collect timestamps for a single day, not a range.
>> Maybe you can pre-filter entries using some regexp search and then loop
>> over each candidate, calling org-agenda-get-day-entries with restriction
>> limiting agenda to current entry only. Not sure if it is going to be
>> faster though.
>> Another possibility is installing a custom skip function augment what
>> will terminate agenda building process one we get more than one entry.
>>
>> Also, be aware that entries returned by agenda are not designed as
>> calendar entries. Agenda, by default, presents "overdue" items. This is
>> probably not what you expect.
>
> Is it useful to discuss this here? It sounds like an Org issue to me.
> Or what am I missing?
This is about adding an optional mark of org agenda entries into
calendar.el. I needed some hindsight about org-agenda but I think this
the right place.
--
Manuel Giraud
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 15:16:01 GMT)
Full text and
rfc822 format available.
Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> posteo.net> writes:
W> Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
>
>> The main problem so far is that calling 'org-agenda-get-day-entries' on
>> each of the 91 dates (typical number of days in a calendar view) is
>> quite slow. @Ihor, do you know a better function to use? Thanks.
>
> There is nothing ready-to-use I can think of.
> If you look into org-agenda-get-timestamps, you will see that it is
> optimized to collect timestamps for a single day, not a range.
> Maybe you can pre-filter entries using some regexp search and then loop
> over each candidate, calling org-agenda-get-day-entries with restriction
> limiting agenda to current entry only. Not sure if it is going to be
> faster though.
Thanks for this idea. I'll look into it.
> Another possibility is installing a custom skip function augment what
> will terminate agenda building process one we get more than one entry.
I thought that something like that might already exists. But as it
doesn't I'd have to add this to org first (not on this list of course
;-)
> Also, be aware that entries returned by agenda are not designed as
> calendar entries. Agenda, by default, presents "overdue" items. This is
> probably not what you expect.
What do you mean by "overdue" items?
--
Manuel Giraud
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 15:21:02 GMT)
Full text and
rfc822 format available.
Message #23 received at submit <at> debbugs.gnu.org (full text, mbox):
Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
>> Also, be aware that entries returned by agenda are not designed as
>> calendar entries. Agenda, by default, presents "overdue" items. This is
>> probably not what you expect.
>
> What do you mean by "overdue" items?
If a todo task is scheduled yesterday and it is not done, it will show up in today's agenda.
--
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 17:50:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 80100 <at> debbugs.gnu.org (full text, mbox):
> From: Manuel Giraud <manuel <at> ledu-giraud.fr>
> Cc: Ihor Radchenko <yantar92 <at> posteo.net>, 80100 <at> debbugs.gnu.org
> Date: Sun, 04 Jan 2026 16:10:29 +0100
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> >> Cc: 80100 <at> debbugs.gnu.org
> >> From: Ihor Radchenko <yantar92 <at> posteo.net>
> >> Date: Sun, 04 Jan 2026 12:35:25 +0000
> >>
> >> Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
> >>
> >> > The main problem so far is that calling 'org-agenda-get-day-entries' on
> >> > each of the 91 dates (typical number of days in a calendar view) is
> >> > quite slow. @Ihor, do you know a better function to use? Thanks.
> >>
> >> There is nothing ready-to-use I can think of.
> >> If you look into org-agenda-get-timestamps, you will see that it is
> >> optimized to collect timestamps for a single day, not a range.
> >> Maybe you can pre-filter entries using some regexp search and then loop
> >> over each candidate, calling org-agenda-get-day-entries with restriction
> >> limiting agenda to current entry only. Not sure if it is going to be
> >> faster though.
> >> Another possibility is installing a custom skip function augment what
> >> will terminate agenda building process one we get more than one entry.
> >>
> >> Also, be aware that entries returned by agenda are not designed as
> >> calendar entries. Agenda, by default, presents "overdue" items. This is
> >> probably not what you expect.
> >
> > Is it useful to discuss this here? It sounds like an Org issue to me.
> > Or what am I missing?
>
> This is about adding an optional mark of org agenda entries into
> calendar.el. I needed some hindsight about org-agenda but I think this
> the right place.
Does it make sense to fix a problem in Org in calendar.el? Why should
calendar.el know anything about Org?
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 18:03:02 GMT)
Full text and
rfc822 format available.
Message #29 received at submit <at> debbugs.gnu.org (full text, mbox):
Ihor Radchenko <yantar92 <at> posteo.net> writes:
> Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
>
>>> Also, be aware that entries returned by agenda are not designed as
>>> calendar entries. Agenda, by default, presents "overdue" items. This is
>>> probably not what you expect.
>>
>> What do you mean by "overdue" items?
>
> If a todo task is scheduled yesterday and it is not done, it will show up in today's agenda.
Ok, I see thanks. You're right that those "overdue" items may need to
be filtered out.
--
Manuel Giraud
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 18:25:04 GMT)
Full text and
rfc822 format available.
Message #32 received at 80100 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Manuel Giraud <manuel <at> ledu-giraud.fr>
>> Cc: Ihor Radchenko <yantar92 <at> posteo.net>, 80100 <at> debbugs.gnu.org
>> Date: Sun, 04 Jan 2026 16:10:29 +0100
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> >> Cc: 80100 <at> debbugs.gnu.org
>> >> From: Ihor Radchenko <yantar92 <at> posteo.net>
>> >> Date: Sun, 04 Jan 2026 12:35:25 +0000
>> >>
>> >> Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
>> >>
>> >> > The main problem so far is that calling 'org-agenda-get-day-entries' on
>> >> > each of the 91 dates (typical number of days in a calendar view) is
>> >> > quite slow. @Ihor, do you know a better function to use? Thanks.
>> >>
>> >> There is nothing ready-to-use I can think of.
>> >> If you look into org-agenda-get-timestamps, you will see that it is
>> >> optimized to collect timestamps for a single day, not a range.
>> >> Maybe you can pre-filter entries using some regexp search and then loop
>> >> over each candidate, calling org-agenda-get-day-entries with restriction
>> >> limiting agenda to current entry only. Not sure if it is going to be
>> >> faster though.
>> >> Another possibility is installing a custom skip function augment what
>> >> will terminate agenda building process one we get more than one entry.
>> >>
>> >> Also, be aware that entries returned by agenda are not designed as
>> >> calendar entries. Agenda, by default, presents "overdue" items. This is
>> >> probably not what you expect.
>> >
>> > Is it useful to discuss this here? It sounds like an Org issue to me.
>> > Or what am I missing?
>>
>> This is about adding an optional mark of org agenda entries into
>> calendar.el. I needed some hindsight about org-agenda but I think this
>> the right place.
>
> Does it make sense to fix a problem in Org in calendar.el?
That was not my intent. If any issue in Org arise from this discussion
the solution ought to be implemented in Org of course.
> Why should calendar.el know anything about Org?
In the end, it should just know as much as it knows about diary when it
calls diary-mark-entries.
--
Manuel Giraud
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Sun, 04 Jan 2026 20:02:03 GMT)
Full text and
rfc822 format available.
Message #35 received at 80100 <at> debbugs.gnu.org (full text, mbox):
> From: Manuel Giraud <manuel <at> ledu-giraud.fr>
> Cc: yantar92 <at> posteo.net, 80100 <at> debbugs.gnu.org
> Date: Sun, 04 Jan 2026 19:24:37 +0100
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> >> From: Manuel Giraud <manuel <at> ledu-giraud.fr>
> >> Cc: Ihor Radchenko <yantar92 <at> posteo.net>, 80100 <at> debbugs.gnu.org
> >> Date: Sun, 04 Jan 2026 16:10:29 +0100
> >>
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >>
> >> >> Cc: 80100 <at> debbugs.gnu.org
> >> >> From: Ihor Radchenko <yantar92 <at> posteo.net>
> >> >> Date: Sun, 04 Jan 2026 12:35:25 +0000
> >> >>
> >> >> Manuel Giraud <manuel <at> ledu-giraud.fr> writes:
> >> >>
> >> >> > The main problem so far is that calling 'org-agenda-get-day-entries' on
> >> >> > each of the 91 dates (typical number of days in a calendar view) is
> >> >> > quite slow. @Ihor, do you know a better function to use? Thanks.
> >> >>
> >> >> There is nothing ready-to-use I can think of.
> >> >> If you look into org-agenda-get-timestamps, you will see that it is
> >> >> optimized to collect timestamps for a single day, not a range.
> >> >> Maybe you can pre-filter entries using some regexp search and then loop
> >> >> over each candidate, calling org-agenda-get-day-entries with restriction
> >> >> limiting agenda to current entry only. Not sure if it is going to be
> >> >> faster though.
> >> >> Another possibility is installing a custom skip function augment what
> >> >> will terminate agenda building process one we get more than one entry.
> >> >>
> >> >> Also, be aware that entries returned by agenda are not designed as
> >> >> calendar entries. Agenda, by default, presents "overdue" items. This is
> >> >> probably not what you expect.
> >> >
> >> > Is it useful to discuss this here? It sounds like an Org issue to me.
> >> > Or what am I missing?
> >>
> >> This is about adding an optional mark of org agenda entries into
> >> calendar.el. I needed some hindsight about org-agenda but I think this
> >> the right place.
> >
> > Does it make sense to fix a problem in Org in calendar.el?
>
> That was not my intent. If any issue in Org arise from this discussion
> the solution ought to be implemented in Org of course.
Well, then I think I was right in my conclusion that this is an Org
issue, and should be discussed on the Org list.
I don't mean to force you out of here, of course, but I think you
should decide to take it off the Emacs bug tracker, since this is an
Org issue.
> > Why should calendar.el know anything about Org?
>
> In the end, it should just know as much as it knows about diary when it
> calls diary-mark-entries.
Fine by me.
Reply sent
to
Manuel Giraud <manuel <at> ledu-giraud.fr>:
You have taken responsibility.
(Sun, 04 Jan 2026 21:10:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Manuel Giraud <manuel <at> ledu-giraud.fr>:
bug acknowledged by developer.
(Sun, 04 Jan 2026 21:10:02 GMT)
Full text and
rfc822 format available.
Message #40 received at 80100-done <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
[...]
>> > Does it make sense to fix a problem in Org in calendar.el?
>>
>> That was not my intent. If any issue in Org arise from this discussion
>> the solution ought to be implemented in Org of course.
>
> Well, then I think I was right in my conclusion that this is an Org
> issue, and should be discussed on the Org list.
>
> I don't mean to force you out of here, of course, but I think you
> should decide to take it off the Emacs bug tracker, since this is an
> Org issue.
I think I understand what you meant: all the machinery for marking
calendar entries have to be implemented in Org (likewise diary-lib.el)
not in calendar.el as my patch started to do. I'm closing then and
sorry for the noise.
--
Manuel Giraud
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80100; Package
emacs.
(Mon, 05 Jan 2026 03:28:02 GMT)
Full text and
rfc822 format available.
Message #43 received at 80100-done <at> debbugs.gnu.org (full text, mbox):
> From: Manuel Giraud <manuel <at> ledu-giraud.fr>
> Cc: yantar92 <at> posteo.net, 80100-done <at> debbugs.gnu.org
> Date: Sun, 04 Jan 2026 22:09:13 +0100
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> [...]
>
> >> > Does it make sense to fix a problem in Org in calendar.el?
> >>
> >> That was not my intent. If any issue in Org arise from this discussion
> >> the solution ought to be implemented in Org of course.
> >
> > Well, then I think I was right in my conclusion that this is an Org
> > issue, and should be discussed on the Org list.
> >
> > I don't mean to force you out of here, of course, but I think you
> > should decide to take it off the Emacs bug tracker, since this is an
> > Org issue.
>
> I think I understand what you meant: all the machinery for marking
> calendar entries have to be implemented in Org (likewise diary-lib.el)
> not in calendar.el as my patch started to do. I'm closing then and
> sorry for the noise.
Thanks, and no need to be sorry: no harm was done.
This bug report was last modified 3 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.