>>>> "Ben" == Ben Wing <ben(a)666.com>
Ben> actually, in python the situation is worse, since we at least
Ben> have call-with-condition-handler, which allows continuing
Ben> from a thrown error; i don't think there's any equivalent in
Hm? Any exception can be caught in Python. It's true that you cannot
handle the error and restart processing from where you started, which
could be painful if you error on byte 49,999,999 of a 50MB file, but
because coding systems are written in Python it would be fairly easy
to return the current state. I don't know if this is done in current
codecs, but it wouldn't be hard.
Current Mule, it's hard to even pass a sane value for where an error
happened because of the layers on layers of buffering in coding
> The elegant way to implement it would be to treat it as a
> buffer and translate it using a new lstream, parsing the name
> out of the extended segment header and using that to determine
> the coding system.
Ben> i think that's more or less what handa does. but it seems
Ben> low-priority to me.
It was a FAQ for a while. I suspect it's no longer a FAQ because
people who use ISO 8859-15 have stopped using XEmacs. :-(
Ben> when you want lstreams exposed, is this so people can write
Ben> their own coding systems?
No. I want the standard coding systems in LISP so that ordinary
hackers can do more maintenance on them.
Ben> well, take a look. my verbal descriptions are often elliptic
Ben> because it's difficult for me to type long, detailed emails.
Ben> but i keep feeling like you are worried about issues i'm
Ben> already dealing with.
Could be. But it's quite clear you're more worried about maintaining
Mule compatibility and efficiency for 50MB buffers than about getting
the cleanest possible design in front of the reviewers and testers as
quickly as possible.
School of Systems and Information Engineering http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.