From unknown Mon Sep 08 23:34:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12246: [patch] iso 8601 specifies zero padding, not space padding Resent-From: Ian Price Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 21 Aug 2012 11:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12246 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch To: 12246@debbugs.gnu.org X-Debbugs-Original-To: bug-guile@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.134554815823819 (code B ref -1); Tue, 21 Aug 2012 11:23:01 +0000 Received: (at submit) by debbugs.gnu.org; 21 Aug 2012 11:22:38 +0000 Received: from localhost ([127.0.0.1]:41063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T3mXd-0006C8-RR for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44514) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T3mXb-0006C0-Az for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3mXH-0004ET-IL for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:16 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_TVD_MIME_NO_HEADERS autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:35830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXH-0004EN-F8 for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55156) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXG-0005ej-AU for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3mXF-0004E3-5m for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:14 -0400 Received: from plane.gmane.org ([80.91.229.3]:36392) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXE-0004Ds-VG for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:13 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1T3mXD-0008JI-3A for bug-guile@gnu.org; Tue, 21 Aug 2012 13:22:11 +0200 Received: from host86-182-156-79.range86-182.btcentralplus.com ([86.182.156.79]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2012 13:22:11 +0200 Received: from ianprice90 by host86-182-156-79.range86-182.btcentralplus.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2012 13:22:11 +0200 X-Injected-Via-Gmane: http://gmane.org/ From: Ian Price Date: Tue, 21 Aug 2012 12:21:58 +0100 Lines: 94 Message-ID: <87628csd61.fsf@Kagami.home> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: host86-182-156-79.range86-182.btcentralplus.com User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) Cancel-Lock: sha1:cK3pqwgz0hHnwzDlMkzZhuF25xk= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) --=-=-= In srfi 19, there is convenience format directives for various ISO 8601 date/time formats. i.e. ~2 ISO-8601 time+zone, `~k:~M:~S~z' ~3 ISO-8601 time, `~k:~M:~S' ~4 ISO-8601 date/time+zone, `~Y-~m-~dT~k:~M:~S~z' ~5 ISO-8601 date/time, `~Y-~m-~dT~k:~M:~S' However, ~k is incorrect here, as iso 8601 specifies that hours have two digits (i.e. 9am is "09") which means the ~H directive. Funnily enough, if you look in srfi-19.scm itself you even see (define iso-8601-date-time-format "~Y-~m-~dT~H:~M:~S~z") note, the ~H. I've attached a patch to fix these. -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled" --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-ISO-8601-time-format-specifies-zero-padding-for-hour.patch Content-Description: srfi-19 patch >From befdf71b04a0d1c02947457baa3c7e5f152b7e8e Mon Sep 17 00:00:00 2001 From: Ian Price Date: Tue, 21 Aug 2012 12:13:25 +0100 Subject: [PATCH] ISO 8601 time format specifies zero padding for hours, not blank padding. * doc/ref/srfi-modules.texi ("SRFI-19 Date to string"): Fix iso 8601 format strings. * module/srfi/srfi-19.scm (directives): Fix iso 8601 format strings. --- doc/ref/srfi-modules.texi | 8 ++++---- module/srfi/srfi-19.scm | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi index fdc316f..4fbe250 100644 --- a/doc/ref/srfi-modules.texi +++ b/doc/ref/srfi-modules.texi @@ -2997,10 +2997,10 @@ with locale decimal point, eg.@: @samp{5.2} @item @nicode{~z} @tab time zone, RFC-822 style @item @nicode{~Z} @tab time zone symbol (not currently implemented) @item @nicode{~1} @tab ISO-8601 date, @samp{~Y-~m-~d} -@item @nicode{~2} @tab ISO-8601 time+zone, @samp{~k:~M:~S~z} -@item @nicode{~3} @tab ISO-8601 time, @samp{~k:~M:~S} -@item @nicode{~4} @tab ISO-8601 date/time+zone, @samp{~Y-~m-~dT~k:~M:~S~z} -@item @nicode{~5} @tab ISO-8601 date/time, @samp{~Y-~m-~dT~k:~M:~S} +@item @nicode{~2} @tab ISO-8601 time+zone, @samp{~H:~M:~S~z} +@item @nicode{~3} @tab ISO-8601 time, @samp{~H:~M:~S} +@item @nicode{~4} @tab ISO-8601 date/time+zone, @samp{~Y-~m-~dT~H:~M:~S~z} +@item @nicode{~5} @tab ISO-8601 date/time, @samp{~Y-~m-~dT~H:~M:~S} @end multitable @end defun diff --git a/module/srfi/srfi-19.scm b/module/srfi/srfi-19.scm index d8f7643..c0a27b1 100644 --- a/module/srfi/srfi-19.scm +++ b/module/srfi/srfi-19.scm @@ -1113,13 +1113,13 @@ (cons #\1 (lambda (date pad-with port) (display (date->string date "~Y-~m-~d") port))) (cons #\2 (lambda (date pad-with port) - (display (date->string date "~k:~M:~S~z") port))) + (display (date->string date "~H:~M:~S~z") port))) (cons #\3 (lambda (date pad-with port) - (display (date->string date "~k:~M:~S") port))) + (display (date->string date "~H:~M:~S") port))) (cons #\4 (lambda (date pad-with port) - (display (date->string date "~Y-~m-~dT~k:~M:~S~z") port))) + (display (date->string date "~Y-~m-~dT~H:~M:~S~z") port))) (cons #\5 (lambda (date pad-with port) - (display (date->string date "~Y-~m-~dT~k:~M:~S") port))))) + (display (date->string date "~Y-~m-~dT~H:~M:~S") port))))) (define (get-formatter char) -- 1.7.7.6 --=-=-=-- From unknown Mon Sep 08 23:34:33 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ian Price Subject: bug#12246: closed (Re: bug#12246: [patch] iso 8601 specifies zero padding, not space padding) Message-ID: References: <87harpmh0b.fsf@gnu.org> <87628csd61.fsf@Kagami.home> X-Gnu-PR-Message: they-closed 12246 X-Gnu-PR-Package: guile X-Gnu-PR-Keywords: patch Reply-To: 12246@debbugs.gnu.org Date: Sun, 26 Aug 2012 22:23:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1346019782-6842-1" This is a multi-part message in MIME format... ------------=_1346019782-6842-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #12246: [patch] iso 8601 specifies zero padding, not space padding which was filed against the guile package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 12246@debbugs.gnu.org. --=20 12246: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12246 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1346019782-6842-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 12246-done) by debbugs.gnu.org; 26 Aug 2012 22:22:18 +0000 Received: from localhost ([127.0.0.1]:51275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T5lDm-0001lO-0y for submit@debbugs.gnu.org; Sun, 26 Aug 2012 18:22:18 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:46091) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T5lDk-0001lH-Eh for 12246-done@debbugs.gnu.org; Sun, 26 Aug 2012 18:22:17 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 6E1A09155; Mon, 27 Aug 2012 00:21:25 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Nf98gd0Z589h; Mon, 27 Aug 2012 00:21:25 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 039FD8C50; Mon, 27 Aug 2012 00:21:24 +0200 (CEST) From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Ian Price Subject: Re: bug#12246: [patch] iso 8601 specifies zero padding, not space padding References: <87628csd61.fsf@Kagami.home> Date: Mon, 27 Aug 2012 00:21:24 +0200 In-Reply-To: <87628csd61.fsf@Kagami.home> (Ian Price's message of "Tue, 21 Aug 2012 12:21:58 +0100") Message-ID: <87harpmh0b.fsf@gnu.org> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 12246-done Cc: 12246-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) Applied, thanks! Ludo'. ------------=_1346019782-6842-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 21 Aug 2012 11:22:38 +0000 Received: from localhost ([127.0.0.1]:41063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T3mXd-0006C8-RR for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44514) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T3mXb-0006C0-Az for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3mXH-0004ET-IL for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:16 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_TVD_MIME_NO_HEADERS autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:35830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXH-0004EN-F8 for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55156) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXG-0005ej-AU for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3mXF-0004E3-5m for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:14 -0400 Received: from plane.gmane.org ([80.91.229.3]:36392) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXE-0004Ds-VG for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:13 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1T3mXD-0008JI-3A for bug-guile@gnu.org; Tue, 21 Aug 2012 13:22:11 +0200 Received: from host86-182-156-79.range86-182.btcentralplus.com ([86.182.156.79]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2012 13:22:11 +0200 Received: from ianprice90 by host86-182-156-79.range86-182.btcentralplus.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2012 13:22:11 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: bug-guile@gnu.org From: Ian Price Subject: [patch] iso 8601 specifies zero padding, not space padding Date: Tue, 21 Aug 2012 12:21:58 +0100 Lines: 94 Message-ID: <87628csd61.fsf@Kagami.home> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: host86-182-156-79.range86-182.btcentralplus.com User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) Cancel-Lock: sha1:cK3pqwgz0hHnwzDlMkzZhuF25xk= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) --=-=-= In srfi 19, there is convenience format directives for various ISO 8601 date/time formats. i.e. ~2 ISO-8601 time+zone, `~k:~M:~S~z' ~3 ISO-8601 time, `~k:~M:~S' ~4 ISO-8601 date/time+zone, `~Y-~m-~dT~k:~M:~S~z' ~5 ISO-8601 date/time, `~Y-~m-~dT~k:~M:~S' However, ~k is incorrect here, as iso 8601 specifies that hours have two digits (i.e. 9am is "09") which means the ~H directive. Funnily enough, if you look in srfi-19.scm itself you even see (define iso-8601-date-time-format "~Y-~m-~dT~H:~M:~S~z") note, the ~H. I've attached a patch to fix these. -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled" --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-ISO-8601-time-format-specifies-zero-padding-for-hour.patch Content-Description: srfi-19 patch >From befdf71b04a0d1c02947457baa3c7e5f152b7e8e Mon Sep 17 00:00:00 2001 From: Ian Price Date: Tue, 21 Aug 2012 12:13:25 +0100 Subject: [PATCH] ISO 8601 time format specifies zero padding for hours, not blank padding. * doc/ref/srfi-modules.texi ("SRFI-19 Date to string"): Fix iso 8601 format strings. * module/srfi/srfi-19.scm (directives): Fix iso 8601 format strings. --- doc/ref/srfi-modules.texi | 8 ++++---- module/srfi/srfi-19.scm | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi index fdc316f..4fbe250 100644 --- a/doc/ref/srfi-modules.texi +++ b/doc/ref/srfi-modules.texi @@ -2997,10 +2997,10 @@ with locale decimal point, eg.@: @samp{5.2} @item @nicode{~z} @tab time zone, RFC-822 style @item @nicode{~Z} @tab time zone symbol (not currently implemented) @item @nicode{~1} @tab ISO-8601 date, @samp{~Y-~m-~d} -@item @nicode{~2} @tab ISO-8601 time+zone, @samp{~k:~M:~S~z} -@item @nicode{~3} @tab ISO-8601 time, @samp{~k:~M:~S} -@item @nicode{~4} @tab ISO-8601 date/time+zone, @samp{~Y-~m-~dT~k:~M:~S~z} -@item @nicode{~5} @tab ISO-8601 date/time, @samp{~Y-~m-~dT~k:~M:~S} +@item @nicode{~2} @tab ISO-8601 time+zone, @samp{~H:~M:~S~z} +@item @nicode{~3} @tab ISO-8601 time, @samp{~H:~M:~S} +@item @nicode{~4} @tab ISO-8601 date/time+zone, @samp{~Y-~m-~dT~H:~M:~S~z} +@item @nicode{~5} @tab ISO-8601 date/time, @samp{~Y-~m-~dT~H:~M:~S} @end multitable @end defun diff --git a/module/srfi/srfi-19.scm b/module/srfi/srfi-19.scm index d8f7643..c0a27b1 100644 --- a/module/srfi/srfi-19.scm +++ b/module/srfi/srfi-19.scm @@ -1113,13 +1113,13 @@ (cons #\1 (lambda (date pad-with port) (display (date->string date "~Y-~m-~d") port))) (cons #\2 (lambda (date pad-with port) - (display (date->string date "~k:~M:~S~z") port))) + (display (date->string date "~H:~M:~S~z") port))) (cons #\3 (lambda (date pad-with port) - (display (date->string date "~k:~M:~S") port))) + (display (date->string date "~H:~M:~S") port))) (cons #\4 (lambda (date pad-with port) - (display (date->string date "~Y-~m-~dT~k:~M:~S~z") port))) + (display (date->string date "~Y-~m-~dT~H:~M:~S~z") port))) (cons #\5 (lambda (date pad-with port) - (display (date->string date "~Y-~m-~dT~k:~M:~S") port))))) + (display (date->string date "~Y-~m-~dT~H:~M:~S") port))))) (define (get-formatter char) -- 1.7.7.6 --=-=-=-- ------------=_1346019782-6842-1--