guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/01: Correct note about Gregorian reform in SRFI-19


From: Andy Wingo
Subject: [Guile-commits] 01/01: Correct note about Gregorian reform in SRFI-19
Date: Tue, 25 Apr 2017 03:45:04 -0400 (EDT)

wingo pushed a commit to branch master
in repository guile.

commit fc84f4f13dde92a9de61bb137cd1cc2c90e853d3
Author: Zefram <address@hidden>
Date:   Wed Apr 19 17:08:30 2017 +0100

    Correct note about Gregorian reform in SRFI-19
    
    * doc/ref/srfi-modules.texi (SRFI-19): SRFI-19 specifies proleptic use
    of the Gregorian calendar, so it was incorrect of the documentation to
    describe the code as erroneous in doing so.  Rewrite the caution more
    neutrally, and move it to the section about the "date" structure, where
    it seems most relevant.
---
 doc/ref/srfi-modules.texi | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi
index 95509b2..3d44156 100644
--- a/doc/ref/srfi-modules.texi
+++ b/doc/ref/srfi-modules.texi
@@ -2383,17 +2383,6 @@ functions and variables described here are provided by
 (use-modules (srfi srfi-19))
 @end example
 
address@hidden: The current code in this module incorrectly extends
-the Gregorian calendar leap year rule back prior to the introduction
-of those reforms in 1582 (or the appropriate year in various
-countries).  The Julian calendar was used prior to 1582, and there
-were 10 days skipped for the reform, but the code doesn't implement
-that.
-
-This will be fixed some time.  Until then calculations for 1583
-onwards are correct, but prior to that any day/month/year and day of
-the week calculations are wrong.
-
 @menu
 * SRFI-19 Introduction::        
 * SRFI-19 Time::                
@@ -2593,6 +2582,16 @@ The fields are year, month, day, hour, minute, second, 
nanoseconds and
 timezone.  A date object is immutable, its fields can be read but they
 cannot be modified once the object is created.
 
+Historically, the Gregorian calendar was only used from the latter part
+of the year 1582 onwards, and not until even later in many countries.
+Prior to that most countries used the Julian calendar.  SRFI-19 does
+not deal with the Julian calendar at all, and so does not reflect this
+historical calendar reform.  Instead it projects the Gregorian calendar
+back proleptically as far as necessary.  When dealing with historical
+data, especially prior to the British Empire's adoption of the Gregorian
+calendar in 1752, one should be mindful of which calendar is used in
+each context, and apply non-SRFI-19 facilities to convert where necessary.
+
 @defun date? obj
 Return @code{#t} if @var{obj} is a date object, or @code{#f} if not.
 @end defun



reply via email to

[Prev in Thread] Current Thread [Next in Thread]