From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Adam Porter Newsgroups: gmane.emacs.devel Subject: Re: Improving Emacs' iCalendar support Date: Sat, 19 Oct 2024 22:09:11 -0500 Message-ID: <48734ac4-3b8e-425a-99dd-6c07b4e14d2c@alphapapa.net> References: <87ed4dss2x.fsf@ohm.mail-host-address-is-not-set> <0bacd69a-7941-44d2-ac5e-3ae3f256481a@alphapapa.net> <87r08cqye8.fsf@ohm.mail-host-address-is-not-set> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37883"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: emacs-devel@gnu.org To: Richard Lawrence Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Oct 20 05:10:10 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 1t2MKW-0009eG-NH for ged-emacs-devel@m.gmane-mx.org; Sun, 20 Oct 2024 05:10:09 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2MJj-0002hI-MT; Sat, 19 Oct 2024 23:09:19 -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 1t2MJi-0002hA-CQ for emacs-devel@gnu.org; Sat, 19 Oct 2024 23:09:18 -0400 Original-Received: from earwig.ash.relay.mailchannels.net ([23.83.222.54]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2MJg-0005Ky-Lt for emacs-devel@gnu.org; Sat, 19 Oct 2024 23:09:18 -0400 X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net Original-Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id B2224943B3F; Sun, 20 Oct 2024 03:09:13 +0000 (UTC) Original-Received: from pdx1-sub0-mail-a234.dreamhost.com (trex-9.trex.outbound.svc.cluster.local [100.99.180.193]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 65E33943047; Sun, 20 Oct 2024 03:09:13 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1729393753; a=rsa-sha256; cv=none; b=fdJzaWnV7w8yw7CIFGshHm0bqQfa8vX5e8GPE2ZH09zpXkux6T1As4iqv5nV5+fJzH5X13 q58EE2pZsM+8ZGwUljJJVZI9ytlCEwWqm6NpPIOtMI0+vzAOyspNOfG6oOEqAhi4QQ++EJ D6VgM812Zkn/eHC+vxfwLrCo8ekAEONBsuatR3l2zleAH/0tfH/lgsPysSHJJZlzag/MQ6 50GRbYLIMpG2SOW2FtWuNN2RxbaQ7eB6mhcGYYQnTiONKlQ55TXAWRWBUuIPSotIpyUuFy ypbZj70c2SdZvZSQZRN/+1FCkC9o8QhIELtFo+yyUcBbgWOIXlQeC4f4wwWdWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1729393753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ENVPq/DhkA3Vz6LyIQPmsQl/V52fKLRmoc7ZR++47p8=; b=PPtiXZ4Pql3Ez68bMqTtuW4psj5ZToCOtRztrDwfdi9I2QeqCcXnyc3Il+9dair2QrVqeJ Ebtr47ItuRb/YeLPYqrhT36/jJ+aOzJnFHDk/rHJkppCHRz/Y9sCO+rGYBDuZN1EyDOgjL bJv5tM1b4WTK3qF4cyujIdDLa3Q5ZutYO+GMgDMZCBGRbNKT7vsxy5RegZoELHCOU2bV2i NL1sdWyqIalQFIxUWS5C60yyAn/YqPHCUnNEfyIN0+T2eZZe80JSoSYS+e2LGK9RlO+/1I lyogWTgAMGXg0KblHyNiByop71MvNiVe+j9Rm27/ryMEFgK1TrrcE8WAdnsn9g== ARC-Authentication-Results: i=1; rspamd-75d86777c9-7msqt; auth=pass smtp.auth=dreamhost smtp.mailfrom=adam@alphapapa.net X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|adam@alphapapa.net X-MailChannels-Auth-Id: dreamhost X-Cellar-Gusty: 03ad823f0ffbab5d_1729393753626_3644534729 X-MC-Loop-Signature: 1729393753626:1807571110 X-MC-Ingress-Time: 1729393753626 Original-Received: from pdx1-sub0-mail-a234.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.99.180.193 (trex/7.0.2); Sun, 20 Oct 2024 03:09:13 +0000 Original-Received: from [10.43.10.57] (unknown [193.56.116.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: adam@alphapapa.net) by pdx1-sub0-mail-a234.dreamhost.com (Postfix) with ESMTPSA id 4XWNh86nKdz2t; Sat, 19 Oct 2024 20:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alphapapa.net; s=dreamhost; t=1729393753; bh=ENVPq/DhkA3Vz6LyIQPmsQl/V52fKLRmoc7ZR++47p8=; h=Date:Subject:To:Cc:From:Content-Type:Content-Transfer-Encoding; b=hpe3HBbMg+GcKWBWhQYfKlKWhudsp31M1JJfuLx3ks0ZsEd2V7pBBErC9imL78wI7 nqRC2r6MN+eXjc82AxHYgg5ouFSHCc22mBbGVpspG0ZSqLrrYbhG4z+cOx87m+Rukc r7QT+cUlrlGrVWVlAUL6+H3+qSwmLNQ2/cW6teKvsF+DseOiQO6q5vMOYzXWd+KJ8n iNnU1JRJxMJfQxtF8Z5RajrnvLZkDBkuFz3DMWJF2rf0RLpZ3lQTc4mRy7UjxLvm6w uLWLliFldeK+3eiSb5BnPfDBLDkJ1Y+7/3hedCsBhuGxrqdyxjVlDOWBI4ZDGbXuxp Gx4v9CWq+gUbQ== Content-Language: en-US In-Reply-To: <87r08cqye8.fsf@ohm.mail-host-address-is-not-set> Received-SPF: neutral client-ip=23.83.222.54; envelope-from=adam@alphapapa.net; helo=earwig.ash.relay.mailchannels.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1.25, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham 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:324681 Archived-At: Hi Richard, On 10/19/24 03:39, Richard Lawrence wrote: > Thanks, that's useful advice. I've been toying with the idea of using > EIEIO classes to represent at least the "component"-level data > structures (events, to-dos, journals, timezones, whole calendars), which > if I understand correctly use structs under the hood. But I don't really > have any experience with EIEIO and I'm not sure if the added complexity > of the object system will buy much over using plain structs. Do you have > any thoughts about this? I'd recommend sticking with CL-STRUCTs unless and until you find a real need for EIEIO's additional functionality. My point of experience is having used EIEIO for my work on the now-obsolete matrix-client.el package: It worked fine, but I found that I never used more than what CL-STRUCT's API offers; so in the successor, Ement.el, I've just used structs, and it's worked out very well. If you're still not sure which to use, you might talk with Jonas Bernoulli (aka tarsius, the Magit maintainer), as he's written more EIEIO-related code than I have, and his perspective could be valuable. --Adam