diff options
| author | Craig Jennings <c@cjennings.net> | 2026-02-03 08:09:30 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-02-03 08:09:30 -0600 |
| commit | c736265083dfa7f3a5acb61de289ac44ee921fb1 (patch) | |
| tree | c7c059dbbf9c2ad8176c51d29b421a87bacf5e7e /modules/lorem-optimum.el | |
| parent | 208c5602c986579c8aae7d61a15f74b843d67211 (diff) | |
| download | dotemacs-c736265083dfa7f3a5acb61de289ac44ee921fb1.tar.gz dotemacs-c736265083dfa7f3a5acb61de289ac44ee921fb1.zip | |
feat(calendar-sync): add EXDATE support for excluded recurring event dates
When someone deletes a single instance of a recurring meeting in Google
Calendar, the calendar exports an EXDATE property marking that date as
excluded. Previously, calendar-sync expanded the RRULE without filtering
out these excluded dates, causing deleted instances to appear in org output.
New functions:
- calendar-sync--get-exdates: Extract all EXDATE values from event
- calendar-sync--get-exdate-line: Get full EXDATE line with parameters
- calendar-sync--parse-exdate: Parse EXDATE into datetime list
- calendar-sync--collect-exdates: Collect excluded dates with TZ conversion
- calendar-sync--exdate-matches-p: Check if occurrence matches an EXDATE
- calendar-sync--filter-exdates: Filter out excluded dates from occurrences
Modified calendar-sync--expand-recurring-event to collect and filter
EXDATEs after RRULE expansion.
Includes 47 new tests covering extraction, parsing, collection, filtering,
and integration with RECURRENCE-ID exceptions.
Diffstat (limited to 'modules/lorem-optimum.el')
0 files changed, 0 insertions, 0 deletions
