aboutsummaryrefslogtreecommitdiff
path: root/modules/custom-buffer-file.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-03 08:09:30 -0600
committerCraig Jennings <c@cjennings.net>2026-02-03 08:09:30 -0600
commit431db43523604631bee3e72c6e53f5c752053ce2 (patch)
tree81a9ab5dcd1381e4f108b51a9d0c389fcb541d7a /modules/custom-buffer-file.el
parentcde7fc2a9d531273e3b3ca8f9a23c7d7b781e05e (diff)
downloaddotemacs-431db43523604631bee3e72c6e53f5c752053ce2.tar.gz
dotemacs-431db43523604631bee3e72c6e53f5c752053ce2.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/custom-buffer-file.el')
0 files changed, 0 insertions, 0 deletions