[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Sheflug] vi, emacs, sharp sticks
>>>>> "Steve" == Steve Tickle <s.tickle [at] quarndon.co.uk> writes:
Steve> It's only a friggin' text editor after all
I wish. ;-)
Some of the flamewars I've had .... WTF, I'll share ;-)
XEmacs Lisp has separate representations for integers, characters, and
objects on 32-bit machines. It turns out the most efficient way to
deal with this is to reserve the two lower bits for type marking. If
the lowest bits are 00, it points to an object. If they are 10, it's
a character. If they're 01, it's an even integer, and if 11, an odd
integer. Thus characters are 30 bits, and integers 31 bits.
Well, we're planning to convert internally to Unicode, and I _wanted_
that bit (UCS-4 is 31 bits, even though UTF-32 only uses 21). My
proposal to swap the representations was vetoed because one of the
other board members was regularly editing 1.5GB files, and the 30-bit
limit would have made them too big to fit in a buffer (buffer
positions are computed in Lisp integers). Unfortunately we don't have
bignums yet.
Then, when we added the Mule facilities which allow multilingual use
without Unicode, and automatically detect what language is being used,
people who edited binary files (tar files, /vmlinux, you know, that
kind of thing) got really pissed off because XEmacs was autodetecting
their binaries as Japanese and removing escape sequences. :-(
XEmacs - just a text editor, but with enough text, you can change the world.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."
---------------------------------------------------------------------
Sheffield Linux User's Group - http://www.sheflug.co.uk
To unsubscribe from this list send mail to
- <sheflug-request [at] vuw.ac.nz> - with the word
"unsubscribe" in the body of the message.
GNU the choice of a complete generation.