Subject: bug#69894: closed (Re: bug#69894: 29.1; Icalendar export conflict with calendar iso date)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 13 Apr 2024 07:56:04 +0000

Your bug report

#69894: 29.1; Icalendar export conflict with calendar iso date

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
69894: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69894
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#69894: 29.1; Icalendar export conflict with calendar iso date
From: Eli Zaretskii <[email-masked]>
To: Ulf Jasper <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked], [email-masked]
Date: Sat, 13 Apr 2024 10:54:44 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Ulf Jasper <[email-masked]>
> Cc: Erwan Hingant <[email-masked]>,  [email-masked],
>   [email-masked],  [email-masked]
> Date: Mon, 08 Apr 2024 07:50:48 +0200
> 
> Am 06.04.2024 um 12:58 (+0300) schrieb Eli Zaretskii:
> 
> 'icalendar--datestring-to-isodate' does not expect dashes in iso style
> input strings (as the observation/patch shows).  However, if the diary
> machine accepts dashes then 'icalendar--datestring-to-isodate' should
> also do so.
> 
> I would add some testcases to the ert test of
> 'icalendar--datestring-to-isodate' and then apply the patch.

Thanks, done on the master branch, and closing the bug.

Subject: 29.1; Icalendar export conflict with calendar iso date
From: RwN <[email-masked]>
To: [email-masked]
Date: Tue, 19 Mar 2024 02:56:57 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Dear All,

In a diary file, with a simple entry entry "2024-03-19 10:00 Appointment", icalendar-export-file process to an error: "Could not parse date". The entry is provided by the default value of calendar-iso-date-display-form.

I solve the problem with the following patch mathchin '-' has a separator in the function icalendar--datestring-to-isodate :

diff -u --label /usr/local/share/emacs/29.1/lisp/calendar/icalendar.el.gz --label /tmp/icalendar.el /tmp/jka-commHr8dl /tmp/icalendar.el
--- /usr/local/share/emacs/29.1/lisp/calendar/icalendar.el.gz
+++ /tmp/icalendar.el
@@ -894,8 +894,8 @@
     (save-match-data
       (cond ( ;; iso-style numeric date
              (string-match (concat "\\s-*"
-                                   "\\([0-9]\\{4\\}\\)[ \t/]\\s-*"
-                                   "0?\\([1-9][0-9]?\\)[ \t/]\\s-*"
+                                   "\\([0-9]\\{4\\}\\)[ \t/-]\\s-*"
+                                   "0?\\([1-9][0-9]?\\)[ \t/-]\\s-*"
                                    "0?\\([1-9][0-9]?\\)")
                            datestring)
              (setq year (read (substring datestring (match-beginning 1)

Diff finished.  Tue Mar 19 02:40:06 2024

Is it a correct solution to proposed? 
RwN.

In GNU Emacs 29.1 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0) of 2023-10-16 built on laptop
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.4 LTS

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: fr_FR.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  marginalia-mode: t
  vertico-mode: t
  recentf-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  minibuffer-depth-indicate-mode: t
  windmove-mode: t
  delete-selection-mode: t
  server-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/erwan/.emacs.d/etc/custom hides /usr/local/share/emacs/29.1/lisp/custom

Features:
(shadow sort flycheck-grammalecte grammalecte flycheck flyspell ispell mail-extr emacsbug vertico-directory cl-extra help-mode orderless cursor-sensor display-line-numbers display-fill-column-indicator rwn-emacs-completion marginalia vertico compat recentf tree-widget savehist minibuf-eldef mb-depth rwn-emacs-diary mc tempo-api request french-holidays holidays holiday-loaddefs appt diary-lib diary-loaddefs solar cal-dst rwn-emacs-windows rwn-emacs-spelling rwn-emacs-vc rwn-emacs-dired dired-preview rwn-emacs-latex rwn-emacs-pdf pdf-loader rwn-emacs-mail rwn-mail mu4e mu4e-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities noutline outline icons ob-emacs-lisp ob-core ob-eval org-cycle org-table ol rx org-fold org-fold-core org-keys oc org-loaddefs find-func org-version org-compat org-macs format-spec mu4e-notification notifications mu4e-main smtpmail mu4e-view pcase mu4e-mime-parts thingatpt comint ansi-osc ansi-color ring gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win gnus wid-edit cal-menu calendar cal-loaddefs mu4e-headers mu4e-thread mu4e-actions mu4e-compose nnheader range mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg xml dom flow-fill mule-util hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window bookmark pp ido message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader mu4e-obsolete rwn-emacs-themes standard-dark-theme standard-themes rwn-emacs-packages finder-inf auctex-autoloads tex-site biblio-autoloads biblio-core-autoloads citar-embark-autoloads citar-autoloads citeproc-autoloads consult-autoloads dired-preview-autoloads embark-autoloads f-autoloads dash-autoloads flycheck-grammalecte-autoloads flycheck-autoloads marginalia-autoloads messages-are-flowing-autoloads orderless-autoloads parsebib-autoloads pdf-tools-autoloads pkg-info-autoloads epl-autoloads queue-autoloads request-autoloads s-autoloads standard-themes-autoloads string-inflection-autoloads sudo-edit-autoloads tablist-autoloads vertico-autoloads info compat-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars rwn-emacs-essentials windmove delsel rwn-common cl-loaddefs cl-lib server rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs)

Memory information:
((conses 16 468357 33831)
 (symbols 48 30514 4)
 (strings 32 153392 6568)
 (string-bytes 1 4223999)
 (vectors 16 50001)
 (vector-slots 8 578847 29215)
 (floats 8 615 116)
 (intervals 56 357 175)
 (buffers 976 11))