emacs-31 e0185b09076: Fix ISO date insertion in diary

Eli Zaretskii <[email protected]>
Newsgroups gmane.emacs.diffs
Message-ID <[email protected]>
branch: emacs-31
commit e0185b09076272c6f45b06191d2df374a94f15bf
Author: Richard Lawrence <[email protected]>
Commit: Eli Zaretskii <[email protected]>

    Fix ISO date insertion in diary
    
    See Bug#81263.  Diary's 'iso' dates should use ISO8601 YYYY-MM-DD
    format.  This change fixes the format used by `diary-insert-entry'.
    
    * lisp/calendar/calendar.el (diary-iso-date-insertion-form): Use
    YYYY-MM-DD format (not YYYY/M/D) when inserting ISO dates.
    * test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso:
    * test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso:
    Update tests.
---
 lisp/calendar/calendar.el                                         | 4 +++-
 .../calendar/diary-icalendar-resources/import-bug-11473.diary-iso | 2 +-
 .../calendar/diary-icalendar-resources/import-bug-22092.diary-iso | 2 +-
 .../calendar/diary-icalendar-resources/import-bug-33277.diary-iso | 2 +-
 .../diary-icalendar-resources/import-legacy-vars.diary-iso        | 2 +-
 .../import-multiple-vcalendars.diary-iso                          | 8 ++++----
 .../diary-icalendar-resources/import-non-recurring-1.diary-iso    | 2 +-
 .../import-non-recurring-all-day.diary-iso                        | 2 +-
 .../import-non-recurring-another-example.diary-iso                | 2 +-
 .../import-non-recurring-folded-summary.diary-iso                 | 2 +-
 .../import-non-recurring-long-summary.diary-iso                   | 2 +-
 .../import-time-format-12hr-blank.diary-iso                       | 2 +-
 .../diary-icalendar-resources/import-with-attachment.diary-iso    | 2 +-
 .../diary-icalendar-resources/import-with-timezone.diary-iso      | 4 ++--
 .../calendar/diary-icalendar-resources/import-with-uid.diary-iso  | 2 +-
 15 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index b4390fd2191..e20c8ae95ec 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -918,7 +918,9 @@ including those inserted into the diary from the calendar with
 (defconst diary-european-date-insertion-form '(day "/" month "/" year)
   "Pseudo-pattern for European dates in `diary-date-insertion-form'")
 
-(defconst diary-iso-date-insertion-form '(year "/" month "/" day)
+(defconst diary-iso-date-insertion-form '((format "%s-%.2d-%.2d" year
+                                                  (string-to-number month)
+                                                  (string-to-number day)))
   "Pseudo-pattern for ISO dates in `diary-date-insertion-form'")
 
 (defcustom diary-date-insertion-form
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso
index 0e3a3fb8715..5b9a9ecc723 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso
@@ -1,4 +1,4 @@
-&2012/5/15 15:00-15:30 Query
+&2012-05-15 15:00-15:30 Query
  Location: phone
  Status: confirmed
  Organizer: A. Luser <[email protected]>
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso
index 9c45f848e76..08a84deb6a7 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso
@@ -1,4 +1,4 @@
-&2014/12/8 18:30-22:55 Norwegian til Tromsoe-Langnes -
+&2014-12-08 18:30-22:55 Norwegian til Tromsoe-Langnes -
  Location: Stavanger-Sola
  Category: Appointment
  Access: public
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso
index faa7aeafeb5..8c05b0aaafb 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso
@@ -1 +1 @@
-&2018/11/5 21:00 event with same start/end time
+&2018-11-05 21:00 event with same start/end time
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso
index f6d69805c19..dd0b4cef8bf 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso
@@ -1,4 +1,4 @@
-2025/9/19 09:00-11:30 Testing legacy `icalendar-import-format*' vars
+2025-09-19 09:00-11:30 Testing legacy `icalendar-import-format*' vars
  CLASS=private
  DESCRIPTION=described
  LOCATION=somewhere
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso
index bbe009c200e..3b3ba5fe780 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso
@@ -1,7 +1,7 @@
-&2011/7/23 event-1
+&2011-07-23 event-1
 
-&2011/7/24 event-2
+&2011-07-24 event-2
 
-&2011/7/25 event-3a
+&2011-07-25 event-3a
 
-&2011/7/25 event-3b
+&2011-07-25 event-3b
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso
index c7311286619..64c6092b487 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso
@@ -1 +1 @@
-&2003/9/19 09:00-11:30 non-recurring
+&2003-09-19 09:00-11:30 non-recurring
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso
index f1c70ab34c3..016388887fd 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso
@@ -1 +1 @@
-&2003/9/19 non-recurring allday
+&2003-09-19 non-recurring allday
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso
index d663965404b..32488eb55a7 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso
@@ -1,4 +1,4 @@
-&2004/11/23 14:45-15:45 another example
+&2004-11-23 14:45-15:45 another example
  Status: tentative
  Access: private
  UID: 6161a312-3902-11d9-b512-f764153bb28b
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso
index 699358dc504..09e57dbf4a3 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso
@@ -1,4 +1,4 @@
-&2004/11/23 14:00-14:30 folded summary
+&2004-11-23 14:00-14:30 folded summary
  Status: tentative
  Access: private
  UID: 04979712-3902-11d9-93dd-8f9f4afe08da
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso
index d2300522d9a..c0c5c845378 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso
@@ -1 +1 @@
-&2003/9/19 long summary
+&2003-09-19 long summary
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso
index 0945cfc0b60..491faa3b214 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso
@@ -1 +1 @@
-&2003/9/19  9.00h-11.30h 12hr blank-padded
+&2003-09-19  9.00h-11.30h 12hr blank-padded
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso
index b16022908d9..a77ce8fa6ea 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso
@@ -1,3 +1,3 @@
-&2003/9/19 09:00 Has an attachment
+&2003-09-19 09:00 Has an attachment
  Attachment: R3Jl.plain
  UID: f9fee9a0-1231-4984-9078-f1357db352db
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso
index 56f91066f73..74c486f2e93 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso
@@ -1,3 +1,3 @@
-&2012/1/15 15:00-15:30 standardtime
+&2012-01-15 15:00-15:30 standardtime
 
-&2012/12/15 11:00-11:30 daylightsavingtime
+&2012-12-15 11:00-11:30 daylightsavingtime
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso
index d372e5a3d1f..04548294a65 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso
@@ -1,2 +1,2 @@
-&2003/9/19 09:00-11:30 non-recurring
+&2003-09-19 09:00-11:30 non-recurring
  UID: 1234567890uid
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.