I am leaving tomorrow for a one-month vacation to Spain.  I'll be
returning on August 1st.  I will occasionally be checking mail at
ben_wing(a)hotmail.com, but not at this address.  If you have something
that isn't urgent, go ahead and send it to this address [either
ben(a)666.com or ben(a)xemacs.org] and i'll respond when i return.
meanwhile, i've checked in two workspaces to cvs.  i'd appreciate it
if people take a look and fix any problems encountered.  [i've
checkpointed the workspaces at their current state, so i'll be able to
review any changes made.]
NOTE: The contents of this message are in README.ben-mule-21-5 at the
top of the ben-mule-21-5 workspace.
the two workspaces are:
------------------------------------------------------------------
-- ben-mule-21-5
this contains all the mule work i've been doing.  this includes mostly
work done to get mule working under ms windows, but in the process
i've [of course] fixed a whole lot of other things as well, mostly
mule issues.  the specifics:
- it compiles and runs under windows and should basically work.  the
  stuff remaining to do is (a) improved unicode support (see below)
  and (b) smarter handling of keyboard layouts.  in particular, it
  should (1) set the right keyboard layout when you change your
  language environment; (2) optionally (a user var) set the
  appropriate keyboard layout as you move the cursor into text in a
  particular language.
- i added a bunch of code to better support OS locales.  it tries to
  notice your locale at startup and set the language environment
  accordingly (this more or less works), and call setlocale() and set
  LANG when you change the language environment (may or may not work).
- major rewriting of file-coding.  it's mostly abstracted into coding
  systems that are defined by methods (similar to devices and
  specifiers), with the ultimate aim being to allow non-i18n coding
  systems such as gzip.  there is a "chain" coding system that allows
  multiple coding systems to be chained together. (it doesn't yet
  have the concept that either end of a coding system can be bytes or
  chars; this needs to be added.)
- unicode support.  very raw.  a few days ago i wrote a complete and
  efficient implementation of unicode translation.  it should be very
  fast, and fairly memory-efficient in its tables.  it allows for
  charset priority lists, which should be language-environment
  specific (but i haven't yet written the glue code).  it works in
  preliminary testing, but obviously needs more testing and work.
  as of yet there is no translation data added for the standard charsets.
  the tables are in etc/unicode, and all we need is a bit of glue code
  to process them.  see etc/unicode/README for the interface to
  implement.
- support for unicode in windows is partly there.  this will work even
  on windows 95.  the basic model is implemented but it needs finishing
  up.
- there is a preliminary implementation of windows ime support courtesy
  of ikeyama.
- if you want to get cyrillic working under windows (it appears to "work"
  but the wrong chars currently appear), the best way is to add unicode
  support for iso-8859-5 and use it in redisplay-msw.c.  we are already
  passing unicode codepoints to the text-draw routine (ExtTextOutW).
  (ExtTextOutW and GetTextExtentPoint32W are implemented on both 95 and NT.)
- i fixed the iso2022 handling so it will correctly read in files
  containing unknown charsets, creating a "temporary" charset which
  can later be overwritten by the real charset when it's defined.
  this allows iso2022 elisp files with literals in strange languages
  to compile correctly under mule.  i also added a hack that will
  correctly read in and write out the emacs-specific "composition"
  escape sequences, i.e. ESC 0 through ESC 4.  this means that my
  workspace correctly compiles the new file devanagari.el that i added
  (see below).
- i copied the remaining language-specific files from fsf.  i made
  some minor changes in certain cases but for the most part the stuff
  was just copied and may not work.
- i fixed post-read-conversion in coding systems to follow fsf
  conventions. (i also support our convention, for the moment.  a
  kludge, of course.)
- make-coding-system accepts (but ignores) the additional properties
  present in the fsf version, for compatibility.
-------------------------------------------------------------------
-- ben-separate-stderr-improved-error-trapping
this is an old workspace, very close to being done, containing
- subprocess stderr output can be read separately; needed to fully
  implement call-process with asynch. subprocesses.
- huge improvements to the internal error-trapping routines (i.e. the
  routines that call Lisp code and trap errors); Lisp code can now be
  called from within redisplay.
- cleanup and simplification of C-g handling; some things work now
  that never used to.
- see the ChangeLogs in the workspace.
	
-- 
ben
I'm sometimes slow in getting around to reading my mail, so if you
want to reach me faster, call 520-661-6661.
See 
http://www.666.com/ben/chronic-pain/ for the hell I've been
through.