tmi2/
tmi2/bin/
tmi2/etc/
tmi2/lib/
tmi2/lib/adm/
tmi2/lib/adm/daemons/languages/
tmi2/lib/adm/daemons/network/I3/
tmi2/lib/adm/daemons/virtual/template/
tmi2/lib/adm/obj/master/
tmi2/lib/adm/priv/
tmi2/lib/adm/shell/
tmi2/lib/adm/tmp/
tmi2/lib/cmds/
tmi2/lib/d/
tmi2/lib/d/Conf/
tmi2/lib/d/Conf/adm/
tmi2/lib/d/Conf/boards/
tmi2/lib/d/Conf/cmds/
tmi2/lib/d/Conf/data/
tmi2/lib/d/Conf/logs/
tmi2/lib/d/Conf/obj/
tmi2/lib/d/Conf/text/help/
tmi2/lib/d/Fooland/adm/
tmi2/lib/d/Fooland/data/
tmi2/lib/d/Fooland/data/attic/
tmi2/lib/d/Fooland/items/
tmi2/lib/d/TMI/
tmi2/lib/d/TMI/adm/
tmi2/lib/d/TMI/boards/
tmi2/lib/d/TMI/data/
tmi2/lib/d/TMI/rooms/
tmi2/lib/d/grid/
tmi2/lib/d/grid/adm/
tmi2/lib/d/grid/data/
tmi2/lib/d/std/
tmi2/lib/d/std/adm/
tmi2/lib/data/adm/
tmi2/lib/data/adm/daemons/
tmi2/lib/data/adm/daemons/doc_d/
tmi2/lib/data/adm/daemons/emoted/
tmi2/lib/data/adm/daemons/network/http/
tmi2/lib/data/adm/daemons/network/services/mail_q/
tmi2/lib/data/adm/daemons/network/smtp/
tmi2/lib/data/adm/daemons/news/archives/
tmi2/lib/data/attic/connection/
tmi2/lib/data/attic/user/
tmi2/lib/data/std/connection/b/
tmi2/lib/data/std/connection/l/
tmi2/lib/data/std/user/a/
tmi2/lib/data/std/user/b/
tmi2/lib/data/std/user/d/
tmi2/lib/data/std/user/f/
tmi2/lib/data/std/user/l/
tmi2/lib/data/std/user/x/
tmi2/lib/data/u/d/dm/working/doc_d/
tmi2/lib/data/u/l/leto/doc_d/
tmi2/lib/data/u/l/leto/smtp/
tmi2/lib/doc/
tmi2/lib/doc/driverdoc/applies/
tmi2/lib/doc/driverdoc/concepts/
tmi2/lib/doc/driverdoc/driver/
tmi2/lib/doc/driverdoc/efuns/arrays/
tmi2/lib/doc/driverdoc/efuns/buffers/
tmi2/lib/doc/driverdoc/efuns/compile/
tmi2/lib/doc/driverdoc/efuns/ed/
tmi2/lib/doc/driverdoc/efuns/floats/
tmi2/lib/doc/driverdoc/efuns/functions/
tmi2/lib/doc/driverdoc/efuns/general/
tmi2/lib/doc/driverdoc/efuns/numbers/
tmi2/lib/doc/driverdoc/efuns/parsing/
tmi2/lib/doc/driverdoc/lpc/constructs/
tmi2/lib/doc/driverdoc/lpc/preprocessor/
tmi2/lib/doc/driverdoc/lpc/types/
tmi2/lib/doc/driverdoc/platforms/
tmi2/lib/doc/mudlib/
tmi2/lib/ftp/
tmi2/lib/log/
tmi2/lib/obj/net/
tmi2/lib/obj/shells/
tmi2/lib/std/board/
tmi2/lib/std/body/
tmi2/lib/std/fun/
tmi2/lib/std/living/
tmi2/lib/std/object/
tmi2/lib/std/shop/
tmi2/lib/std/socket/
tmi2/lib/std/virtual/
tmi2/lib/student/
tmi2/lib/student/kalypso/
tmi2/lib/student/kalypso/armor/
tmi2/lib/student/kalypso/rooms/
tmi2/lib/student/kalypso/weapons/
tmi2/lib/u/l/leto/
tmi2/lib/u/l/leto/cmds/
tmi2/lib/www/errors/
tmi2/lib/www/gateways/
tmi2/lib/www/images/
tmi2/old/
tmi2/v21.7a10/
tmi2/v21.7a10/ChangeLog.old/
tmi2/v21.7a10/compat/simuls/
tmi2/v21.7a10/include/
tmi2/v21.7a10/testsuite/
tmi2/v21.7a10/testsuite/clone/
tmi2/v21.7a10/testsuite/command/
tmi2/v21.7a10/testsuite/data/
tmi2/v21.7a10/testsuite/etc/
tmi2/v21.7a10/testsuite/include/
tmi2/v21.7a10/testsuite/inherit/
tmi2/v21.7a10/testsuite/inherit/master/
tmi2/v21.7a10/testsuite/log/
tmi2/v21.7a10/testsuite/u/
tmi2/v21.7a10/tmp/
Thu Aug 24 06:53:08 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.6b6
	* crasher fix in loading objects with a .c.c suffix.  The current
	  fix entails stripping multiple .c's off the end instead of just one.
	* edit_source -configure now checks if the configure.h file needs to
	  be remade due to new config checks

Mon Aug 21 03:18:45 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.6b5
	* fixed a crasher in parse_command() [reported by Magician]
	* fixed a few bad free's in parse_value() [reported by Aragorn]
	* added Symmetry's fix for Tensor's 'Couldn't find enabled object in
	  heart_beat list' crasher
	* fixed a crasher with #pragma optimize on
	* added pluralization for do, go, was

Mon Aug 21 03:16:33 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.6b4
	* make configure.h early enough so that it can be included in
	  func_spec.c, so that the rusage() efun can be included
	* added in Deathblade's fixes for remove_call_out()

Thu Aug  3 11:29:56 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.6b3
	* added REALLY verbose parsing mode for those really hard to find
	  parser bugs; use flag > 1 to parse_sentence
	* LPC->C fixes:
	  . fixed a crasher in compilation of control jumps [break, continue]
	  . fixed an error in adding labels that could write one byte
	    past the end of the program block
	  . fixed a syntax error in code for objects using function() {}
	  . don't generate typechecks after the 4th efun arg
	  . fixed incorrect argument number in errors from above type checks
	  . varargs support
	  . fixed several bugs in foreach handling
	  . reordered code to fix forward references to functionals when they
	    occur in global initializers
	  . fixed continue and break branches for files which generate > 32k
	    of source
	  . added alot of prototypes to cfuns.h so LPC->C code compiles more
	    quietly
	  . fixed a crasher in __TREE__ { /* something involving foreach */ }

Sun Jul 30 11:11:12 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.6b2
	* fixed error() to add a \n to the end of the string if one is not
	  present
	* remove_call_out() [no args] now removes ALL this_object()'s call_outs
	* added pluralize() prototype
	* parser fixes:
	  . remote livings are always within reach
	  . fixed a bug that caused direct/indirect objects to not get
	    callbacks
	  . fixed a crasher when parse_my_rules tried to return an error

Sat Jul 29 20:12:46 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.6b1
	* updated with respect to v21.5
	* added next_bit().  next_bit(string str, int foo) returns the
	  next bit set in str after foo, or -1 if foo is the last one
	  (str is a set_bit/clear_bit string).  For example, to loop over
	  set bits:
	     int bit = -1; while ((bit = next_bit(str, bit)) != -1) { ... }
	* Added a warning for (: string constant :)
	* fixed another crasher in filter_mapping
	* fixed crashers in promote_to_float and promote_to_int
	* clarified the error message for passing x... to a non-varargs
	  function
	* parser stuff:
	  . added parser support for 'me' and 'myself'
	  . fixed 'the' and 'a' support to not inappropriately gobble them
	  . added a debug mode turned on with an optional flag to
	      parse_sentence: parse_sentence(foo, 1)
	  . Added parser support for visibility:
	      ob->inventory_accessible() can objects inside be used?
	      ob->inventory_visible() can objects inside be seen?
	      as usual, they are cached, so call parse_refresh() if they change
	  . Added extra attributes for tokens; the for is XXX:wxyz
	    where w, x, y, z are one of:
	    l - must be living    v - need not be accessible (visible only)
	    so "OBJ:l" is the same as "LIV", and "LIV:v" is someone you can
	    see.
	  . fixed a bug introduced in the get_single optimization that
	      erroneously reported ambiguous parses
	  . fixed STR to return the original text, not the sanitized version
	  . the 'verb' passed to verb_* rules are also no longer sanitized
	  . same with 'real names' of objects
	  . finished implementing the error messages, including 'There is no
	      X here'
	  . optimized STR rules a bit
	  . fixed a few bugs in finding interpretations with multi-word
	      tokens
	  . parse_sentence() can legally be called from do_* callbacks now

---------------------------------------------------------------------------
(v21.5b10 promoted to v21.5 with the following fixes)

	* fixed a crasher in deallocating classes with PACKAGE_MUDLIB_STATS
	  defined
	* fixed a crasher in read_file() when reading just a portion of the
	  file

Tue Jul 18 01:39:53 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b10
	* made push_lvalue_range() non-static; it's used in LPC->C code
	* fixed a crasher in the F_SHORT_STRING fix
	* fixed a crasher in ed messages when <varargs.h> is used

Sat Jul 15 14:30:37 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b9
	* Fix from Marius: define the crdir_fopen() function even if BINARIES
	  isn't defined
	* fixed an LPC->C code generation bug that would change the third
	  character of the first function to a ')' in some files
	* in LPC->C compilation, generate 'case x:;' and 'default:;' instead
	  of 'case x:' and 'default:' to satisfy picky compilers.

Thu Jul 13 01:52:40 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b8
	* another F_SHORT_STRING string disassembly fix from Sym
	* fixed a bug that caused classes to fail to restore from inside
	  classes/arrays/mappings
	* fixed a bug that caused 'Inherit chain too deep' errors when
	  load_object() was called repeatedly on non-existent objects
	* fixed the alpha crasher fix (I changed the wrong #ifdef merging
	  the changes into my local version)
	* (: foo :) when foo is both a local function and a simul now gives
	  a pointer to the lfun, not the simul in line with the normal
	  visibility rules.
	
Thu Jul  6 03:29:37 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b7
	* fix from Symmetry: use EXTRACT_UCHAR when disassembling 
	  F_SHORT_STRING
	* Alpha crasher fix: make sure there isn't any padding at the end
	  of the shared string and malloc'ed string structs so that they
	  overlap correctly
	* don't use bison on AIX when compiling with xlC; xlC won't grok
	  bison's use of alloca

Fri Jun 30 16:02:44 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b6
	* fixed a typo in socket_efuns.c
	* fixed a bug that caused socket callbacks not to be called
	  (introduced with the v21.5b4 fix)

Tue Jun 27 01:01:27 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b5
	* fixed MUD mode sockets to not abort the driver if they can't
	  allocate enough memory for a packet (due to garbage for the
	  length field, for example).  The connection is killed instead.

Thu Jun 15 09:00:09 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b3
	* fixed a LPC->C compilation error in range switch tables
	    
Mon Jun 12 04:03:58 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b2
	* fixed a bug that generated incorrect code for string switches
	* fixed a typeclash in grammar.y.pre
	* better fix for the obj/grammar.tab.o problem
	* fixed a crasher in some assignments in LPC->C code
	* fixed a crasher in casting a void valued efun, i.e.
	  return (int) destruct(ob)

Sun Jun 11 04:04:49 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.5b1
	* updated with respect to v21.4
	* fixed a bunch of warning messages and unsafe casts for DEC Alpha
	* added a call_stack() efun: for each internal as well as external
	  frame:
	  . call_stack(), call_stack(0) : an array of program names
	  . call_stack(1) : array of current objects (in that frame)
	  . call_stack(2) : array of function names
	  . call_stack(3) : array of what origin() returns in that frame
	  all the arrays are the same length; i.e. element 5 of call_stack(0)
	  is the same frame as element 5 of call_stack(2)
	  e.g. printf("I got called from %s in %s", call_stack(2)[0],
	       call_stack(0)[0]);

---------------------------------------------------------------------------
(v21.4b11 promoted to v21.4 with the following fix)

	* fixed a fatal error in compiling switches to C

Sat Jun  3 05:24:08 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b11
	* added Magician's fixes for pluralize() for words starting with 'b'
	  and 'c'

Thu Jun  1 14:28:38 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b10
	* added support for w->x[y] = z, w->x[y]++ and w->x[y]-- which was
	  accidentally omitted (generated 'Illegal lvalue' errors)
	* fixed a crasher in strings longer than 64k
	* fixed a compilation error crasher in x->foo when x was not a class

Thu Jun  1 01:52:29 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b9
	* removed a kludge to help older TMI-2 libs run.  It was causing
	  delayed crashers after errors in add_actions(), as well as
	  screwing up the previous_object(-1) lists.  I also think it was
	  the cause of the unresolved backend crashers around v21 or so. 
	* COMPAT_BUSTER: due to the above, previous_object() is now zero
	  in add_action()'ed functions
	
Mon May 29 21:24:55 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b8
	* fixed a bug that caused str[n..] to return garbage if n > strlen(str)
	* fixed a compilation problem with LPC_TO_C off
	* fixed a bad free() in edit_source that would cause defines to
	  mutate
	* fixed a crasher when a socket which had a function pointer as a
	  callback was closed and then reused
	* if a unbound socket is marked as needing a read, print an error
	  message and close it.  This shouldn't ever happen, but evidentally
	  does and causes the CPU to race

Sat May 27 00:39:07 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b7
	* fixed a crasher in set_privs(ob, 0)
	* fixed a crasher in message() when the destinatination was a string
	  that doesn't correspond to an object
	* fixed a crasher in calling a function pointer in a swapped object
	* fixed a bug that caused ./build.MudOS not to find 'make' if GNU
	  make wasn't installed
	* fixed a bug in disassembling F_BBRANCH_LT and F_NEXT_FOREACH
	  (print as backwards, not forward branches)
	* removed the switch stack; explicit jumps are used instead
	* fixed a crasher in exiting foreach() via break or return
	* cleaned up duplicated code in code generation for loops
	* added support for verifying string lengths in md.c

Tue May 23 17:59:12 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b6
	* fixed a bug in the makefile dependencies that would cause the
	  wrong system libs to be used
	* fixed a bug that when using older versions of gmake would give the 
	  'can't find rule for obj/grammar.tab.o' error
	* updated the Makefiles, fixed a uid compilation problem
	* removed some extra newlines at the end of compiler error messages
	* fixed a crasher in calling functions() on a swapped object
	* fixed a crasher in pluralize()
	* fixed a bug that would cause parse errors/wierd error messages
	  if (: was followed by the end of a line

Mon May 22 15:54:58 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b5
	* fixed a read_file() to set it's return string size correctly
	* fixed a bug that would kick you out of ed if you went to line -1
	* fixed pluralize() to make sure the string is zero terminated
	* swapped two include files to prevent a definition of SE in
	  <sys/sema.h> from overriding one in <arpa/telnet.h>; it causes
	  terminal negotiation to freeze output to the user
	* fixed a bug that caused type errors when inheriting from a
	  program with #pragma save_types on which was saved as a binary
	* upped the default optimization to -O3 on xlc
	* fixed a crasher in assigning to indexed strings/array ranges
	  in LPC->C
	* added LPC->C support for parse_command() and evaluate()
	* put the O_CLONE flag back on replace_program() objects; makes
	  memory accounting efuns return slightly more intuitive values
	  and makes some sense.  This means you can't clone from such an
	  object, but that's probably good since create() isn't what you'd
	  expect anyway	
	* fixed a bug that generated illegal LPC->C code if the last case in a
	  switch was empty (it's legal in LPC but not ANSI C)
	* fixed a few typos in LPC->C code generation (i -> lpc_int)
	* made the error messages for trying to compile something with a
	  functional more friendly (LPC->C)

Sun May 21 09:17:34 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b4
	* fixed a bug that caused void and int to be compatible
	* modified svalue_to_string and sprintf() to use outbuffers
	* modified bad_argument() to use an outbuffer
	* modified *_IN_TRACEBACK to use an outbuffer
	* fixed outbuffers to truncate if they accumulate > 64k of data
	* fixed a bunch of lines in interpret.c which had a space
	  before the preprocessor directive
	* cleaned up some more uses of MSTR_SIZE/COUNTED_STRLEN to fix
	  more bugs with > 64k strings
	* fixed a typo in the string switch type error message
	* optimized STRING_STATS a bit (only do COUNTED_STRLEN() once
	  in places)
	* set up an error context before calling flag() in master in case
	  there is an error
	* check_memory() updated to know about the new malloc'ed strings
	* optimized/cleaned up break_string()
	* fixed a memory leak due to functionals keeping programs loaded
	* fixed a memory leak in throw()
	* fixed a memory leak in [0..n] array ranges on ref 1 arrays

Sat May 20 10:21:58 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b3
	* fixed a syntax error with PACKAGE_MUDLIB_STATS defined
	* fixed a name conflict between mudlib_stats.c and 
	  packages/mudlib_stats.c; moved all mudlib_stats and uid
	  code into the appropriate package file
	* removed some remaining DEALLOCATE_MEMORY_AT_SHUTDOWN code
	* edit_source -configure now checks for POSIX getcwd()
	  and <crypt.h>
	* fixed a problem where edit_source would abort if a define
	  in local_options and options.h had different values (it died
	  with a redefinition warning)
	* fixed alot of compilation warnings under SGI cc -fullwarn
	* fixed a bug where __PORT__ was zero when specifying sockets
	  as external_port_x
	* fixed a crasher in socket_address()

Wed May 17 15:30:02 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b2
	* fixed a typo in cfuns.h
	* fixed a problem with parsing of line specifiers which was causing
	  search in ed to not return an error message; changed the message
	  for search failing
	* fixed a bug in SVALUE_STRLEN that would cause crashes involving
	  strings longer than 64k

Tue May 16 16:24:21 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.4b1
	* fixed a typo in dumpstat.c
	* added Aragorn's patch to allow %x to specify hexidecimal in sscanf
	* partially rewrote the contrib efun pluralize() to handle 'X of Y'
	  and clear up some crashers, as well as be a bit more robust/efficient
	* cleaned up some gcc -Wall warnings
	* include configure.h as well as std_incl.h when testing for existence
	  of header files.  This fixes misconfiguration bugs with respect to
	  rusage() on some systems (SunOS, ...)
	* fixed outbuf_t compilation problems in comm.c on some systems
	* fixed a crasher when explode() returned an array that was truncated
	  due to max_array_size

---------------------------------------------------------------------------
(v21.3b5 promoted to v21.3)

Mon May 15 02:46:10 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.3b5
	* fixed a bug in code generation for addition; would produce incorrect
	  code when LHS was a number or real and RHS was type string or mixed

Sat Apr 29 23:59:18 CDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.3b4
	* fixed a badly indented line in the GNUmakefile
	* fixed some OBJDIR rules to not cause recompilation of alot of
	  things when using GNU make
	* fixed generation of package Makefiles

Sat Apr 29 23:59:18 CDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.3b3
	* fixed some compilation problems with LPC->C off
	* put in a better fix for the function pointer to void valued efun
	  problem; a debug check was erroneously misfiring on the old
	  version

Sat Apr 29 20:58:34 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.3b2
	* changed some #ifdef 0's to #if 0's
	* added a check to use -m486 when compiling using gcc on a 486
	* fixed a crasher in self-destructing objects with call_outs
	* fixed a crasher with calling reload_object() when call_outs to
	  function pointers existed
	* fixed TELOPT_NAWS to properly handle zero bytes; caused the
	  reported screen size to be in the 17000 range
	* fixed a typo in the missing type for argument fix in v21.3a7
	* fixed a macro that xlc complained about in lex.c
	* fixed a crasher in calling reload_object() on a swapped object
	* fixed a crasher in reclaim_objects() with function pointers with
	  no arguments
	* fixed a crasher in edit_source
	* #ifdefs are now legal in packages/*_spec.c
	* updated 'Install' with the new build procedure

Sat Apr 29 20:58:34 EDT 1995 (tim@handel.princeton.edu (Beek))
	* v21.3a7 promoted to v21.3b1

---------------------------------------------------------------------------
(v21.2b8 promoted to v21.2)

Sun Apr 23 21:02:52 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.2b8
	* fixed a crasher in efun pointers to void valued efuns

Fri Apr 21 01:17:24 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.2b6
	* fixed a bug that caused all the login ports to try to use the
	  same port number
	* fixed a crasher in PORT_ASCII objects which dest themselves
	  from inside process_input()
	* fixed a crasher that would occasionally generate the wrong
	  code for default arguments
	* Added a missing \n in the Function is no longer a simul error
	  message
	* Fixed a crasher in short style efun pointers (: efun, x, y ... :)
	* changed a bunch of references to 'vec' in the source to 'arr'
	  since we no longer refer to arrays as 'vectors' :)
	* removed the port_number variable internally, the external_port
	  array is used everywhere now
	* changed the -p switch to change the port of external_port_1
	* added some missing commas in the %O output of function pointers
	* the refs() contrib efun was updated to know about classes
	
Tue Apr 18 17:30:51 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.2b5
	* fixed a crasher in bind() on lfun/efun/simul function pointers
	  with no arguments
	* fixed a crasher in call_out_list() when a destructed object
	  had a pending call_out
	* fixed socket_address(object) to convert the port number back
	  to host byte ordering (from Angus@Styx)
	* fixed a crasher after compiling 256 break statements
	* fixed a typo in the GNUmakefile
	* sockets are now initialized before preload() is called, so it
	  is possible to preload socket objects
	* name the spec files in packages/ foo_spec.c instead of foo.spec
	  to avoid a gcc bug
	* include all include files found up to a given point in include
	  tests; <sys/resource.h> needs <sys/time.h> etc.
	* make sure TELNET_NAWS is in <arpa/telnet.h>, otherwise use the
	  one in the MudOS distribution
	* fixed a crasher in set_hide() when the valid_hide() check failed
	* fixed a crasher in anonymous functions with empty blocks
	  function(...) {}
	* removed some unnecessary prototypes from lint.h; the configuration
	  process now finds the appropriate includes
	* mark the config strings as being correctly allocated for
	  check_memory()
	* fixed a bug where Linux 1.2.1 sometimes returns ECONNREFUSED
	  from recvfrom() for UDP sockets when an ICMP_PORT_UNREACHED
	  is generated internally
	* fixed a compiling problem with pluralize() in the contrib packages
	
Tue Apr 18 17:30:51 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.2b4
	* fixed a crasher in calling process_input() for PORT_BINARY and
	  PORT_ASCII ports
	* fixed a bug that would cause the first efun (alphabetically) to
	  do nothing
	* fixed a typo in a call to debug_message_with_location() in simulate.c
	* fixed a mis-optimization of typeof() that caused it to always
	  return 2

Mon Apr 10 23:41:33 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.2b3
	* added Symmetry's fix so OSFLAGS gets propagated to the makefiles
	  for AIX
	* fixed a typo in the v21.1b2 regexp fix
	* removed an unused definition of find_status()

Fri Apr 7 12:57:56 EDT 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.2b2
	* reorganized the v21.1 changelog entry to be more concise/clear
	* fixed a bug that would loop forever on partial matches when
	  finding a substring in a string using strsrch() search from the
	  right
	* fixed regexp.c on Linux to define CHARBITS correctly; won't work
	  on systems with non-8 bit chars, but the old code seems to be
	  incorrect.
	* Next two fixes from Aragorn:
	  . Fixed the warning about too many file descriptors to print the
	    right number
	  . Don't free 'use_name' until after we're done using 'file' since
	    'file' may point at it

Fri Mar 24 20:59:08 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.2b1
	* v21.1b7 promoted to minor version status (see v21.1)
	* Changed the error message for arr[<x] where x > sizeof(arr)
	  to 'Array index out of bounds' from 'Negative index passed to array'
	* fixed the extern definition of control_stack[] to use MAX_TRACE
	  instead of being hardcoded at the default

------------------------------------------------------------------------------
Fri Mar 24 20:59:08 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.1b7
	* fixed a crasher in call_out(function, ...) when NO_SHADOWS
	  was off
	* removed a check for destructed objects in get_all_call_outs()
	  which:
	  (a) didn't remove destructed objects
	  (b) removed call_outs to function pointers
	* added in the config file crasher fix from v21.2a5

Sun Mar 19 21:02:18 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.1b6
	* fixed a small optimization to backend.c introduced in v21.1b5
	* fixed a typo in the v21.1b5 type check fix
	* Robocoder: in config files, restrict sscanf() matches to
	  the current line

Sat Mar  4 16:04:43 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.1b5
	* some amiga compilation fixes from Robocoder
	* added some smalloc accounting fixes from Robocoder; keep track
	  of wasted memory as well as some more overhead
	* cast IAC to signed char so it is compatible with (char *)
	* fixed a bug in type checking that made (class foo *) and (mixed *)
	  incompatible
	* fixed a typo in the prototype fix from v21.1b4
	* defining two classes with the same name is now an error
	* compilation fix for IRIX 5.3 (needs <unistd.h>)
	
Sat Mar  4 16:04:43 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.1b4
	* fixed a ref count error/crasher in inherits()
	* fixed a ref count bug/memory leak (programs referenced by 
	  non-bindable function pointers weren't being freed)
	* added code to check function references to programs in md.c
	* added in some porting fixes for CX/UX 6.1 (from DrFeelgood)
	* fixed a memory munger in regular expressions that end in '\'
	* fixed inherited functions which have a different number of
	  arguments than the functions they replace to not error

Sat Mar  4 16:04:43 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.1b3
	* removed some debugging code in lex.c
	* fixed a typo that prevented #undef OLD_ED compilation
	* fixed compilation with #undef NO_MUDLIB_STATS
	* fixed a crasher in type errors in division
	* fixed a division error message that erroneously indicated
	  multiplication
	* fixed a type error in locals used in anonymous functions
	* fixed a bug in smalloc accounting

Wed Mar  1 18:14:01 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.1b2
	* brought up to date with respect to v21c1

Wed Mar  1 18:14:01 EST 1995 (tim@handel.princeton.edu (Beek))
	* raised patchlevel to v21.1b1
	* added three new contrib efuns:
	  . int replaceable(object) - returns 1 if the object consists only
	           of a create() function and inherited functions
	  . void program_info() - prints out memory usage of programs
	           divided up by sections
	  . string upper_case() - similar to lower_case(), but ... :)
	* fixed a crasher in the compilation of switch tables to C code
	* rewrote/optimized some of the compile time type checking
	* void efuns no longer return a value on the stack.  If the value
	  is used (c.f. x = write("hi")) a F_CONST0 instruction is inserted
	* removed the errorp() efun
	* added a customized allocator for mapping nodes.  This should reduce
	  memory usage and increase speed of additions/deletions
	* removed RUNTIME_LOADING from options.h
	* fixed a crasher involving finding duplicate objects in the hash
	  table with LPC objects precompiled and DEBUG on
	* changed program ref counts to shorts