Aldo Calpini <[EMAIL PROTECTED]> wrote:
> Leopold Toetsch wrote:
> > 1) ICU should be optional
> >
> > If configured --without-icu the Makefile shouldn't contain ICU stuff,
> > and function calls to ICU (mainly in string_primitives) should be
> > wrapped inside #if PARROT_HAS_ICU.

> I'm gonna take this one (unless Steven Schubiger is already working on it).

Great, thanks.

> just as a generic hint, what should the #else (eg when PARROT_HAS_ICU is
> not defined) do?

The opcodes, I've implemented, call the interface functions
Parrot_string_is_xxx, which take a string and an offset. ASCII and
iso-8859-1 can be handled by the internal functions. For unicode strings
the functions in charset/unicode.c should eventually call into unicode
library functions, that can be ICU or any other lib, we have an
interface for.

The current Parrot_char_is_xx functions are misnamed. These are ICU
interface functions. We should eventually rename string_primitives.c to
string_icu.c - I think.

We have:

  opcodes -> interface              -> implementation
             Parrot_string_is_xxxx     charset/*.c

The functions in charset/unicode.c then should call ICU interface
functions or whatever, if available.

> a) consider everything ASCII and use the corresponding stdlib function
> b) always return NULL (or some approximation of NULL)
> c) complain to STDERR about ICU not being there
> d) coredump

e) throw a real_exception

> cheers,
> Aldo

leo

Reply via email to