From: garnett@gestalt.austin.tx.us (John Garnett)
Newsgroups: rec.games.mud.lp
Subject: MudOS 0.9.14 available
Keywords: mudos lpmud 0.9.14 ucbvax
Date: 13 Dec 92 10:49:43 GMT

MudOS 0.9.14 is available on ucbvax.berkeley.edu:/pub/games/lpmud/MudOS

The file is MudOS_0.9.tar.Z.  This contains updated documentation and
installation instructions as well.  0.9.14 is also available separately as  
source only: 0.9.14.tar.Z (this source is included in MudOS_0.9.tar.Z for thoae  
that want the source and the documentation).

MudOS is an enhanced LPmud 3.x driver (native mode only).

-- cut here --

Changes from MudOS 0.9.0 to MudOS 0.9.14.

[Changes since the MudOS 0.9.0 release are marked with an 'o' instead of an  
'*']

o various bug fixes (see src/ChangeLog for more detail than you want).

o added a new data type named 'function'.  Be sure to change the names of
  any variables you may have named 'function'.  This data type is a variant
  on the idea of function pointers.  It may be used to store an
  (object, function) pair in a single variable.  The constructor for function
  variables is as follows: 

  function f;

  f = (: obj, func :);

  where obj and func may be anything allowed by call_other(obj, func).
  To call the function func in object obj via function variable f, type:

  (*f)(arg0, arg1, ...); 

  You may use the new functionp() efun to detect if a variable is of type
  function.

o the driver now compiles under the xlc compiler on the RS/6000 (xlc is IBM's
  fastest of AIX 3.2 C compilers).

o added Mappings and Interactives fields to the stats output by mud_status().

o added a new efun set_eval_limit (#define SET_EVAL_LIMIT on options.h) that
  allows an object to change the max eval cost limit.  Be sure to add
  appropriate mudlib level security before enabling this efun (read the
  ChangeLog 0.9.13.4).

o added Cynosure's livings() efun that returns an array of all objects that
  have called enable_commands() (and haven't yet called disable_commands()).

o changed the behavior of nullp() and undefinedp() slightly (see 0.9.13.2
  ChangeLog).

o The catch() efun may no longer be used to trap max eval_cost exceeded
  errors (and thus hang the driver).

o System V Release 4 support (added M.B. Bundy's patches)

o added capability to configure the default 'What?' message via the runtime
  config file.

o dramatically improved global apply_low (call_other) cache hit rates.  Many
  muds that used to have hit rates near 40% are reporting 93% and above.
  [This improvement results from fixing a bug we found in the LPmud 3.1.2
   cache code.  See ChangeLog for more details.]

o 0.9.14 mappings use about 50% less memory overhead per mapping (compared
  to 0.9.0).

o improved performance.  MudOS 0.9.14 is much faster than MudOS 0.9.0
  at executing many of the more commonly used eoperators.

o created an efuns.h file that should be #include'd from any file that wants
  to define new efunctions (see efunctions.c for example).

o added strcmp() efun (just like C's strcmp) that is convenient for use in
  the compare functions used by sort_array().  sort_array() has been recoded
  to use a robust version of qsort so that ill-behaved compare functions won't
  crash the driver.

o added efuns clonedp() (detects if an object was created via clone_object),
  functionp() (detects if a variable is of type 'function').

o added a new eoperator F_CALL_EXTRA that allows for 512 efuns+eopers instead
  of the previous limit of 256 (easily extended to allow more).  This replaces
  and enhances the F_CALL_EFUN that we had added to the previous release.


--
John Garnett                   garnett@gestalt.austin.tx.us (NeXT Mail ok)
Newsgroups: rec.games.mud.lp