"Stephen J. Turnbull" <turnbull(a)sk.tsukuba.ac.jp> writes:
Hrvoje> As Kyle noticed, buffer sizes will suffer. Currently
Hrvoje> Emacs buffer can accept up to 1G of characters. With
Hrvoje> the swap, it will be "only" 512M. Believe it or not,
Hrvoje> there _will_ be people hurt by the difference.
Yup. But they'll be hurting soon anyway; any process that can
generate a >512M buffer surely can generate a >1G buffer.
Note that no editor on 32-bit systems can grok a >2G buffer because of
limited pointer size. Thus a 1G limit is just one step below the
"theoretical" limit. You can argue that being two steps below it is
not much worse, but I am not really convinced.
What does direct UCS-4 support in characters buy me anyway? Will it
be another case of all-encompassing Mule priorities breaking the neck
of the rest of us?
Hrvoje> Finally, I do need integers as large as I can get,
Hrvoje> when it's not the full 32 bits. We'll have to find
Hrvoje> another way for dealing with UCS-4.
How about not 32 bit, but 64 or 128 or whatever you want? Hey,
Steve! We have a volunteer to implement bignums!
Implementing bignums is hard because if you want to do it right, you
have to modify all the C code that relies on Lisp_Object integers
fitting in an integral type called "EMACS_INT" (int or long). And
there's a *lot* of such code, with possibly long integers propagating
all over the place.
Also, with bignums avaialble, you would probably want to provide
compiler declarations so that reasonably efficient code can be
written, i.e. (declare (fixnum x)). I don't know how hard it is to
add this to the current compiler, along with the propagation of types
and other niceties, but I suspect it might be hard.
Hrvoje> bring new functionality, not cripple XEmacs. I can
Right. That's why we should make the switch to 31-bit characters
immediately and unconditionally :-), and beg, borrow, steal, or
implement a bignum package ASAP.
See above. Sorry, but the issues are simply not that simple. If
everyone thinks 31-bit characters are so much cooler than 31-bit
integers, I won't stand in the way of progress. But don't imagine
that bignums will save us any time soon.