reopen 197469
thanks

On Sat, Feb 28, 2009 at 03:03:02PM +0000, Debian Bug Tracking System wrote:
> As I got no objection against the arguments in my last email three weeks 
> ago, I would like to declare this bug as an intentional feature and close 
> it.
> 
> Feel free to reopen if needed.

You sent that message to the bug address, which does NOT reach the
submitter, so I'm reopening this out of principle. Please remember to
actually contact the submitter next time you want to communicate something
to them...

But secondly, I'm reopening based on my response to that email which follows:

> the author of gcal decided (according to general practice) to look for the 
> following environment variables:
>  $LANGUAGE
>  $LC_ALL
>  $LC_MESSAGES
>  $LANG
> If one of those is defined, the value is further examined. There are only
> two options: the value starts with "en_" or something different. 
> The first case means some kind of American style calendar where the days of 
> the week are written in a top row and the week starts with Sunday.
> The second case means some kind of ISO calendar with days on the left side
> and the week starts with Monday.

So the logic of choosing is hardcoded into the program, even though it's
initially based on locale data.

It doesn't differentiate between en_US and en_UK, and I do seem to recall
that US and UK differ in this matter in general practice.

> According to ISO/IEC TR 14652 usage of $LC_TIME is problematic and might
> result in unintended behaviour.

I've googled that and found
http://www.open-std.org/JTC1/SC22/WG20/docs/n972-14652ft.pdf

There I see a detailed description of LC_TIME, including:

first_weekday Define the first day to be displayed, for example in a calendar 
display
              utility. The operand is an integer specifying the day number (1 =
              first) according to the information specified with the "day" 
keyword.
              The keyword may be omitted, and then the value 1 is taken,
              corresponding to Sunday for a week beginning Sunday, or to Monday
              for a week beginning Monday.

Granted, the section is marked with "(controversial)", and there are a few
notes about problems, including:

        7. The LC_TIME section includes some changes that are incompatible
        with POSIX.2.  Some week definitions that have depended on Sunday
        being considered the first day of the week are changed in this TR to
        use Monday as the first day of the week. This would break existing
        implementations.

However, I do not see exactly where the unintended behaviour would arise
with regard to the issue of using this variable to determine the first day
of the week - gcal already has its own logic of choosing, it's just the
fine-grained variable choice that would be affected.

Based on the description of that logic, I see two potential pitfalls:

* American calendar users with (LANGUAGE|LC_ALL|LC_MESSAGES) = en_*
  and LC_TIME != en_* - if the logic was changed to cater to LC_TIME
  before LC_MESSAGES, they wouldn't get American calendar format if they
  didn't also have LANGUAGE or LC_ALL set to en_*

* ISO calendar users with (LANGUAGE|LC_ALL|LC_MESSAGES) != en_*
  and LC_TIME = en_* - if the logic was changed to cater to LC_TIME
  before LC_MESSAGES, they wouldn't get ISO calendar format if they
  didn't also have LANGUAGE or LC_ALL set to something other than en_*

Regarding our users, the description in locale(7) seems most pertinent
       LC_TIME
              changes  the behavior of the strftime(3) function to display the
              current time in a locally acceptable form; for example, most  of
              Europe uses a 24-hour clock versus the 12-hour clock used in the
              United States.

I can't be sure, but I doubt that there are many users in any of the
aforementioned two groups, because it would mean that:
* they are an American calendar user with LC_TIME set so that local
  time shows European-style clock
* they are an ISO calendar user with LC_TIME set so that local time
  shows US-style clock

> Further it is correct to use $LC_MESSAGE to decide upon the language of
> the output. Please keep in mind that gcal does not only output a calendar
> but also holidays and events.

That's fine, but I'm not talking about changing message handling, just the
calendar (week) format handling. Don't you agree that calendar format is
something different from normal message text?

> In any case, if you want to avoide -s1, you could still set $LANGUAGE.

I'm not sure to which value to set it if I don't want to alter the behaviour
of LC_MESSAGES. locale(7) says:

       LC_MESSAGES
              changes the language messages  are  displayed  in  and  what  an
              affirmative  or  negative  answer looks like.  The GNU C-library
              contains the gettext(3), ngettext(3), and  rpmatch(3)  functions
              to ease the use of these information.  The GNU gettext family of
              functions also obey the environment variable LANGUAGE.

So I wouldn't actually want LANGUAGE=hr_HR because that would conflict with
my existing LC_MESSAGES=en_*.

-- 
     2. That which causes joy or happiness.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to