"Stephen J. Turnbull" <turnbull(a)sk.tsukuba.ac.jp> writes:
[...]
Stephen, I'm not sure what we are discussing here anymore. Let me
just stress two few points I consider important:
* I hope I have now explained why it is technically very hard or
impossible to *dynamically* load/unload an overwhelming extension
such as Mule. This is what you apparently wanted from the new
module stuff, and this is what I originally answered you about.
* Mule coding conventions may be complex, but they are not bad, and
not too hard to follow, once you get used to them (quite unlike
GCPRO, I'd say.)
And they *are* an abstraction -- at this time, with a flip of a
lever (#define/undef MULE) you can build two totally different
XEmacsen off the same general code. I can easily imagine there
existing a third one, based on Unicode or whatnot.
Now I will try to answer the points you make, but I admit that I no
longer understand what point you are trying to make.
>>>>> "Hrvoje" == Hrvoje Niksic
<hniksic(a)srce.hr> writes:
"Stephen J. Turnbull" <turnbull(a)sk.tsukuba.ac.jp> writes:
>> Making people who have little direct interest in MULE conform
>> to complex coding conventions that they don't understand is
>> bad. If functions that must be MULE-aware could be localized
>> to a smaller set of modules, it would be a good thing.
Hrvoje> You can't localize general concepts like "characters are
Hrvoje> not 1 byte".
Of course you can, by making an opaque character object type and
manipulating instances only through messages.
I believe that's what we have now (more or less), and it does involve
a certain discipline. What is Emchar if not "opaque character object
type"?
We may not like the amount of work involved or the efficiency loss.
The fact that 66 of the 201 .c files in my current xemacs-21/src
directory contain a reference to Emchar or Bufbyte suggests it'd be
horrendous. :-(
What exactly do you find wrong with Emchar and Bufbyte? Why do you
think a different implementation should get rid of those interfaces?
Hrvoje> If third-party contributors don't understand Mule
coding
Hrvoje> conventions, too bad for them. Besides, the conventions
Hrvoje> are not all that complex, once you get to know them --
Hrvoje> which goes for the rest of the XEmacs C sources.
<DIV ATTITUDE="tongue-in-cheek">
You are of course referring to the GCPRO convention?
</DIV>
If you want it that way, yes, although you've intentionally chosen a
very controversial point. To get a different point of view, try
asking Michael Sperber what he thinks about "helpful" allocators that
obviate the need for GCPRO.
I don't contest your points, pragmatically. But even now we
still
have problems with integer vs. character comparisons cropping up
every once in a while.
And your point is...?
Also, eventually we are going to have to modernize Mule; the current
implementation is just too constraining with the Japanese talking
about creating a completely new character set standard which will
have to coexist with the old one, only about 20% of the Chinese
standards implemented as yet, and Unicode not implemented at all.
As I said above, I think it should be feasible to keep the current
coding conventions, and change the underlying implementation.