Dan Kogai <[EMAIL PROTECTED]> writes:
>Nicholas,
>
>On 2002.01.31, at 05:23, Nicholas Clark wrote:
>> I've not been closely following the Encode stuff, except to notice that
>> Dan
>> Kogai is putting a lot of work into making Japanese work more smoothly
>> than
>> it was. (Thanks). (Building on the work Nick I-S did. Thanks Nick)
>>
>> Hence I'm not quite sure if I've got the cause of this problem correct,
>> but
>> it appears that Encode and Encode::EUC_JP both define
>> Encode_XS_Encoding:

A kludge I chucked in late Tuesday night. It is a hunk of code that
creates a bless ref to an IV holding a pointer to the C struct,
and then perl_call_sv()'s Enocde::define_encoding.

It was a little too big for me to be happy with it as a #define.
It could be static - or it could live in Encode.xs and we could
use the Tk/DBI like "function pointer in a perl scalar" trick to
get at it. Or we could have XS side poke encodings into and package array
and have .pm file do the call or ...

For a quick fix make it static in 'compile'.
(What should we call that script - compile_encoding ?)

>
>   Yes.  That particular part is hard-coded in the compile script.  It
>should be easy to mend this problem by making compile a little bit
>smarter. But....
>   Static linking all CJK modules is definitely a nightmare considering
>the sizes they take.

They are not that big on modern machines but I agree most westerners
would not want 'em.

>To keep the static perl small we have to
>externally keep the conversion tables (Like Encode::Tcl).  Hmm....

The other option (which I considered for a while) is to make compiled
encodings binary files which something reads. The main pain is the
pointer chains in the carruent form - I decided that making them
loadable objects was the best way.

>
>Dan
--
Nick Ing-Simmons
http://www.ni-s.u-net.com/


Reply via email to