all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Improving Emacs' iCalendar support
@ 2024-10-18  9:01 Richard Lawrence
  2024-10-18  9:24 ` Eli Zaretskii
  2024-10-18 12:58 ` Sebastián Monía
  0 siblings, 2 replies; 3+ messages in thread
From: Richard Lawrence @ 2024-10-18  9:01 UTC (permalink / raw)
  To: emacs-devel

Dear emacs-devel,

Hello! I've been a happy Emacs user for almost twenty years now(!), but
this is my first time subscribing to this list, so please help me follow
the local conventions.

I would like to start a discussion about improving Emacs' iCalendar
support, beyond what is already available in icalendar.el. I personally
would like to see Emacs gain a more full-fledged RFC5545 implementation
that is primarily designed as a library for other applications to use.

This is an itch that's been bugging me for a while, and so for the past
couple of weeks I've been working on scratching it, and I now have a
reasonable chunk of work to share: I've drafted a new implementation of
the iCalendar grammar, and a major mode which uses this grammar to
provide syntax highlighting. I wrote up what I've done and why here:

https://recursewithless.net/emacs/icalendar-parser-and-mode.org

That's a literate Org mode file containing the code and my commentary.
If you just want to read the code itself, see:

https://recursewithless.net/emacs/icalendar/icalendar-parser.el
https://recursewithless.net/emacs/icalendar/icalendar-mode.el

I could release this work as a package, but as I describe in more
detail in the write-up, I think there's a good case that an improved
iCalendar library belongs in Emacs' core. There are currently at least
*three* partial iCalendar implementations in Emacs (icalendar.el,
gnus-icalendar.el, and ox-icalendar.el), which are each focused on a
particular major mode (diary, Gnus, and Org). I think it would be good
to consolidate this work in one place and generalize it so that all
three of these applications, as well as third party packages, can
benefit.

So, some questions for the list:

1) Is there interest in getting this code, and/or a future version of
such a library, into Emacs?

And if so, 
2) Would anyone here be willing to mentor me/collaborate with me on it?
3) What should the library's API look like? What would be most useful?

Many thanks for your thoughts and feedback!

Best,
Richard



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

* Re: Improving Emacs' iCalendar support
  2024-10-18  9:01 Improving Emacs' iCalendar support Richard Lawrence
@ 2024-10-18  9:24 ` Eli Zaretskii
  2024-10-18 12:58 ` Sebastián Monía
  1 sibling, 0 replies; 3+ messages in thread
From: Eli Zaretskii @ 2024-10-18  9:24 UTC (permalink / raw)
  To: Richard Lawrence; +Cc: emacs-devel

> From: Richard Lawrence <rwl@recursewithless.net>
> Date: Fri, 18 Oct 2024 11:01:10 +0200
> 
> So, some questions for the list:
> 
> 1) Is there interest in getting this code, and/or a future version of
> such a library, into Emacs?

We are definitely interested in developing icalendar.el to cover the
missing functionalities and support the recent standards, guidelines
and accepted practices.

> And if so, 
> 2) Would anyone here be willing to mentor me/collaborate with me on it?

I hope someone will step forward, but the very least we can promise is
that any questions you ask here will be answered.

> 3) What should the library's API look like? What would be most useful?

I think this is up to you as the expert.

Thanks!



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

* Re: Improving Emacs' iCalendar support
  2024-10-18  9:01 Improving Emacs' iCalendar support Richard Lawrence
  2024-10-18  9:24 ` Eli Zaretskii
@ 2024-10-18 12:58 ` Sebastián Monía
  1 sibling, 0 replies; 3+ messages in thread
From: Sebastián Monía @ 2024-10-18 12:58 UTC (permalink / raw)
  To: Richard Lawrence; +Cc: emacs-devel


Hello Richard!

Richard Lawrence <rwl@recursewithless.net> writes:
> Dear emacs-devel,
>
> This is an itch that's been bugging me for a while, and so for the past
> couple of weeks I've been working on scratching it, and I now have a
> reasonable chunk of work to share: I've drafted a new implementation of
> the iCalendar grammar, and a major mode which uses this grammar to
> provide syntax highlighting. I wrote up what I've done and why here:
>
> https://recursewithless.net/emacs/icalendar-parser-and-mode.org
>
> That's a literate Org mode file containing the code and my commentary.
> If you just want to read the code itself, see:
>
> https://recursewithless.net/emacs/icalendar/icalendar-parser.el
> https://recursewithless.net/emacs/icalendar/icalendar-mode.el

Will take a look, thank you for sharing!

> I could release this work as a package, but as I describe in more
> detail in the write-up, I think there's a good case that an improved
> iCalendar library belongs in Emacs' core. There are currently at least
> *three* partial iCalendar implementations in Emacs (icalendar.el,
> gnus-icalendar.el, and ox-icalendar.el), which are each focused on a
> particular major mode (diary, Gnus, and Org). I think it would be good
> to consolidate this work in one place and generalize it so that all
> three of these applications, as well as third party packages, can
> benefit.

I am only familiar with icalendar.el, which I consumed in this CalDAV
sync package: https://git.sr.ht/~sebasmonia/cdsync.el
I haven't used it much lately, but while testing it I found a few cases
not supported by icalendar.el At some point I wanted to try my hand at
fixing some bugs reported in the ical -> diary conversion.

> So, some questions for the list:
> 2) Would anyone here be willing to mentor me/collaborate with me on
> it?

I would be happy to help.

> 3) What should the library's API look like? What would be most useful?

Like Eli said in another reply, you are probably the best person to
define this now - until the library is merged, the API can change, so
don't stress too much over that _yet_ :)

Regards,
Seb

-- 
Sebastián Monía
https://site.sebasmonia.com/



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

end of thread, other threads:[~2024-10-18 12:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18  9:01 Improving Emacs' iCalendar support Richard Lawrence
2024-10-18  9:24 ` Eli Zaretskii
2024-10-18 12:58 ` Sebastián Monía

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.