diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-17 02:54:02 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-17 02:54:02 -0600 |
| commit | a3f5f9f3072105883bab08dd7cf52f1350c6f3a3 (patch) | |
| tree | 6d1b01bdb918d2f1db6d543bab21ca05c8b8af5e /modules/selection-framework.el | |
| parent | 2be1962055cc7801d9c13bc53957cb7e11ce67be (diff) | |
| download | dotemacs-a3f5f9f3072105883bab08dd7cf52f1350c6f3a3.tar.gz dotemacs-a3f5f9f3072105883bab08dd7cf52f1350c6f3a3.zip | |
fix(calendar-sync): Remove carriage return characters from synced events
Problem:
Google Calendar .ics files use CRLF line endings (RFC 5545 spec), which
resulted in 11,685 ^M (CR) characters appearing in gcal.org, particularly
at the end of org header lines.
Solution:
- Created calendar-sync--normalize-line-endings function to strip all \r
characters from .ics content
- Integrated into calendar-sync--fetch-ics immediately after curl download
- Ensures clean Unix LF-only line endings throughout parsing pipeline
Testing:
- Added comprehensive test suite: test-calendar-sync--normalize-line-endings.el
- 16 tests covering Normal, Boundary, and Error cases
- All 56 existing calendar-sync tests still pass (no regressions)
- Verified: gcal.org now has 0 CR characters (was 11,685)
Files modified:
- modules/calendar-sync.el: Added normalize function, updated fetch function
- tests/test-calendar-sync--normalize-line-endings.el: New comprehensive test suite
Diffstat (limited to 'modules/selection-framework.el')
0 files changed, 0 insertions, 0 deletions
