Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: Make ztrftime pass more things to strftime



On Wed, 8 Jul 2015 01:15:00 +0200
Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
> I poked at this for an hour, and this is the first version that passes
> make check and doesn't segfault randomly, so it is not very well tested,
> to say the least. Opinions on the approach?

"Not totally doomed" (I haven't done a character-by-character survey of
the goings on).

Implementing on top of an interface like this is a real pain, since you
can't help re-implementing chunks and scratching your head about how to
pass the info you've got out back in again.  But it's worth doing now
internationalisation / internationalization / Internationalisierung /
... is considered basic.

It probably mostly needs a few tests.  print -P %D{...} will do most of
what you want.

On Wed, Jul 8, 2015 at 12:53 PM, Peter Stephenson
<p.stephenson@xxxxxxxxxxx> wrote:
> On Wed, 8 Jul 2015 01:21:42 +0200
> Mikael-san <mikachu@xxxxxxxxx> wrote:
haha
>> Hey look, it actually works too,
>>
>> % print -P %D\{%x\}
>> 2015年07月08日
>> % print -P %D\{%Ex\}
>> 平成27年07月08日
>
> By the way, that's also worth testing explicitly, but it should probably
> go with the multibyte tests together with an extra test for availability
> of the locale in question to avoid false test failures.
>
> pws

Okay, I got as far as
  LC_ALL=C
0:ztrftime extensions

And I'm not sure how to test anything. If the libc doesn't implement
the gnu extensions, then it will either fail or we could just skip the
test. I suppose if we don't skip, then we'll get plenty of reports of
test failures. But if we always skip if it detects no gnu extensions,
it won't ever really fail either. Unless our basic %y printing
suddenly breaks I suppose. Can you skip an individual test, or do I
need to make a new module? Same goes for the multibyte test, I don't
want to skip the whole module if there's no japanese locale, I think.
Maybe these can all go in a new module then? And only test things if
we find gnu extensions and a japanese utf8 locale.

We can only test the non-extension padding if it's the 1-9th of a
month, the second happens to be under 10, etc. I'm not sure what else
to test than the output being a number.

The existing print -P %w%W%D test already exercises some of the code
(It ends up calling ztrftime with strings like "%a %f" or so).

-- 
Mikael Magnusson



Messages sorted by: Reverse Date, Date, Thread, Author