From 3d0f1809109f6d1450ba9f93e1fd866312fb2f38 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Fri, 1 Oct 2021 17:52:12 +0200 Subject: [PATCH] missing attendees are not REQ-PARTICIPANT Fix a bug introduced by 6c0824f71 where REQ-PARTICIPANT should only be the default for people actually listed as attendees, not for unlisted participants. * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--get-attendee-names, gnus-icalendar-event-from-ical): Do not default to REQ-PARTICIPANT if the user was not found as an attendee. * test/lisp/gnus/gnus-icalendar-tests.el (gnus-icalendary-weekly-byday): Remove the ROLE property to test that it correctly defaults to REQ-PARTICIPANT. The case where the user is not listed is covered by gnus-icalendar-parse already --- lisp/gnus/gnus-icalendar.el | 6 ++++-- test/lisp/gnus/gnus-icalendar-tests.el | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lisp/gnus/gnus-icalendar.el b/lisp/gnus/gnus-icalendar.el index a2ae2a9668..0e297a8016 100644 --- a/lisp/gnus/gnus-icalendar.el +++ b/lisp/gnus/gnus-icalendar.el @@ -196,7 +196,8 @@ gnus-icalendar-event--get-attendee-names (cl-labels ((attendee-role (prop) ;; RFC5546: default ROLE is REQ-PARTICIPANT - (or (plist-get (cadr prop) 'ROLE) "REQ-PARTICIPANT")) + (and prop + (or (plist-get (cadr prop) 'ROLE) "REQ-PARTICIPANT"))) (attendee-name (prop) (or (plist-get (cadr prop) 'CN) @@ -228,7 +229,8 @@ gnus-icalendar-event-from-ical ical attendee-name-or-email))) (attendee-names (gnus-icalendar-event--get-attendee-names ical)) ;; RFC5546: default ROLE is REQ-PARTICIPANT - (role (or (plist-get (cadr attendee) 'ROLE) "REQ-PARTICIPANT")) + (role (and attendee + (or (plist-get (cadr attendee) 'ROLE) "REQ-PARTICIPANT"))) (participation-type (pcase role ("REQ-PARTICIPANT" 'required) ("OPT-PARTICIPANT" 'optional) diff --git a/test/lisp/gnus/gnus-icalendar-tests.el b/test/lisp/gnus/gnus-icalendar-tests.el index 90c3a34a5c..1206a976f6 100644 --- a/test/lisp/gnus/gnus-icalendar-tests.el +++ b/test/lisp/gnus/gnus-icalendar-tests.el @@ -216,7 +216,7 @@ gnus-icalendary-weekly-byday DTSTAMP:20200915T120627Z ORGANIZER;CN=anon@anoncompany.com:mailto:anon@anoncompany.com UID:7b6g3m7iftuo90ei4ul00feqn_R20200915T120000@google.com -ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE +ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;RSVP=TRUE ;CN=participant@anoncompany.com;X-NUM-GUESTS=0:mailto:participant@anoncompany.com CREATED:20200325T095723Z DESCRIPTION:Coffee talk -- 2.33.0