|
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
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|