[prev in list] [next in list] [prev in thread] [next in thread] 

List:       util-linux-ng
Subject:    Re: v2.32 cal(1)
From:       J William Piggott <elseifthen () gmx ! com>
Date:       2017-12-21 2:43:43
Message-ID: a81f3f7c-77fc-fd98-c440-e326be8ea4db () gmx ! com
[Download RAW message or body]



On 12/20/2017 12:42 PM, Karel Zak wrote:
> On Wed, Dec 20, 2017 at 04:29:43PM +0000, Adam Sampson wrote:
>> Karel Zak <kzak@redhat.com> writes:
>>
>>> The problem is that year 1752 is very specific to British Empire and
>>> for example Catholic Europe moved to the Gregorian calendar in year
>>> 1582.
>> ...
>>> * later (after warning in release notes) we can make --gregorian as
>>>   the default
>>
>> The date of cal's switch is specified in POSIX as 1752, though:
>> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cal.html
>> (with a note that future versions may make this depend on the locale).
> 
> It sounds like too complicated semantic to depend on locale. Don't
> also forget that switch from one calendar to another means extra
> calculation (for example skip 11 days for British Empire way, etc).
> 
>> So if the default is changed, it would be worth noting the deviation
>> from POSIX in the man page, and maybe even defaulting to the old
> 
> Good point.
> 
>> behaviour if POSIXLY_CORRECT is defined, as, e.g., coreutils does for
>> other bits of dubious but mandated behaviour.
>>
>> I wonder if it might be more helpful just to report an error if cal is
>> run for a year prior to 1926 without explicitly specifying which
>> calendar to use?
> 
> I think we can follow the current default behavior for ever, and just
> add --iso/--gregorian for people who care.

I think the standard is being misunderstood.

Issue 2 required the Gregorian format:
_____________________________
http://pubs.opengroup.org/onlinepubs/007908799/xcu/cal.html

DESCRIPTION

    The cal utility writes a Gregorian calendar to standard output. If the year
    operand is specified, a calendar for that year is written. If no operands
    are specified, a calendar for the current month is written.
_____________________________



The reason for the change in issue 6 was to *allow* Julian:
_____________________________
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cal.html
Issue 6

The DESCRIPTION is updated to allow for traditional behavior for years before
the adoption of the Gregorian calendar.

_____________________________


There is no default format specified, only what cal(1) shall be capable of.

There is a similar requirement for Julian placed on date(1). Coreutils
date command not only defaults to proleptic Gregorian, but doesn't have
any Julian capability.

So I think having cal(1) default to proleptic Gregorian is not only
allowed by POSIX, but it should be expected to correlate with date(1).




> 
>     Karel
> 
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic