I started a reply to the l10n mail
here's how far I got
I didn't see in the ksh src where the catalog is set to the script name
---
all of the ast hooks to the underlying message catalogs are through
the ast optget() and error() functions

these mechanisms are consistent between ast standalone utilities
and ksh93 scripts

e.g., for any ast utility that uses optget() (all ast utilities)
or ksh script that uses getopts (a recommened script practice)
this generates the getopts(1)/optget(3) usage string that may
be used interchangeably between getopts(1)/optget(3):

        foo '--??usage 2>&1' | fmt -o

(the ast fmt with the -o option for format option usage strings)

the current message catalog is named by
        char* error_info.catalog
and is initialized in the getopts(1)/optget(3) usage string
        [--catalog?THE_NAME_OF_THE_CATALOG]
ksh handles pushing/popping script/builtin error_info contexts

the locale and message catalog are global utility/script properties
this follows the current standard locale api which is also process global

when handle-based locale apis become standardized and widespread
this global property can be revisited


Reply via email to