From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Bj=C3=B6rn?= Bidar Newsgroups: gmane.emacs.devel Subject: Re: Improving Emacs' iCalendar support Date: Mon, 21 Oct 2024 09:10:48 +0300 Message-ID: <5691.61840701185$1729491116@news.gmane.org> References: <87ed4dss2x.fsf@ohm.mail-host-address-is-not-set> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38235"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Richard Lawrence Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 21 08:11:48 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t2lds-0009oJ-2l for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Oct 2024 08:11:48 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ld4-0005GD-V1; Mon, 21 Oct 2024 02:10:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ld3-0005G0-RD for emacs-devel@gnu.org; Mon, 21 Oct 2024 02:10:57 -0400 Original-Received: from thaodan.de ([185.216.177.71]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ld1-0006dB-6O for emacs-devel@gnu.org; Mon, 21 Oct 2024 02:10:57 -0400 Original-Received: from odin (dsl-trebng12-50dc75-154.dhcp.inet.fi [80.220.117.154]) by thaodan.de (Postfix) with ESMTPSA id 1457DD00097; Mon, 21 Oct 2024 09:10:50 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=thaodan.de; s=mail; t=1729491050; bh=fl/ka5v0zGIl3h2jXojIr+WSYHeLAEXiZ1SE7kjPG/k=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=MGgoy0KtHGibTRvKSfFTicd4JP3dX5/CNvGe40pS8u7PoRaW7iI2PfJ8dQLh2tTuN +kTcMb17/zvDZvMUUKT+eZfgizdaUgTdZ9HNETWJnwsl2CctcBIg9GsL0G704kPxan kqLZ8EBjbgA3kKpaJrIL184Mw0OqqyTU4mm0FQd2dmSU8Lgt9nntyV+0o/8WpLDT9h f1O+aeZbwXg3gD7Vxwf0XNwRPelKwpetOfTXKNNPvMT3Nu+lbGwXIvgo2HAbv01jfV qlPF3CUReuizShLKsucebONNJHJkzPIC3t3gmxCeoOZSI+szLq5zKE/IuR7wlPMq0M dqJt8WqC62MN0exC24ONQdkE89YScXqcciOZNMQifhlOXlk7MuLoDodlqQW2EM2FSh CMIotO2KhC99DB/BmFb/qLH9Vry8ZiVm6ST1LUqvfZm2q1tXLxtfd7SBqPjbBPu4Di EcEB4eGf2eLqiODViwLHTdgDJwzfvq4DfjiGGcZ/6S9+zuyyjdxNrZnvdiMm8+IEO8 fLW1dckbzFmX+v+Ao6t0D/a8x7v8pF31Cy0ZgZO03kY3SOs5B6REw5V4Sd8qs2m5dO 089i1pFpfrAa/sd1FiGfPJjEBdqXx4yfYZrUOkn8Cg/EDrab5MJ11vCe0wt/LYX01L j8N2TH8mRwfeEm9P1TD5uSyo= In-Reply-To: <87ed4dss2x.fsf@ohm.mail-host-address-is-not-set> (Richard Lawrence's message of "Fri, 18 Oct 2024 11:01:10 +0200") Autocrypt: addr=bjorn.bidar@thaodan.de; prefer-encrypt=nopreference; keydata= mDMEZNfpPhYJKwYBBAHaRw8BAQdACBEmr+0xwIIHZfIDlZmm7sa+lHHSb0g9FZrN6qE6ru60JUJq w7ZybiBCaWRhciA8Ympvcm4uYmlkYXJAdGhhb2Rhbi5kZT6IlgQTFgoAPgIbAwULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgBYhBFHxdut1RzAepymoq1wbdKFlHF9oBQJk1/YmAhkBAAoJEFwbdKFl HF9oB9cBAJoIIGQKXm4cpap+Flxc/EGnYl0123lcEyzuduqvlDT0AQC3OlFKm/OiqJ8IMTrzJRZ8 phFssTkSrrFXnM2jm5PYDoiTBBMWCgA7FiEEUfF263VHMB6nKairXBt0oWUcX2gFAmTX6T4CGwMF CwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQXBt0oWUcX2hbCQEAtru7kvM8hi8zo6z9ux2h K+B5xViKuo7Z8K3IXuK5ugwA+wUfKzomzdBPhfxDsqLcEziGRxoyx0Q3ld9aermBUccHtBxCasO2 cm4gQmlkYXIgPG1lQHRoYW9kYW4uZGU+iJMEExYKADsCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwEC HgcCF4AWIQRR8XbrdUcwHqcpqKtcG3ShZRxfaAUCZNf2FQAKCRBcG3ShZRxfaCzSAP4hZ7cSp0YN XYpcjHdsySh2MuBhhoPeLGXs+2kSiqBiOwD/TP8AgPEg/R+SI9GI9on7fBJJ0mp2IT8kZ2rhDOjg gA6IkwQTFgoAOxYhBFHxdut1RzAepymoq1wbdKFlH Received-SPF: pass client-ip=185.216.177.71; envelope-from=bjorn.bidar@thaodan.de; helo=thaodan.de X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, INVALID_MSGID=0.568, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:324697 Archived-At: Good Morning from Finland, Richard Lawrence writes: > 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. >From my dealings will the latter two I noticed that currently these separatism make it harder to support all features and maybe in some way easier. For example Gnus does deal with the responding to these invitations while org focuses on the exporting. Not all features are support with any of these making some things such as recurring events quite dangerous to deal with if you interact with others. It would be great to have these features supported better. In think some limitations in for example org-mode come also into play here as last time I looked it can't deal with timezones. Some parts of the current approach limit the amount of features or make it harder as all of these move on. For example Gnus uses org-capture to convert an icalendar event to org instead of some form of native API to synchronize the invite with-org. Any advancement in regards of icalendar hopefully also helps the other related formats such as vtodo and vcard. Maybe also cc the org-mode mailing-list. Another consumer of such efforts would be also (indirectly) org-caldav. When it comes to the -dav part of this than also bbdb. Have a good day, Bj=C3=B6rn