Removed several PennMUSH-specific files no longer relevant to CobraMUSH
authorAri Johnson <ari@cobramush.org>
Thu, 14 Jun 2007 15:30:48 +0000 (15:30 +0000)
committerAri Johnson <ari@cobramush.org>
Thu, 14 Jun 2007 15:30:48 +0000 (15:30 +0000)
BUGS [deleted file]
CHANGES.174 [deleted file]
CHANGES.175 [deleted file]
CHANGES.176 [deleted file]
CHANGES.177 [deleted file]
CHANGES.180 [deleted file]
CHANGES.181 [deleted file]
CHANGES.182 [deleted file]
CHANGES.183 [deleted file]
CHANGES.OLD [deleted file]
FAQ [deleted file]

diff --git a/BUGS b/BUGS
deleted file mode 100644 (file)
index 9814dae..0000000
--- a/BUGS
+++ /dev/null
@@ -1,9 +0,0 @@
-Bugs that aren't our fault, but might bite people with old compilers:
-
-* Ralph Melton reports that compiling with gcc 2.5.8 under SunOS 4.1.1
-  using -O optimization and forking dumps causes the dump process to
-  crash. Removing -O fixes the problem; so might using a more recent gcc.
-* Javelin has confirmed that compiling with gcc 2.7.2.3 under Linux 2.2.16
-  using -O optimization causes ansi(rh,a) to crash. Removing -O fixes
-  the problem; so might using a more recent gcc
-
diff --git a/CHANGES.174 b/CHANGES.174
deleted file mode 100644 (file)
index a28e272..0000000
+++ /dev/null
@@ -1,714 +0,0 @@
-This is the changes file for PennMUSH 1.7.4. Please look it over; each
-version contains new things which might significantly affect the
-function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian)
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[LdW] is Luuk de Waard, a former PennMUSH developer (aka Halatir)
-[RLM] is Ralph Melton, a former PennMUSH developer
-[NJG] is Nick Gammon, the primary Win32 porter
-[EEH] is Ervin Hearn III, a Win32 porter (aka Noltar)
-[DW] is Dan Williams, the MacOS porter
-[2.2] refers to code which originated with the TinyMUSH 2.2 developers
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.7.4 patchlevel 20                   September 19, 2002
-
-Fixes:
-  * Help semaphores4 typo fixed by Mike Griffiths.
-  * Help cleanup. [TAP]
-  * See_All players now see hidden connected mail senders. Suggested
-    by Philip Mak.
-  * spellnum could introduce spurious spaces. Reported by Intrevis@M*U*S*H.
-  * table() sometimes produced spurious blank rows. Reported by
-    Nymeria@M*U*S*H. This is the first attempt at a fix.
-  * switch() help improved. [SW]
-  * enter <exit> no longer returns Permission denied, but 
-    "I can't see that here", as you can only enter things. 
-    Suggested by Philip Mak.
-  * A one-time, one-pointer memory leak in plyrlist.c fixed
-    by Vadiv@M*U*S*H.
-  * Unbalanced or empty double-quotes gave weird results in page 
-    and whisper. Reported by Vadiv@M*U*S*H. [SW]
-  * @chan/decomp no longer shows names of channels that the enactor
-    can't see. Reported by Nat@SW:ANT.
-  * The lock() and elock() functions now operate properly with
-    user:whatever locks. Reported by Mike Griffiths.
-  * pmatch() will locate hidden players if they're visible to you
-    because they're nearby. Suggested by Julian@M*U*S*H.
-  * regedit and other functions that used $-substitutions for subpatterns
-    could produce weird results in some cases. Reported by Bellemore@M*U*S*H
-
-
-Version 1.7.4 patchlevel 19                   June 14, 2002
-
-Minor changes:
-  * Wizards can now unset the WIZARD flag on any thing, whether they
-    own it or not. Suggested by Cerekk@bDv.
-  * Circular zoning is no longer allowed. Fixes part of a bug reported
-    by Philip Mak. [SW]
-Fixes:
-  * Win32 portability fixes. [EEH]
-  * grep for 'grep' rather than 'egrep' in restart because in grep 2.5.1,
-    egrep is a shell script that exec's grep instead of a link.
-    Fix by Vadiv@M*U*S*H.
-  * The messages for a possessive get used the object's new location
-    instead of its old one. Fixed by Apollo@Restoration.
-  * Attempts by unlinked exits to @link an exit could crash. 
-  * %1 in @areceive was being set to the recipient rather than the giver.
-    Fixed. Report by jubjup@trekmush.org
-  * @uptime fix for Linux 2.4 kernel. [SW]
-  * The @@() function no longer complains about commas. Report by
-    Trispis@M*U*S*H. [TAP]
-  * @search flags=<flaglist> is now smarter about toggles with the same
-    letter and different types. Report by Philip Mak.
-  * English-style matching now ignores the type of object being matched.
-    This fixes a bug with, e.g., @link my 1st object=me reported by
-    Oriens@Alexandria.
-  * bound() now listed in the math functions list. Report by Dandy@M*U*S*H.
-  * Help fix for member() by Cerekk@bDV TrekMUSH
-  * The server can now transparently read mush.cnf (and included) files
-    that have Dos- or Mac-style line-endings. Suggested by Paleran.
-  * Crash bug in @search fixed. Reported by Philip Mak.
-
-Version 1.7.4 patchlevel 18                   May 6, 2002
-
-Minor Changes:
-  * The Mersenne Twister RNG has been backported from 1.7.5 into
-    this patchlevel, as it is not susceptible to some bugs that could
-    cause the RNG to hang the server. Report by Bellemore@M*U*S*H.
-  * Improved detection of info_slave errors. Based on patch by CU5.
-  * Rooms and exits can now be @forced. Suggested by Philip Mak.
-  * Deleting files from the hlp/nws/etc. directories is now sufficient
-    to cause game/txt/Makefile to rebuild the txt files. Patch by
-    Philip Mak.
-  * A see_all player may now use @chan/decompile on any channel.
-    Previously, the ROYALTY flag was required. Suggested by Oriens@Alexandria.
-Fixes:
-  * The QUEUE and semaphore attributes aren't listed in @decompile
-    anymore. Suggested by Oriens@Alexandria. [SW]
-  * Several compiler warnings fixed. [SW]
-  * The LASTSITE and LASTIP attributes are now set locked and wizard by default,
-    to go along with the other connection-tracking attributes. [SW]
-  * Help on-vacation updated. Report by Nymeria@M*U*S*H.
-  * Help for following() function added. Report by Ashen-Shugar@Rhost.
-  * The last line of the access.cnf file sometimes wouldn't get read 
-    properly. [SW]
-  * lnum improperly cached its return values without consideration for
-    changes in separator, so subsequent lnums with different separators
-    broke. Reported by Rhysem and Ambrosia@M*U*S*H. [TAP]
-  * Failing to speak on a channel you can't see no longer reveals the
-    full channel name. Reported by Vadiv@M*U*S*H.
-  * Passing a negative argument to the space() function now returns
-    an error string instead of 8192 blanks. Patch by Myrddin.
-  * Improved messages for following/unfollowing an ambiguous object.
-    Reported by Philip Mak.
-
-
-Version 1.7.4 patchlevel 17                   April 14, 2002
-
-Minor Changes:
-  * The on-vacation flag, if in use, is no longer automatically cleared
-    on connect. Instead, the player is warned on connect (and at each
-    dump) that their flag is set. Suggested by Nymeria@M*U*S*H.
-Fixes:
-  * Improved help for edit(). Suggested by Trispis@M*U*S*H [SW]
-  * List functions with null elements and a null output seperator could
-    trip end-of-buffer checks and stop in the middle of a list. [SW]
-  * valid() was inconsistent in how it handled attribute names with lower-case
-    letters compared to what everything else does. Reported by Philip Mak. [SW]
-  * @open could cause crashes in some unusual contexts. Reported
-    by Dandy@M*U*S*H.
-  * Improved sort()'s autodetection of list types. [SW]
-  * Fixed a problem with sorting dbrefs larger than the highest one in the 
-    db. [SW]
-  * Mac portability fixes. [DW]
-  * Help for @open clarified. Suggested by fil@M*U*S*H.
-  * Help for kill clarified. Suggested by Philip Mak.
-  * Channel titles can no longer contain newlines or beeps. 
-    Report by Nome@M*U*S*H.
-  * soundex behaved badly with extended characters. [SW]
-  * inc() and dec() now behave like the help says, regardless of whether
-    tiny_math is set or not. Their behavior on null strings and strings
-    that do not end in a digit depend on the null_eq_zero setting.
-    Reported by Wayne@PDX.
-  * The panic db file descriptor was never closed after reading a
-    panic dump. [SW]
-  * DOES removed from help attribute list. Suggested Philip Mak.
-  * Under no circumstances should connection to a null-named player
-    be allowed. Suggested by Wayne@PDX.
-  * 'with' no longer allows use of $commands on remote objects you
-    don't control. Report by Nammyung@M*U*S*H.
-
-Version 1.7.4 patchlevel 16                   March 11, 2002
-
-Minor changes:
-  * After using 'register' at the connect screen, the player is
-    no longer disconnected. Suggested by Philip Mak.
-  * 'help mail functions'. Suggested by Trispis@M*U*S*H.
-  * Messages associated with drop, give, and get are now more
-    verbose and provide more information about who did what to whom.
-    Suggested by Philip Mak.
-  * Attrib locks did case-sensitive comparison of values, which is not
-    what you probably want. No longer. Reported by Philip Mak. [SW]
-  * QUEUE and sempahore attributes are now removed (not just emptied)
-    when drained or notified to 0. [TAP]
-Fixes:
-  * Improvements in handling ansi in string functions. [SW]
-  * @clone/preserve didn't preserve when cloning exits. Reported by
-    Bellemore@M*U*S*H. [SW]
-  * A significant bug in the manual notification of timed semaphores has 
-    been corrected. [SW]
-  * Revian@M*U*S*H pointed out that user-defined commands starting with
-    "@" that match the names of standard attributes don't behave as
-    you might expect. This is now documented in help user-defined commands.
-  * Security checks for attribute setting used the owner of the setting 
-    object, not the setting object itself. Report by Howie@New Frontier.
-  * help set() improved based on report by Tareldin@M*U*S*H.
-  * folderstats() did not behave as promised in the help. Now it
-    does. Report by Trispis@M*U*S*H.
-  * Typo in src/log.c fixed by Nathan Schuette.
-  * Improved help for DEBUG. [SW]
-  * Aliased 'help ^' to 'help listening2'. Suggested by Philip Mak.
-  * MacOS portability fixes. [DW]
-  * The sigusr1 handler would reinstall itself as the sighup handler
-    on systems that don't provide persistent signals. 
-    Fixed by Bellemore@M*U*S*H.
-  * &a=b me now properly clears the attribute A=B. Reported by 
-    Trispis@M*U*S*H. In addition, now @tel #1234= produces an error,
-    as it should. [SW]
-  * mail functions can now be called by an object on anything it controls
-    (typically, its owner). Suggested by Trispis@M*U*S*H.
-  * The givee is now correctly passed in %1 to @give/@ogive/@agive,
-    and documented. Reported by Philip Mak.
-  * Added hints for Irix 6.x by Vexon@M*U*S*H.
-  * i18n fix for function invocation limit message.
-  * Clarification in help @alias by Philip Mak.
-  * @set obj=!puppet repeatedly no longer repeats the "not listening"
-    message. Reported by Philip Mak.
-
-
-Version 1.7.4 patchlevel 15                   February 8, 2002
-
-Minor Changes:
-  * @dolist and iter(), where multiple tokens are replaced (## and #@),
-    now do both replacements at once. This is more efficient in several
-    ways and fixes a problem where if the second token gets into the
-    string from a replacement of the first, it gets replaced. (iter(a#@,
-    ##) should return a#@, not a1). [SW]
-  * setunion no longer eats empty list elements. [SW]
-  * The help text for items() is now more descriptive of how it works
-    and differs from words(). Suggested by Zen@SW1.
-  * When you attempt to @chzone an object to a ZMO without a zone-lock,
-    a default zone-lock of "owner of the ZMO" is now set, and the
-    attempt succeeds. Suggested by Linda Antonsson.
-  * In the French message translation files, the word 'drapeau' and
-    'flag' were used interchangeably. I've standardized on 'flag'.
-    Report by Vexon@M*U*S*H.
-Fixes:
-  * Message typo fixed by Bellemore@M*U*S*H.
-  * No more ansified names in logged shutdown messages. Report by
-    Bellemore@M*U*S*H.
-  * Messages when destroying players now take into account the 
-    destroy_possessions and really_safe settings. Suggested by Wayne@PDX.
-  * The parser no longer strips any first layer of braces in, e.g.
-    @switch action clauses, but only when the first character in the
-    clause is a brace. This prevents @sw 1=1, @wait me={@emit 1; @emit 2}
-    from being misparsed and running @emit 2 immediately. Reported by
-    Azratax@Azmush. [TAP]
-
-Version 1.7.4 patchlevel 14                   January 4, 2002
-
-Minor Changes:
-  * The global function invocation limit is now 5 times the per-evaluation
-    function invocation limit, to provide some flexibility in cases
-    where you run a small number of functions that cause a larger
-    number of other functions to be evaluated (e.g., using tel()
-    to move players into rooms with function-laden descriptions). [TAP]
-Fixes:
-  * Mortals are now restricted in which html tags they can generate
-    when pueblo support is enabled. Suggested by BladedThoth.
-  * @sitelock/name !<name> was improperly case-sensitive in its
-    matching. Reported by Linda Antonsson.
-  * Better invocation count checking and aborting on reaching limit.
-    Reported by Ashen-Shugar. [TAP]
-  * Beep characters are ignored when matching object listen patterns.
-    Suggested by Wayne@PDX.
-  * The end-of-dump marker is checked when reading the chat database.
-    Suggested by Bellemore@M*U*S*H. [SW]
-  * @lock obj=attrib:value locks were broken. Reported by Linda
-    Antonsson.
-  * Minor help fixes.
-
-Version 1.7.4 patchlevel 13                   November 30, 2001
-
-Minor changes:
-  * options.h.dist mentions Darwin as well as MacOS X. [DW]
-  * PCRE updated to 3.7. [SW]
-  * When CHAN_NAME_LEN is increased beyond 30, the @chan/list header
-    line is misaligned, and other strange things can happen to
-    @chan/list. Reported by Bladed Thoth
-Fixes:
-  * Crash bug in chat channels reported by BladedThoth.
-
-Version 1.7.4 patchlevel 12                   November 9, 2001
-
-Minor changes:
-  * @dol/delim is now @dol/delimit, for Mux compatibility. [SW]
-  * /preserve switch for @chownall works like @chown's /preserve switch.
-    This changes the default behavior of @chownall, which used to
-    preserve everything, to work like @chown and strip privileged bits.
-    Suggested by Taladan@M*U*S*H.
-Fixes:
-  * Warnings in index-files.pl are no longer shown. Report by Noltar@Korongil
-  * Additional support for ansi in channel names. Ansi is now stripped
-    when sorting channels and when matching names for @chan/decomp and
-    @chan/what.  Reported by Oriens@Alexandria.
-  * Help @decompile clarifies the /flags switch. Suggested by Oriens@Alexandria
-  * Source is indented before diffs are produced.
-  * Typo in help zmr correct by Oriens@Alexandria.
-  * Players disconnecting without QUIT continued to use CPU until fully
-    disconnected. Fixed. Report by Protagonist@M*U*S*H. [SW]
-
-
-Version 1.7.4 patchlevel 11                   October 15, 2001
-
-Minor Changes:
-  * In places like switch() that can match <number, the numbers
-    are now treated as floating point, so they need not be only integers.
-    However, they must be pure numbers; "<3km" will not work.
-  * Tests for channel name matches now disregard ansi. Suggested by Wayne@PDX.
-Fixes:
-  * MacOS linting. [DW]
-  * next() could reveal unfindable players. Reported by Jeffrey@TheHotel. [TAP]
-  * making diffs or a dist now insures that switches.h, etc. are rebuilt
-    for the Mac/Win32 crowd. Reported by many people.
-  * Some warnings discovered with compiling with gcc 3.0.1 fixed. [SW]
-  * Potential crash-or-worse bugs that could be caused by malformed
-    save messages fixed. [SW]
-  * @mail to players with names starting with numbers works correctly now.
-    Report from Mike Wesson. [SW]
-  * Fewer logged warnings from failed convtime()s. [SW]
-  * Help for page now mentions /blind. Reported by Oriens@Alexandria.
-  * Attempting to set an invalid priv on a channel now produces a
-    better message. Reported by Oriens@Alexandria.
-  * Improved message when a Wizard overrides a chan join lock by Wayne@PDX.
-  * Another way to end up inside yourself fixed. Report by Ashen-Shugar. [TAP]
-  * Help default/edefault syntax clarified by Delina@ST:VAAE
-  * Help math functions clarifies 'number'. Suggested by Delina@ST:VAAE
-  * Information on the patches.h header added to the FAQ file. Suggested 
-    by Kahmy. [SW]
-  * Potential crash in @set fixed. Report by Michael Loftis [SW]
-  * The Unfindable flag is checked on all levels of containers, not just
-    the immediate location. Suggested by Oriens. [SW]
-  * NT_TCP fix by Bellemore.
-  * secure() now escapes ^, as the help says it does. Report by Gabriel Matlin.
-  * link_anywhere now lets you actually @link anywhere, instead of just
-    letting variable exits link anywhere. Report by Viila@M*U*S*H.
-  * help home now returns help homes, not help home(). Suggested by 
-    Gary Williams
-
-Version 1.7.4 patchlevel 10                   September 7, 2001
-
-Fixes:
-  * @clone changes in p9 introduced a crash bug. Fixed.
-  * Typo in mushcnf.dst fixed by Noltar@Korongil.
-
-Version 1.7.4 patchlevel 9                    September 4, 2001
-
-Minor changes:
-  * @clone can optionally specify a new name for the clone.
-    Patch by Bellemore@M*U*S*H, inspired by mux.
-  * die() can take a third argument which, if true, will cause it to
-    return the list of individual die rolls rather than the sum.
-  * NT_TCP option moved to options.h.dist, and @config/list compile now
-    reports whether it's on or not. Suggested by Glonk@GlonkMUSH
-  * QUIET flag affects the "Teleported." message as well.
-    Suggested by Glonk@GlonkMUSH.
-  * pos() and strmatch() strip ansi and html markup before matching. [SW]
-  * Slight optimizations for many of the functions that strip markup. [SW] 
-  * chat_strip_quote setting now applies to @*wall and say. Suggested by
-    Glonk@GlonkMUSH. [SW]
-  * @malias/who is now the same as @malias/members. Suggested by
-    Oriens@Alexandria.
-  * Small code change in do_chat_by_name so that find_channel_partial_on
-    can behave as documented. Suggested by Michael Loftis
-Fixes:
-  * p8 broke regeditall when the replacer was null. Fixed.
-    Reported by Nymeria@M*U*S*H.
-  * Some unused variables removed, and pcre.h included in parse.c.
-    Reported by Sidney@M*U*S*H.
-  * index-files.pl produced an uninitialized value warning if a help file
-    had only a single entry (or admin entry). Warning removed.
-    Reported by Nymeria@M*U*S*H.
-  * Fixed to help lstats() to mention stats() as alias. Reported by
-    Glonk@GlonkMUSH.
-  * Help edit() fix by Sash@SW:Uprising.
-  * Improved failure message for @password. Suggested by Mike Wesson. [SW]
-  * alphamin()/alphamax() were stripping markup from what they returned. [SW]
-  * PARANOID flag is now only visible to owners. Reported by 
-    Bellemore@M*U*S*H.
-  * Improved error message when trying to rejoin a channel. [SW]
-  * In Win32 NT_TCP mode, ident lookups are now done and the LASTIP
-    attribute doesn't get corrupted. Patch by Bellemore@M*U*S*H.
-  * @chan/describe now works along with @chan/desc. Suggested by 
-    Trispis@M*U*S*H
-  * 'teach'ing a motion to a follower didn't work right. Reported by
-    Cheetah and Viila@M*U*S*H.
-  * Security bug in follow fixed. Reported by Walker@M*U*S*H.
-  * The &ecirc; and &euml; entities were not correctly returned in
-    Pueblo mode. Fixed by [NG].
-  * Help for trig functions improved. [SW]
-  * Pueblo references no longer give Chaco's (defunct) website.
-    By Noltar@Korongil.
-
-Version 1.7.4 patchlevel 8                    July 22, 2001
-
-Minor changes:
-  * restart is a bit more precise in the "Mush already active" message.
-    Suggested by Lucas Layman.
-  * When a player's creation is refused because creation/registration
-    is globally turned off, show them register.txt instead of down.txt.
-    Patch by Bellemore.
-  * The NOSPOOF flag is now visible only to the player themself. [SW]
-  * regedit can now use backreferences in the replacer. [SW]
-Fixes:
-  * ident lookups were broken on win32. Reported by Bellemore. [SW] 
-  * ident query timeouts could get doubled mistakenly. [SW]
-  * Typo in mushcnf.dst fixed by Noltar@Korongil.
-  * Fix to help puppets2 by TurtleKnee@M*U*S*H.
-  * Help pcreate() added. Report by Eratl@M*U*S*H.
-  * @pcreate messages capitalized by Oriens@Alexandria.
-  * create() used 10 as the default cost, instead of the configured
-    default. Report by 8bitMUSH.
-  * Inactivity timeouts longer than 1 day didn't work. Fixed and
-    efficiency of the check improved. Reported by Bellemore@M*U*S*H.
-  * Null @aliases are no longer allowed. [SW]
-  * Cleanup to ident for situations when the remote host isn't running
-    an ident server. [SW]
-
-Version 1.7.4 patchlevel 7                    July 02, 2001
-
-Major changes:
-  * %r can now evaluate to one character or two, based on a new config 
-    option, newline_one_char, which defaults to being yes. This allows
-    %r to be used as a list delimiter. However, this may
-    break softcode which expects strlen(%r) to be 2, but it's probably
-    smarter to fix the softcode than turn off this option. [sw]
-  * If a command and a standard attribute have the same name, the
-    command takes precedence. So if you have an @attribute named
-    "PEMIT", @pemit me=foo will do the command, not set the attribute. [SW]
-Minor changes:
-  * When someone attempts to create too many attributes on an object,
-    the log indicates who and which object. Suggested by Frob@Battlestar
-    Galactica:TSC.
-  * Buncha tprintfs replaced with notify_formats. [SW] 
-  * New local_connect() and local_disconnect() hooks in local.dst.
-    Suggested by Eratl@M*U*S*H.
-  * lookup_player now deals with player names prefixed with "*",
-    so a bunch of commands like @newpassword will now treat those
-    arguments. Suggested by Glonk@GlonkMUSH.
-  * Make is more verbose about alerting you to changes in the 
-    src/*.dst files.
-  * The message for undestroying someone else's object more closely matches
-    the destroy message. Suggested by Noltar@Korongil.
-  * Server output that used to be tagged with "PRE" for Pueblo is now
-    tagged with "SAMP", because the original Pueblo client did not correctly
-    handle "<BR>\n" in PRE, and the newer clients that are supporting
-    the pueblo protocol, like MUSHclient, do handle it correctly, causing
-    an incompatibility problem. Our workaround is to avoid PRE. 
-    Reported by [NJG].
-  * The WHO list output is tagged <img xch_cmd=html> for Pueblo to get
-    appropriate newline handling. [NJG]
-  * help @mail mentions help @malias. Suggested by Trispis@M*U*S*H.
-  * Matching code now treats players you can't see like disconnected players
-    when matching *player. Reported by Walker@M*U*S*H.
-  * @newpassword now confirms whose password was changed. Suggested by
-    Xyrxwyrth@M*U*S*H.
-  * @chan/who and cwho() now include objects on the channel. Suggested by
-    Glonk@GlonkMUSH.
-  * q-register lookup is slightly faster. [SW]
-  * Floating-point numbers in exponential format (6.02e23) are always
-    accepted, not just when tiny_math is set. [SW]
-  * isint() and isnum() ignore the null_eq_zero option, since they already
-    ignore tiny_math. [SW]
-  * time() and convsecs() take an optional timezone argument that,
-    if 'UTC', makes them act the same way as utctime() and convutcsecs(). 
-    From MUX2. [SW]
-Fixes:
-  * Additional range checking to avoid some bugs reported by Alierak. [SW]
-  * Fix to buglet in @name error with PLAYER_NAME_SPACES reported by
-    Luke@M*U*S*H.
-  * Typo in @name error message fixed by Luke@M*U*S*H.
-  * One could @pcreate players past the hard db limit. Reported by Z@Korongil.
-  * Typos in config_h.SH and options.h.dist fixed by Oriens@Alexandria.
-  * Under some conditions, you could double-join a channel.
-    Reported by Xyrxwyrth@M*U*S*H, investigated by Steven@Champions.
-  * Error message for @chan/desc improved. Reported by Oriens@Alexandria.
-  * Typo in alias.cnf fixed by rodregis@M*U*S*H.
-  * @mvattr sometimes failed to remove the old attrib, when it was a 
-    standard attrib that could be abbreviated (@mvattr a/desc=b).
-    Fixed by Walker@M*U*S*H.
-  * Some english-matching (like 'get 1st foo') would fail. Reported by
-    Mystery8.
-  * Typo in help @verb reported by Greck.
-  * MacOS tweaks. [DW]
-  * Better detection of numbers that are too big. [SW]
-  * Wizards could crash the server by entering objects in their own
-    inventory. Reported by Howie@New Frontiers.
-
-Version 1.7.4 patchlevel 6                    June 11, 2001
-
-Minor changes:
-  * English-style matching has been added to some more commands, 
-    to help with the stricter ambiguity checking (@teleport my 3rd foo=box, 
-    etc.). [SW]
-  * @pemit/list no longer does its useless ## substitution. [SW] 
-  * capstr() and art() skip leading ansi and html. [SW]
-  * table(), alphamin(), alphamax(), comp(), lcstr(), ucstr(), strinsert(), 
-    and delete() are all ansi and html aware. Mixing html and ansi in their 
-    arguments is probably a bad idea, though. [SW]
-  * reverse() and scramble() are ansi-aware, and still will break html, but 
-    in a different way than before. [SW]
-  * foreach() strips ansi and html from the string before doing its things. [SW]
-  * Complete Norwegian translation by Kenneth Aalberg.
-Fixes:
-  * Bug in growing hash tables fixed. [SW] 
-  * Typo in copyright fixed. Reported by Cheetah@M*U*S*H.
-  * Unused variable removed from fun_ansi. Reported by Sidney@M*U*S*H.
-  * Mac portability stuff. [DW]
-  * Wizards could @chown garbage objects. [SW]
-  * Wizards could give to garbage objects. [SW]
-  * Wizards could read God's @mail. [SW]
-  * Eliminated some compiler warnings. [SW]
-  * mid() was quite broken with ansi. right() was less broken. 
-    Both hopefully fixed for good. [SW]
-  * Fixed a problem with the attribute used with foreach() evaluating from 
-    the perspective of the wrong object. [SW]
-  * before(), after(), and wrap() are now classified as string functions
-    in the help. [TAP]
-  * help wildcards now mentions ?. Suggested by cmintrnt@M*U*S*H.
-  * help fixes by Jeff Ferrell.
-  * Problems with wrap() when the text included %r%r (or started with %r)
-    reported by Noltar@Korongil.
-  * If you somehow managed to load a corrupt db with a parent loop,
-    lparent could infinite-loop. Reported by Ashen-Shugar. [TAP]
-
-
-Version 1.7.4 patchlevel 5                    May 25, 2001
-
-Fixes:
-  * Fix to uninitialized variable that could cause ansi to bleed
-    on some systems. Patch by Luke@M*U*S*H
-  * Prototypes for ansi_align and ansi_save added to externs.h. [DW]
-  * FreeBSD hints file updated to get rid of a compiler warning. [SW]
-  * Setting hate_dest to no will not disable @recycle [SW]
-  * switchinc.c updated. [DW]
-
-
-Version 1.7.4 patchlevel 4                    May 13, 2001
-
-Minor changes:
-  * Internally, the /folder switch is now /folders, which prefix-matches
-    to /folder and also lets @mail/folders work as syntactic sugar.
-  * fun_ansi has been rewritten to use less buffer space by consolidating
-    ansi codes. New codes for turning off ansi attributes (like hilite)
-    also added.  Patch by Luke@M*U*S*H.
-  * /silent switch to give suppresses default messages when giving
-    money to players. Suggested by 8BitMUSH.
-  * Old port concentrator code removed. [SW]
-  * On linux, @uptime reads /proc files instead of running 'uptime' [SW]
-  * Code that uses strdup and then adds a MEM_CHECK record for "string"
-    now use a wrapper function that does it automatically. [SW]
-Fixes:
-  * Paging a page-locked player didn't give the appropriate messages.
-    Reported by Steven@Champions.
-  * left, right, and mid are now ansi-aware. Patch by Luke@M*U*S*H.
-  * Help fixes to lexits(), name() (Noltar@Korongil), 1.7.4p3 (Z@Korongil).
-  * win32/cmds.h updated with prototypes for dismiss and desert by
-    Noltar@Korongil. And hdrs/externs.h, too, by [SW].
-  * Memory leak with using alphabetic q-registers in queued commands fixed.
-    Report by Jayvin@Dynamix [SW]
-  * Added hints/openbsd.sh to distribution.
-  * Mac portability linting. [DW]
-  * Several memory leaks in @malias code fixed. [SW]
-
-Version 1.7.4 patchlevel 3                    April 23, 2001
-
-Commands:
-  * unfollow with no args now stops you from following everyone.
-    dismiss command stops people from following you.
-    desert command stops people from following you or leading you.
-    Idea by Oriens@Alexandria. Names suggested by Noltar@Korongil
-Minor changes:
-  * MONITOR announcements of disconnects distinguish hidden disconnects.
-    Suggested by Oriens@Alexandria.
-  * The Uptime field of INFO shows first start time, not last reboot time.
-    Suggested by Trispis@M*U*S*H.
-Fixes:
-  * Exact matches are now preferred over partial matches, and no longer
-    result in ambiguity. Report by Steven Viscido.
-  * Message mentioning INHERIT changed to TRUST by Xyrxwyrth@M*U*S*H.
-  * Distributed register.txt file is now more descriptive. 
-    Suggested by Xyrxwyrth@M*U*S*H.
-  * The ctime(), mtime(), restarttime(), and starttime() functions now 
-    return 2-digit days (01 vs. 1). Reported by Z@Korongil.
-  * @malias output uses the alias token more consistently. Suggested by
-    Kyieren@M*U*S*H.
-  * hints/solaris_2.sh modified a bit.
-  * Mac portability fixes
-  * Options.h clarification suggested by rodregis@M*U*S*H.
-  * Cosmetic bug in @halt fixed. Report by Trispis@M*U*S*H.
-  * Fixed a fencepost error in regedit*() that could generate garbage text.
-    Reported by Vadiv@M*U*S*H
-
-
-Version 1.7.4 patchlevel 2                    March 23, 2001
-
-Major changes:
-  * The object matching routines have been modified. Some things you may
-    notice:
-    * Ambiguous cases are more often reported as such (rather than you
-      getting one of the ambiguous matches arbitrarily).
-    * locate() now returns #-2 as promised. Reported by Jeff Ferrell.
-    * A few functions that used accept player names now require
-      the use of *playername to match the player (e.g. mail(), hidden()).
-      (This is generally more consistent).
-Minor changes:
-  * @tr of a nonexistent attribute now reports that. Report by Z@Korongil.
-  * TEL_OK is an alias for JUMP_OK. Suggested by Kyieren@M*U*S*H.
-  * Added 'help i18n' (aka help translation). Suggested by Kyieren@M*U*S*H.
-  * When you use 'teach' and, as a result, run the command you are teaching,
-    it is treated as if the command were run by a player from the socket --
-    that is, attribute sets are not evaluated. Suggested by Xyrxwyrth@M*U*S*H.
-  * See_All players can see all channels and their members, too.
-    Suggested by Oriens@Alexandria.
-  * When trying to join yourself to a channel, we only check channels
-    you're not on; when trying to leave a channel, we only check channels
-    that you are on. This is handy for disambiguating similar prefixes.
-    Suggested by Oriens@Alexandria.
-  * When you're following a leader and the leader moves, you're told that
-    that you're following them before you attempt to move. Suggested by
-    Oriens@Alexandria.
-  * @stats/table is no longer restricted.
-Fixes:
-  * @grep/iprint produced highlighted strings matching the case you
-    gave, not the case actually found. Reported by Reagan@NF
-  * @search/lsearch by powers could sometimes get you the equivalent
-    flag-bit instead of power-bit. Reported by Reagan@NF
-  * Configure fix.
-  * hpux-gcc hint file now included.
-  * Nested ansi() broke again in p1. Fixed now. Reported by Intrevis@M*U*S*H
-  * Added Configure check for <netdb.h> to help Cygwin builds.
-    Reported by Xyrxwyrth@M*U*S*H.
-  * Help fix or two.
-  * Grammatical correction by Eratl@M*U*S*H in @boot/me error message.
-  * Cosmetics of @mail with folders > 9 improved. Reported by Bellemore@M*U*S*H
-  * One could be disconnected at the connect screen under some conditions
-    for no good reason. Reported by Oriens@Alexandria. [SW]
-  * Compile error when ROYALTY_FLAG not defined patched by Noltar@Korongil.
-  * Fixed infinite loop reported by Xyrxwyrth@M*U*S*H. [SW]
-  * It's no longer posible to connect to a GOING player.
-
-Version 1.7.4 patchlevel 1                    March 17, 2001
-
-Minor changes:
-  * Speedup for repeat() function. [TAP]
-  * Hint for openbsd, which appears to have a broken IPv6 configuration. [SW]
-  * Some OS-dependent defines have been removed.
-  * ansi() now only adds a maximum of 7 codes to the string. [TAP]
-Fixes:
-  * The restrict_command for rob has been removed from restrict.cnf
-    Reported by Kyieren@M*U*S*H.
-  * Help fixes by Kyieren, rodregis, and Luke @ M*U*S*H, Datron@SW2, 
-    and Noltar@Korongil.
-  * stripansi() didn't correctly handle multiple ansi codes in
-    sequence. Reported by CU5@WCX.
-  * Linting for warnings in pcre. [SW]
-  * Configure now sends mailing list subscription stuff to the new 
-    list address.
-  * Updated examples in access.README to use dbrefs.
-  * Updated a reference to the rob command in 'give' errors. Noted by
-    rodregis@M*U*S*H.
-  * median was broken. Reported by Parax@SandsMUSH.
-  * Fixes to update.pl's handling of CHAT_TOKEN_ALIAS and the like.
-    Noted by rodregis@M*U*S*H
-
-Version 1.7.4 patchlevel 0                     March 7, 2001
-
-Major Changes:
-  * This is now the stable minor version. PennMUSH 1.7.2 is no longer
-    supported except to help people transition to this version.
-Commands:
-  * The practically useless 'rob' command has been removed.
-Minor Changes:
-  * A virtually complete French translation joins the Swedish and
-    Hungarian ones! Congratulations to Jean-Michael Amblat and
-    Guillaime Lupin.
-  * The index-files.pl script handles long help topic titles better when
-    creating the index of help entries. [SW]
-  * Config options that can be set with @config/set are now documented in
-    mush help. [SW]
-  * A @config/set of a dbref option now checks dbref for validity. [SW]
-  * An ansi_normal code is added at the end of each channel title.
-  * You can clear attributes that have invalid names. [SW]
-  * stripansi() removes HTML markup as well as ANSI. [SW]
-  * @poll and @doing cannot have ANSI or HTML markup. [SW]
-  * soundex() and soundslike() strip ANSI and HTML. [SW]
-  * The maximum length of attribute names has been limited to 1024 
-    characters. [SW]
-  * Nesting ansi() functions now works better. Patch by Luke@M*U*S*H.
-  * help credits explains [initials] used herein. Suggested by Kyieren@M*U*S*H
-Fixes:
-  * Help fixes by Nymeria, Balerion, Trispis, Vexon (all@M*U*S*H),
-    Jeff Ferrell, and [SW,LdW]
-  * The two-argument forms of regmatch() and regmatchi() were backwards
-    when it came to case-sensitivity. [SW]
-  * @search on zone class did parent instead. Fix by Luke@M*U*S*H.
-  * Use of @mail after @mail/nuke could cause a crash.
-    Reported by Brazil. [SW]
-  * make update handles the include directive correctly. [SW]
-  * The admin WHO output looks better when locations reach 5-digit
-    dbrefs now.
-  * regedit() and regeditall() were case-insenstive. Fixed. [SW]
-  * The code for log() was changed some time back to allow an optional
-    base argument, but the help and function table were never updated. [SW]
-  * owner() could be used to determine if any attribute existed on any
-    object. [SW]
-  * atrlock() has been cleaned up, fixing many bugs. [SW]
-  * Some list functions that evaluate attributes could be used to determine
-    if the attribute existed even if the object doing the function couldn't
-    normally see the attribute. Fixed, and their error messages are now
-    consistant with the other list functions (In other words, no errors, just
-    a null string) [SW]
-  * Idle timeout is now checked every minute rather than at dbck intervals. 
-    Based on a report by Noltar@Korongil.
-  * Cleanup of signed/unsigned casts and signal handlers. [SW,DW]
-  * forbidden_name now does a case-insensitive comparison.
-    Reported by Kyieren@M*U*S*H.
-  * Blank lines at the start of help files are now correctly ignored
-    on Win32 and Mac systems as well as Unix. Report by Nymeria@M*U*S*H.
-  * functions() didn't show @functions. [SW]
-  * Nuked players weren't getting removed from @maliases. [SW]
-  * Database corruption caused by reading a db with over-long attribute
-    names or with attributes starting with quotes fixed. [SW]
-  * Crash bug in @attribute/rename fixed. [SW]
-  * Potential memory leak in help_command fixed. [SW]
-  * Warnings removed. Reported by [NJG]
-  * Windows NT native IO (NT_TCP) stuff should work again. Reported by
-    Bellemore@M*U*S*H. [NJG]
-  * @forwardlist now requires that you control the target, be pemit_all,
-    or pass the target's @lock/forward. Report by Vadiv@M*U*S*H.
-  * unparse_flags didn't handle exit toggles. Report by Draci@Chaotic.
-  * Casting and cleanup to enable compiling with lcc [SW]
-  * A potential problem with regexps with heavy backtracking fixed. [SW]
-  * Memory leaks with @clock fixed. [SW]
-  * Typo in spellnum() "fourty" fixed. Reported by Kyieren@M*U*S*H.
-  * @malias/set didn't work. Reported by Kyieren@M*U*S*H.
-  * Win32 portability fixes. [NJG]
-  * MacOS portability fixes [DW]
diff --git a/CHANGES.175 b/CHANGES.175
deleted file mode 100644 (file)
index 074feee..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-This is the changes file for PennMUSH 1.7.5. Please look it over; each
-version contains new things which might significantly affect the
-function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian)
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[LdW] is Luuk de Waard, a PennMUSH developer (aka Halatir)
-[RLM] is Ralph Melton, a former PennMUSH developer
-[NJG] is Nick Gammon, the Win32 porter
-[EEH] is Ervin Hearn III, a Win32 porter (aka Noltar)
-[DW] is Dan Williams, the MacOS porter
-[2.2] refers to code which originated with the TinyMUSH 2.2 developers
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.7.5 patchlevel 12                     November 3, 2002
-
-Fixes:
-   * Another bug in wrap() fixed. Reported by Rhysem. [SW]
-   * Bug in @wall fixed. [SW]
-   * Variable renaming to avoid C99 keyword 'conj'. [SW]
-   * Win32 project files for MSVC++ updated by Mark.
-   * Several portability fixes for MS VS.NET's compiler by BladedThoth.
-   * flip() and reverse() didn't mix well. Better now.
-     Reported by Julian. [SW]
-   * Compiling with CHAT_SYSTEM undefined works again. Report by
-     BladedThoth.
-   * bxor() was actually doing a bor(). Reported by Sketch@M*U*S*H. [SW]
-
-
-Version 1.7.5 patchlevel 11                     October 31, 2002
-
-Config:
-   * New mush.cnf option only_ascii_in_names (defaults to yes) prohibits
-     the use of extended characters in names. Games that are running
-     in non-English locales will probably want to set this to no instead. 
-     Suggested by Philip Mak. [SW]
-Commands:
-   * Added @hook/before and @hook/after [SW,3]
-Locks:
-   * You can now use power^<power> and channel^<channel> in locks
-     to test if the enactor has a given power or is on a given channel.
-     Patch by Vadiv@M*U*S*H.
-   * @lock/dropto, if set on a room, can prevent objects from being
-     affected by the room's drop-to. Inspired by Oriens@Alexandria.
-Functions:
-   * The sha1() function computes the SHA-1 cryptographic hash of a string.
-   * A new nosidefx function restriction to allow disabling the side-effect
-     version of a function while still enabling the informational version.
-     For things like name() and parent(). [SW]
-   * @function's report includes more function restrictions in the flags
-     field. [SW]
-Minor changes:
-   * Modularization of code for itemizing lists by Vadiv@M*U*S*H.
-   * If there's no connect.html and you're on an html connection,
-     connect.txt is now better formatted when sent to you. Same for 
-     other cached text files. Suggested by BladedThoth@M*U*S*H.
-   * CRYPT_SYSTEM 1 now behaves like CRYPT_SYSTEM 3 (replacing
-     system-crypt passwords with SHS passwords). Suggested by Vadiv@M*U*S*H.
-   * flag_table is no longer referenced anywhere except when it is used
-     to seed the ptab_flag at startup. A stub "flag_add" function has
-     been added to make life easier for hardcoders. Suggested by
-     Gepht.
-Fixes:
-   * sig.c was broken on systems without sigprocmask. Reported by
-     Arithon@Oracle
-   * Bug with paging disconnected players and @away fixed.
-     Reported by Vadiv@M*U*S*H.
-   * Bashisms that crept into utils/mkcmds.sh has been replaced by
-     more portable alternatives based on Configure's results. 
-     Reported by Jason Newquist.
-   * Trigonometric functions were broken for non-radian degree types.
-     Fixed up.
-   * @decomp <room>/<attrib> didn't properly use 'here' as the name
-     of the object in its output. Reported by Oriens@Alexandria.
-   * Wizards can now modify any lock on anything but God. Reported by
-     Brian Favela.
-   * ex/mortal and ex now produce identical output when a mortal 
-     examines an object owned by someone else. Reported by Philip Mak.
-   * We do a little better about trying to close html and ansi tags
-     in all conditions. Bugs reported by BladedThoth @ M*U*S*H.
-   * whisper/@pemit to a puppet should be relayed to the owner, even if the 
-     owner is in the same room. Discovered thanks to MUSH sound test
-     suite designed by Trispis@M*U*S*H.
-   * The --longest switch in game/txt/Makefile was broken. Report by
-     Nymeria@M*U*S*H
-   * Help fixes by Noltar@Korongil and Intrevis@M*U*S*H
-   * The M_READ extmail bit is now renamed M_MSGREAD, as M_READ conflicts
-     with an included define on Solaris. Report by Jason Newquist.
-   * Setting flags using single characters was not well documented, and
-     didn't respect the character case. Reported by Intrevis@M*U*S*H.
-   * @chown by a Wizard attempted to debit the Wizard's money, rather than
-     that of the new owner of the object, which violated expected conservation
-     of money. Reported by Peter Bengtson.
-   * Several bugs in wrap()'s output fixed. Reported by Balerion@M*U*S*H. [SW]
-
-
-Version 1.7.5 patchlevel 10                     September 19, 2002
-
-Major Changes:
-   * Commands can now be restricted by generic flags or powers.
-     Several mush.cnf options (restricted_building, free_objects,
-     hate_dest, player_locate, cemit_power) are now restrict.cnf
-     restrictions instead. By Vadiv@M*U*S*H.
-Functions:
-   * When a set function (setdiff, etc.) is called with 4 arguments,
-     if the last one isn't a valid sorting category, it's treated as
-     the output separator.  Inspired by Mux [SW]
-   * checkpass(), a wizard function that checks a string against a player's
-     password. Requested by Writh@M*U*S*H.
-   * regedit() and variants can now accept multiple regexps and
-     replacements, in order, like edit(). By Walker@M*U*S*H.
-   * comp() can take a third argument to specify the type of 
-     comparison to make. Suggested by Philip Mak.
-   * The trigonometric functions now take an optional argument to
-     control how the angles they work with are measured to allow them
-     to accept angles in degrees as well as the default radians. [SW,MUX2,Rhost]
-   * Added ctu() for converting between angle measurements. [SW,MUX2,Rhost]
-   * Added atan2(). [SW]
-   * dist2d() and dist3d() can take floating-point numbers. [SW]
-   * Other small cleanups in the math functions. [SW]
-Mail:
-   * The MAIL_SUBJECTS option has been removed. @mail now includes
-     subjects mandatorily. Suggested by Vadiv@M*U*S*H.
-Minor Changes:
-   * When a player @clones an object owned by another player, the
-     clone is now owned by the @cloning player, instead of the original
-     owner. Fixes a quota transfer issue reported by Sparta and
-     Philip Mak.
-   * The flag table is no longer walked with a linear search. Instead,
-     ptab_firstentry and ptab_nextentry are used. Flags no longer need
-     to be added in a particular order or groups in flags.c, and flags
-     added through hardcode should work better. Patch by Vadiv@M*U*S*H
-   * Error message for wrong number of arguments to a function
-     now tells you how many arguments it thinks you gave.
-     Suggested by Philip Mak.
-   * GAGGED players may now perform mail reading and maintenance.
-   * Internal reorganization of signal code. [SW]
-   * Attempts to speak on a channel that you can't speak on or see
-     now fail and command parsing continues. Suggested by Vadiv@M*U*S*H.
-   * The amount of CPU time spent running a queue entry can be limited.
-     This helps reduce the impact of some types of denial-of-service attacks.
-     New mush.cnf directive queue_entry_cpu_time. This currently
-     works only on Unix systems with setitimer. [SW]
-   * Internal rewrite of page/whisper code by Vadiv@M*U*S*H.
-   * Flag set/reset messages now include the name of the target object.
-     Suggested by Kyieren@M*U*S*H.
-   * game/txt/Makefile now includes options to limit the number of
-     news/etc topic aliases that are included in the 'entries' indices
-     generated by index-files.pl. Suggested by Nymeria@M*U*S*H.
-   * Minor inconsistencies in @sweep output punctuation reported by
-     Cmintrnt@M*U*S*H have been fixed.
-   * Added hints/cygwin.sh, tested with cygwin 1.3.12. Added additional
-     cygwin build information to README.
-   * The whisper-pose message is now Player senses: <pose>, with no
-     quotation marks added. This matches all other pose-type messages
-     in the server. Suggested by Philip Mak.
-   * Only escape codes described in the help are allowed in timefmt() [SW]
-Fixes:
-   * Archaic help reference to FORCE_WHITE removed. Noted by Oriens@Alexandria.
-   * Help fixes by Cerekk@bDv TrekMUSH, Julian@M*U*S*H, Letters@M*U*S*H,
-     and Philip Mak.
-   * The wildcard matcher could lag the MUSH under unusual conditions.
-     It's now smarter. Discovered by Sketch@M*U*S*H.
-   * Fixes from 1.7.4p20
-   * Fix a bug with setdiff() not using the output separator correctly. [SW]
-   * convsecs() could attempt to use values larger than 2^31, which could
-     crash Windows. Reported by Bellemore@M*U*S*H.
-   * @config didn't correctly show default flags for objects.
-     Reported by Vadiv@M*U*S*H.
-   * The strcasecoll function was poorly coded, and is now fixed.
-   * Created players who hadn't yet logged in didn't have LASTIP set
-     properly. Reported by Philip Mak.
-
-Version 1.7.5 patchlevel 9                     July 16, 2002
-
-Minor Changes:
-   * /noeval switch added to @wall/@rwall/@wizwall and variants.
-     Suggested by Philip Mak.
-Fixes:
-   * Added a missing space in the @function report for softcoded
-     @functions. [SW]
-   * MUX-style @function foo=obj/attr works right. [SW]
-   * Cleaned up some multiple includes of the same header files. [SW]
-   * Lots of cleanup of old _() macros and similar by Vadiv@M*U*S*H.
-   * Added help for @stats/table. Suggested by Intrevis@M*U*S*H.
-   * Fixes to csrimalloc #ifdefs that broke in last patchlevel. [SW]
-   * A typo that could crash @function on certain operating systems
-     has been fixed. Report by Jeff Heinen.
-   * Improved switch() help. [SW]
-   * Changes in the way switchinc.c is generated, to reduce the number
-     of patches that attempt to patch it due to indentation changes. [SW]
-
-Version 1.7.5 patchlevel 8                     June 26, 2002
-
-Minor Changes:
-  * Added @nspemit and nspemit(). Wizard-only versions of @pemit and
-    pemit() that don't print nospoof information. Suggested by many people,
-    most recently Mike Griffiths and Nymeria@M*U*S*H. [SW]
-  * Help updates. [SW]
-  * Force the pipes to compression program for database reads and saves to be
-    block-buffered. [SW]
-  * @function name=obj/attrib now works, as well as
-    @function name=obj,attrib [TAP]
-  * The AF_PREFIXMATCH flag is no longer shown on attributes it's set
-    on when you examine them.
-Fixes:
-  * A bunch of internal code cleanup, especially around casts. [SW]
-  * The disconnected room check is skipped on GOING rooms. Suggested
-    by Philip Mak.
-  * The dbck check for nameless rooms was only checking disconnected
-    rooms; now it checks all rooms.
-  * hasflag() did not work with single-character flag abbreviations.
-    Report by Mystery8.
-  * The variable named 'template' in src/strutil.c has been renamed
-    to avoid clashes with the C++ reserved word. Suggested by Mac@M*U*S*H.
-  * Improvement to help @filter. Suggested by Philip Mak. [SW]
-  * Files in the patches directory ending in ~ are ignored
-    when patches.h is rebuilt. [SW]
-  * Removed a // comment from strutil.c, as we're still
-    just following the c89 standard, not c99. Report by
-    Vadiv@M*U*S*H. [SW]
-  * make indent now indents the .dst files before the .c ones.
-    Fixes some spurious warnings from later makes. Suggested by
-    Vadiv@M*U*S*H. [SW]
-  * Code cleanup, mostly tprintf() and unneeded header file
-    checking elimination. [SW]
-  * Since a Windows header #defines OPAQUE, which conflicts with a
-    #define for the mush flag of the same name, rename
-    our #define rather than #undefining the Windows one. [SW]
-  * Fixes from 1.7.4p19
-
-
-Version 1.7.5 patchlevel 7                     May 14, 2002
-
-Utilities:
-  * 'make globalinstall' will install executables, scripts, and
-    a game/ directory structure in a global location (/usr/libexec/pennmush
-    by default). Facilitates rpm builds. By Vadiv@M*U*S*H.
-  * The utils/ln-dir.sh script can be used to clone a globalinstall'd
-    pennmush for an individual MUSH/user. In combination, these two
-    are a replacement for 'make customize', especially for mud hosters.
-    By Vadiv@M*U*S*H.
-  * You can now configure options.h settings from the command line
-    using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update
-    This will mostly be useful for autoinstallers and packaging scripts.
-    Suggested by Vadiv@M*U*S*H.
-Minor Changes:
-  * The default gcc compile flags now include some extra warnings.
-  * The prefix-table code now only aliases down to unique prefixes.
-    This prevents @w from calling @wipe (reported by Philip Mak),
-    and means that you'll need to use alias.cnf to get some of those
-    short aliases. [SW]
-  * Attribute lookups only do prefix-matching on attributes with the
-    AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this
-    flag, but newly added @attributes won't. Solves a problem with
-    inadvertant prefix-matching of @attribs reported by Sam Knowlton.
-Fixes:
-  * Fixes from 1.7.4p18
-  * @decomp/skipdefaults skips @lsets of default lock flags.
-    Suggested by Oriens@Alexandria. [SW]
-  * Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H.
-  * Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H.
-  * A bunch of linting.
-  * Win32 portability fixes. [EEH]
-  * Updated MSVC++ project files for win32. [EEH]
-  * @newpassword = foo would change the password of an arbitrary player.
-    This is now corrected. Report by Oriens@Alexandria.
-
-Version 1.7.5 patchlevel 6                     April 22, 2002
-
-Config:
-  * New attribute_alias config directive, and some default attribute
-    aliases added to alias.cnf. Based on a report from Hilikiradi.
-Functions:
-  * textfile() returns help/news/etc. entries. Suggested by Trispis@M*U*S*H.
-Minor changes:
-  * New @warnings type lock-checks that reports problems with @locks. [SW]
-  * exit-unlinked checks do some sanity checks on variable exits. [SW]
-  * Improved error-checking in evaluation of @locks. [SW]
-  * No more hdrs/warnings.h file. [SW]
-  * New @nameaccent attribute to add accent marks to object
-    names in speech and things like look. Idea from Elendor. [SW]
-  * accent() understands a few more things. [SW]
-  * The accented characters->html entities table and other
-    lookup tables are now in a seperate file, src/tables.c,
-    which can be regenerated if needed by utils/gentables.c [SW]
-  * Improvements in caching of cached text files. [SW]
-Fixes:
-  * Buglet in ansi display of high-bit characters fixed. Report by
-    Trispis@M*U*S*H. [SW]
-  * Improved @clock2 help by Linda Antonsson.
-  * Fixes from 1.7.4p17
-  * A truly perverse database could cause an infinite loop on load. [TAP]
-  * Win32 portability fixes. [NJG, EEH]
-  * The notify code assumed that integers could be directly stored in
-    pointers. This isn't always true. [SW]
-  * Removed some un-used code. [SW]
-  * Fixed some compiler warnings and general code cleanup. [SW]
-  * Changed signal handlers to always use the ANSI/ISO C form (Returning
-    void, basically) [SW]
-  * A null string no longer prefix-matches anything. Report by Prot Diryn
-    and Cheetah@M*U*S*H.
-  * @sitelock/remove could remove entries it shouldn't if you remove the first
-    one after the '@sitelock will add sites...' line. Reported by
-    Ambrosia@M*U*S*H. [SW]
-  * The last line of the access.cnf file sometimes wouldn't get read
-    properly. [SW]
-
-
-Version 1.7.5 patchlevel 5                     March 11, 2002
-
-Commands:
-  * @notify and @drain now accept a new switch /any. [TAP]
-  * Added @remit/list. Suggested by Tareldin@M*U*S*H [SW]
-Minor changes:
-  * We now use the Mersenne Twister pseudo-random number generator,
-    which is better that that available in most C libraries.
-    Moreover, we seed with /dev/urandom, if it's available. [SW]
-  * The 'T' type character (for THING) is now shown when one-character
-    flag lists are displayed. This is more consistent with other types,
-    and makes it harder to confuse #23O (#23, opaque) with #230
-    (#230, no flags). Suggested by Eratl@M*U*S*H.
-  * @lock/use on a parent used to apply to attempts to use $commands on
-    a child. This is no longer necessary, given inheritable locks,
-    so the behavior has been changed. Parents' locks are no longer checked
-    when deciding if a $command inherited from the parent should be run
-    via a child.
-  * New 'call_limit' config option can limit the number of recursive
-    parser calls to control process stack size and avoid crashes
-    on systems with limited stack. Defaults to unlimited, however, because
-    setting this value too small breaks mushcode. Report by Bellemore
-    and BladedThoth @ M*U*S*H.
-Fixes:
-  * Code cleanup - some stuff from 1.7.4 got left in that isn't
-    used in 1.7.5 any more. [SW]
-  * Fixes from 1.7.4p16, notably an important fix for timed semaphores.
-  * Cygwin portability fixes. [NJG]
-  * Updated MSVC++ project files. [EEH]
-
-
-Version 1.7.5 patchlevel 4                     February 15, 2002
-
-Major changes:
-  * The mush recognizes telnet-aware connections. This is
-    neccessary for properly sending them some 8-bit characters. [SW]
-  * Much more support for handling accented characters in the ISO 8859-1
-    character set. See help for accent(), stripaccents(), and NOACCENTS.
-    Inspired by Elendor. [SW]
-  * Things that do first-unique-prefix matching (command, attribute and flag
-    names) now use a more space-efficient data structure than before.
-    This adds two new files, src/ptab.c and hdrs/ptab.h [SW]
-Commands:
-  * @sitelock/remove removes a sitelock entry. [SW]
-Functions:
-  * ord() and chr() functions for converting characters to/from numerical
-    values that represent them. [SW]
-Minor changes:
-  * The useless FORCE_WHITE flag is really, truely, gone. [SW]
-  * Use the new arglens argument to functions in more places. [SW]
-  * capstr() and before() fixes reimplemented using arglens. [SW]
-  * We now use the Mersenne Twister PRNG algorithm. [SW]
-Fixes:
-  * setunion() no longer eats empty list elements. [SW]
-  * Setting an inherited lock on a child could change the parent's lock.
-    Reported by Riverwolf. [SW]
-  * Help fixes. [SW, Nymeria]
-  * Players waiting at the connect screen weren't being disconnected
-    by the idle_timeout.
-  * Detection of cygwin in Configure may be improved.
-  * Fixes from 1.7.4p15.
-
-Version 1.7.5 patchlevel 3                     January 24, 2002
-
-Fixes:
-  * before() was broken in 1.7.5p2. Reported by Sam Knowlton.
-  * capstr() was broken in 1.7.5p2.
-  * Win32 portability fixes by Noltar@Korongil.
-
-Version 1.7.5 patchlevel 2                     January 23, 2002
-
-Major changes:
-  * Implementations for softcode functions get the lengths of their arguments
-    passed to them, and this is taken advantage of in a number of places. [SW]
-Minor changes:
-  * It's harder to get a partial dbref because of end-of-buffer truncation. [SW]
-  * Code cleanup. In particular, safe_str() and friends are no longer
-    macros for a safe_copy_str() or the like, because hardly anything
-    used a different buffer length than BUFFER_LEN, and those places
-    can be handled other ways. [SW]
-Fixes:
-  * Win32 portability fixes by Noltar@Korongil and Eric Koske.
-  * When you have two hidden connections, one idle over the inactivity limit,
-    and the other not, @hide/off on the active connection unhides both,
-    but you also see the Inactivity re-hide message from the other
-    connection. Reported by Trispis.
-  * iname() function actually added to function table so it works.
-    Reported by K. Shirow.
-  * @lock obj=attrib:value locks didn't work properly. Reported by
-    Linda Antonsson.
-  * Fixes from 1.7.4p14.
-
-Version 1.7.5 patchlevel 1                     December 3, 2001
-
-Minor Changes:
-  * PCRE updated to 3.7. [SW]
-  * player_name_len is now runtime configurable. Suggested by
-    Linda Antonsson. [SW]
-  * Any object of any type may be a ZMO, and any object of any type
-    may be zoned to a ZMO of any type. However, searching for
-    $commands has not changed, so $commands on a ZMO are only
-    searched when the ZMO is not a room, and $commands on objects
-    within the ZMO are only searched when the ZMO is a room. [TAP]
-  * @chzoneall nows directly calls @chzone, and @chzone now tells
-    you when it's not changing a zone. [TAP]
-  * The term "Zone Master" (player) has been replaced by "Shared
-    Player" in the help. [TAP]
-  * Many obsolete db formats are no longer readable. hdrs/oldattrib.h
-    and src/convdb.c are no more. [SW]
-  * Code cleanup. [SW]
-Fixes:
-  * Help file for mix updated. Report by Cmintrnt@M*U*S*H
-  * Updated win32 config.h file and other fixes by Noltar@Korongil
-  * WHO wasn't showing unconnected players. Report by Noltar@Korongil. [SW]
-  * Help fixes. [SW]
-
-Version 1.7.5 patchlevel 0                     November 14, 2001
-
-Major Changes:
-  * This is now the development minor version. This first release includes
-    relatively few changes, to make converting to it easier.
-  * Internal changes to the lock system. This requires a new minimal.db,
-    which is now distributed. [SW]
-  * Locale-based string collation throughout.
-  * Only ANSI C compilers are still supported; no more K&R. Files are
-    gradually going to be converted to ANSI C only.
-  * There is now an option to make ZMOs and ZMRs not count for
-    control of objects, only ZMPs. [SW]
-Flags:
-  * The ZONE player flag has been renamed SHARED, to help seperate the
-    ZMP control-only meaning from the command-matching of ZMOs and ZMRs. [SW]
-Commands:
-  * /preserve switch for @link prevents @chowning. Suggested by Vexon@M*U*S*H
-  * Admin WHO and SESSION now includes unconnected descriptors. [SW]
-  * Unconnected descriptors can now be booted. Patch by Bellemore@M*U*S*H.
-  * Unconnected descriptors can now be paged by admin with page/port. [SW]
-Functions:
-  * mix() can take more than 10 lists and of unequal length. [3,SW]
-  * iname() returns the name of an object from inside (honoring nameformat)
-    Idea by Jeffrey@TheHotel.
-  * lplayers() returns a list of players in the location. Handy for
-    room parents. By Vexon@M*U*S*H.
-  * lvplayers(), lvcon(), lvexits() are like lplayers/lcon/lexits, but
-    leave out dark things (and disconnected players). Handy for room
-    parents. By Vexon@M*U*S*H.
-Minor Changes:
-  * munge() now passes its delimiter as %1 to make generic sorting easier. [SW]
-  * Word-based attribute compression is faster than before, for both
-    compression and decompression. [SW]
-  * Windows memory-usage information for wizards is now in @uptime, not
-    @stats [SW]
-  * Word-based attribute compression stats can be viewed on non-Windows
-    mushes as well, by defining COMP_STATS. See externs.h for details. [SW]
-  * Setting of the internal QUEUE and semaphore attributes does not modify
-    an object's last-modified timestamp. [SW]
-  * Speaking on a channel that you're gagging is now treated like
-    speaking on a channel that you're not on. Suggested by rodregis@M*U*S*H
-  * You can use @exitto in place of &DESTINATION to set the destinatino
-    for variable exits, though DESTINATION is checked first. [3]
-  * WATCHER is another name for the MONITOR flag. [3]
-  * max_guest_pennies and guest_paycheck config options. Inspired by [SW]
-  * Lock and unlock messages now show object name and dbref, and tell
-    you if you unlock an already unlocked object. Suggested by Jamie Warren.
-  * A version of portmsg for Win32 is in the win32 directory.
-    Donated by CU5@WCX
-  * Tweaks to info_slave, which now uses readv/writev. [SW]
-  * Lots of code cleanup. [SW]
-  * CHAT_SYSTEM, INFO_SLAVE, and FUNCTION_SIDE_EFFECTS are now #define'd
-    by default. [TAP]
-Fixes:
-  * Indentation fixes [SW]
-  * Fixes up to 1.7.4p12 merged in.
-
diff --git a/CHANGES.176 b/CHANGES.176
deleted file mode 100644 (file)
index a8c0a34..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-This is the changes file for PennMUSH 1.7.6. Please look it over; each
-version contains new things which might significantly affect the
-function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian)
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[LdW] is Luuk de Waard, a PennMUSH developer (aka Halatir)
-[RLM] is Ralph Melton, a former PennMUSH developer
-[NJG] is Nick Gammon, the Win32 porter
-[EEH] is Ervin Hearn III, a Win32 porter (aka Noltar)
-[DW] is Dan Williams, the MacOS porter
-[2.2] refers to code which originated with the TinyMUSH 2.2 developers
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.7.6 patchlevel 16                     April 28, 2004
-
-Fixes:
-   * PCRE updated to 4.5 [SW]
-
-
-Version 1.7.6 patchlevel 15                     January 25, 2004
-
-Fixes:
-   * Improved freebsd hints. [SW]
-   * Channel user memory allocation error corrected.
-
-
-Version 1.7.6 patchlevel 14                     September 23, 2003
-
-Fixes:
-   * Fix to help @search2 by LeeLaLimaLLama@M*U*S*H.
-   * The max file descriptor could get stomped in some cases. [SW]
-   * Powers and toggles on destroyed objects are reset, as they 
-     caused anomalous lsearch/haspower behavior. Report by Mordie@M*U*S*H.
-   * Changing channel privs and loading channels with objects no longer
-     permitted could cause crashes. Report by Septimus@SW RP Forum.
-
-
-Version 1.7.6 patchlevel 13                     August 11, 2003
-
-Fixes:
-   * Calling panic() while in the middle of a panic dump would cause a loop.
-     Reported by [EEH]. [SW] 
-   * Outdated mention of compose.csh removed from compose.sh.SH.
-     Reported by Cheetah@M*U*S*H.
-   * timestring() dealt wrongly with large arguments. Reported by
-     Jules@M*U*S*H. timefmt() had a similar problem, reported by
-     Luke@M*U*S*H.
-   * Better checking of db save failures. [SW]
-
-
-Version 1.7.6 patchlevel 12                     June 23, 2003
-
-Minor changes:
-   * Users no longer see last connection information when they 
-     connect to Guests. Suggested by Jules@M*U*S*H.
-Fixes:
-   * Potential problem with ambigious names in the information functions 
-     fixed. [SW]
-   * The 'chat' config group is no longer displayed when CHAT_SYSTEM
-     isn't defined. Report by Mike Griffiths. [SW]
-   * cygwin install instructions changed to remove obsolete exim
-     version information. Suggested by Cheetah@M*U*S*H.
-   * Objects with user-defined locks had problems with finding built-in locks
-     on the object. Reported by Walker@M*U*S*H. [SW]
-
-
-Version 1.7.6 patchlevel 11                     June 1, 2003
-
-Minor changes:
-   * The restart script now insures that GAMEDIR is a real directory
-     and CONF_FILE exists therein before proceeding. Suggested by
-     Philip Mak.
-   * Attribute flag setting messages are more verbose. Suggested by
-     Mike Griffiths
-   * See_All players may use the ports() function. Suggested by 
-     Mike Griffiths.
-Fixes:
-   * Wizards can no longer @chzone God. Report by Kevin@M*U*S*H.
-   * Help fixes by Mike Griffiths.
-
-Version 1.7.6 patchlevel 10                     May 13, 2003
-
-Minor changes:
-   * PCRE (the regex matching engine we use) is updated to version 4.2. [SW]
-   * @mail/file now unclears the cleared bit when filing @mail.
-     Suggested by Philip Mak.
-Fixes:
-   * @edit is better with editing ansi. Reported by Trispis@M*U*S*H. [SW]
-   * Help file cleanup. [SW]
-   * @warnings about missing FAILURE messages were not correctly 
-     checked, causing false positives. Reported by Cheetah.
-   * Page message no longer ends in a period. Suggested by Time@M*U*S*H.
-   * Help fixes by Intrevis@M*U*S*H.
-   * BASE_ROOM can't be destroyed any more. Suggested by Philip Mak.
-
-
-Version 1.7.6 patchlevel 9                      April 9, 2003
-
-Fixes:
-   * index-files.pl now produces a sensible warning for duplicate
-     help topics, rather than a perl warning. Suggested by Cheetah@M*U*S*H.
-   * Spellnum cosmetic bug with 'seventeen' fixed. Report by Jules@M*U*S*H.
-   * Another wrap() buglet tracked down and fixed. Probably the one
-     reported by Nymeria@M*U*S*H.
-   * Memory leak in flip() and scramble() fixed.
-   * Configure test for /dev/urandom from 1.7.5 got left out by mistake.
-   * Critical overflow bug in command argument parsing fixed.
-
-Version 1.7.6 patchlevel 8                      March 21, 2003
-
-Minor changes:
-   * The CHANGES file has been renamed so that it always refers to
-     a version number, and utils/mkvershelp.pl now generates seperate
-     .hlp files for each CHANGES file. This will prevent patch hunk 
-     failures when two patchlevels of different versions are released
-     and both used to try to modify the same .hlp file.
-   * Channel names are restricted to printable characters, with no
-     leading or trailing spaces. Suggested by Letters@M*U*S*H.
-   * Calling time() with any argument other than 'utc' now generates
-     an error. Report by Time@M*U*S*H.
-Fixes:
-   * Some redundant code cleanup in look_exits suggested by Vadiv@M*U*S*H.
-   * Help file fixes by Ves@M*U*S*H, Jules@M*U*S*H, Cerekk@bDv.
-   * When page_aliases is on, there's a space between the player's
-     name and alias. Suggested by Saturn@M3.
-   * Command-checking for ZMR contents didn't function when a ZMR
-     was used as a player's personal zone. Reported by BlaZe@M*U*S*H.
-   * Default idle_timeout was different in code and mushcnf.dst.
-     Reported by James Bond@M*U*S*H. [SW]
-
-
-Version 1.7.6 patchlevel 7                      February 20, 2003
-
-Fixes:
-   * Some sloppy coding in src/access.c could generate runtime 
-     debugging exceptions. Reported by BladedThoth@M*U*S*H.
-   * wrap() could behave incorrectly when a line was exactly the length
-     of the wrap width and the total input size was larger than 
-     any previously wrapped input. Reported by Liam@Firdeloth.
-   * Extra NUL characters were sent after telnet codes, which 
-     confused Mudnet and maybe some clients. Patch by Alierak.
-
-
-Version 1.7.6 patchlevel 6                      January 23, 2003
-
-Minor changes:
-   * nearby() always works for see_all players. Reported by Sparta.
-   * findable() now requires that executor control either the object
-     or the victim or be see_all. Reported by Sparta.
-Fixes:
-   * POWER^ and CHANNEL^ locks tested the wrong object. [SW]
-   * @grep, @wipe, and @edit now report when no attributes are
-     matched. Suggested by Procyon@M3
-   * Changes to telnet negotiation strings to match those in
-     PennMUSH 1.7.7, which seems to fix some problems with display
-     of connect.txt in some clients. Report by Howie@NewFrontier.
-     Patch by Time@M*U*S*H.
-   * @mail/silent wasn't unless you used /send too. Report by
-     Moe@Chicago.
-   * Wizards could set attributes on garbage objects (which were useless,
-     but may have leaked memory needlessly). Reported by Taz@M*U*S*H.
-   * @chan/hide didn't check for hide permissions properly in some
-     cases. Reported by Tanaku@M*U*S*H.
-   * Better explanation of when regexp matching is case sensitive vs.
-     insensitive. Suggested by Jake@BrazilMUX, Brazil@BrazilMUX, and
-     Vadiv@M*U*S*H.
-
-
-Version 1.7.6 patchlevel 5                      January 7, 2003
-
-Fixes:
-   * 1.7.6p4 broke 'go #dbref', which broke the ability of followers 
-     to follow. Reported by Ellis@M*U*S*H.
-
-
-Version 1.7.6 patchlevel 4                      January 2, 2003
-
-Minor Changes:
-   * English-style matching now applies to exits in the room
-     (so '1st down' can match the first 'down' exit if you're not carrying
-     anything that matches 'down'). New english-style matching adjective
-     'toward' restricts the match to exits (so: 'look toward 1st down').
-Fixes:
-   * Code cleanup to fix several potential buffer overflows.
-   * The wildcard matcher had problems with backslash escapes in
-     some cases, making matching a : in a $command very hard.
-     Reported by Wayne@PDX.
-   * @chzone could cause crashes on some systems.  Reported by Wayne@PDX.
-   * When two exits match, one is no longer chosen at random.
-     Instead, the ambiguity should be reported as an error.
-     Reported by Intrevis@M*U*S*H.
-   * The dbref returned by locate when given the X parameter is
-     no longer random, but the last one found (as per the help).
-   * Serious bug in reading locks from the db on startup corrected.
-   * The profiling timer is turned off duing dumps, as some systems
-     (FreeBSD?) appear to continue to use it and interrupt dumps
-     due to cpu limiting. Reported by Nathan Schuette.
-
-
-Version 1.7.6 patchlevel 3                      December 22, 2002
-
-Minor changes:
-   * call_limit now controls the maximum recursion in process_expression,
-     instead of maximum calls to p_e per command cycle. This still
-     limits stack size, but doesn't get in the way of massive code
-     nearly as much. People using a very high call_limit value should
-     probably lower it significantly. Patch by Philip Mak.
-   * Improved error messages for many database information functions.
-     Notably, several functions that require at least one argument,
-     now complain if they don't get it rather than returning silently.
-     Suggested by Intrevis@M*U*S*H. [SW]
-Fixes:
-   * @warnings are no longer shown on GOING objects. Suggested by
-     Philip Mak.
-   * Help fixes by Intrevis, Time, and Ambrosia@M*U*S*H
-   * Bug in @decomp/skipdefaults reported by Philip Mak. [SW]
-   * Tweaks to utils/mkcmds.sh [SW]
-   * home() on a room acts as described in the help. Reported by
-     Intrevis@M*U*S*H. [SW]
-   * whisper/noisy double-notified the whisperer. Reported by Philip Mak.
-   * Crash bug in @mail fixed. Reported by Titan@OtherSpace.
-
-
-Version 1.7.6 patchlevel 2                      December 17, 2002
-
-Minor changes:
-   * An invalid range argument to @search/lsearch is now coerced
-     to be the lowest or highest dbref, as appropriate. The search
-     range is also now inclusive. And lsearch(<player>) works.
-     Suggested by Philip Mak.
-   * mushcnf.dst now includes a default value for call_limit.
-     Suggested by Philip Mak.
-   * Testing for whether the mush is already running in the
-     restart script has been improved by Philip Mak.
-Internationalization:
-   * Polish translation files (partial) are now being distributed.
-Fixes:
-   * Fix to win32 warnings. [EEH]
-   * Under Win32, a failed accept() call in bsd.c would not be
-     correctly handled. Report by BladedThoth@M*U*S*H.
-   * Help fixes by Luigi@8bitMUSH, Kyieren@M*U*S*H, Intrevis@M*U*S*H.
-   * @map crash bug repoted by Philip Mak, fixed by Walker@M*U*S*H.
-   * Modifiying locks now updates the object's modification time.
-     Reported by Philip Mak.
-
-
-Version 1.7.6 patchlevel 1                      November 26, 2002
-
-Minor changes:
-   * When using @nuke to destroy a SAFE object when really_safe is "no",
-     provide a warning (but schedule destruction anyway). Suggested by
-     Cerekk@bDV.
-Fixes:
-   * VS.NET project file was defaulting to signed instead of unsigned
-     chars, causing crashes. Fixed by BladedThoth@M*U*S*H.
-     Several places where we should have cast things to unsigned to
-     avoid this kind of thing have been fixed. [SW]
-   * The *emit() functions now set the orator correctly.
-     Reported by Philip Mak.
-   * ccom and cplr are cleared after each command execution so they
-     can't be leaked as easily. Suggested by Philip Mak.
-   * Linting.
-   * If God gives the wrong password to @logwipe, provide some feedback.
-     Suggested by Cerekk@bDv.
-   * mkcmds.sh was needlessly rebuilding several autogenerated files.
-   * The rules for flag characters shown in object headers now allows
-     F_INTERNAL flags to be shown (like GOING), just the same as
-     when you get a full flag list on examine. Report by Philip Mak.
-   * Help fixes by Bird@M*U*S*H, Intrevis@M*U*S*H, Philip Mak.
-   * @search type=something would report an error AND match the entire
-     database when something wasn't object, player, exit or room. [SW]
-   * Cosmetic bug in @malias/list fixed. Report by Tanaku@M*U*S*H.
-   * The info_slave now properly obeys the use_dns setting in mush.cnf.
-     This requires a full shutdown to put into effect. Report by
-     BlaZe@M*U*S*H. [SW]
-
-
-Version 1.7.6 patchlevel 0                      November 11, 2002
-
-License:
- * PennMUSH 1.7.6 and later is now released under the Artistic
-   License. This is an OSI-compliant open source license. See the file
-   COPYRITE for the complete license text.
-
-   Notable changes from the old license:
-   * No restrictions on commercial use
-   * No requirement to inform developers of improvements or submit
-     modifications, though it's still a nice thing to do. Note, however
-     that if you redistribute a modified version of PennMUSH, you MUST
-     include source code.
-
-   The PennMUSH devteam thanks the copyright holders of TinyMUD,
-   TinyMUSH 2.0, TinyMUSH 2.2, and TinyMUSH 3.0 for their assistance
-   in making this possible.
-Documentation:
-   * The README file has been split into README, INSTALL, UPGRADING,
-     and I18N files.
-Minor Changes:
-   * Rooms now hear remits and lemits in them, and can be pemitted
-     to. This behavior now matches that of other MUSH servers.
-   * AUDIBLE objects now propagate sound @remit'd into them.
-     Report by [SW].
-   * Added @lock/destroy to limit who can destroy a DESTROY_OK 
-     object. Suggested by Luigi@8bit.
-   * PARANOID nospoof notification now includes the name of the object's
-     owner as well. Suggested by Philip Mak.
-   * room() no longer notifies the executor of permission errors out of
-     band. It now just returns the error instead, like loc(). Suggested by 
-     Philip Mak.
-   * Creation times are now public information via ctime(); permission to
-     examine is no longer required. This allows objects to use, e.g.,
-     %#@[ctime(%#)] as a historically unique identifier of an enactor.
-     Suggested by Philip Mak.
-   * The reboot.db is now versioned. This will make it possible to
-     @shutdown/reboot across patchlevels that change the reboot.db
-     format (in 1.7.7 and later versions).
-   * Rooms on an @forwardlist now receive the message as a remit,
-     rather than a pemit. Suggested by BladedThoth@M*U*S*H.
-Fixes:
-   * More work on the great table() bug. Looks like a fix. [SW]
-   * Improved VS.NET project files by BladedThoth.
-   * Plugged a memory leak in deleting @locks. [SW]
-   * Fixed @lock-related crash bug reported by Philip Mak. [SW]
-   * General linting.
-   * process_expression ignores the [ in ansi escapes. Reported in the
-     context of #$ by Philip Mak. [SW]
-   * Internal changes to compress(), which now returns an allocated
-     string. Under Huffman compression, it should no longer be possible
-     to overflow a buffer with a pathological compression tree. Initial
-     concern voiced by Eyal Sagi.
-   * Table and ansi didn't play well together. Reported by Ellis@M*U*S*H.
-   * Config file reading should be better on Macs. Patch by Philip Mak.
-   * Obsolete checks for OLD_ANSI are removed. [SW]
-   * Crash bug in @function fixed. Report by Dallimar@Hemlock.
-   * Change to message on failed attribute flag set, to make it more
-     generic to cover all the possible failures. Report by Cerekk@bDv.
-   * Translations to some languages were broken. Fixed now. Report by
-     Sbot@M*U*S*H.
-   * QUEUE is now visible if you control an object, as promised in the
-     help. Reported by Luigi@8bit.
-   * Help fixes by Mortimer@M*U*S*H, Bellemore@M*U*S*H, Hyacinth@8bit,
-     [EEH], BladedThoth@M*U*S*H, Moe@M*U*S*H, Viila@M*U*S*H, Walker@M*U*S*H.
-   * Comment in src/Makefile fixed by Vadiv@M*U*S*H.
-   * A weird crash on @shutdown/reboot, probably attributable to a
-     broken library or system call, is now worked-around. Report by
-     Solarius@SWWF.
-   * Audible objects with @forwardlist set are no longer concealed by
-     the DARK flag.
-   * Win32 project files no longer use the win32/ directory as an include
-     directory, which causes problems. Reported by Gepht.
-
diff --git a/CHANGES.177 b/CHANGES.177
deleted file mode 100644 (file)
index c997a4e..0000000
+++ /dev/null
@@ -1,1465 +0,0 @@
-This is the changes file for PennMUSH 1.7.7. Please look it over; each
-version contains new things which might significantly affect the
-function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian)
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar)
-[LdW] is Luuk de Waard, a former PennMUSH developer (aka Halatir)
-[RLM] is Ralph Melton, a former PennMUSH developer
-[NJG] is Nick Gammon, the Win32 porter
-[DW] is Dan Williams, the MacOS porter
-[2.2] refers to code which originated with the TinyMUSH 2.2 developers
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.7.7 patchlevel 40                     December 1, 2004
-
-Major Changes:
-  * Another pass at the chunk allocator! Simpler but effective.
-    Folks should, however, greatly reduce their chunk_migrate
-    value in mush.cnf -- we suggest '50'. [TAP]
-Commands:
-  * @command/alias can alias commands. Patch by Walker@M*U*S*H.
-Functions:
-  * zwho() and zmwho(). [EEH]
-Minor Changes:
-  * utils/penn-install is no longer part of the PennMUSH distribution
-    (it's part of the Debian maintainer's stuff). [EEH]
-  * Inheritable @locks are inherited off of ancestor objects. 
-    Suggested by Zith@Lovarii. [SW] 
-Fixes:
-  * Infinite recursion in @lock/examine fixed. Report by
-    Amy Kou'ai (Amy@ShoujoAi) and Sparta Kerleon (Sparta@ShoujoAi). [TAP]
-  * @flag/letter now allows setting a flag's letter to one used by
-    another flag that works on different object types. Report by Lenon.
-  * Translation corrections by Cheetah@M*U*S*H and [EEH].
-  * Added __USE_POSIX to the cflags for linux, and removed 
-    checking for -lbind, to help SuSE 9.  Report by Ambrosia@M*U*S*H.
-  * Fixes to panic db loading logic. [SW] 
-  * escape() shouldn't double-escape the first character of the
-    string when it's a special character. Report by Walker@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 39                     October 25, 2004
-
-Major Changes:
-  * Game and chat database formats have been rewritten. They are 
-    much more human-readable, can be extended with new fields
-    without using versioning flags, and provide better detection
-    and reporting of malformed databases. [SW]
-  * Chunk deref counts for locks are now stored in the database. [SW]
-Commands:
-  * New 'buy' command for purchasing items from vendors that can offer
-    multiple items at multiple prices. Patch by Walker@M*U*S*H.
-  * restrict_command and @command/restrict can now include an
-    error message to be sent when the player can't use the command,
-    which supercedes more generic errors. Suggested by Philip Mak.
-    Patch by Walker@M*U*S*H.
-Functions:
-  * lwho() can take an argument to produce the who list from that
-    player's viewpoint. Patch by Walker@M*U*S*H.
-Fixes:
-  * nattr(obj/attrib) returns 1 when matching a non-wildcarded attrib.
-    Report by Impster@M*U*S*H.
-  * +chan <msg> is now converted to @chat <chan>=<msg> (with noeval)
-    so @chat hooks apply to +chatting too. Patch by Walker@M*U*S*H.
-  * You must be able to locate a player to perform elock() on them.
-    Report by Ambrosia.
-  * Help fixes by Sketch@M*U*S*H.
-  * Simplification of @version code. [SW]
-  * cemit() restrictions are now based on those of @cemit, instead
-    of @emit. Report by BlackPhyr.
-  * Setting queue_loss to 0 disables queue_loss. A bad idea, but
-    more consistent behavior. Suggested by K Moon.
-  * Examining objects always shows their actual number of coins,
-    whether or not they're admin or no_pay.
-  * Code cleanup in @edit and in char routines. [SW].
-  * Wrong object checked when reporting money as unlimited. Report
-    by Nate Barney. [EEH]
-  * New hints/freebsd_5.sh. Suggested by James Lang.
-  * INFO command once again reports the server as "PennMUSH",
-    not just a version number. Report by Mark Hassman.
-  * Win32 linting. Builds with NT_TCP should work again (although
-    @shutdown/reboot under NT_TCP is still not functional). 
-    Reorganization of the Win32 services macros. [EEH]
-  * Fix to bug with login attempts using literal encrypted strings.
-    Reported by Cadar and Mirrador.
-  * @ps/all shows the right label on top. Patch by qa'toq@bDv.
-
-
-Version 1.7.7 patchlevel 38                     August 25, 2004
-
-Commands:
-  * @boot/silent disconnects without the standard message.
-    Suggested by Thor@bDv.
-Fixes:
-  * Crash bug in is_objid fixed. Report by Wayne@PDX.
-  * God could cause a flag to lose its type status, and then become
-    inaccessible. Report by Wayne@PDX.
-
-
-Version 1.7.7 patchlevel 37                     August 23, 2004
-
-Major changes:
-  * @adisconnect is triggered on every disconnection, partial or full.
-    This mirrors the behavior of @aconnect. Use %1 (the number of
-    remaining connections) to distinguish between partial and full
-    disconnects in @adisconnect code.
-Minor changes (user-visible):
-  * When a player disconnects, their recv(), sent(), and cmds()
-    values are passed to triggered @adisconnects as %2, %3, and %4.
-    The number of remaining connections is passed as %1.
-    Suggested by Jessica Hawthorne and Wayne@PDX.
-  * No_Pay players now have their money reported as unlimited by
-    examine and score (but money() still returns a useful integer value).
-    ex/debug can be used to see the object's Pennies field.
-    Suggested by Wayne@PDX.
-Fixes:
-  * ex obj/*1 and similar was matching like ex obj/*1*. Reported by
-    Math@HavenMUSH.
-  * inc() and dec() with out-of-range integers now return a more
-    useful error instead of odd behavior. Suggested by Jessica Hawthorne.
-  * Win32 bug with renamed temporary database files resolved.
-    Reported by AndromedaMU.
-  * Help fixes by Mike Griffiths.
-  * @mail commands with no message list were not using current folder.
-    Report by Jessica Hawthorne.
-
-Version 1.7.7 patchlevel 36                     August 9, 2004
-
-Functions:
-  * l/lv/n/nv/x/xvthings() functions by Walker@M*U*S*H.
-  * New flag to locate(), 'y', for matching player names like pmatch(),
-    without requiring a leading * before the name like the 'p' flag. [SW]
-  * lattr()/nattr() works for mortals on non-owned objects, showing
-    or counting only attribs they can examine. Suggested by Philip Mak,
-    patch by Walker@M*U*S*H.
-Minor changes (user-visible):
-  * Mortals can no longer teleport HEAVY admin through exits.
-    Suggested by Ambrosia@M*U*S*H.
-Minor changes (internals):
-  * win32 directory has subdirectories for msvc6 and msvc.net. [EEH]
-  * locate() on dark rooms now works for see_all players. Suggested
-    by Wayne@PDX.
-Fixes:
-  * @mail subjects are stripped of ansi before being stored (escape
-    chars were always smashed on display). Suggested by Wayne@PDX.
-  * @command/delete by God of a non-existing command caused a crash.
-    Report by Wayne@PDX.
-  * Follow works again. Report by Shirow.
-  * Fix to digest()'s sha hash on systems without OpenSSL. [SW]
-  * @list/command no longer includes duplicates. Report by Relay@M*U*S*H. [EEH]
-  * comp() again returns -1/1 instead of -2/2. Report by Jessica Hawthorne.
-  * sort() of large floats works again. Report by Jessica Hawthorne.
-  * Linting of warnings in funlist.c. Report by Nymeria@M*U*S*H.
-  * It was possible for wizards to create circular zone chains that
-    would cause an infinite loop. Report by Wayne@PDX.
-  * safe_ansi_string was double-prepending starting ansi codes.
-    Report by Shirow.
-  * Debian packaging improvements. [EEH]
-  * Help fixes by Mike Griffiths.
-
-
-Version 1.7.7 patchlevel 35                     July 21, 2004
-
-Attributes:
-  * NO_NAME and NO_SPACE attribute flags, when applied to @o-message
-    attributes, omit either the enactor's name or the space after it
-    when sending the message to others. Patch by Walker@M*U*S*H. [3]
-Commands:
-  * @break <expression>=<new command> now runs <new command>
-    instead of simply stopping execution when <expression> is true.
-    New command @assert breaks and runs new command when <expression>
-    is false.  Suggested by Philip Mak and Zebranky@M*U*S*H. Patch by 
-    Walker@M*U*S*H.
-  * The new command 'huh_command' is responsible for handling unmatched
-    command input. By default, it produces the usual Huh? message, but
-    it can be overridden with @hook. Logging of huhs is now controlled
-    in restrict.cnf and the log_huhs mush.cnf directive is removed.
-    Suggested by T'orA and Walker@M*U*S*H.
-  * New @decompile/prefix switch generalizes @decompile/tf.
-    Prefixes are now applied even when decompiling multiple attributes,
-    and a bug in doing so is corrected. Patch by Walker@M*U*S*H.
-  * New @edit/first switch only replaces first occurrence of string.
-    Suggested by Kevin@M*U*S*H.
-Functions:
-  * malias() function for examining mail aliases. Inspired by
-    Kevin@M*U*S*H.
-  * llocks()/locks() lists locks on an object. Patch by Walker@M*U*S*H.
-  * lset() function works like @lset. Patch by Walker@M*U*S*H.
-  * lockflags() and llockflags() show short and long flags set on a lock.
-    Patch by Walker@M*U*S*H.
-  * lattrp() is lattr() including parent attribs. Patch by Walker@M*U*S*H.
-  * nattr(obj/wildcardpattern) is now supported. Patch by Walker@M*U*S*H.
-  * nattrp() is nattr() including parent attribs. Patch by Walker@M*U*S*H.
-  * xattr(obj/wildcardpattern,start,count) extracts the corresponding
-    elements from lattr(). xattrp() is xattr() including parent attribs. 
-    Patch by Walker@M*U*S*H.
-Minor changes (user-visible):
-  * @lset and lock() recognize locks beginning with user:. Patch by
-    Walker@M*U*S*H.
-  * When a player causes an ambiguous channel match, the error message
-    mentions CHAN_USEFIRSTMATCH, which now has a help entry.
-    Suggested by Luke@M*U*S*H.
-  * New sort options: sorting by dbref name, idle time, connection seconds, 
-    creation time, owner dbref, and attribute values.  sort() and any 
-    functions that use list2arr() are now ansi-aware. Patch by Walker@M*U*S*H.
-  * You can @name yourself to your @alias; this swaps name and alias.
-    Suggested by Oriens@Alexandria. Patch by Walker@M*U*S*H.
-Minor changes (internals):
-  * Several global variables are now encapsulated in a single structure
-    to reduce potential namespace clashes.
-  * Reorganization of some filecopy.c code. [SW]
-Fixes:
-  * @mail manipulation specifying folder 0 explicitly when the
-    current folder is non-zero didn't work right. Report by 
-    Jess Hawthorne.
-  * Buffer overflow in string handling fixed. Report by Ashen-Shugar.
-  * @sitelock/name of an already locked name no longer creates extra
-    entries. Report by Nymeria@M*U*S*H.
-  * make depend no longer produces an unterminated Makefile.SH.
-    Reported by Bytor and Cheetah@M*U*S*H.
-  * Help fixes by [SW].
-  * Fix to replace_string2 to prevent overflow situations. Report by
-    Atuarre. [SW].
-  * Removed non-static shutdownsock prototype in hdrs/mysocket.h.
-    Report by Kholnuu@M*U*S*H.
-  * SQL code should be much more memory-efficient. [SW]
-  * Code cleanup and fixes to some memory leaks with strcoll. [SW]
-
-
-Version 1.7.7 patchlevel 34                     June 22, 2004
-
-Flags and Powers:
-  * Debit power allows the giving of negative amounts of money.
-    Suggested by Hemlon@SevenStones.
-  * The setting and resetting of flags and powers can be logged 
-    by using the new 'log' restriction. Changes were made in
-    flaglocal.dst which you must carry over into flaglocal.c
-    (or, if you don't use flaglocal.c, just rm src/flaglocal.c and
-    flaglocal.dst will be copied in its place). Suggested by Sholevi@M*U*S*H
-    [SW]
-  * Setting and resetting @powers are once again logged by default. [SW]
-Locks:
-  * @lock/speech can now be set by unprivileged players. @lock/speech
-    now applies to all players (it is no longer automatically overridden
-    by admin). SPEECH_LOCK`*FAILURE attributes can be used to override 
-    the default failure messages when @lock/speech fails.
-Commands:
-  * ex/parent examines an object and shows attributes that will be
-    inherited from its parents (if you are permitted to examine
-    the parent as well). Suggested by BladedThoth@M*U*S*H. 
-  * examine now shows the complete (examinable-by-enactor) chain of 
-    parent objects, not just the nearest parent. Suggested by Luke@M*U*S*H.
-Functions:
-  * mailsend() is a function form of @mail/send. Suggested by Moe@ChicagoMUSH
-  * ncon, nvcon, nexits, nvexits, nplayers, nvplayers, nwho, nvwho 
-    functions to count the number of each thing. Patch by Walker@M*U*S*H.
-  * xcon, xvcon, xexits, xvexits, xplayers, xvplayers, xwho, xvwho functions 
-    to extract slices of potentially long contents, etc. lists. [Rhost,TM]
-    Patch by Walker@M*U*S*H.
-Minor changes (user-visible):
-  * Players can no longer be set CHOWN_OK. Suggested by Intrevis@M*U*S*H.
-    If you have existing CHOWN_OK players, you probably want to unset
-    this from them, or the results will be confusing (they'll continue
-    to appear to have the flag, even though it won't be testable or
-    settable or clearable; this is desired behavior).
-  * If you're See_All and Pemit_All, you may now @cemit on any channel.
-    Based on a suggestion by Philip Mak.
-  * Attempting to give a player more than max_pennies will give them
-    enough to get them to max_pennies, instead of being treated as
-    an error. Similarly, taking away more pennies than they have will
-    take away exactly all their pennies.
-  * Improved errors for unprivileged users doing @boot/port.
-    Suggested by Intrevis@M*U*S*H. [TAP]
-Minor changes (internals):
-  * pre OS X Macintosh OSes are no longer supported. Hints for 
-    Darwin are improved. [SW]
-  * An extra file descriptor only needed on Sun OS boxes was being
-    opened on all unix systems. [SW]
-  * If no config file name is given on the netmush program's command line,
-    it will assume you mean mush.cnf instead of quitting. You should still
-    be using the restart script instead of netmush directly, though, as it
-    does important things like using the right database... [SW]
-  * 'make local-files' will copy all the src/*local.dst files to their
-    respective .c counterparts. Suggested by Nymeria@M*U*S*H. [SW]
-Fixes:
-  * Configure handles the case where SO_KEEPALIVE works but TCP_KEEPIDLE isn't
-    defined. [SW]
-  * Win32 portability fixes and mingw hints. [EEH]
-  * Raising max_logins from 0 with @config/set wouldn't take existing
-    connections into account. [SW] 
-  * $commands starting with # (that don't look like an @force by dbref)
-    will now be matched. Reported by Intrevis@M*U*S*H.
-  * version() is verbose again. Reported by Sholevi@M*U*S*H.
-  * The double-add of SQL_OK on minimal.db is now really fixed.
-    See p33 changes for information. Report by Mordie@M*U*S*H.
-  * Help fixes by Kevin@M*U*S*H and Cerekk@bDv.
-  * @boot/desc on one's own descriptor is no longer translated to
-    @boot/me. [TAP]
-  * Overflow of integer argument in giving pennies fixed. Report by
-    Sholevi@M*U*S*H.
-  * Typo in fun_vcross() fixed. [SW]
-  * Configure does better when ssl shared libraries, but not static
-    libraries, are available. You can use -D no_openssl to skip SSL checks.
-
-
-Version 1.7.7 patchlevel 33                     June 3, 2004
-
-Minor changes (internals):
-  * IsPlayer, etc. macros rewritten for clarity by Luke@M*U*S*H.
-  * Use enums in place of some more #defines and magic numbers. [SW]
-  * New did_it_with() hc function simplifies passing a dbref as %0
-    to did_it actions. [SW]
-Fixes:
-  * The SQL_OK power could get double-added. If this happened to you,
-    delete one of them and double-check that all sql-using objects
-    still have the power set. Report by Mordie@M*U*S*H.
-  * Missing include in game.c fixed.
-  * Improper include in bufferq.c fixed. Report by Leona and Walker@M*U*S*H.
-  * Obsolete bzero() uses removed. [SW]
-  * New win32/pennmush.dsp.
-  * Help fix by bleeder@M*U*S*H.
-  * Mac OS X linting [SW].
-
-
-Version 1.7.7 patchlevel 32                     May 26, 2004
-
-Major Changes:
-  * SQL support. PennMUSH can now operate as an SQL client and perform
-    queries against an SQL server. Currently only the MySQL server is
-    supported. This adds the @sql command, the sql() and sqlescape()
-    functions, and the Sql_Ok power. See README.SQL for some 
-    additional information.  Mostly based on patches by Hans Engelen.
-  * Creating a leaf attribute automatically creates associated branch
-    attributes if they are not already present. [TAP]
-  * When a $command matches on an object, but the object's use-lock or
-    command-lock prevents the command from being run, the object's
-    COMMAND_LOCK`FAILURE, COMMAND_LOCK`OFAILURE, and COMMAND_LOCK`AFAILURE
-    attributes will be triggered if the $command never successfully 
-    matched, rather than returning a Huh? to the player.
-  * Exits and rooms may now run $commands. Rooms are treated as being
-    located in themselves for purposes of location checks. Exits are
-    treated as being located in their source room. Suggested by [TAP].
-Commands:
-  * 'empty <object>' attempts to get each item in <object> and put
-    it alongside <object> (in <object>'s location).
-  * 'give <object> to <player>' syntax added.
-Minor Changes (user-visible):
-  * @COST attribute is now evaluated, so you can make costs depend
-    on who's paying, a selected item, etc. Suggested by Walker@M*U*S*H.
-    Also, the amount given is passed in as %0, so you can code
-    vendors that accept any amount.
-  * New OBJID^<objid> lock atom.
-  * The server now maintains a rolling log of activity (commands issued,
-    evaluations parsed, and locks evaluated), that is dumped to the log 
-    file on panic, or can be seen by God with @uptime. This aids 
-    debugging code that causes a "clean" panic rather than a crash. 
-    Suggested by Intrevis@M*U*S*H.
-  * When checking a use/command/listen-lock on an object with patterns
-    that get matched, we only check the lock once and cache the result,
-    to prevent multiple lock evaluations if multiple patterns match. [TAP]
-  * @chan/recall now shows nospoof tags for @cemit'd lines.
-    Suggested by Sholevi@M*U*S*H.
-  * SUSPECT flag can now be applied to any type of object.
-    Suggested by Oriens@Alexandria.
-Minor Changes (internals):
-  * fun_escape() and fun_secure() use the same list of special characters, 
-    rather than each having their own copy. [SW]
-  * Buffer queue code used by @chan/buffer and the activity log refactored
-    into src/bufferq.c and hdrs/bufferq.h.
-  * Added mush_panicf(), with printf()-style format and arguments. [SW]
-Fixes: 
-  * @scan correctly shows attributes on parents again. Report by
-    Wayne@PDX.
-  * @shutdown/panic and @shutdown/paranoid work again. [SW]
-  * A panic DB could be created before the database files were actually read,
-    causing problems on the next restart. [SW]
-  * Win32 and Debian installer portability fixes. [EEH]
-  * Code cleanup around errno. [SW]
-  * The locate() function now respects visibility and interactions.
-    Report by Jules@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 31                     May 11, 2004
-
-Minor Changes:
-  * netmush is now started with only a single argument - the path to
-    the configuration file. The error log file (typically game/netmush.log)
-    is now configured in mush.cnf. Suggested by Vadiv@M*U*S*H.
-  * The restart script now bases its decision about whether the mush
-    is already running on the full path to the configuration file,
-    which means you can leave mush.cnf named mush.cnf without fear
-    of restart problems when multiple mushes are using the same
-    host. This also facilitates make update. Suggested by Vadiv@M*U*S*H.
-  * The GAMEDIR environment variable can be passed to 'make update'
-    to cause it to update *.cnf files in directories other than
-    game/ (using the template *.dst files in game/). 
-    E.g.: make GAMEDIR=/home/othermush/game update
-Commands:
-  * @nscemit. Suggested by Mystery8@ST:AW.
-Functions:
-  * nscemit(). Suggested by Mystery8@ST:AW.
-Flags:
-  * New HEAVY admin flag, prevents an object from being teleported
-    by a mortal between two containers they own. Admin without this
-    flag can now be teleported.
-Fixes:
-  * Help fixes by Anri@AkaneaMUSH and Intrevis@M*U*S*H.
-  * mix() now treats empty lists as empty, instead of containing a single
-    null element. Report by Luke@M*U*S*H.
-  * @power messages no longer reference 'flags'. Report by Nymeria@M*U*S*H.
-  * Crash bug with @clone in new power system fixed.
-
-
-Version 1.7.7 patchlevel 30                     May 6, 2004
-
-Major changes:
-  * CHAT_SYSTEM option removed. If you don't want to use the chat system,
-    use restrict.cnf to disable @channel, @chat, etc.
-  * USE_MAILER and MAIL_ALIAS options removed. If you don't want to 
-    use the @mail or @malias systems, use restrict.cnf to disable
-    the associated commands.
-  * QUOTA, EMPTY_ATTRS, and FUNCTION_SIDE_EFFECTS options are now 
-    runtime options, instead of compile-time.
-  * SINGLE_LOGFILE option removed, and log filenames are now 
-    runtime options. You may now give the same name to
-    multiple log files and get a more fine-grained version of the
-    same effect. Based on ideas by Vadiv@M*U*S*H.
-Minor changes:
-  * New IP^ and HOSTNAME^ tests for boolexps. Suggested by Luke@M*U*S*H.
-  * ALLOW_NOSUBJECT option removed. We always use the beginning of the
-    message as the subject if one is not provided.
-  * JURY_OK and UNINSPECTED_FLAG options removed. Use @flag to add
-    flags if you need them. ONLINE_REG and VACATION_FLAG options
-    removed (default to always defined, add or remove with @flag as
-    desired).
-  * MEM_CHECK option removed from options.h; it is now a runtime
-    option in mush.cnf.
-  * @function/restrict can be applied to softcoded @functions, and
-    @function/add can accept a list of restrictions as a fifth argument.
-    Patch by Luke@M*U*S*H.
-  * log_walls run-time configuration option removed. Use the
-    logargs option in restrict.cnf instead.
-Fixes:
-  * Crash bug in anonymous attributes fixed. Report by Intrevis@M*U*S*H.
-  * lplayers() was broken. Report by T'orA@M*U*S*H.
-  * Failing to create a player by providing a bad password now gives
-    a better error. Suggested by [NJG].
-  * Setting/clearing a chan title on a notitles channel works, but
-    reminds you that titles are off. Suggested by Dan@InNomine.
-  * haspower_restricted removed from mushcnf.dst to stop spurious
-    warning on startup. Report by Nymeria@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 29                     April 28, 2004
-
-Major changes:
-  * Anonymous attributes via #lambda. See help anonymous attributes. [SW]
-  * Wizards (other than God) and royalty are no longer treated as No_Pay
-    unless the No_Pay power is explicitly set on them, although they
-    can still give (themselves or others) as many pennies as they wish.
-    This helps stop runaway wizards in the queue (they'll run out of cash
-    like anyone else). To get the old behavior back, @power your admin
-    No_Pay. You probably want to @power any globals that use search(),
-    children(), mail*stats(), etc, No_Pay as well. Suggested by Walker@M*U*S*H.
-  * game/restrict.cnf, alias.cnf, names.cnf are renamed in the tarball and
-    made with make update like mush.cnf. Suggested by Philip Mak. [SW]
-  * @powers now operate under the same code as the @flag system, so God
-    can add and modify powers in the MUSH with @power/add, etc. 
-Commands:
-  * @nsemit, @nsoemit, @nslemit, @nsremit, @nszemit and function forms
-    of the same. Suggested by Cloud@M*U*S*H.
-Functions:
-  * andlpowers(), orlpowers(), andpowers(), orpowers().
-  * align() performs fancy text alignment tricks. Patch by Walker@M*U*S*H.
-  * sent() and recv() show more player descriptor data from SESSION.
-    Suggested by Ricochet@M*U*S*H.
-  * scan() with a single argument assumes the executor's point of
-    view. Suggested by Cheetah@M*U*S*H.
-  * valid() can also check for syntactically correct passwords,
-    command names, and function names.
-Minor changes:
-  * No more CRYPT_SYSTEM in options.h. We try everything and we
-    always reset passwords to SHS. Patch by Vadiv@M*U*S*H.
-  * Wizards and other privileged players can @chan/recall on channels they're
-    not on. Suggested by Trispis@M*U*S*H. [SW]
-  * A separate ip address to bind the SSL port to can now be specified
-    in mush.cnf.
-  * @flag/type allows God to change flag types. Suggested by Renee@ShoreSide.
-  * After each @startup is enqueued (during startup or @restart/all),
-    we immediately run up to 5 queue cycles. This allows, e.g., God's
-    @startup to up to five levels of @dol/@tr/@switch/etc and still have
-    the queued code run ahead of other startups. This requires that you
-    keep God's dbref as #1. Based on comments by Philip Mak and o
-    Trispis@M*U*S*H.
-  * The message after successful @password is now clearer, to avoid
-    confusion in some unusual cases. Report by Kholnuu.
-  * Makefile is no longer set executable. Report by Luke@M*U*S*H.
-  * Server now handles telnet NOP and AYT commands. Suggested by
-    Philip Mak and Liz (author of Muckclient).
-  * announce.c is no longer distributed. portmsg.c cleanup.
-Fixes:
-  * @undestroy on an invalid (garbage, or !going) object now produces
-    an error message. Suggested by T'orA@M*U*S*H.
-  * On shutdowns, all queue deposits are now refunded.
-  * Ansi behavior on second and later lines of text fixed by Walker@M*U*S*H.
-  * Database reading improvements for win32 - ideally, you should now
-    be able to read a database written on win32/unix on either system.
-  * allof() now evaluates its separator argument. [SW]
-  * firstof() doesn't add an extra space before the value it returns. [SW] 
-  * Slackware portability fixes by Dale @ Wolfpaw.net hosting
-  * ]page properly noevals (the right hand side) now. Report by 
-    Cheetah@M*U*S*H.
-  * Partial channel match listings no longer reveal channels the player
-    isn't allowed to see. Report by Taz.
-  * Help fixes by Trispis@M*U*S*H and Tanaku@M*U*S*H.
-  * ssl() and terminfo() don't work on other players unless you're
-    See_All, as promised. Based on patch by Tanaku@M*U*S*H.
-  * lcon, etc. all do an INTERACT_SEE interaction check now.
-    Suggested by Thor@bDv.
-  * Code cleanup. [SW]
-  * Fixes from 1.7.6p16
-
-
-Version 1.7.7 patchlevel 28                     March 12, 2004
-
-Major changes:
-  * You can add customized configuration parameters to set in mush.cnf
-    by adding a couple of new lines into the local_configs() function
-    in local.c. (YOU MUST UPDATE YOUR local.c FROM local.dst IN THIS
-    PATCHLEVEL). Patch by grapenut@M*U*S*H.
-  * Object ids: An object id is the string "#dbref:ctime"
-    where #dbref is the object's dbref and ctime is its creation time
-    in integer format. The %: substitution returns this
-    id for the enactor, and the objid() function returns it for an
-    arbitrary object. Object ids can be used in place of softcode that 
-    stores dbrefs to insure that a recycled dbref isn't used in place
-    of the intended one. The matcher code will also match objects by
-    id any time it's matching by dbref.
-  * @command/add and @command/del. You can add a custom command
-    (which will have the same precedence as a standard server command),
-    and then @hook it to softcode, effectively promoting the precedence
-    of softcoded globals, and letting them take advantage of some
-    command parser settings. Patch by Walker@M*U*S*H.
-Functions:
-  * tr() accepts ranges of characters like a-z instead of having to
-    give each one. [SW]
-  * escape() also escapes parens and commas now. Suggested by Philip Mak. [SW]
-  * time() can now take a time offset or object argument (in the latter
-    case, time offset is read from object's TZ attribute). Patch by
-    Walker@M*U*S*H.
-  * vcross() performs cross products of vectors. [SW]
-  * merge() can now take a list of characters. [SW]
-Minor changes:
-  * You can @set multiple flags at once by giving them as a list.
-    Suggested by Walker@M*U*S*H and others.
-  * Channel names are recognized when surround by <>'s, too. [SW]
-  * 'move' is now a command_alias for 'goto' (in alias.cnf), and not
-    a separate command.
-  * PAGE_LOCK`{,O,A}FAILURE attributes now activated when a page/pemit fails
-    due to the victim's @lock/page. Suggested by Sholevi@M*U*S*H.
-  * Tweaked game message for failing to provide correct password to
-    @password. Suggested by Philip Mak.
-  * New command 'warn_on_missing' (defaults to disabled), aliased to the
-    '[' character. If enabled, players who attempt to write commands
-    starting with functions will get errors. Suggested by [SW] and
-    Cheetah@M*U*S*H.
-  * Renaming something triggers its ONAME and ANAME attributes, if present.
-    The old name is passed as %0; the new as %1. Suggested by Philip Mak.
-  * Owner information on ex/br is reported using the usual object_header()
-    so dbref and flags appear. Suggested by Eratl@M*U*S*H.
-  * Flags that are F_DARK or F_MDARK no longer appear on @flag/list
-    by non-admin. Suggested by Philip Mak.
-  * Warn players who set themselves SHARED with a weak zone lock.
-    Suggested by Philip Mak. [SW]
-  * @halt can now take "here". Suggested by Thor@bDv.
-  * When parsing eqsplit commands, don't evaluate the left side
-    of the equal sign if the command was run with ].
-Fixes:
-  * Fixes to robustify file reading on Windows systems.
-  * The 'nofixed' command restriction works as expected now (previously,
-    you had to use 'nofix').
-  * Exit movements are now translated into explicit GOTO commands,
-    so @hooks and restrictions on GOTO are now applied. Patch by
-    Walker@M*U*S*H.
-  * The AE/ae accent characters can now be produced (accent(a,e)).
-    Patch by Luke@M*U*S*H.
-  * @hook/ignore would double-evaluate arguments. Reported by 
-    Ambrosia@M*U*S*H. [SW]
-  * Mingw error in src/Makefile.SH fixed. Report by Thor@bDv. [SW]
-  * Help fixes by Cerekk@bDv, Mike Griffiths, Steve Varley, Thor@bDv, [SW],
-    Dahan, Jason Stover, and Kyieren@M*U*S*H.
-  * cmdlocal.dst now includes flags.h. By Dahan.
-  * Win32 portability fixes by Dahan, Nathan Baum, [EEH].
-  * utils/mkcmds.sh is now smarter about choosing temp filenames, so
-    parallel make should work. Fixed by Cheetah@M*U*S*H.
-  * The Zone: data in examine could be wrong.
-
-
-Version 1.7.7 patchlevel 27                     January 25, 2004
-
-Minor Changes:
-  * New etimefmt() formatting codes to make it easier to get nice-looking
-    results without 0-valued times. Suggested by ranko_usa@M*U*S*H. [SW]
-  * Autodetect existence of /usr/kerberos/include to make compile 
-    easier for RH9 sufferers.
-  * src/Makefile is now autobuilt from src/Makefile.SH. IF you use
-    local hacks that require src/Makefile, this is likely to be a problem
-    for you. You'll want to start patching Makefile.SH instead.
-  * Fewer warning flags are now provided to the compiler by default.
-    You can set your own warning flags instead by defining the
-    warnings variable in config.over.
-Fixes:
-  * The startups option actually does what it's supposed to now.
-  * Potential DOS in etimefmt fixed. Report by Ashen-Shugar. [SW]
-  * Code cleanup. ok_tag_attribute should work. [SW]
-  * Channels are automatically ungagged only on initial connection
-    (not reconnection, partial disconnection, etc.). Suggested by
-    Mordie@M*U*S*H.
-  * notify() calls during startup would crash. Reported by Mordie@M*U*S*H. [SW]
-  * Fixes from 1.7.6p15.
-
-
-Version 1.7.7 patchlevel 26                     December 15, 2003
-
-Commands:
-  * Add /regexp switch to @switch and @select. Suggested by BladedThoth. [SW]
-  * New /spoof switch to @pemit, @remit, @lemit, @oemit, @emit,
-    causes the message to appear to be generated by the cause, rather
-    than the enactor, which makes globals like $ooc show the right
-    NOSPOOF information (instead of the name of the global command object).
-    Patch by Philip Mak.
-Functions:
-  * hostname(), ipaddr(), and cmds() take a dbref or descriptor number
-    of a connected player and return the hostname, ipaddr, and number
-    of commands executed. Suggested by Sholevi@M*U*S*H and Renee@ShoreSide,
-    code by Sholevi@M*U*S*H.
-  * Add reswitch*() functions. Suggested by BladedThoth. [SW]
-  * insert() can take a negative position argument to insert from
-    the right. Patch by Sholevi@M*U*S*H.
-  * New firstof() and allof() functions return the first true value
-    or all true values from a set of expressions. Patch by Sholevi@M*U*S*H.
-  * tr() works like the Unix utility, translating characters. Patch
-    by Walker@M*U*S*H.
-Attributes:
-  * Attributes may be set DEBUG to cause their evaluation to be
-    debugged selectively. Patch by Pozzo@SWForum.
-  * @desc can no longer be gotten remotely without privileges.
-    To implement this, a new attribute flag NEARBY was added,
-    which prevents visual attributes from being remotely accessed.
-    See new configuration directive 'read_remote_desc' if you prefer
-    the old behavior. Patch by Philip Mak.
-  * @desc on privileged objects can now be evaluated by mortals.
-    To implement this, a new attribute flag PUBLIC was added,
-    which overrides safer_ufun for that attribute. This flag is dangerous
-    and should be avoided unless you are sure you know what you're doing.
-    Patch by Philip Mak.
-Minor Changes:
-  * "+<channel> <text>" complains if <channel> is ambiguous, and
-    displays a list of matching channels. Patch by Luke@M*U*S*H.
-  * Code cleanup around @oemit by Philip Mak.
-  * If an object has an IDESCFORMAT but no IDESCRIBE, interior viewers
-    now see the DESCRIBE formatted by IDESCFORMAT (instead of
-    the DESCRIBE formatted by DESCFORMAT). Suggested by Philip Mak.
-  * Ported to Win32 with the Mingw development environment. 
-    See win32/README.mingw for compile instructions. [EEH]
-  * null() can now take any number of arguments. Patch by Walker@M*U*S*H.
-  * Using @chan/quiet to control the quiet flag on a channel no longer works
-    (Actually, it never did). Use @chan/priv instead. [SW]
-  * The NO_WARN flag now prevents disconnected room warnings, too.
-    Suggested by several people. Patch by Philip Mak.
-  * @sitelock/name !name still unlocks a reserved name, but no longer 
-    removes that name from names.cnf. Suggested by Nymeria. [SW]
-  * Some cleanup of fopen() calls. [SW]
-  * The reference to channel Creator is now Owner in @chan/decomp.
-    Suggested by Howie@NFTrekMUSH. [SW]
-  * The name of the channel being tested is passed as %0 in channel locks.
-    Suggested by Philip Mak. [SW]
-  * help for @chownall mentions the /preserve switch.  Warnings from @chown 
-    and @chownall tell which objects they're for. Suggested by
-    Mordie@M*U*S*H. [SW]
-  * Home wrecking is allowed again. Suggested by Philip Mak.
-Fixes:
-  * Puppets in containers with @listen container=* now hear the
-    outside world correctly. Patch by Philip Mak.
-  * The email sent on player registration now double-quotes the
-    player name in the example connect statement. Suggested by
-    David Kali.
-  * Two rooms should never be nearby() each other. Fix by Philip Mak.
-  * can_look_at() now handles the look/out case, too. Fix by Philip Mak.
-  * Help fixes by Viila@M*U*S*H, MetBoy@M*U*S*H, Cheetah@M*U*S*H.
-  * @flag/alias or @flag/add without giving an alias no longer crashes 
-    the MUSH.  Report by Wildfire.
-  * Correctly retrieve user full name from /etc/passwd fields under
-    Linux in Configure. Record it in config.sh. Reported by Vadiv@M*U*S*H.
-  * Debian package changes. [EEH]
-  * As the help promises, XCH_CMD and SEND attributes don't work
-    for non-Wizards. Really.
-
-
-Version 1.7.7 patchlevel 25                     October 30, 2003
-
-Fixes:
-  * Crash bug in the interaction between parents and attr trees
-    fixed. Report by Walker@M*U*S*H.
-  * Improvements to how locks are decompiled. Built-in locks with the
-    no_inherit flag cleared are handled better.  If the object doing
-    the @decompile is referenced in a lock key, it's decompiled as 'me'
-    rather than by dbref, to make it easier to port between games.
-    Report by Cerekk@bDv. [SW]
-  * The error typically logged by info_slave on a mush crash is worded 
-    better. [SW]
-  * panic() renamed mush_panic() as the Mach kernel now has a public
-    system call panic(). Report by Jeff Ferrell.
-
-
-Version 1.7.7 patchlevel 24                     October 19, 2003
-
-Minor Changes:
-  * The puppet flag can now apply to rooms. Suggested by Philip Mak.
-  * @tel/inside allows priv'd players to teleport into another player's
-    inventory (instead of to their location). Suggested by Philip Mak.
-Fixes:
-  * Startups from a created minimal.db did not properly initialize
-    the objdata htab, so subsequent use of that htab (e.g. adding
-    players to channels) would crash. Report by [LdW].
-  * Help fixes by BladedThoth@M*U*S*H and Philip Mak.
-  * Attempting to clear a branch attribute when it has leaves now
-    gives a better message. Also better message for inability to
-    write an attribute due to tree issues. Patch by Luke@M*U*S*H.
-  * Bug in @debugforwardlist fixed by Luke@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 23                     October 10, 2003
-
-Major Changes:
-  * Forking dumps now work with the chunk memory manager. [TAP]
-Minor Changes:
-  * Chunk allocator improvements in partial read/writes and for
-    Win32. [TAP]
-  * Use the SHA0 algorithm from OpenSSL instead of our own when possible. [SW]
-Functions:
-  * New digest() function for generating checksums via a variety of 
-    algorithms. [SW]
-  * cowner() returns the dbref of a channel's owner. Suggested by
-    Sholevi@M*U*S*H. [SW]
-  * Added baseconv(), for converting numbers from one base to another.
-    Useful for tweaking things like Myrddin's bboard code. Suggested
-    by many people. [SW]
-Fixes:
-  * Remove warnings in set.c and pcre.c. Report by Nymeria@M*U*S*H
-  * @power messages now show the canonical name of the power.
-    Suggested by Cheetah@M*U*S*H.
-  * Adding DARK players to channels produced a duplicated message.
-    Reported by Mystery8@ST:AW.
-  * Players set WIZARD and ROYALTY would get double notification 
-    of some GAME: messages. Fixed now. [SW]
-  * Chatdb corruption possible when admin add players to channels.
-    Reported by several folks, diagnosed by Mordie@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 22                     September 30, 2003
-
-Minor Changes:
-  * When possible, sockets are now set SO_KEEPALIVE and TCP_KEEPIDLE.
-    This may help prevent disconnections of idle players behind
-    poorly designed NAT routers and the like, and make the use of
-    the IDLE command unnecessary. Patch by Philip Mak.
-  * Better failure messages for 'get blah's blah', especially when
-    the container or contained object is ambiguous. Suggested by
-    Philip Mak. 
-Fixes:
-  * Attempting to unset attribute flags actually set them.
-    Report by Ambrosia@M*U*S*H. [SW]
-
-
-Version 1.7.7 patchlevel 21                     September 23, 2003
-
-Major Changes:
-  * Attribute trees. Attributes may now be organized hierarchically
-    like files and directories in a filesystem, using the backtick (`)
-    character as the branch separator. Attribute access restrictions
-    propagate down trees. New wildcard ** is introduced to match
-    all attributes at all tree levels. Suggested by Tabbifli. [TAP]
-Locks:
-  * New framework for performing lock failure activities in hardcode.
-    As a proof-of-concept, the attributes FOLLOW_LOCK`FAILURE,
-    FOLLOW_LOCK`OFAILURE, FOLLOW_LOCK`AFAILURE do what you'd expect
-    when set on a potential leader.  Suggested by Sholevi@M*U*S*H.
-Channels:
-  * New per-channel flags NoTitles, NoNames, and NoCemit do what you'd
-    expect. Set them with @chan/privs. Based on suggestion by 
-    Saturn@M3.
-  * @chan/recall/quiet omits timestamps. Suggested by Vadiv@M*U*S*H.
-Commands:
-  * 'help <wildcard-pattern>' now lists all help topics that match that 
-    pattern.  By popular request. [MUX,SW] 
-  * @flag/letter can be used to change or clear the one-letter alias for a 
-    flag.  Suggested by Nymeria@M*U*S*H. [SW]
-  * @flag/list by God notes disabled flags. Suggested by Nymeria@M*U*S*H. [SW]
-Functions:
-  * rand() now comes in a two-argument (low,high) flavor, and randword()
-    selects a random word from a list. The latter is aliased to
-    pickrand() to match Mux's name. Patch by Luke@M*U*S*H.
-Minor Changes:
-  * Although we're Pueblo 2.50 compliant, go back to sending Pueblo 1.10
-    as the server version until everyone upgrades their clients so
-    they can handle the 2.50 string. Suggested by Shirow.
-  * The locate() function is no longer noisy (no longer notifies
-    the executor in addition to returning a value). Suggested by
-    Mystery8@ST:AW. 
-  * @lock/interact now has a higher priority than other interaction
-    checks, so it will work for Wizards. Suggested by Viila@M*U*S*H.
-  * Tweaks to facilitate a Debian package of PennMUSH. [EEH]
-Fixes:
-  * max descriptor could get stomped in some cases. [SW]
-  * Removed extra struct def in hdrs/mushtype.h. Suggested by Kyle.
-  * Help tweak by Kevin@M*U*S*H.
-  * Fix to locks on players messing up their connection failure counts.
-    Reported by Luke@M*U*S*H.
-  * Fix to @entrances by Luke@M*U*S*H.
-  * Fix to Win32 not handling a missing minimal.db by Luke@M*U*S*H.
-  * The confirmation message for setting/clearing attribute flags would use
-    the flag name given as an argument, not neccessarily the the full name of
-    the flag. Reported by Vadiv@M*U*S*H.  [SW]
-  * Fix a potential memory leak in ident.c [SW]
-
-Version 1.7.7 patchlevel 20                     September 4, 2003
-
-Major Changes:
-  * minimal.db is no more. If you start up the server and there's no
-    db to be found, it creates a new minimal database in memory
-    on the fly. Feel free to delete your coopy of minimal.db. [SW]
-    (In related news, the default OSUCC on #0 in minimal.db is gone. 
-    Suggested by Cheetah@M*U*S*H. So much for the mists.)
-Minor Changes:
-  * SSL connections are now ended before the dump when rebooting,
-    but their descriptor information sticks around to ensure that
-    their @adisconnect is run after the reboot. Based on suggestions
-    by Vadiv@M*U*S*H and [TAP].
-  * When _DEBUG is defined in a win32 build, don't copy pennmush.exe
-    to pennmush_run.exe. Makes debugging easier. Patch by Luke@M*U*S*H.
-  * In pueblo mode, no longer clear past images after each room look.
-    Patch by Konstantine Shirow.
-  * In pueblo mode, we no longer render ansi attributes or colors with
-    HTML tags; we assume the client will correctly handle them as ansi
-    intermixed with Pueblo. This solves a variety of problems.
-    Based on a discussion with Konstantine Shirow.
-  * When matching $commands and ^listens, insure that a matching attribute
-    exists before testing locks. This may break some strange locks using
-    %c, but hopefully won't. Suggested by Cheetah@M*U*S*H.
-  * The @scan command temporarily sets %c to the command to be scanned
-    (without "@scan" prefixed) so that it can detect commands that use
-    %c-matching. Based on ideas from Cheetah and Walker@M*U*S*H.
-  * Added support for Pueblo's md5 checksum. We track it on each
-    descriptor, though we don't do anything with it currently.
-  * Speed-up to fun_merge. Patch by Walker@M*U*S*H.
-  * Internal cleanup of flags in channel_broadcast.
-  * Wizards may @name themselves to names forbidden in names.cnf.
-    Patch by LeeLaLimaLLama@M*U*S*H.
-  * We are now forgiving of stupid non-RFC-compliant telnet clients
-    that send CR only even when they claim to be sending CRLF
-    (Read: MS Windows XP telnet). MS bug reported first by
-    Intrevis@M*U*S*H.
-  * Misleading restrict_command on @clone removed from restrict.cnf,
-    as @dig/@open/@create permissions already control @clone.
-    Suggested by Philip Mak.
-Functions:
-  * lstats() and quota() now allow objects to see stats/quota on other
-    objects they control (e.g., on their owners, perhaps). Suggested
-    by Philip Mak.
-  * hastype() can now test for type GARBAGE. Suggested by Tanaku@M*U*S*H.
-Commands:
-  * The new ']' command prefix causes the rest of the command-line
-    not to be evaluated by the expression parser. Try: ]think [add(1,1)]
-    Inspired by Elendor.
-  * @hook/ignore. [mux]
-  * @hook/override [Rhost, though they don't call it that]
-Attributes:
-  * @debugforwardlist forwards DEBUG output to dbrefs on the list.
-    Suggested by Balerion@M*U*S*H.
-Tests:
-  * A new test harness for developing regression test suites in perl
-    for PennMUSH is now included; few test suites are. If you can figure
-    out how to use this, write some tests for us! (If you can't, don't
-    ask about it, please :)
-Locks:
-  * @lock/interact can prevent other players from transmitting any
-    normal sound to you (that is, you won't hear them speak, pose, 
-    emit, etc., like gagging them in a client). It doesn't control
-    page (use @lock/page) or @mail (use @lock/mail). You still
-    hear 'presence' messages (connects/disconnects/arrivals/leaves)
-    so you can have a sense of who can hear you but you can't hear.
-    Patch by Philip Mak.
-Fixes:
-  * Configure script no longer keeps adding -lssl -lcrypto over and
-    over to the Makefile. Report by Sholevi@M*U*S*H.
-  * Portability fixes for compiling with MSVC5 by Luke@M*U*S*H.
-  * The behavior of spaces inside parentheses that aren't part of a
-    function has been improved. Report by Jason Newquist. [TAP]
-  * txt/*.html files were being improperly escaped before being
-    sent to Pueblo connections. Report by Konstantine Shirow.
-  * mushdb.h includes flags.h, as it relies on constants from there.
-    Suggested by Philip Mak.
-  * Better error reporting on some failure messages in chunk allocator.
-    Patch by Philip Mak.
-  * @config/set with an invalid option now returns an error.
-    Report by Sholevi@M*U*S*H.
-  * Fix to interaction checking in notify_anything that could result
-    in the wrong check being performed. Report by Philip Mak.
-  * Help fixes by LeeLaLimaLLama@M*U*S*H, Sunny@M*U*S*H, Sketch@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 19                     August 19, 2003
-
-Fixes:
-  * When SSL connections are dropped on reboot, other players weren't
-    seeing disconnect messages. Now they are.
-  * Two calls to flaglist_check_long didn't get converted to the new
-    abstraction layer, making flag_broadcast not work right.
-    Report by Luminar@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 18                     August 19, 2003
-
-Major Changes:
-  * The flag handling code has been additionally abstracted to 
-    allow, in a future patchlevel, @powers to be handled in the
-    same way that flags are now.
-Minor Changes:
-  * Wrap the OS-dependant code for making sure the mush always has a free
-    file descriptor available for use in a pair of functions. [SW]
-Fixes:
-  * Linted some ssl-related warnings. Reported by Cheetah@M*U*S*H.
-  * Compile failed in timer.c unless USE_MAILER was defined.
-    Reported by Sunny@M*U*S*H.
-  * Bug allowing players to view internal and mortal_dark attributes
-    introduced in p17 has been fixed. [TAP]
-
-
-Version 1.7.7 patchlevel 17                     August 11, 2003
-
-Major changes:
-  * SSL support, including server and client authentication as options.
-    This should be considered experimental.  New ssl() function returns 1
-    if a player/descriptor is using SSL, 0 otherwise. New file README.SSL
-    documents how to set up SSL. Two things to note:
-    - SSL connections are dropped on @shutdown/reboot, so SSL users may 
-      wish to write client triggers to reconnect. 
-    - Output flushing behaves slightly differently for SSL connections.
-  * The way lock keys are handled internally has been rewritten to allow
-    them to be tracked by the same chunk-management code that handles
-    attributes. [SW]
-  * @mail message texts are now stored with the chunk-management code. [SW]
-  * The new code can no longer read databases created by versions of Penn
-    before 1.7.5p0. If you need to do this, load it in 1.7.6, shutdown,
-    and use that database. [SW]
-Minor changes:
-  * A new minimal.db is distributed (older ones probably won't work,
-    and this one probably won't work with older versions). [TAP]
-  * Contents/exits lists and functions that use first_visible (like
-    lcon, lexits, etc.) are now affected by INTERACT_SEE. Suggested by
-    Prospero@Metro.
-  * @chan/recall now displays the last 10 lines by default. Use
-    @chan/recall <chan>=0 to get the full buffer. Suggested by [TAP].
-  * Various boolexp tweaks. [SW]
-  * @power provides more verbose feedback. Suggested by Mordie@M*U*S*H. [SW]
-  * Additional chunk tweaks, including limiting migrations to one
-    per second. [TAP]
-  * PROFILING #define for use when profiling the code (surprise). This
-    just disables the CPU timer.
-  * When matching $-commands, only call the slower capturing wildcard match
-    function when we already know it succeeds, since it won't most of the time.
-    The faster non-capturing function is checked first to find a match. [SW]
-  * PCRE is initialized once, at startup, rather than testing to see if it has
-    to be done before each place regular expressions are used. [SW]
-  * The TERSE flag now applies to objects, not just players. Suggested
-    by Aur@M*U*S*H.
-  * The terminfo() function now returns SSL status as well.
-  * help-like commands without arguments now use the command name
-    as the argument. E.g. 'news' now looks for topic 'news', instead of
-    'help'. If not found, we fall back on help. Patch by Mike Griffiths.
-  * When an object is zoned to an unlocked ZMO, the ZMO is now autolocked
-    to =me instead of $me, because it's probably less confusing.
-    Suggested by Luke@M*U*S*H.
-  * @name now automatically trims leading and trailing spaces from its
-    newname argument, to avoid confusing people who use edit() to 
-    generate new names and leave in spaces. Report by [TAP], patch by [SW].
-Commands:
-  * New 'logargs' and 'logname' restrictions in restrict.cnf allow
-    per-command logging. Suggested by Saturn @ M3.
-Functions:
-  * The sha1() function has been renamed sha0(), since that's what it
-    really does. [TAP]
-  * trimtiny() and trimpenn() work like trim(), but force the TM or
-    Penn argument style.
-  * New 'logargs' and 'logname' restrictions in restrict.cnf allow
-    per-function logging. Suggested by Saturn @ M3.
-Fixes:
-  * The side-effect version of name() was producing a weird return
-    value. Reported by Saturn@M3.
-  * Problems with restrict_command and restrict_function with multiple
-    restrictions now fixed. Report by Sholevi@M*U*S*H.
-  * stddef.h now included in src/extchat.c. Report by [EEH]. [SW]
-  * INFO output now includes a missing newline. Report by [EEH]. [SW]
-  * help BUILDER updated. Report by Laura Langland-Shula.
-  * down.txt message wasn't being sent. Report by Sholevi@M*U*S*H. [SW]
-  * New Win32 project files that include the chunk code. [EEH]
-  * @chan/what no longer highlights the channel's name, as this is
-    confusing if you use ansified channel names. Suggested by 
-    Oriens@Alexandria.
-  * ex/mortal now operates more correctly. Report by Amy Kou'ai.
-  * Fixes from 1.7.6p13.
-
-Version 1.7.7 patchlevel 16                     June 23, 2003
-
-Commands:
-  * New switch /room for 'with' to run a $command available in a remote
-    location. Suggested by Mike Griffiths. [SW]
-Functions:
-  * Added the terminfo() function, which returns information about a
-    client's name and capabilities for a particular connection. [SW]
-  * New lports() function. Like lwho() but returns port descriptors.
-    For mux2 compatibility. [SW]
-  * Functions that return information about a connected player now treat
-    integer arguments as a port descriptor to look up, rather than using
-    the least-idle connection of a player. To force a player name to
-    be treated as such even when it's a number, prefix it with a * in
-    softcode. For mux2 compatibility. [SW]
-  * Players can use ports() on themselves and use the descriptors
-    they're connected to as arguments to the information functions.
-    For mux2 compatibility. [SW]
-Minor Changes:
-  * Compute various chunk stats (total used, total free space, etc.)
-    on demand instead of keeping running totals. [TAP]
-  * @chan/what displays information about a channel's recall buffer, if any.
-    [SW]
-  * @chan/recall'ed lines are more clearly marked as such. Suggested by
-    Oriens@Alexandria. [SW]
-  * Consolidation of a common idiom used to format times throughout the source
-    into a simple function call. [SW]
-  * The time a @mail was sent was stored, unusually, as a string.
-    No longer. Now it's handled the same way as all other times. [SW]
-Fixes:
-  * Bug in resizing @chan/recall buffers fixed. Reported by Oriens@Alexandria.
-    [SW]
-  * Objects with user-defined locks had problems with finding built-in locks
-    on the object. Reported by Walker@M*U*S*H. [SW]
-  * Unregistered() macro was checking wrong flag name. Report by
-    Matt Kirby.
-  * Help fix by Adu@M*U*S*H.
-  * Potential problem with ambigious names in the information functions fixed.
-
-
-Version 1.7.7 patchlevel 15                     June 1, 2003
-
-Fixes:
-  * Problem with checking command flag masks when the number of
-    flags was an even multiple of 8. Reported by Nymeria and
-    Mordie@M*U*S*H.
-  * Tweak to improve efficiency of ancestor checking code and delint
-    warning reported by Cheetah@M*U*S*H.
-  * SESSION output no longer misaligned with 5-digit dbrefs.
-    Reported by Cheetah@M*U*S*H. [TAP].
-  * Fixes from 1.7.6p11.
-  * game/txt/index-files.pl now uses locale information in the
-    environment to, e.g., correctly lowercase accented characters.
-    Report by Krad@M*U*S*H.
-  * Modified several Makefile.SH targets to prevent Javelin from
-    releasing patches that don't have the autogenerated files
-    up-to-date for Windows folks.
-  * Removed some dependence on typedefs that may or may not be in system
-    header files. [SW]
-  * Patch compiler warnings. [SW,EEH]
-  * Help fixes by Mike Griffiths and Oriens@Alexandria.
-
-
-Version 1.7.7 patchlevel 14                     May 22, 2003
-
-Major changes:
-  * Ancestors: an object can be configured to serve as an 'ultimate
-    parent' of every room, exit, thing, or player, and attributes
-    that are not found on an object or any of its parents may be inherited
-    from the ancestor for that object type.  The ORPHAN flag prevents
-    ancestors from being used on an object.  Patch by Walker@M*U*S*H.
-  * Mail messages now track not only the dbref of the sender but the
-    sender's creation time, so messages from dbrefs that have been
-    nuked and recreated can be distinguished from messages from the
-    original sender. This modifies the maildb and make it not usable
-    with older versions. All existing @mail is grandfathered in, and
-    can't be tracked this way. Suggested by Philip Mak.
-  * New chunk memory allocator can be used to greatly reduce process
-    memory requirements by swapping little-used attribute texts out
-    to disk and caching often-used attribute texts in memory.
-    This is incompatible with forking dumps, so if you use it,
-    you'll do nonforking dumps.  Configurable in mush.cnf, see comments
-    there. [TAP]
-  * Hardcode: new interaction type INTERACT_PRESENCE marks the
-    arrival/departure/connection/disconnection/grows ears/loses ears
-    messages. Many message types that used to be considered auditory
-    (like most @verb-style messages) are now marked as visual instead.
-Functions:
-  * strreplace() works like replace() for strings. [SW]
-  * fraction(), for turning floating-point numbers into fractions. [SW]
-  * root(), for finding roots higher than the square root. [SW]
-Minor changes:
-  * We now use wrapper functions atr_value and safe_atr_value instead of
-    uncompress(AL_STR(...)) or safe_uncompress(AL_STR(...)), so we
-    can do future work with attribute storage cleanly. [TAP]
-  * @*payment attributes now receive the amount of money paid in
-    as %0. Suggested by Sholevi and Time@M*U*S*H. [SW]
-  * Config options that take times now accept a notation describing what kind
-    of units to use. For example, 3600s, 60m, 30m1800s, and 1h all refer to
-    the same period of time. Suggested by Time@M*U*S*H. [SW]
-  * Doxygen commenting of non-static members is essentially complete!
-    Pennhacks see: http://www.pennmush.org/docs/1.7.7/html/
-  * The mail() function no longer matches non-player objects by name.
-  * Several additional messages (locks, parents, etc.) are now quieted by
-    the QUIET flag. Patch by [EEH].
-  * New config option default_home sets the room to send homeless things
-    to. [TAP]
-  * Added visual progress indicators for utils/mkcmds.sh so that slow
-    systems won't think they're hung. Suggested by Cheetah@M*U*S*H.
-Fixes:
-  * Fixes from 1.7.6p10.
-  * The 'i' sort type was not properly implemented. Reported by
-    Noltar and BlaZE@M*U*S*H.
-  * Cleanup of all accesses to ATTR values to use AL_STR() in preparation
-    for future work on attribute storage. [TAP]
-  * The 'any' string for specifying flag types didn't work properly.
-    Reported by Krad@M*U*S*H.
-  * The connect screen may now appear correctly under windows telnet. [SW]
-  * The more efficient channel buffer shifting code now handles
-    pathological cases correctly.
-  * The tag*() functions could leave tags open at the end of full
-    buffers. No longer.
-  * Code cleanup in src/notify.c.
-  * @rejectmotd and @wizmotd set the wrong messages. Report by
-    Konstantine Shirow. [SW]
-  * Using @chan/buffer to resize a recall buffer gives feedback. Reported by
-    Sholevi@M*U*S*H. [SW]
-  * Help fix for grab() by Adu@AbryssMUSH.
-  * You can no longer destroy the base_room (or default_home). Suggested
-    by Philip Mak. [TAP]
-
-Version 1.7.7 patchlevel 13                     April 9, 2003
-
-Major changes:
-  * Interactions (something like "realms" in mux2). Two functions
-    in local.c can now be used to control conditions under which
-    objects can see, hear, or match each other. Possibly useful for
-    implementing umbral worlds, etc. Patch by Vadiv@M*U*S*H.
-Functions:
-  * children(), syntactic sugar for lsearch(all,parent,<dbref>).
-    Suggested by Kyieren@M*U*S*H. Patch by BlaZe@M*U*S*H.
-  * powers() can now take a second argument to set an @power.
-    Suggested by Rob@BtFMUSH.
-Minor changes:
-  * @config/set can now set null strings. Suggested by Cheetah@M*U*S*H.
-  * In restart, set LC_ALL as well as LANG from the given LANG value,
-    in case the user's got an LC_ALL in their shell.
-  * The channel buffer shifting code has gotten much more efficient.
-    Suggested by [TAP].
-  * @function/restrict can accept arguments of the form '!<restriction>'
-    to clear a restriction. Suggested by Saturn@M3.
-  * Most of the asterisk lines between different login message files
-    have been removed. Suggested by Vadiv@M*U*S*H most recently.
-Fixes:
-  * Fixes from 1.7.6p9.
-  * Win32 portability fixes. [EEH]
-  * deny_silent in access.cnf was ignored in several cases, and no
-    longer is. Patch by Cloud@Sci-Fi Chat
-  * Help fixes by Cheetah@M*U*S*H and LeeLaLimaLLama@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 12                     March 21, 2003
-
-Commands:
-  * @channel/buffer creates a buffer for a channel to store the most
-    recent messages broadcast on the channel. @channel/recall can be
-    used to recall them. These are not stored across reboots and should
-    be set up by #1's @startup.
-Functions/Substitutions:
-  * accname() gives the accented name of an object (applying @nameaccent).
-  * %~ gives the accented name of the enactor.
-Minor Changes:
-  * The chat-related commands and functions have been moved out
-    of bsd.c and funmisc.c and into extchat.c. Patch by Vadiv@M*U*S*H.
-  * The notification stuff has been moved out of bsd.c and into a new
-    notify.c file.
-  * @name no longer requires a password for changing player names,
-    and ignores one if given. Suggested by Ambrosia@M*U*S*H (and others).
-  * @hook can not be used on the @password or @newpassword commands.
-  * The dump_complete message is also shown after a forking dump,
-    if one is defined. Suggested by Nathan Schuette.
-  * @lock/leave on a room now prevents people within it from leaving
-    via exits or via @tel. Suggested by Peter Bengtson, patch by
-    BlaZe@M*U*S*H.
-Fixes:
-  * Fixes from 1.7.6p8
-  * Cleanup of a few new db[x] mentions in the source to use dbdefs.h
-    macros. Inspired by Vadiv@M*U*S*H.
-  * @command/restrict didn't work properly for most flags, especially
-    new ones. Reported by Caesar and Sholevi@M*U*S*H.
-  * @pemit/list didn't honor NOSPOOF. Patch by Cheetah@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 11                     February 22, 2003
-
-Commands:
-  * New IDLE command (socket-level) does nothing, and does not update
-    the socket's last_time (so it doesn't change idle times). Useful
-    for people behind lame NAT firewalls that timeout their connections if
-    nothing is sent for 5 minutes. Suggested by Bolt and BladedThoth@M*U*S*H.
-Fixes:
-  * Win32 (and other OS) portability fixes. [EEH]
-  * Fixed the openssl Configure thing again. The right way, this time.
-
-Version 1.7.7 patchlevel 10                     February 22, 2003
-
-Fixes:
-  * Fix to stupid typo in Configure script that breaks on systems
-    without openssl. Argh.
-
-Version 1.7.7 patchlevel 9                      February 20, 2003
-
-Functions:
-  * New function scan() works like @scan. Suggested by Viila@M*U*S*H.
-Flags:
-  * New flag, MISTRUST, prevents an object from controlling anything
-    but itself.
-Configuration:
-  * mush.cnf directives ansi_justify, globals, and global_connects have
-    been removed (they are now always on).
-  * New unconnected_idle_timeout directive in mush.cnf controls
-    timeouts for connections idle at the connect screen.
-  * New max_guests directive in mush.cnf can limit the number of
-    guests allowed to connect at once. Suggested by Sholevi@M*U*SH.
-Minor Changes:
-  * New lflags search class takes a list of flag names.
-  * Improved connection failure messages.
-  * Somewhat more informative message when you @chan/gag,hide,mute
-    all channels at once. Suggested by Tanaku and Kevin@M*U*S*H.
-  * Began commenting files using doxygen.
-  * Internal code cleanup. Mostly converting some magic numbers to
-    #define'd symbols, and some #define'd symbols to enums for better
-    debugging and improved readability. Also some conversion of old
-    K&R style functions. [SW]
-  * sort() and the set functions understand all the same comparison
-    types as comp(). [SW]
-  * Case-sensitive comparison currently isn't always possible, depending
-    on the locale the mush is running on. Help files reflect this. [SW]
-  * @uptime shows the time of the last successful database save, and
-    the time of future events like saves, not just the time until them.
-    Suggested by Cheetah@M*U*S*H. [SW]
-  * Improvements to reporting of failed saves. [SW]
-  * Code cleanup. [SW]
-  * tel() now takes a third argument that makes it function like
-    @tel/silent. Suggested by Cheetah@M*U*S*H. [SW]
-  * @idescformat operates like @descformat for internal descriptions.
-    Suggested by Tanya@M*U*S*H.
-Fixes:
-  * local_startup() was getting run earlier than in the past due to
-    changes in the startup sequence. This has been rectified, so
-    local_startup() again runs after all other initialization (and
-    just before all object startups are triggered). Report by
-    BladedThoth and grapenut@M*U*S*H.
-  * Improved testing for openssl libraries in Configure. The old
-    approach used to cause problems on systems with runtime-only
-    openssl installations without development libraries.
-  * help opaque mentions that opaque blocks look/outside. Suggested
-    by Cheetah@M*U*S*H.
-  * itext() and inum() now generate an error on a null argument,
-    regardless of tiny_math and null_eq_zero settings. Reported by
-    Intrevis@M*U*S*H.
-  * Another fix to the new matcher. Bug report by Kyieren@M*U*S*H.
-  * @flag/alias was broken. Fixed. Reported by Kevin@M*U*S*H.
-
-
-Version 1.7.7 patchlevel 8                      January 27, 2003
-
-Minor Changes:
-  * command_add now expects to receive the flag list and the
-    switch list as strings. Folks who hack into cmdlocal.c should
-    take note and read example in the new cmdlocal.dst
-Fixes:
-  * Players were not created with all the player_flags. In a related
-    bug, checking of command flag restrictions wouldn't work with
-    all flags. Reported by Cory Descoteau.
-  * Flagmasks on commands weren't grown properly when flags were added.
-
-
-Version 1.7.7 patchlevel 7                      January 25, 2003
-
-Fixes:
-  * Crash bug in zone-checking during @dbck fixed.
-
-
-Version 1.7.7 patchlevel 6                      January 23, 2003
-
-Major changes:
-  * Rewrite of the flag system. The new system allows for any number
-    of flags, which may apply to any set of object types (the flags/toggles
-    distinction has been eliminated). Flags without single-character
-    abbreviations are better supported. Flags are stored in the object
-    database, and are referenced in hardcode and the db by the name
-    of the flag rather than bit positions.  Older databases will be
-    automatically converted to the new format on load, but can not be
-    converted back (so make backups!). New flaglocal.dst file for
-    hardcode patch hackers to add custom flags.
-  * Rewrite of the matcher code (src/match.c). Some semantics of the
-    matching have changed: matching adjectives are parsed earlier and
-    restrict the match for greater efficiency; they also behave more
-    close as described in the help with respect to object ordering.
-    In addition, you can now do things by dbref without controlling
-    the object in many cases that previously required control.
-    Provoked by bug reports by Intrevis@M*U*S*H and Philip Mak.
-Commands:
-  * @flag allows God to manipulate flags within the game, including
-    adding new flags. Flags additions/changes are maintained across
-    reboots, so this command does not need to be run at every startup.
-Functions:
-  * lflags(), orlflags(), andlflags() return or test flag lists.
-Minor changes:
-  * New NUMVERSION macro defined in hdrs/version.h that can be tested
-    by hardcode hacks to add code conditional on version.
-  * Much cleanup of @wall. Minimally-user-visible changes:
-    The @rwallemit, @rwallpose, @wallemit, @wallpose, @wizemit and
-    @wizpose commands have been removed. @wall no longer accepts the
-    /wizard, /royalty, and /pose switches, and @rwall and @wizwall accept
-    the /emit switch. Suggested by Vadiv@M*U*S*H, though he'd really
-    rather see @wall removed.
-  * @lock and @unlock now show which type of lock was set/cleared.
-    @lset now specifically notes that lock flags are being changed.
-    Suggested by Tanaku@M*U*S*H.
-Fixes:
-  * @boot/me will no longer boot a connection if it is the sole
-    connection the player, even if it's technically inactive.
-    Suggested by Ambrosia@M*U*S*H.
-  * @boot'ing an active self (by descriptor) crashes the MUSH.
-    Discovered by Ashlynn@ChicagoMUSH.
-  * The thorn and eth characters generated with accent() would
-    convert to 'th' when stripped or viewed under NOACCENT, which
-    could be very confusing in object names. Same for the German sharp
-    s, which converted to 'ss'. Until we can cleverly set up separate
-    tables for object name unparsing, these have been reverted to their
-    old behavior so that stripaccents(accent(X,Y)) should return X for
-    any X and Y. Reported by DeeJee, Intrevis, and Time (@M*U*S*H).
-
-
-Version 1.7.7 patchlevel 5                      January 7, 2003
-
-Fixes:
-  * Fixes from 1.7.6p5.
-
-
-Version 1.7.7 patchlevel 4                      January 2, 2003
-
-Minor Changes:
-  * When room_connects is on, @aconnect and @adisconnect also
-    functions on things when players (dis)connect inside them.
-    Suggested by Philip Mak. [SW]
-  * Parser-enforced argument counts for user-defined @functions,
-    as an option to @function.
-Config:
-  * New mush.cnf option max_global_fns allows increasing the number
-    of @functions allowed without editing source code. If you change
-    this, you should reboot the MUSH or bad things can happen.
-    Suggested by hilikiradi@Dardalani.
-Fixes:
-  * mkcmds.sh doesn't always regenerate every file, only what's
-    needed. Speeds up compiles. Suggested by Philip Mak. [SW]
-  * Fixes from 1.7.6p4.
-
-
-Version 1.7.7 patchlevel 3                      December 25, 2002
-
-Commands:
-  * @sitelock/check <host> tells you which rule, if any, would match.
-Fixes:
-  * The objdata hashtable routines had a serious bug that could
-    cause crashes.
-
-
-Version 1.7.7 patchlevel 2                      December 22, 2002
-
-Major Changes:
-  * The LOCAL_DATA define has been removed along with the pointer
-    in the object structure. The local functions called on creation,
-    destruction, and cloning are now always called. Objects can
-    now store data in a single hashtable using the set_objdata()
-    and get_objdata() functions. As a proof of concept, the transitory
-    channel lists on objects are now stored here, and the "channels"
-    pointer has been removed from the object structure. Design
-    and much of the implementation by Vadiv@M*U*S*H.
-Powers:
-  * can_nspemit power can be used to provide access to @nspemit
-    without a Wizard bit. [SW]
-Functions:
-  * lpos from Mux, TM3. [SW]
-Fixes:
-  * Fix to some gcc-specific macros reported by Peter Bengston and
-    Michael Holbrook. [SW]
-  * Improvements to stripaccents/noaccents conversions. [SW]
-  * Fixes from 1.7.6p3.
-
-
-Version 1.7.7 patchlevel 1                      December 17, 2002
-
-Minor Changes:
-  * ex obj/attrib returns the attribute value even if it's veiled,
-    if a specific (non-wildcard) attribute is given. Suggested by
-    Nhoj@M*U*S*H.
-Fixes:
-  * Win32 portability fixes. [EEH]
-  * Fixes from 1.7.6p2
-
-Version 1.7.7 patchlevel 0                      December 8, 2002
-
-Major Changes:
-  * Clients that understand telnet NAWS (See RFC 1073) can tell the mush
-    what dimensions a given connection's display is.  Added the
-    width() and height() functions, and SCREENWIDTH and SCREENHEIGHT
-    psuedo-commands for getting/setting this information from the mush.
-    This changes the reboot.db format and requires a full shutdown. [SW]
-  * Two new atoms for locks. "#true" in a lock is always evaluated as true
-    (anyone can pass), and "#false" is always evaluated as false (no one
-    can pass). Suggested by Vadiv@M*U*S*H.
-Internationalization:
-  * The pronoun sets are no longer hardcoded. If you're running in a
-    locale other than C or en*, you'll see weird looking pronoun descriptions
-    for things like %s until a translation team translates them to your
-    locale's language. Suggested by Dandy@M*U*S*H.
-Attributes:
-  * @DESCFORMAT can be used to separate description contents from formatting.
-    Suggested by Philip Mak.
-  * VEILED attribute flag causes attribute value not to be displayed
-    on default examine, but otherwise accessible as usual. Good for spammy
-    data attributes. See 'help attribute flags'. Suggested by Cheetah@M*U*S*H.
-Commands:
-  * examine/all shows contents of veiled attributes. Suggested by
-    Intrevis@M*U*S*H.
-Flags:
-  * The FIXED and ROYALTY flags are no longer optional.
-Minor Changes:
-  * Object creation times are no longer optional.
-  * Warnings are no longer a compile-time option; they're turned on.
-    You can stop automatic warnings in mush.cnf, as before.
-  * Cleanup of the telnet-option code in general. [SW]
-  * Consolidation of much of the code for functions that return information
-    about the least-idle connection of a given player. [SW]
-  * The tiny_attrs configuration option has been removed.
-  * Removed a lot of preprocessor checks for conditionally including header
-    files that always succeed because they're standard C headers. [SW]
-  * Removed the Size_t typedef in favor of the standard size_t. [SW]
-  * Some optimization hints for the GCC and VS.NET compilers. [SW]
-  * We try to be more conservative about when we show lines of
-    asterisks around motd-type messages, to avoid showing them when
-    there's no message.
-  * Continued ansi-C-ification of function declarations.
diff --git a/CHANGES.180 b/CHANGES.180
deleted file mode 100644 (file)
index 468df6d..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-This is the changes file for PennMUSH 1.8.0. Please look it over; each
-version contains new things which might significantly affect the
-function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar)
-[GM] is Greg Millam, a PennMUSH developer (aka Walker)
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.8.0 patchlevel 13                     July 5, 2006
-
-Fixes:
-  * Crash bug in pcreate() fixed. Report by Phreq@M*U*S*H.
-  * Crash bug in setunion() fixed. Report by Gurenk@ST:Legacy.
-
-
-Version 1.8.0 patchlevel 12                     March 25, 2006
-
-Minor changes:
-  * New config option keepalive_timeout for setting the socket-level
-    are-you-there ping interval used to help work around broken routers. [SW]
-  * Changing the SO_KEEPALIVE interval works on more OSes, including OS X. [SW]
-  * Passwords are masked when commands that require them are logged
-    in command.log. Suggested by Sumta. [SW]
-Fixes
-  * Added help entry for @debugforwardlist. Suggested by d'Ark@M*U*S*H.
-  * Help fixes by Talvo@M*U*S*H.
-  * When objects are nuked, their creation time is reset to 0. 
-    This prevents garbage objects from maintaining the same objid.
-    Suggested by Cooee@PDX
-  * When doing english-style matching, plain numbers ('3') were
-    treated as adjectives (like '3rd') and shouldn't have been.
-    Fixed. Reported by Stinky@M*U*S*H.
-
-
-Version 1.8.0 patchlevel 11                     February 25, 2006
-
-Fixes:
-  * Help clarification to ancestors inspired by Viceroy@GuiltyPleasures. [TAP]
-  * Help clarification in @set by Skaven@M*U*S*H.
-  * Freebsd hints files combined and simplified.
-
-
-Version 1.8.0 patchlevel 10                     January 29, 2006
-
-Minor changes:
-  * Row and field separators in sql() may now by more than one
-    character. Patch by Walker@M*U*S*H.
-Fixes:
-  * Fix to GNU libc detection in Configure by Petr Salinger.
-  * Definition of MAILER in options.h.dist made to work by Luke@M*U*S*H.
-  * Fix to double-parsing of row and field separators in sql()
-    by Walker@M*U*S*H.
-
-
-Version 1.8.0 patchlevel 9                      December 12, 2005
-
-Fixes:
-  * On amd64 systems running FreeBSD (and possibly others), connections
-    could break after about 32 connections. Report by nails@M*U*S*H.
-  * The CONF and CONFGROUP structures are renamed PENNCONF and
-    PENNCONFGROUP to work around brokenness in Debian's openssl0.9.8
-    package.
-
-
-Version 1.8.0 patchlevel 8                      September 15, 2005
-
-Fixes:
-  * /noflagcopy switch to @cpattr/@mvattr works now. Report by
-    Kimiko Muffin.
-  * SHS encryption now works on 64-bit architectures that define
-    uint32_t. Report by Licenser@M*U*S*H.
-  * MySQL detection by Configure was accidentally removed
-    in 1.8.0p7/1.8.1p2. It's back. Report by Walker@M*U*S*H.
-    Same applies to SO_KEEPIDLE and some other Configure units.
-
-
-Version 1.8.0 patchlevel 7                      August 29, 2005
-
-Fixes:
-  * lsearch() with no results no longer returns #-1. It still does so when
-    there's an error. Suggested by Nathan Baum. [SW]
-  * Improved messages for @link of exits. Report by Nathan Baum. [SW]
-  * Restart script more portable to older bourne-like shells.
-    Patch by Walker@M*U*S*H.
-  * Fix to MinGW reboot. Patch by Nathan Baum.
-  * Help fixes by Tyr@M*U*S*H, Talvo@M*U*S*H, Dizzy@Forgotten Time,
-    and Trinsec@M*U*S*H.
-  * @flag/add of a flag with a name that is a unique prefix of an existing 
-    flag wouldn't add the new flag. Reported by Mike Griffiths. [SW]
-  * @config/set of an invalid option would still return a success message.
-    Report by Sholevi@M*U*S*H. [SW]
-  * sql() without a field delimiter defaulted to using the row delimiter,
-    instead of a space. Report by Kali@M*U*S*H.
-  * lock() didn't set user-defined locks properly. Report by 
-    Dahan@M*U*S*H. [SW]
-  * Infinite loop in fraction() fixed.
-  * FIXED players may no longer teleport through exits. Report by
-    Anyasha@bDv2
-  * Better messages when attempting to wipe SAFE attributes.
-    Suggested by Nathan Baum.
-
-
-Version 1.8.0 patchlevel 6                      June 24, 2005
-
-Fixes:
-  * Weird logging ouput with function logargs fixed. Report by Sholevi@M*U*S*H.
-  * sort() and set functions now ignore ansi. Patch by Walker@M*U*S*H.
-  * @hook memory leak fixed. Reported by Shari@M*U*S*H.
-
-
-Version 1.8.0 patchlevel 5                      May 30, 2005
-
-Minor changes:
-  * help substitutions{2,3,4} aliased to help %{2,3,4} respectively
-    for convenience. Suggested by Tokeli@M*U*S*H.
-  * help for ulocal() clarified. Suggested by Dahan@M*U*S*H.
-  * help fixes by Sketch@M*U*S*H.
-Fixes:
-  * next() on a thing or player behaved improperly. Reported by
-    Sketch@M*U*S*H.
-  * ancestor_* config options allow dbref specified with #<n> as
-    well as just <n>. Suggested by Nathan Baum.
-  * New MSVC6 project files. [EEH]
-  * NUMVERSION no longer starts with a 0, which made some compilers
-    think it might be an octal constant. Suggested by Shane DeRidder.
-  * @attribute did not check for validity of attribute names before
-    adding them. Report by Dahan@M*U*S*H.
-  * #<dbref> <action> forces ignored @hooks. Report by Mike Griffiths.
-  * access.cnf checks attempt to check against ipv6-ized versions
-    of ip addresses listed in sitelocks as well.
-  * Sort of dbrefs in @oemit was broken, which could lead to  
-    multiple messages to same target. Report by Cheetah@M*U*S*H. [TAP]
-  * Setting a password ending in % is now feasible. Report by Marc 
-    DVer [TAP].
-
-
-Version 1.8.0 patchlevel 4                      March 20, 2005
-
-Fixes:
-  * @list powers crashed the MUSH. Report by Kevin@M*U*S*H.
-  * Multiplayer whisper-poses now use the correct conjugation of the
-    verb "to sense". Suggested by Cheetah@M*U*S*H.
-  * @attribute NAME and @attribute @NAME can both be used to display 
-    information about attributes. [SW]
-
-
-Version 1.8.0 patchlevel 3                      February 26, 2005
-
-Fixes:
-  * 1.8.0p2 fixed ""hi when chat_strip_quote was on, and broke it
-    when it was off. Fixed both ways now. Report by Cheetah@M*U*S*H.
-  * The @break fix in 1.8.0p2 stopped compound break actions
-    in {}'s from working correctly. Fixed now. Report by 
-    Kevin@M*U*S*H. [TAP]
-  * @list/list() works right with flags/powers now.
-  * MS VS.NET project file now includes sql.c/h and bufferq.c/h.
-    Report by T'orA@M*U*S*H.
-  * playermem() and objectmem() now return #-1 NO MATCH consistently
-    when they can't match their argument to an object of an appropriate
-    type. Suggested by Cheetah@M*U*S*H.
-
-
-Version 1.8.0 patchlevel 2                      February 2, 2005
-
-Fixes:
-  * @break/@assert could double-evaluate the right side.
-    Patch by Walker@M*U*S*H.
-  * ""hi didn't produce the right output. Patch by Walker@M*U*S*H.
-  * Better output for @warn me=none and invalid warning lists.
-    Suggested by T'orA@M*U*S*H
-  * Help fix by Meyer@M*U*S*H.
-  * Bug in reading dbs when no chatdb present. Discovered by
-    Benigo@M*U*S*H.
-
-
-Version 1.8.0 patchlevel 1                      January 16, 2005
-
-Fixes:
-  * Win32 portability fixes. NT_TCP builds work again, too. [EEH]
-  * pennv180.hlp file added to MANIFEST so it's distributed now.
-    Report by Nymeria@M*U*S*H.
-  * More translation files included. [EEH]
-  * Help fixes by [EEH] and Chili@M*U*S*H.
-  * cflags() now shows the N (nonames), T (notitles), and C (nocemit)
-    flags for channels. Suggested by Prospero@Metro.
-  * If A can't receive from B (due to interactions), then A's
-    puppet would send a null line when it heard B. Now the puppet
-    doesn't send at all. Fix by Prospero@Metro.
-  * Multiple simultaneous flag sets behaved oddly when one of the
-    flags affected listener/hearer status. Report by Cheetah@M*U*S*H.
-  * NUMVERSION corrected.
-
-Version 1.8.0 patchlevel 0                      January 1, 2005
-
-Major Changes (since 1.7.6):
-  * SQL support (MySQL server).
-  * SSL support.
-  * Attribute trees.
-  * Object ids uniquely identify an object across recycling dbrefs.
-  * Anonymous attributes via #lambda.
-  * Ancestor objects for each object type.
-  * Interactions (something like "realms" in mux2) control conditions
-    under which objects can see, hear, match, or establish the presence
-    of each other. See local.c.
-  * New flag/power internals, no more limits on number of flags, 
-    flags can be added/removed at runtime.
-  * New game/chat db formats, more readable, extensible, and 
-    better at detecting problems.
-  * New framework for performing lock failure activities in hardcode.
-  * Customized mush.cnf configuration parameters can be easily added.
-  * New chunk memory allocator does our own paging to disk,
-    so the resident memory footprint is much lower.
-  * Lock system rewrite. #true and #false atoms for locks.
-  * minimal.db is no more. If you start up the server and there's no
-    db to be found, it creates a new minimal database in memory.
-  * New commands: @command/alias, buy, @boot/silent, @assert, huh_command,
-    @decomp/prefix, @edit/first, ex/parent, empty, @nscemit, @function, 
-    @nsemit, @nsoemit, @nslemit, @nsremit, @nszemit, ], @command/add,
-    @command/del, warn_on_missing, @switch/regexp, @*emit/spoof,
-    @tel/inside, @hook/ignore, @hook/override, @chan/recall, with/room,
-    IDLE, @sitelock/check, SCREENWIDTH, SCREENHEIGHT, ex/all
-  * New functions: zwho, zmwho, l/lv/n/nv/x/xvthings, malias, locks, llocks,
-    lset, lockflags, llockflags, lattrp, nattr/p, xattr/p, mailsend,
-    x/xv/n/nv/exits/players/things, nsemit/cemit/remit/lemit/oemit/zemit,
-    andlflags, andlpowers, orlflags, orlpower, andpowers, orpowers,
-    align, sent, recv, scan, valid, allof, firstof, tr, vcross, hostname,
-    ipaddr, cmds, reswitch*, digest, cowner, baseconv, randword,
-    trimtiny, trimpenn, terminfo, lports, strreplace, fraction, root,
-    children, accname, lpos, width, height
-  * New behaviors: @adisconnect, No_Pay, @name, @lock/speech, examine,
-    @cemit, give, @cost, SUSPECT, @startup, escape(), time(), merge(),
-    @set, move, @name, etimefmt(), insert(), PUPPET, help, rand, DEBUG,
-    TERSE, powers(), @config/set, @function/restrict, %~, @lock/leave,
-    tel(), @descformat, @idescformat, @aconnect
-  * @lock/interact can prevent other players from transmitting any
-    normal sound to you (that is, you won't hear them speak, pose, 
-    emit, etc., like gagging them in a client). 
-  * New flags: HEAVY, ORPHAN, MISTRUST
-  * New powers: Debit, Can_NSPemit
-  * New attribute flags: NO_NAME, NO_SPACE, DEBUG, NEARBY, PUBLIC, VEILED
-  * New channel flags: Notitles, Nonames, Nocemit
-  * You can log setting/resetting of flags/powers, as well as individual
-    commands or function calls.
-  * Rolling activity log dumped on panic dumps or visible with @uptime.
-  * A new test harness for developing regression test suites in perl
-    for PennMUSH is now included; few test suites are. If you can figure
-    out how to use this, write some tests for us!
-  * More and better telnet negotiation.
-  * Many internal improvements. Many old compile-time options removed
-    or replaced by run-time options. Source code commenting using
-    doxygen. Improved internationalization.
-  * New config directives: unconnected_idle_timeout, max_guests,
-    max_global_fns, read_remote_desc, default_home
-Minor Changes (since last 1.7.7):
-  * The LFAIL/OLFAIL/ALFAIL messages are activated whenever a @lock/leave
-    is checked and failed, not just when a 'leave' command fails.
-    (So they work for failed attempts to leave rooms by exits/@tel).
-    Suggested by Zith@Lovarii.
-Fixes (since last 1.7.7):
-  * Help for grab() now references graball(). Report by Sketch@M*U*S*H.
-  * Reference to 'ducats' in code replaced by appropriate plural
-    currency unit. Report by Kinumi@ShoujoAi.
diff --git a/CHANGES.181 b/CHANGES.181
deleted file mode 100644 (file)
index 32631e6..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-This is the changes file for PennMUSH 1.8.1. Please look it over; each
-version contains new things which might significantly affect the
-function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar)
-[GM] is Greg Millam, a PennMUSH developer (aka Walker)
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[MUX] refers to code by (or inspired by) TinyMUX 2.x
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.8.1 patchlevel 10                     September 13, 2006
-Fixes:
-  * Cleaned up some compiler warnings. [SW]
-  * The AAHEAR and AMHEAR attribute flags work on listening parents. 
-    Report by PAD@M*U*S*H. [GM]
-  * Flags without a letter would truncate the list of set flag letters.
-    Reported by Intrevis@M*U*S*H and Nathan Baum. Patched by latter.
-  * Win32 lacks the LC_MESSAGES setlocale() category. Reported by Intrevis.
-  * Trying to ignore signals could crash on Win32. Reported by Intrevis.
-  * Fixed parse errors in non-C99 compilers. Reported by Intrevis.
-  * Help fixes by Talvo, Sketch
-  * Fixes for 64-bit platforms [SW]
-  * @dump/paranoid produced corrupt databases. 
-    Reported by Marvin@M*U*S*H. [SW]
-  * Better support for dealing with databases with a different number of 
-    attributes on an object than expected. Marvin and Luke. [SW]
-  * Fixed the example in cmdlocal.c. Reported by Tokeli [SW]
-  * Fix in CHAT_TOKEN_ALIAS. [GM]
-
-Functions:
-  * link() now takes an optional third argument to make it act like
-    @link/preserve. Suggested by qatoq@ST:Foundations.
-
-Minor Changes:
-  * The hash table code now calls a cleanup function on data when deleting
-    an entry. [SW]
-  * The above is used in db.c, function.c and plyrlist.c [SW]
-  * @config compile reports if MySQL support is present. (This does not 
-    mean the game is configured to use it.) [SW]
-  * restart copies log files from the last time the mush was running to
-    game/save/ instead of deleting them. [SW]
-
-
-Version 1.8.1 patchlevel 9                      July 9, 2006
-
-Fixes:
-  * Fixes from 1.8.0p13.
-
-
-Version 1.8.1 patchlevel 8                      June 3, 2006
-
-Attributes:
-  * New 'AAHEAR' and 'AMHEAR' attribute flags, when set on an
-    ^listen attribute, cause it to behave like @aahear or
-    @amhear respectively, instead of like @ahear. Suggested by
-    Jules@M*U*S*H. Patch by Talvo@M*U*S*H.
-  * New UNIMPLEMENTED_COMMAND command handles commands that
-    are known but not implemented (currently just @SQL). By default,
-    produces a standard message, but can now be @hooked, etc.
-    Suggested by Talvo@M*U*S*H. [TAP].
-  * @conformat and @invformat are now passed a |-delimited list
-    of object names, unparsed in the default fashion, as %1. Patch
-    by Talvo@M*U*S*H.
-Functions:
-  * default() can now take any number of obj/attr cases. Suggested
-    by Nathan Baum, patch by Talvo@M*U*S*H.
-  * lwhoid(), mwhoid(), xwhoid(), xmwhoid() work like lwho(), etc.
-    but return objids instead of dbrefs. Patch by Talvo@M*U*S*H.
-  * stringsecs() converts timestrings to seconds. Patch by Talvo@M*U*S*H.
-Minor changes:
-  * %u is now set to the evaluated typed $command (when a $command
-    is matched) and is available to locks. Suggested
-    by Jules@M*U*S*H, patch by Talvo@M*U*S*H.
-  * Rooms reachable from FLOATING rooms are now considered topologically
-    connected, just like rooms reachable from the base room.
-    Patch by Nathan Baum.
-  * %i0-%i9 evaluates to itext(0)-itext(9) for convenience in iter(). 
-    Suggested by Nathan Baum. Patch by Talvo@M*U*S*H.
-  * When safer_ufun is on, you must control an object to @function
-    an attribute on it. This prevents, e.g., mortals with @function power
-    from making attributes on wizard objects into @functions. 
-    Suggested by Talvo@M*U*S*H.
-  * Internal eval_lock_with function added to support passing special
-    %0/%1 values to lock evaluations. Suggested by Malix@8bit.
-  * Improved @uptime display by Ambrosia@M*U*S*H.
-  * Players may @search a ZMP if they pass the zone lock. Patch by
-    Talvo@M*U*S*H.
-Fixes:
-  * cbuffer() crash fixed. Report by qa'toq@ST:Foundations. [GM]
-  * regex crash bug fixed. [GM]
-  * insert() added an extra delimiter when inserting at end of list.
-    Report by Sangman. [SW]
-  * make distclean is more thorough. Patch by Ranmir@M*U*S*H.
-  * EQSPLIT commands with no equal sign that were hooked were passed to the 
-    hook attribute with an equal sign (and nothing to the right).
-    Fixed. Suggested by Talvo@M*U*S*H.
-  * zwho/zmwho can now be used by see_all players on any zone.
-    Suggested by Talvo@M*U*S*H.
-  * crecall() now accepts 1 or 2 arguments, as promised. Report by
-    Sketch@M*U*S*H.
-  * attrib_set(obj/attr,) sets the attribute to a single space
-    when EMPTY_ATTRS is off. Patch by Talvo@M*U*S*H.
-  * Portability fix in fun_speak. [EEH]
-  * Fix to TZ parsing in src/funtime.c by Jules@M*U*S*H.
-  * Fix to speak() for fragments of speech by Talvo@M*U*S*H based on
-    report by Trelane@M*U*S*H.
-  * Typo fixes in game/aliascnf.dst by Talvo@M*U*S*H.
-  * Help fixes by Talvo@M*U*S*H, Sketch@M*U*S*H.
-
-
-Version 1.8.1 patchlevel 7                      March 21, 2006
-
-Major changes: ** PLEASE READ **
-  * The FIXED flag's restriction on 'home' is no longer applied in
-    the hardcode but through restrict.cnf. A new entry has been
-    added to restrictcnf.dst for this -- people running existing
-    MUSHes that use the FIXED flag will want to copy this to their
-    restrict.cnf.
-Locks:
-  * @lock/take controls who may 'get' something from a container 
-    or location; note that @lock/enter no longer controls this on
-    containers but only controls who may 'enter'. The container's
-    TAKE_LOCK`*FAILURE attributes provide messages on a failed get.
-    Suggested by BladedThoth@M*U*S*H. Patch by Talvo@M*U*S*H.
-Commands:
-  * @chan/recall can take an extra argument to specify the line to
-    start the recall from. Suggested by Sholevi@M*U*S*H. Patch by 
-    Talvo@M*U*S*H.
-Functions:
-  * ulambda() is a version of u() that can take #lambdas. [GM]
-  * speak() for language processing. Suggested by Nymeria@M*U*S*H.
-    Patch by Talvo@M*U*S*H. [3]
-  * width() and height() take an optional second argument to set the
-    default values. Patch by Nathan Baum.
-  * unique() function removes contiguous duplicates in lists. [SW]
-  * nextdbref() returns the next dbref on the free list. 
-    Suggested by Jules@M*U*S*H. Patch by Talvo@M*U*S*H.
-  * Specifying more than one type to locate() now makes each of them
-    preferred (not just the last one). Suggested by Anyasha@ST:Foundations.
-  * namelist() parses a list of dbrefs and possibly-quoted names a la page
-    and returns the corresponding dbrefs. Patch by Talvo@M*U*S*H.
-  * crecall() is a functional form of @chan/recall. Suggestd by
-    Cheetah and Trinsec@M*U*S*H. Patch by Talvo@M*U*S*H.
-Flags:
-  * The LIGHT flag now overrides the DARK flag consistently. DARK
-    objects will show up in LIGHT rooms and anything set both
-    LIGHT and DARK is effectively LIGHT. Suggested by Renee@ShoreSide.
-    Patch by Talvo@M*U*S*H.
-Minor changes:
-  * @poll by itself now displays the  current poll instead of clearing it.
-    @poll/clear does that. [SW]
-  * Added aliases for @atrlock/@atrchown/atrlock to 'attr' versions
-    in aliascnf.dst. Suggested by Talvo@M*U*S*H.
-  * Players who already have a forbidden name (as their name or alias)
-    may change to that name. Patch by Talvo@M*U*S*H.
-  * New alias_flag() and alias_power() hardcode functions for hackers.
-    Patch by Talvo@M*U*S*H.
-  * Mortals can use @power/list and @power <power> commands.
-    Patch by Talvo@M*U*S*H.
-  * Restriction-checking by power fixed in cases where no flag
-    restrictions were applied. Patch by Talvo@M*U*S*H.
-  * New type GARBAGE for @search/lsearch type class.
-  * @pemit/list now accepts player names as well as dbrefs, a la page.
-    Patch by Talvo@M*U*S*H.
-Fixes:
-  * pcre.c includes config.h again. [EEH].
-  * Help fixes by Talvo@M*U*S*H.
-  * Fixes from 1.8.0p12
-
-
-Version 1.8.1 patchlevel 6                      February 25, 2006
-
-Major Changes:
-  * pcre updated to 6.4. This includes such nifty features and
-    named captures. [SW]
-  * NT_TCP code has been removed from the server. It was deemed
-    less useful than keeping the networking code unitary and
-    the ability to @shutdown/reboot. Patch by Nathan Baum.
-Flags:
-  * New LOUD flag (admin-settable) causes an object to bypass
-    speech (including chat) and interaction locks. Admin and others
-    with Pemit_All no longer pass interaction locks automatically
-    unless they are also LOUD. Patch by Cheetah@M*U*S*H.
-Locks:
-  * New DBREFLIST^<attrib> lock key checks to see if the enactor
-    appears in a list of dbrefs/objids stored on an attribute of
-    the object, simplifying a very common need. Suggested by
-    NightDaemon@M*U*S*H, patch by Cheetah@M*U*S*H.
-Powers:
-  * Many_Attribs power allows an object to have more attributes
-    than the max_attrs_per_obj parameter. Suggested by Nymeria@M*U*S*H.
-Functions:
-  * decompose() now decomposes ansi codes into ansi() calls.
-    Patch by Sketch@M*U*S*H.
-  * mapsql() efficiently feeds sql query results to an attribute. [GM]
-  * wildgrep()/wildgrepi() are versions of grep()/grepi() that now take 
-    wildcard patterns instead of substrings. [SW]
-  * regmatch()/regedit() now has a more flexible syntax for assigning
-    subpatterns to %q-registers. [SW]
-  * decompose() no longer inserts an initial backslash all the time.
-    Suggested by Trinsec@M*U*S*H.
-  * ordinal() returns the spelled-out ordinal form of an integer.
-    Suggested by Malone@HavenMUSH.
-Minor Changes:
-  * Font size tags (for pueblo) are not quite so huge for room names.
-  * The /noeval switch for @command is now called /noparse.
-    Patch by Nathan Baum.
-  * hints/cygwin.sh has been removed, as no hints were needed to
-    build on cygwin when tested with 1.5.19-4. win32/README.cygwin
-    has been added to document the cygwin build process.
-  * Added hints/darwin-fink.sh and README.OSX. [SW]
-Fixes:
-  * Track_Money objects with No_Pay still reported coins lost to
-    queue costs, even though they didn't pay them. Report by
-    Cheetah@M*U*S*H. [GM]
-  * Help fixes by Trinsec@M*U*S*H, Cheetah@M*U*S*H.
-  * Various %c weirdnesses fixed by Cheetah@M*U*S*H.
-  * Better message in restart when mush.cnf not found by Talvo@M*U*S*H.
-  * @alias provides more specific error messages for invalid aliases
-    of various sorts. Suggested by Intrevis@M*U*S*H.
-  * Function restriction localize now appears in @function info output.
-    Better error messages when attempting to use invalid function
-    restrictions.  Reported by Trinsec@M*U*S*H.
-  * Linting of warnings. [SW]
-  * Command and function names may now really start with punctuation 
-    characters.  Reported by Talvo@M*U*S*H.
-  * Fixes from 1.8.0p11.
-
-
-Version 1.8.1 patchlevel 5                      January 29, 2006
-
-Major Changes:
-  * @attrib/access no longer treats one-word flag lists that don't
-    match a single flag as a set of flag characters. You must now always
-    specify a space-separated list of full flag names.
-Commands:
-  * @list/locks and list(locks) lists all defined locktypes.
-    Suggested by Jules@M*U*S*H, patch by Walker@M*U*S*H.
-  * New @search classes 'start' (nth element of return list to start
-    with) and 'count' (how many elements to show, from <start>).
-    Useful for getting results a page at a time. Patch by Walker@M*U*S*H.
-Functions:
-  * nsearch()/nlsearch()/nchildren() return the number of objects that
-    would be returned by the equivalent search/lsearch/children call.
-    Patch by Walker@M*U*S*H.
-Minor Changes:
-  * delete() can use a negative length argument to delete characters
-    leftward, a la MUX. [MUX, SW].
-  * In @mail commands, <n>: is now recognized as meaning 'all messages
-    in folder n'. Notably, @mail 3: now lists all messages in folder 3,
-    rather than reading all messages in folder 3. Patch by Sketch@M*U*S*H.
-  * When one alias in a list of aliases being set is invalid, we
-    now report it with specificity. Suggested by Talvo@M*U*S*H.
-  * You no longer need to escape commas in decompose(). Suggested by
-    Trinsec@M*U*S*H.
-  * @sitelock rules for Guest access can now be specified per-guest
-    character. Suggested by Talvo@M*U*S*H.
-  * process_expression now parses for regex pattern captures by default,
-    so lots of things will work better under regedit(). Use of a ufun
-    clears the captured registers so dollar signs in ufuns don't
-    need escaping. Patch by Walker@M*U*S*H.
-  * Refactoring of ufun code by Walker@M*U*S*H.
-Fixes:
-  * Help fixes by Trinsec@M*U*S*H and Talvo@M*U*S*H and qa'toq@M*U*S*H.
-  * Crash bug in page fixed. Reported by the fine folks at ST:Foundation.
-    Patch by Walker@M*U*S*H.
-  * Win32 portability fixes. [EEH]
-  * Fixes from 1.8.0p10.
-
-
-Version 1.8.1 patchlevel 4                      December 6, 2005
-
-Major Changes:
-  * Errors in matching switches to commands are ignored when the
-    command is hook/ignored or hook/overriden, so you can override
-    a built-in command and provide your own switches. Suggested by
-    Trinsec@M*U*S*H.
-Mail:
-  * @mailfilter attribute causes incoming mail to be be automatically
-    filed to a folder if it evaluates to a folder name/number.
-    Patch by Sketch@M*U*S*H.
-Commands:
-  * @prompt/@nsprompt work like @pemit/list, but add a telnet GOAHEAD
-    at the end of the message when emitting to players; players whose
-    clients handle GOAHEAD (e.g. tf) will get the message displayed
-    as a prompt in the input window. Suggested by Trinsec@M*U*S*H.
-  * The PROMPT_NEWLINES socket command can be used to add a newline
-    after the GOAHEAD in a prompt, for clients that mix up prompt
-    lines with other output.
-Functions:
-  * namegrab() and namegraball(). Patch by Walker@M*U*S*H.
-  * prompt() and nsprompt() (the function equivalents of @prompt/@nsprompt).
-  * textentries(). Suggested by Trinsec@M*U*S*H.
-  * cdesc(), cusers(), cmsgs(), cbuffer(), cstatus(), clflags() 
-    functions. Suggested by d'Ark@M*U*S*H.
-  * numversion() returns Penn version as an integer (1008001004) 
-    for softcode use.
-Minor changes:
-  * @chan/list works better for people who increase CHAN_NAME_LEN.
-    Suggested by Trinsec@M*U*S*H.
-  * Help fixes by Trinsec@M*U*S*H, Chili@M*U*S*H.
-  * Several powers (tport_anything, tport_anywhere, no_money, no_quota,
-    debit, sql_ok) are now aliased to TinyMUSH/TinyMUX equivalents
-    as well, for better code portability. [3,MUX]
-Fixes:
-  * center() behaves better when given a fourth argument but
-    not a third one. Also fixes to cases where the right fill
-    string is one longer than the left. Report by Ian@M*U*S*H
-  * Fixes from 1.8.0p9.
-
-
-Version 1.8.1 patchlevel 3                      September 15, 2005
-
-Fixes
-  * Bugfixes from 1.8.0p8 applied.
-
-
-Version 1.8.1 patchlevel 2                      September 5, 2005
-
-Commands:
-  * @edit/check shows the results of an @edit without actually doing
-    it, to avoid inadvertent overediting. Patch by Walker@M*U*S*H.
-Functions:
-  * sortkey() sorts a list by mapping each list element through a
-    function and applying a standard sort type. Patch by Walker@M*U*S*H.
-Minor changes:
-  * "% " (percent-space) is now parsed to a literal percent-space,
-    making it easier to type things like "I'm 50% happy". And
-    % at end of line is parsed to a literal %.  Patch by Sketch@M*U*S*H.
-  * @nameformat now receives the default-formatted name as %1
-    so you can edit from that if you prefer. Suggested by Talvo@M*U*S*H.
-  * Added netbsd hints. Suggested by Tyr@M*U*S*H.
-  * hastype() can take a list of types to check for, not just one. [SW]
-  * Add @function/preserve, which does the same thing as the localize
-    restriction. [MUX] [SW]
-  * Leaving out the <filler> argument to align() defaults it to a
-    space. Suggested by Tyr@M*U*S*H, patch by Walker@M*U*S*H.
-  * Improved error message for setq() with odd arguments.
-    Report by Malix@8bit.
-  * When variable exits fail due to invalid/not permitted destination,
-    the enactor is told what the attempted destination was.
-    Suggested by Nathan Baum.
-  * Rooms may now @search/search() their owners. Suggested by Kali@M*U*S*H.
-Fixes:
-  * @function/restrict mentioned in help. [SW]
-  * Clearer help on parallel setq. Suggested by Trinsec@M*U*S*H. [TAP]
-  * lsearch() didn't refund pennies when it failed because of lack of 
-    permissions or invalid search criteria. Reported by Nathan Baum. [SW]
-  * lsearch() could return garbage objects. Report by Nathan Baum. [SW]
-  * %+ now only records argument count from last ufun, not from other
-    (builtin) functions. Report by Cheetah@M*U*S*H.
-  * Some linting of float comparisons. Report by Cheetah@M*U*S*H.
-  * page <player>= now pages the player with a blank line instead of
-    repaging the last paged player with "<player>". Report by Cheetah@M*U*S*H.
-
-
-Version 1.8.1 patchlevel 1                      June 27, 2005
-
-Fixes:
-  * Players could set the 'internal' attribute flag, which causes
-    confusion. Report by Cooee@PDX.
-  * Setting attribute flags by character alias did not work 
-    properly.
-
-
-Version 1.8.1 patchlevel 0                      June 25, 2005
-
-Major Changes:
-  * Players may have multiple aliases, by specifying a semicolon-separated
-    list to @alias. Players may list their usual @name as one of their
-    aliases, and the @name command may be used to switch to any alias.
-    The maximum number of aliases per non-Wizard player may be limited by the 
-    max_aliases config directive. Suggested by Nymeria@M*U*S*H. [3]
-  * 'home' is now a standard command, with no special precedence.
-    It can be @command/disabled and/or @hook'd. Suggested by
-    several people. If 'home' is disabled, 'goto home' will no longer
-    work (but @tel to home is still allowed).
-Flags:
-  * A player with the TRACK_MONEY flag set gets a message any time
-    their objects spend or lose money. Patch by Walker@M*U*S*H.
-  * New Pueblo_Send power allows use of xch_cmd and send tags.
-Mail:
-  * The @MAILFORWARDLIST attribute can be set to a list of dbrefs or
-    objids to which any @mail received should be forwarded. Your own
-    dbref may be listed if you wish to retain a copy
-    of the message as well. You must pass the @lock/mailforward of
-    any player listed in your @MAILFORWARDLIST. Suggested by T'orA@M*U*S*H.
-Functions:
-  * setq()/setr() can set multiple registers in parallel. Suggested by
-    Nathan Baum. [SW]
-  * center() can now take multi-character fills, and can have different
-    left and right fills. Suggested by Boris@M*U*S*H.
-  * attrib_set() is a version of set() for setting attributes that
-    has a more comfortable syntax and that can clear attributes
-    without wiping whole attribute trees like wipe(). Suggested by
-    Kevin@M*U*S*H. [TAP]
-  * extract()'s second and third arguments are now optional, and default
-    to 1. Suggested by Philip Mak.
-  * lsearch() can now take more than one class/restriction pair, and
-    will require them all to be met. New "mindb" and "maxdb" classes
-    specify low and high dbrefs, and replace the old <low>,<high>
-    parameters, which are now deprecated. Suggested by qa'toq@bDv.
-  * alias() and fullalias() functions. [EEH]
-  * New function restriction "localize" causes q-registers to be
-    saved and restored around the function as if localize() or
-    ulocal() were used; handy for @functions. Patch by grapenut.
-  * flip() and reverse() no longer require escaping of commas.
-    Suggested by Yar Kramer.
-Channels:
-  * Channels, by default, now ignore interaction rules defined in
-    local.c, so they can be used as "OOC" communication between
-    players who wouldn't be able to interact "IC"ly. A new per-channel
-    permission, "interact", changes this behavior back to enforcing
-    interaction rules on the channel. @lock/interact always applies,
-    however. Suggested by Shamash.
-  * New channel_flags config directive sets default permissions
-    for newly-created channels.
-Minor changes:
-  * The %+ substitution returns the number of arguments passed to
-    a function and is useful in ufuns and @functions.
-    Suggested by Nathan Baum.
-  * The rules for valid command and functions names (e.g. for @command/add)
-    have been relaxed to allow @foo, +blah, and others with punctuation.
-    Suggested by Mike Griffiths.
-  * @hook/list <command> lists hooks on a command. Suggested by Nathan Baum.
-  * @INVFORMAT works like @CONFORMAT for the inventory command.
-  * Help for mail and chat functions moves to pennmail.hlp and
-    pennchat.hlp, respectively. Suggested by Kevin@M*U*S*H.
-  * Settings and resetting multiple attribute flags at once is now
-    supported more flexibly. Suggested by Sholevi@M*U*S*H.
-  * The restart script handles mush.cnf files with Windows-style 
-    line endings more gracefully. Reported by CBeilby@M*U*S*H.
-  * @attribute/access now understands the privilege 'none' to mean
-    'no associated attribute flags'. Report by Tyson Cochrane.
-  * @flag/alias flag=!alias removes a flag alias. Suggested by
-    Relay@MatrixMUSH.
-  * @search now refers to things as things instead of objects.
-    Suggested by Zebranky@M*U*S*H.
-  * Suggested restrictions to disable hardcoded chat and mail
-    are in restrictcnf.dst for those who want to do that. 
-    Patch by Kevin@M*U*S*H.
-  * TZ attribute is now visual by default, since time() gets it anyway.
-    Suggested by Mike Griffiths.
-Fixes:
-  * Fixes include from versions up to 1.8.0p6.
diff --git a/CHANGES.182 b/CHANGES.182
deleted file mode 100644 (file)
index 1ea34fc..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-
-This is the most current changes file for PennMUSH. Please look it
-over; each version contains new things which might significantly affect
-the function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar)
-[GM] is Greg Millam, a PennMUSH developer (aka Walker)
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[MUX] refers to code by (or inspired by) TinyMUX 2.x
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.8.2 patchlevel 2                      January 27, 2007
-
-Fixes:
-  * Vector functions with an empty vector didn't return anything.
-    Reported by Talvo. [SW]
-  * Several typos in server messages. Fixed by Sketch, Stoko.
-  * Help fixes by Malix, [GM], Talvo, Sketch, and others.
-  * Crash bug in lmath() fixed. [GM]
-  * Crash bug in list functions fixed. [GM]
-  * list2arr in C now removes markup. list2arr_ansi() was added. [GM]
-  * Compilation problems on IRIX and similar OSes. [SW]
-  * Matcher bug with multiple wildcards fixed. Reported by Ian. [SW]
-  * Garbled output of locks from examine. Reported by Intrevis. [SW].
-  * regraballi() couldn't use its output seperator argument. Reported
-    by Jules. [SW]
-  * Looking at an object used the looker, not the lookee, as the origin
-    of the name for @ahear/@aahear/@amhear. [SW]
-  * Fixed the distribution of random numbers with a huge range. Reported
-    by Luke. 
-
-Version 1.8.2 patchlevel 1                      November 26, 2006
-
-Fixes:
-  * Corrected inadvertent breakage of null comparisons. Patched by
-    Javelin.
-  * Added overview since 1.8.0 to help 1.8.2p0. [EEH]
-
-
-Version 1.8.2 patchlevel 0                      November 26, 2006
-
-Major Changes (since 1.8.0):
-  * Players may have multiple aliases.
-  * 'home' is now a standard command.
-  * Errors in matching switches to commands are ignored when the command
-    is hook/ignored or hook/overriden.
-  * @attrib/access no longer treats one-word flag lists that don't match
-    a single flag as a set of flag characters.
-  * pcre updated to 6.4.
-  * NT_TCP code has been removed from the server.
-  * The FIXED flag's restriction on 'home' has been moved to restrict.cnf.
-  * New commands: @edit/check, @function/preserve, @hook/list, @prompt,
-    @nsprompt, @list/locks, UNIMPLEMENTED_COMMAND, PROMPT_NEWLINES,
-    @poll/clear.
-  * New functions: alias, fullalias, attrib_set, sortkey, namegrab/all,
-    ns/prompt, textentries, cdesc, cusers, cmsgs, cbuffer, cstatus,
-    clflags, numversion, nl/nsearch, nchildren, decompose, mapsql,
-    wildgrep/i, ordinal, ulambda, speak, unique, nextdbref, namelist,
-    crecall, l/m/x/xmwhoid, stringsecs
-  * New attributes: invformat, mailforwardlist, mailfilter
-  * New substitutions: %+, %  (percent-space), %i0-%i9, %u
-  * New locks: mailforward, take
-  * New behaviors: @flag/alias, @attribute/access, flip(), reverse(),
-    lsearch(), extract(), center(), setq(), setr(), page, align(),
-    regedit(), delete(), @search, @pemit/list, @poll, width(), height(),
-    locate(), @chan/recall, insert(), default(), @conformat, link().
-  * New flags: loud, track_money.
-  * New powers: pueblo_send, many_attribs.
-  * New attribute flags: aahear, amhear.
-  * New config directives: channel_flags.
-  * New function restriction "localize" causes q-registers to be
-    saved and restored around the function as if localize() or
-    ulocal() were used; handy for @functions.
-  * New DBREFLIST^<attrib> lock key checks to see if the enactor
-    appears in a list of dbrefs/objids stored on an attribute of
-    the object.
-  * The LIGHT flag now overrides the DARK flag consistently.
-
-Minor Changes (since 1.8.1):
- * decompose() now properly handles all manner of spaces, as well as
-   replacing 5 or more spaces with [space(<count>)]. Report by Malix. [GM]
-
-Fixes (since 1.8.1):
- * Fix crash bug in decompose(). Report by Malix.
- * The mush can listen to ports above 32000. Suggested by Nathan Baum.
- * Fix the mix() bug that prepends the separator to the list. [GM]
- * Win32 experienced erratic time behavior when compiled with MSVC++ 8
-   or higher. Reported by Intrevis@M*U*S*H.
- * Win32 project and readme files for MSVC++ 6 and .Net updated. [EEH]
- * Help fixes by Kevin@M*U*S*H.
diff --git a/CHANGES.183 b/CHANGES.183
deleted file mode 100644 (file)
index 6350ed5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-
-This is the most current changes file for PennMUSH. Please look it
-over; each version contains new things which might significantly affect
-the function of your server.  Changes are reported in reverse
-chronological order (most recent first)
-
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar)
-[GM] is Greg Millam, a PennMUSH developer (aka Walker)
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[MUX] refers to code by (or inspired by) TinyMUX 2.x
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.8.3 patchlevel 0                      January 27, 2007
-
-Major changes:
-  *  Rewrite of color handling. [GM]
-
-Minor changes:
-  * Cleaned up the internals of @wipe. [SW]
-  * strmatch() now takes a third argument, to store wildcard captures. [GM]
-  * Termination of OS/2 support. [SW]
-
-Fixes:
-  * Fixes included from versions up to 1.8.2p2.
diff --git a/CHANGES.OLD b/CHANGES.OLD
deleted file mode 100644 (file)
index 1e83739..0000000
+++ /dev/null
@@ -1,4303 +0,0 @@
-This is the old changes file for PennMUSH.  Changes are reported in reverse
-chronological order (more recent first.) Starting with 1.7.4, each minor
-version has its own changelog, in CHANGES.174 and so on.
-
-[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian)
-[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek)
-[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos)
-[LdW] is Luuk de Waard, a PennMUSH developer (aka Halatir)
-[RLM] is Ralph Melton, a former PennMUSH developer
-[NJG] is Nick Gammon, the Win32 porter
-[DW] is Dan Williams, the MacOS porter
-[2.2] refers to code which originated with the TinyMUSH 2.2 developers
-[3] refers to code by (or inspired by) TinyMUSH 3.0
-[Rhost] refers to code by (or inspired by) RhostMUSH
-
-==========================================================================
-
-Version 1.7.3 patchlevel 14                    January 29, 2001
-
-Major Changes:
-      * Commands and functions can now be aliased to other names
-        in mush.cnf, so you can provide translated command names
-        as well as the english one, etc. Suggested at various times
-        by Krad@M*U*S*H and David@M*U*S*H. New file aliases.cnf
-        in game/ is created to put these command_alias and function_alias
-        directives (as well as reserve_alias). [SW]
-Minor Changes:
-      * smalloc and bigram compression options are no longer supported. [SW]
-      * Internal improvements to @search/lsearch, which are now more
-        consistent with one another. [SW]
-      * mush.cnf options that refer to dbrefs now understand #<number> as 
-        well as just <number>. They are also formatted as dbrefs in @config 
-        and config(). [SW]
-      * Much longer game/names.cnf file contributed by Kyieren@M*U*S*H.
-      * New internal function notify_format() to replace notify+tprintf
-        more safely. [SW]
-      * Tweaks to network activity timeout code. [SW]
-      * @stat and lstats no longer needs to scan the entire database. [SW]
-Commands:
-      * @switch and @select can now take a /notify switch, like @dolist.
-      * Players may @chown by dbref, but they must still be carrying
-        the object if it's a thing. Suggested by Kyieren@M*U*S*H.
-      * @clone can now clone rooms. Suggested by Kyieren@M*U*S*H.
-      * @verb's matching of the <actor> argument has been relaxed so
-        non-privileged objects can use it on remote actors, if the normal
-        permission checks succeed. This makes @verb much more useful for zones
-        and master room objects. [SW]
-Attributes:
-      * @forwardlist [2.2,SW]
-Functions:
-      * itemize() takes a list "a b c" and produces "a, b, and c" and 
-        similar tricks. Also callable as elist() for Rhost compatibility.
-      * ilev() returns the current iter nesting level. [Rhost,SW]
-Fixes:
-      * When indexing help files, ones that aren't in the right format
-        weren't being properly closed. Report by Nammyung@M*U*S*H. [SW]
-      * We're much more forgiving about help files that start with
-        blank lines now.
-      * Help updates by Kyieren@M*U*S*H, [SW]
-      * Games w/o MAIL_ALIAS couldn't load maildbs that had mail aliases.
-        Reported by Nymeria. [SW]
-      * max_pennies had a limit of 10,000 in conf.c, even though it
-        has always defaulted to 100,000. Reported by Intrevis@M*U*S*H.
-      * src/filecopy.c didn't include hdrs/log.h. Fixed by Noltar@Korongil.
-      * MacOS portability fixes. [DW]
-      * vsnprintf used in place of vsprintf everywhere when available. [SW]
-      * Cleanup of @atrlock code. [SW]
-      * '#' without any trailing numbers was treated as #0 when used as a 
-         dbref. [SW]
-      * Added explicit checking for lower-case letters in good_atr_name(). [SW]
-      * Trying to set an attribute with a bad name now gives a better 
-        error message. [SW] 
-      * Fix to potential overflow bug in revwords. [SW]
-      * Fix to potential overflow bug in @grep. [SW]
-      * Configure checks for snprintf. Systems unfortunate enough not to
-        have this (Solaris 2.5.1, for example) are stuck with sprintf.
-        Report by Broncalo@DuneIII.
-      * CHARGES were decremented whenever an A-attribute would be 
-        executed, *even if the attribute wasn't set on the object*.
-        Reported by Kyieren@M*U*S*H.
-
-Version 1.7.3 patchlevel 13                    January 9, 2001
-
-Major Changes:
-      * Semaphores may use attributes other than SEMAPHORE. These 
-        "named semaphores" make it easier to have multiple semaphores
-        waiting on the same object. [SW]
-      * New attribute flag AF_NODUMP prevents attributes from being
-        dumped to the db. It applies to QUEUE, SEMAPHORE, and attributes
-        used as named SEMAPHORES. [SW]
-Commands:
-      * @wait/until can be used to put commands on the wait queue until
-        some absolute time (in secs) is reached. [SW]
-      * @cpattr/noflagcopy copies attribute data without flags.
-        Same for @mvattr. Suggested by Noltar@Korongil.
-Functions:
-      * foreach() takes start and end arguments like TM3/MUX2. [3,SW]
-      * locate() has a new option to force matching the preferred type, 
-        and an undocumented option to eliminate ambiguous matching is now
-        documented. [SW] 
-Minor Changes:
-      * Experimental support for translating 8-bit accented characters to HTML
-        entities for Pueblo. [SW]
-      * Objects without a @lock/zone that are used as zones are noticed and 
-        warned about during dbcks. [SW]
-      * Some people prefer that +channel "foo now cause you to say "foo 
-        on the channel, instead of stripping the initial quote. Now
-        it's a mush.cnf option (chat_strip_quote). Suggested by Dave Milford.
-      * isint() now ignores tiny_math, so isint(foo) will always return 0. [SW] 
-Fixes:
-      * Hopefully fixed a problem with puppets doing look for non-Pueblo
-        players with Pueblo support turned on. The line after the look
-        could appear to come from the puppet even if it didn't. [SW]
-      * If you disabled a command with a one-character token (like say),
-        then running the command with the token ("hi!) would fail, but 
-        wouldn't return the right thing for $command matching. Now it
-        returns the canoncalized raw command (SAY hi!) so you can trap
-        it in softcode. Reported by Mackenzie@SWGT Mush  
-      * General linting [SW]
-      * Help fixes by Eratl@M*U*S*H.
-      * make customize doesn't try to link mkindx any more. And README and
-        os2/Makefile don't refer to it either. By Bobby Bailey (Chil@M*U*S*H).
-      * The internal tprintf() function is safer. [SW]
-      * Crash bug in @edit fixed, and @edit code is cleaned up. [SW] 
-      * max_pennies documented in mush.cnf. Noted by Oriens@Alexandria
-      * cmdlocal.dst now includes cmds.h. Reported by David@M*U*S*H.
-
-
-Version 1.7.3 patchlevel 12                    January 4, 2001
-
-Locks:
-      * A new @lock/chzone, set on a ZMO, controls who may @chzone
-        objects to the ZMO. This can simplify multi-player building
-        using ZMOs. Suggested by David@M*U*S*H
-Commands:
-      * @wcheck/me checks all of a player's objects for them.
-Functions:
-      * cflags() function gets channel flags.
-      * ctitle() gets channel title for an object. Suggested by Luke@M*U*S*H.
-      * strinsert() function does insert() on strings. Suggested by
-        Reagan@M*U*S*H. [SW]
-      * channels() on an object you can't examine now shows you channels 
-        that you have in common with it. Suggested by Trispis@M*U*S*H
-Minor changes:
-      * Runaway objects are now logged, along with the command that
-        pushed them over the edge. Suggested by Trispis@M*U*S*H.
-      * All instances of fprintf(stderr,...) after logging is started
-        are now handled through do_rawlog(LT_ERR,...). By David@M*U*S*H.
-      * @atrchown works more reasonably. [SW]
-      * @lock/link on an unlinked exit restricts who may link it.
-      * Everyone (even mortals) sees object names at the top of
-        their descriptions when they look at them. Suggested by Jeff
-        Ferrell most recently.
-      * New reserve_alias mush.cnf directive makes run-time command
-        alias reservation possible. Suggested by Jeff Ferrell.
-      * Mortals may use @command to get info about commands. Suggested by
-        Chili@M*U*S*H.
-      * Messages logged during help file indexing distinguish indexing
-        of admin topics. Suggested by mith@M*U*S*H
-Fixes:
-      * Help fixes by [SW], Jeff Ferrell, mith@M*U*S*H, Mirth@AtheneuMUSH.
-      * Help update to @cpattr based on behavior noted by Noltar@Korongil.
-      * cwho and @chan/who behave better with hidden (@hide) players.
-        Reported by Reagan@M*U*S*H.
-      * MUSHes with no @functions crashed on @list calls due to a 
-        problem with the hashtable code. Reported by Whiskey. [SW]
-      * A bug in handling of errors under debug in process_expression
-        was reported by Reagan@M*U*S*H. [SW]
-      * Rare memory leak in process_expression fixed. [SW] 
-      * Inconsistencies in the handling of destroyed objects/players
-        and their locations fixed. [SW]
-      * The QUEUE attribute was not properly cleared on restart
-        for non-player objects. It was buggy in other ways, too. [SW]
-      * The AF_SAFE attribute flag couldn't be reset. Reported by
-        Pegasus@StarQuest.
-      * @teleporting into garbage could cause crashes. Reported by Howie
-      * The help_command and ahelp_command directives now look for
-        whitespace generally, not spaces specifically. 
-        Suggested by Krad@M*U*S*H
-      * SIGHUP once again re-reads the config file. [SW]
-      * If an exit @created an object, that object would be inside the exit 
-        until the next dbck. Now it is created in the exit's source room. [SW]
-      * Turning the lowest possible integer number into a string could 
-        result in garbage output. [SW]
-      * Solaris needed arpa/nameser.h before resolv.h in mysocket.c
-
-Version 1.7.3 patchlevel 11                    December 4, 2000
-
-Minor changes:
-      * Added 'comsys' as help alias for 'chat'. Suggested by David@M*U*S*H
-      * New win32 project files and MSVC build instructions by Jenny Lind.
-Fixes:
-      * Improved test for non-broken getdate and getnameinfo.
-      * Loading panic dumps does better on chatdb. By Maverick@M*U*S*H
-      * You may leave a channel even if you're the wrong type
-        to get onto it. Suggested by Cheetah@M*U*S*H.
-      * Typo in the win32 strcasecmp code fixed [NJG]
-      * stddev's algorithm improved. [TAP]
-      * If the go command is restricted, other commands produce spurious
-        errors during the exit-matching phase of command parsing.
-        Reported by Jamie@M*U*S*H
-
-Version 1.7.3 patchlevel 10                    November 20, 2000
-
-Major Changes:
-      * Improved detection of errors saving the game. If any problems 
-        are encountered, the save is aborted, and online admins notified so
-        they can fix the problem before finding out about it too late. [SW] 
-Flags:
-      * The INHERIT flag has been renamed TRUST, which better describes
-        its function. INHERIT remains as an alias.
-Commands:
-      * @chan now takes /ungag, /unhide, and /unmute as well as the
-        usual @chan/gag <channel>=no. By David@M*U*S*H.
-Minor Changes:
-      * money() called on a no_pay player returns the value of
-        MAX_PENNIES to ease softcode checks. Suggested by Oriens@Alexandria.
-      * Removed help and &help entries from the distributed pennmush.nws
-        because people will generally want to override them anyway
-        and we shouldn't introduce problems. Suggested by Jeff Heinen.
-      * safe_str and friends optimize trivial 0 and 1 letter strings. [SW]
-      * A version of word-based compression that's almost 8-bit clean
-        is now included. [SW]
-      * We now use stricmp and friends for strcasecmp and friends on
-        Win32, rather than roll our own. [SW]
-Fixes:
-      * @mail aliases couldn't be used by players who didn't have
-        permissions to see the alias members, which is wrong.
-        Fixed now. Report by Grinna@M*U*S*H.
-      * lnum(1) and lnum(0,0) were broken. Report by Jeff Ferrell 
-      * Help updates. [SW]
-      * @set obj/notanattribute=flag now returns a 'No such attribute' error.
-        Reported by David@M*U*S*H. [SW]
-      * Help file indexing tries to detect files that aren't in the right 
-        format. [SW]
-      * function restrictions were checking the wrong object. [SW] 
-      * objmem and playermem counted eval-locks and atr-locks incorrectly. 
-        Reported by Javin@DynamixMUSH. [SW]
-      * Fixes to win32 NT_TCP stuff. [NJG]
-      * Rare memory leak in do_page fixed by David@M*U*S*H. 
-
-Version 1.7.3 patchlevel 9                    November 20, 2000
-
-Major Changes:
-      * Help files and their associated commands are now defined with
-        the 'help_command' (or 'ahelp_command') directive 
-        in mush.cnf. So you can translate the help to french and
-        add an "aidez-moi" command if you like. [SW]
-      * Help file indexes are now kept in memory and built by the
-        server. The mkindx program is no longer used. [SW]
-      * Added restrict_function and @function/restrict, like the versions 
-        for commands. [SW]
-      * User @functions can now override built-in functions, if you
-        @function/delete the built-in first. You can also @function/restore
-        the built-in back. [SW]
-Attributes:
-      * @[oa]zenter and @[oa]zleave on ZMOs are triggered when someone
-        enters or leaves a given zone. Motion between rooms in the same
-        zone doesn't trigger these. "Zone" is based on the mover's
-        absolute room (outermost container) so that entering and leaving
-        an unzoned object in a zoned room doesn't trigger these either.
-        Suggested by Michael Kurtz.
-Commands:
-      * New /silent switch for @teleport without @[o|a|ox]tport msgs.
-Minor Changes:
-      * Still less allocation involved in outputting text to connections. [SW]
-      * @scan has better output when multiple attribs match. [SW]
-      * Added internal absolute_room function for use by fun_room
-        and move.c and wiz.c, etc.
-      * MEM_CHECK now uses a sorted linked list and is faster. [SW]
-Fixes:
-      * References to kill_timer removed from win32 sections. [SW]
-      * conf.c reports error via logging routines, not fprintf. [SW]
-      * Assorted minor bug and warning fixes. [SW]
-      * Fix to example in help regedit by Amberyl.
-      * @wait and other timing functions were broken under win32.
-        Fixed now. [LdW]
-
-
-Version 1.7.3 patchlevel 8                    November 12, 2000
-
-Major Changes:
-      * Objects' names are stored in a string tree like attributes, so
-        we don't have hundreds of copies of 'West <W>;west;w' and such
-        taking up memory. Attribute name "hash table" is now a strtree. [SW]
-      * We no longer use alarm() to know when to run stuff on the queue. [SW]
-      * @shutdown/reboot is now supported on Windows builds. This is
-        slightly experimental. By Revian.
-Minor Changes:
-      * %qa-%qz now operate as global registers like %q0-%q9. 
-        Suggested by Trispis@M*U*S*H and probably others.
-      * Hashtable lookups are faster (collision chains are sorted) [SW]
-      * @uptime/mortal suppresses the extra process information [SW]
-      * Wizard @uptime prints better process information on linux. [SW]
-      * @listen, @filter and @infilter respect the REGEXP and CASE attribute 
-        flags.  Suggested by Maestro@M*U*S*H [SW]
-      * Having many @waits or semaphores is more efficient, because we
-        sort those queues by time and we stop looking sooner. [SW]
-      * User-defined lock names must follow the same rules as attribute 
-        names. The name part of attrib and eval locks have to also. [SW]
-      * @chan/title's confirmation message is nicer. [SW]
-      * Minor optimizations related to strcpy() and malloc() overhead. [SW]
-      * safe_format uses vsnprintf if your system has it. By Luke@M*U*S*H.
-      * replace_string is safer. By Luke@M*U*S*H.
-Fixes:
-      * iter() is smarter about quitting when the function invocation
-        limit is reached or the buffer is filled. [TAP]
-      * lnum() has been greatly sped up. [TAP]
-      * RWHO references removed from game/mushcnf.dst, game/restart,
-        etc. by mith@M*U*S*H.
-      * Fix to help filter by Revian.
-      * COMPRESSION_TYPE 0 didn't compile. Report by David@M*U*S*H.
-      * Clarification of @lock/teleport in help @elock by Envinyatar@M*U*S*H
-      * Compiling w/o MAIL_ALIASES didn't declare load_maliases.
-        Reported by Envinyatar@M*U*S*H
-      * clone() was stomping %0-%9. Report by Revian.
-      * @dol with an empty list now does the right thing (nothing)
-        instead of running the command once. Report by Linda Naughton [SW]
-      * spname cleanup by mith@M*U*S*H.
-      * Fixed a bug in @function function-name [SW]
-      * make update should finally handle CHAT_TOKEN_ALIAS right.
-        It's also smarter with mush.cnf
-      * isword() on a null string now returns 0. Suggested by Ashen-Shugar.
-      * channels(object) returns a better error when object isn't matched.
-        Suggested by Trispis.
-      * Fix to help rand() to reflect actual error return value. Reported
-        by Philip Mak.
-      * More translated strings noted by Krad.
-      * Problems with encrypt()'s logic fixed by Ashen-Shugar. [Rhost]
-      * Other encrypt() sillyness fixed by Brazil.
-      * Potential crashers around DEBUG and other buffer overruns
-        have been fixed. Report by Tajan and Rimnar. [SW]
-      * notify_anything allocates less memory. [SW]
-      * Fixed mistagged memcheck "restart.descriptor". 
-      * MacOS portability changes. Should build on MacOS X public beta
-        (Darwin) systems nearly straightaway. [DW]
-      * Restart script test for already-running MUSH condensed to one
-        line. Suggested most recently by Cory Albrecht.
-      * Serious crash bug in page fixed. Reported by Revian.
-      * Win32 bugs fixed by Luke@M*U*S*H: problems with dumping
-        compression suffixes, problems with @uptime
-      * MUSH no longer crashes if a player alias is > 32 chars in length.
-        It truncates names that are too long instead. By Luke@M*U*S*H.
-      * We don't check AF_PRIVATE attributes for $/^commands on children.
-        By Luke@M*U*S*H.
-      * Under win32, the MUSH would often start ignoring commands from
-        players after the first 98 per connection. Fixed by Revian.
-        
-Version 1.7.3 patchlevel 7                    October 12, 2000
-
-Functions:
-      * filterbool(), for TM3 compatibility. Like filter(),
-        but tests for any true value, not just 1. [3,SW]
-      * case(), for TM3 compatibility, and caseall().  Like switch() 
-        and switchall(), but does an exact match, not wildcard. [3,SW]
-      * valid() takes more categories. [SW]
-      * localize(), for TM3 compatibility. Like a cross between
-        s() and ulocal(). [3,SW]
-Commands:
-      * @break, for Rhost compatibility. Stops processing the
-        current action list. [Rhost,SW]
-      * @enable and @disable can be used on any boolean config option. [SW]
-      * @function/enable and @function/disable for built-ins
-      * @function function-name reports some information on the function,
-        like @command command-name.
-Flags:
-      * New attribute flag 'safe' prevents accidental modification.
-        Suggested by Stephen Viscido. [TAP]
-Minor Changes:
-      * The daytime config option is no more. Do a few @searches in
-        its honor. [SW]
-      * lsearch() permission is controlled by @search, and entrances()
-        by @entrances, for consistency with other functions that have
-        a corresponding command. [SW]
-      * The number of reboots is tracked, and the restarts() function
-        added, for TM3 compatibility. [3,SW]
-      * Rearranged some compile flags to suit systems that have
-        /usr/local/include/ident.h. By Luiz Claudio Duarte.
-      * More strings marked for translation. By Krad@M*U*S*H
-      * :, [, ], (, and ) are no longer legal in attribute names
-        due to ambiguities and security issues. [TAP,SW]
-      * Ranges in @search, lsearch() and @find can be either #dbrefs or 
-        (for backwards compatibility), integers. Inspired by ElendorMUSH. [SW]
-      * Broadcast messages in bsd.c replaced with GAME prefix.
-        Suggested by Krad@M*U*S*H.
-Fixes:
-      * Fixed a bug in filter() where it only looked
-        at the first character of the evaluated attribute. [SW]
-      * Some more noise from info_slave was removed. [SW]
-      * do_pcreate and do_chownall now live in game.h and not
-        externs.h. Reported by Maestro@M*U*S*H.
-      * Clean-up of atr_add calls in void context. [TAP]
-      * IPv6 buglet fixed. Report by Vexon@M*U*S*H. [SW]
-      * @config/set can no longer be used to set options in the files   
-        and messages categories, as this has icky consequences. [SW]
-      * Fixed a logic bug in letters_to_privs where not all the letters 
-        were being turned into privs properly. Report by Bolt@M*U*S*H [SW]
-      * Fix to isint() so that isint(1a) is 0. [SW]
-      * Added safe_boolean internal function, and fixed a hang bug
-        in edit() reported by Walker@M*U*S*H. [SW]
-      * Fixed problems in panic dumps/reads of maildb and chatdb. [SW]
-      * @edit is a bit more efficient. [SW]
-      * Assorted lock structures are allocated in big chunks like 
-        attribute structures, to save malloc overhead. [SW]
-      * User-defined lock names are stored in the attribute name tree. [SW]
-      * Various help fixes [SW, Javelin]
-      * LASTLOGOUT time now forces two-digit day for convtime niceness. [SW]
-      * Very large malias names or member lists could cause buffer 
-        overruns. [SW]
-      * Buffer overrun fix, fix to str_chr. [TAP]
-      * tprintfs removed from DEBUG output so DEBUG doesn't mess up
-        messages in ^-commands anymore. [TAP]
-
-Version 1.7.3 patchlevel 6                    September 20, 2000
-
-Minor Changes:
-      * Translation files are now archived separately on the ftp site.
-      * A variety of options.h settings have been removed.
-        EXTENDED_ANSI, DUMP_EMPTY_ATTRS, DUMP_LESS_GARBAGE and the *_LOCK 
-        defines are totally gone. [SW]
-        OLD_NEWLINES, DELETE_ATTRS and VISIBLE_EMPTY_ATTRS have been 
-        moved out of options.h as they're special-purpose. [SW]
-      * More common function error messages were made into variables 
-        rather than being hardcoded in as string literals. [SW]
-      * If a player is set HALT, their queued commands will not run.
-      * Speedup in process_expression. [TAP].
-Functions:
-      * The regedit(?:all)?i? family of functions, like perl's s///. [SW]
-      * Case-insenstive versions of regrab() and regraball(). [SW]
-      * etimefmt(), which is to timestring() as timefmt() is to time(). [SW]
-Fixes:
-      * Error messages that were already variables are now translated. [SW]
-      * Fixes to various metaconfig rules. [SW]
-      * Open_Anywhere and Link_Anywhere were sharing the same
-        bitmask. Fixed. [SW]
-      * You can escape : in $command patterns that are being regexp-
-        matched now. [SW]
-      * Rewrites of the regexp functions so that, say, regrab() and
-        regraball() point to the same actual code, using called_as to 
-        know when to stop. They also use PCRE's match optimizing 
-        pcre_study() function when appropriate. [SW]
-      * Buglets in game/restart and game/mushcnf.dst fixed.
-        Reported by Krad and Nymeria at M*U*S*H.
-      * page_aliases directive in mush.cnf works now. Report by Nymeria.
-      * Same for float_precision. Report by Oleo@M*U*S*H.
-      * mushtype.h now included in compress.c. [DW]
-      * Less noise in log/netmush.log from failed ident queries.
-      * More strings marked for translation.
-      * Fixes to problems with @search reported by Oleo@M*U*S*H. 
-      * Weird evaluation of functions in softcoded commands fixed. [TAP]
-      * Cleanup of typos here and there by Padraic@M*U*S*H.
-
-
-Version 1.7.3 patchlevel 5                    September 7, 2000
-
-Minor Changes:
-      * FLOATING_POINT is no longer an option (it's always on). [SW]
-      * EXTENDED_ANSI defaults to enabled. [SW]
-Attributes:
-      * @receive/@oreceive/@areceive triggered on the recipient
-        after a get or give, so you've got access to who caused
-        you to acquire the object and the object's dbref now.
-      * @give/@ogive/@agive triggered on the giver with object's
-        dbref in %0. Suggested by Oriens@Alexandria. 
-Fixes:
-      * Fixes for systems with broken or incomplete IPv6 support. [SW]
-      * Uses of index() changed to strchr() for consistency. [SW]
-      * Much removal of duplicate function prototypes and rearranging
-        of headers.  hdrs/globals.h is now hdrs/case.h. hdrs/intrface.h is 
-        no more, and hdrs/boolexp.h, hdrs/log.h were added. [SW]
-      * @search supports "quoted player names".
-      * We no longer report failed connect to ident servers in the log.
-
-Version 1.7.3 patchlevel 4                    August 8, 2000
-
-Major Changes:
-      * Internationalization:
-        * Support for international time formats via LC_TIME locale [SW]
-        * Support for message translation
-        * Support for locale-sensitive ordering of strings (LC_COLLATE) [SW]
-        To take advantage of the new features, you should have your
-        LANG environment variable set to an appropriate locale 
-        before you 'make install' (which will cause the right message
-        catalog to be compiled), and you should see the section 
-        in game/restart for setting it there (which will actually cause
-        the server to use it).
-      * IPv6 support [SW]
-Commands:
-      * @dolist/delim and @map/delim [SW]
-      * @stats/tables [SW]
-      * SESSION command displays session statistics (experimental) [SW]
-Functions:
-      * uldefault(), like udefault but saves registers like ulocal() [SW]
-      * switchall(), for Tiny compatibility. [SW]
-      * cemit() with an option to act like @cemit/noisy [SW]
-      * vmin() and vmax(), for returning the min and max of each pair in two
-        vectors. [SW]
-      * utctime(), convutcsecs() for UTC/GMT time instead of server-local. [SW]
-      * convtime() uses getdate() if present, along with a variety of templates
-      * that it can accept. [SW]
-      * timefmt() - like the strftime() C function. [SW]
-      * pcreate() side effect function suggested by Adamas and Padraic@M*U*S*H
-      * starttime() now returns the first startup time, and 
-        restarttime() returns the time of the last @shutdown/reboot [SW]
-Minor Changes:
-      * +help is mentioned in help help. Suggested by Trispis@M*U*S*H.
-      * include directive for config files, with an example moving all
-        the restrict_command's to another file. [SW]
-      * make indent runs expand, then indent, because indent doesn't seem to
-        handle tabs very well. [SW]
-      * index-files.pl sorts patchlevels correctly. Patch by Jeff
-        Heinen.
-      * LASTLOGOUT attribute records logout time, like LAST, but not
-        visual. Suggested by Oriens@Alexandria, and others.
-      * Internal cleanup by David@M*U*S*H. New @config category 'messages',
-        no more OBJECT_ENDOWMENT or OBJECT_DEPOSIT macros, etc.
-      * Internal functions safe_integer(), safe_number(), and safe_dbref()
-        to replace safe_str(unparse_FOO(data), buff, bp) calls  [SW]
-      * You can now @trigger an attribute containing a $command or
-        ^listen and it'll work (skipping the $...: or ^...: parts).
-        So you can now do this:
-         &DO_WHO obj=$who *: @pemit %#=[u(who,%0)]
-         &DO_+WHO obj=$+who *: @tr me/do_who=%0
-        (But you can do this much more efficiently with regexp...)
-Fixes:
-      * table() is less CPU-intensive in extreme cases. [SW]
-      * Hopefully, Configure now determines pagesize on FreeBSD.
-        Method suggested by Matt Harris.
-      * CHAT_TOKEN_ALIAS comment clarification by Oleo@M*U*S*H.
-      * pcre regexp engine updated to version 3.4.
-      * Typo in @chan/who fixed by Vexon@M*U*S*H.
-      * @attribute/access won't modify AF_INTERNAL attributes now.
-      * Additional win32 portability fixes. [NJG]
-      * con() was buggy in a bad way. Fixed now.
-      * Configure -d should now work on linux systems that don't have
-        crypt libraries. Reports by mith and Inek@M*U*S*H.
-      * Fix to Z_TEL on things.
-      * Help fix to @lock5 by Datron@SW2.
-Languages:
-      * Swedish and Hungarian translations for most strings are
-        included in this patchlevel.
-
-
-Version 1.7.3 patchlevel 3                    July 12, 2000
-
-Major Changes:
-      * Restrictions to the 7-bit ascii charset have largely been removed
-        except in attribute names, to help international users. [SW]
-      * If available, we now use setlocale to support international
-        charsets (and eventually other conventions, though this should
-        be considered experimental). If you set your LC_CTYPE environment
-        variable to, say, 'fr_FR', french-accented characters should work.
-        Wide (multibyte) charsets are not supported.
-Minor Changes:
-      * Internal cleanup of page/whisper code by David@M*U*S*H.
-      * New mush.cnf directive, page_aliases, for showing alias of
-        paging player. Supported by code by David@M*U*S*H.
-        Requested by many. A contrib version by Flame dates to 1996.
-      * @chat on a non-existant channel returns an error message. [SW]
-      * Two new CRYPT_SYSTEM options. One checks both SHS and crypt(3)
-        for passwords, and saves them back using SHS. The other does 
-        the same for plaintext passwords. These should encourage folks
-        who currently use crypt(3) to make a painless move to SHS. [SW]
-Commands:
-      * @remit can take /silent and /noisy switches now. Suggested by
-        Philip Mak.
-      * @lemit and @emit can take /silent switch. [SW]
-      * @config/set can set configuration parameters at runtime. [SW]
-Functions:
-      * The set algebra functions can be given a sort order for output. [SW]
-Fixes:
-      * CHAT_TOKEN_ALIAS could get defined w/o a character value.
-        Added a better explanation of CHAT_TOKEN_ALIAS in options.h.dist.
-        and fixed utils/update.pl to handle commented defines that take 
-        values a bit better. Report by Nymeria@M*U*S*H.
-      * You can no longer initiate following a disconnected player.
-        Report by Dave@Galactic.
-      * CHANGES for 1.7.1 and 1.7.0 were missing. Back now.
-      * Typo in options.h.dist corrected. Report by Padraic@M*U*S*H.
-      * Small Configure portability improvements.
-      * Better handling of cases where the maildb has messages from
-        dbrefs that are out of range (due to truncating a db to remove
-        corruption, for example). Suggested by Ashen-Shugar.
-      * We now check for sitelocked sites before asking info_slave to
-        do ident lookups.
-      * Many help clarifications. [SW]
-      * linux Configure can use nm to find symbols, finally.
-      * help locate() now includes the z flag.
-
-
-Version 1.7.3 patchlevel 2                    June 3, 2000
-
-Commands:
-      * New @sitelock options to control access to god, wizards, admin
-        by site. [SW]
-      * @force can now take /noeval [SW]
-
-Functions:
-      * squish() can take a second argument to squish non-spaces. [SW]
-      * div(), floordiv(), modulo(), and remainder(), a set of functions
-        jointly adopted by MUSH and MUX servers for compatibility. [TAP]
-      * @@() and null() functions suggested by [LdW].
-
-Minor Changes:
-      * @uptime now shows initial restart time, not just time since
-        last reboot.
-      * Each player now has a limit to the number of @mail messages
-        in their inbox (folder 0), configurable in mush.cnf.
-        Suggested by Edwin@M*U*S*H.
-
-Fixes:
-      * More linting and improved indenting [SW]
-      * PARANOID works right for broadcast messages (like @cemit) now
-        too. Report by Vexon@M*U*S*H.
-      * You can no longer follow what you can't see.
-      * CHAT_TOKEN_ALIAS info appears in options.h now. Report by 
-        Rhysem@M*U*S*H.
-      * Mac portability changes. [DW]
-      * Disconnected players don't follow any more. Suggested by Don Burks.
-      * Various fixes to better resist crashing due to attacks involving
-        overwhelming connections. 
-      * @mail/stats for all was broken. Fixed now.
-      * Clearer message after failed @pemit. Suggested by Eratl@M*U*S*H
-      * Destroyed things stop following/leading. Report by Ashen-Shugar.
-      * follow didn't properly set up the followers as enactors.
-        We no longer short-circuit process_command. Report by Moe@Chicago.
-
-Version 1.7.3 patchlevel 1                    May 18, 2000
-
-Commands:
-      * @oemit now takes a list of players. Adapted from patch by Philip Mak.
-
-Minor Changes:
-      * Reconnecting is less spammy - we don't show motds again
-        to players already connected. Suggested by Trispis@M*U*S*H.
-
-Fixes:
-      * Configure problem that resulted in weird compile failures on
-        bind/accept in src/bsd.c fixed.
-      * Further linting. [SW]
-      * FreeBSD getrlimit problem diagnosed by [SW] is worked around.
-      * Couldn't compile w/o FLOATING_POINTS defined. Fixed.
-      * Fixed a few dependencies in the Makefiles to insure that
-        hdrs/patches.h and hdrs/switches.h are rebuilt properly.
-      * Indentation cleanup.
-      * We now recognize egcs as if it were gcc 2, and set ccflags
-        accordingly.
-      * Increased size of some hash tables for performance. [SW]
-      * Help fixes. [SW]
-      * flags(obj/attrib) behaved badly unless attrib was CAPITALIZED.
-        Fixed now. Reported by Vexon@M*U*S*H.
-
-Version 1.7.3 patchlevel 0                    April 20, 2000
-
-Major Changes:
-      * If you create a 'patches' subdirectory and keep any user-contrib
-        patches you apply in there, and if the patches are properly 
-        formatted, i.e., they include these lines:
-              # Patch name:
-              # Patch version:
-        your MUSH's @version and INFO output will report them.
-        In addition to being helpful for you, this will help the
-        developers when you send us a bug report including your 
-        @version. [TN]
-      * As @cemit doesn't override @chan/gag and allows 
-        NOSPOOF notification, it basically now operates just like
-        @pemit/list (you can protect yourself from spoofing, and you can
-        silence it). Accordingly, the cemit power is no longer 
-        necessary. It's now a runtime option.
-      * @malias (@mailing lists) by Daniel Peters.
-      * Attribute names are now stored in a single string tree,
-        so we don't have thousands of copies of the string
-        "FINGER_NOTE", etc., taking up memory. [TAP]
-      * As a consequence of the attribute name tree, the STARTUP flag 
-        is no longer needed, and will be automatically removed from
-        dbs.
-      * Attributes are now inserted in alphabetical order, which
-        speeds lookup. [TAP]
-      * Panic dumps now dump the maildb and chatdb, appended to the
-        end of PANIC.db. The MUSH handles breaking them up on restart.
-      * New link_anywhere power allows @link'ing to any destination.
-      * Mortals may create VARIABLE exits. At the time the destination 
-        is computed, the exit is check to see if it has permission to
-        link there (i.e., the exit controls the destination or the
-        exit is link_anywhere or the destination is link_ok).
-        To keep old code from breaking, all existing variable exits are 
-        given the link_anywhere power at first db read in this patch.
-        Suggested by David@M*U*S*H.
-      * The follow command is implemented!
-      * Nested iter is now useful. The itext(n) function returns
-        the value of ## for the nth innermost iteraction, where
-        0 is the most inner, and inum(n) does the same for #@. [TN]
-      * New regexp library, pcre, now allows perl 5.005 compatible
-        regular expressions! Suggested by [SW].
-      * Objects are now limited in the number of attributes that may
-        be set on them. This prevents a DoS attack. Suggested by
-        Ashen-Shugar.
-      * Some more english-style matching (look my 2nd box). [TN]
-
-Functions:
-      * config() returns a list of config option names. 
-        config(<option>) returns the value of a config option.
-        (e.g. config(money_singular))
-      * sort() now accepts an output delimiter, a la iter().
-        Suggested by Jason Newquist.
-      * channels() now accepts a delimiter. Suggested by Trispis@M*U*S*H.
-      * money(<integer>) returns the name of the money, either singular
-        or plural, depending on <integer>. Suggested by Trispis@M*U*S*H.
-      * timestring() with a pad flag of 2 forces 2 digit numbers.
-        Suggested by Trispis@M*U*S*H.
-      * fmod() function returns floating point remainder on division.
-        Written by Michael Thole.
-      * brackets() function returns bracket counts for its unparsed
-        argument. Handy for debugging. By Jason Wilcox.
-      * edit() can take multiple find-replace pairs. By Chili@M*U*S*H.
-      * clock() function by Ari@SpaceMUSH and Chili@M*U*S*H.
-      * flags() function can show attribute flags as well. 
-        Suggested by Kami@SW2
-      * mailstats(), mailfstats(), and maildstats() added by Kami@SW2
-      * nattr() (aka attrcnt()) returns number of attributes on 
-        an object. Suggested by Ashen-Shugar.
-      * map() and foreach() now provide the element's position
-        through %1. [LdW]
-      * spellnum() function spells out numbers in words. [LdW]
-      * wrap() for server-based line wrapping. Adapted from code by [LdW]
-      * lmath() function lets you do math on delimited lists, and makes
-        it easy to emulate Tiny's ladd/lsub/etc. [SW]
-      * bitwise math functions. [SW]
-      * mean(), median(), and stddev() functions. [SW]
-      * bound() function for bounding numbers. [SW]
-      * regrab(), regraball(), and regrep() regular expression 
-        versions of grab/graball/grep. [SW]
-      * controls() can now be used if you control either the <obj> or
-        the <victim>. [RLM] suggested this in July 1998, but we were
-        too boneheaded at the time to agree on it.
-
-Commands:
-      * teach <command> shows others in your room the (unparsed)
-        command that you want to demonstrate, and then causes you
-        to execute it. Suggested by Reed Riner.
-      * /preserve switch for @clone and @chown to preserve privbits.
-        By Kurt Fitzner.
-      * rpage and rwho have been removed.
-      * @nameformat on a room allows you to specify how the room's
-        name should be displayed to those inside it when they look.
-      * An optional second token for chat (in addition to +) can
-        be set if you'd like + and = (or whatever) to both work.
-        Patch by Kami@SW2.
-      * @scan returns the matched attribute name as well as object.
-        Suggested by many, including Thi@M*U*S*H.
-      * ; waves is treated as :waves, instead of as ;waves.
-        Suggested by Sandi Fallon, for tiny compatibility.
-      * cv command at connect screen forces a !DARK connect.
-        Suggested by David@M*U*S*H.
-      * with obj=command tries a $command on a specific object. [TN]
-      * @mailsignature finally implemented.
-      * @chan/join and @chan/leave are aliases for @chan/on and @chan/off,
-        respectively. Suggested by [LdW]
-      * @chan/decomp/brief decompiles a channel without listing players.
-
-Flags:
-      * LISTEN_PARENT flag causes the object to inherit ^listens
-        from its parent. By Kurt Fitzner.
-      * Internal ACCESSED flag removed.
-      * PARANOID player toggle replaces the old paranoid_nospoof
-        configuration directive, and allows per-player setting of
-        nospoof format. Suggested by Trispis@M*U*S*H
-
-Minor Changes:
-      * New lock @lock/command controls who may use $commands on an
-        object. @lock/listen controls ^patterns, @lock/use controls both.
-        Patch by Kurt Fitzner.
-      * The max_obj_val and max_wiz_obj_val configuration options
-        have been removed, as they're rarely used. You can change them
-        in hdrs/conf.h (search for ENDOWMENT).
-      * src/connect.c is no longer distributed. It wasn't ever used
-        for anything anyway.
-      * @fixdb command removed.
-      * @config/functions and commands can show listings in lowercase.
-      * match_list changed to try to match player aliases. Allows
-        "look <alias>" for a player in the same room. Reported by Corum.
-      * See_All players can now see/check AF_WIZARD attributes
-        (but AF_MDARK still requires that you be roy/wiz).
-        Suggested by Balazs Gasparin.
-      * VERBOSE PUPPETs relay to their owners even if the owner's
-        in the same room. Dedicated to Julianna@ATS.
-      * You may now @dest objects that you control via a zone,
-        as you could have done so indirectly before anyway.
-        Reported by [LdW]
-      * Sending the MUSH process an INT signal now causes graceful
-        shutdown (not panic dump). Sending a USR2 signal causes
-        a normal dump. As before, HUP causes config reload and
-        TERM causes a panic dump. [TAP]
-      * @chan/list shows your gag status. Suggested by Matt@M*U*S*H
-      * When chatting, we only match partial channel names against
-        channels you're actually on. Suggested by Matt@M*U*S*H
-      * By default you can no longer speak to a channel you're not
-        on. This is configurable per-channel with the new "open"
-        priv. Suggested by Akiko@M*U*S*H.
-      * If you can't go through an exit because it's linked to
-        garbage or its variable destination is invalid, we no longer
-        process the SUCC and DROP message set on the exit.
-      * The Inherit() macro no longer includes a Wizard test -- we
-        don't need it anymore as we protect Wiz objects in controls().
-      * getrandom has been replaced by get_random_long, with a better
-        algorithm and interface. Suggested by Stephen Dennis. [TAP]
-      * Win32 compilers now get the __cdecl hint so they can compile
-        using __fastcall which can greatly increase speed. Patch by
-        Stephen Dennis.
-      * For WIN32, use GetSystemTime instead of timeGetSystemTime.
-        Patch by Stephen Dennis.
-      * For WIN32, use a combination of wsadata.iMaxSockets and
-        options.max_logins to pick a reasonable number of available file
-        descriptors. Patch by Stephen Dennis.
-      * Default dump messages now call it a 'save', not a 'dump',
-        to avoid newbie confusion. Suggested by Vedui.
-      * You're notified if you set an attribute/flag on a quiet object
-        that you don't own. Patch by Kurt Fitzner.
-      * @decomp now comments its "No attributes found" message so as
-        not to break scripts.  Report by Kurt Fitzner.
-      * More Mac tweaking. [DW]
-      * \ and % are no longer valid in attribute names. Suggested by Ali Abdin
-      * Cleanup to logging code. We now try to do almost all of it through
-        log.c functions for better encapsulation. Patch by David@M*U*S*H.
-      * New @lock/examine to restrict who may examine visual objects.
-        Suggested by [LdW]
-      * Examining objects now shows channels they're on, if any.
-        Suggested by Big Spoon@M*U*S*H.
-      * Channel-hidden players are now marked in @chan/who for those
-        who are allowed to see them.
-      * @uptime shows more upcoming events, and shows them to mortals.
-        Suggested by Kyieren@M*U*S*H.
-      * @chzone obj works like @chzone obj=none. Suggested by Mystery8@M*U*S*H
-      * Player creation is now announced to MONITOR players. Suggested
-        by Paul@M*U*S*H.
-      * Poll message kept across @shutdown/reboot. Suggested by [SW].
-      * The military_time directive is removed from mush.cnf. It only
-        affected the way time was shown in @idle/@haven/@away messages
-        anyway. Reported by Angelus@M*U*S*H.
-
-Fixes:
-      * help for lnum() and dig() improved. Leo@ATS TrekMUSH
-      * help for @charges improved. Suggested by Scott Weber
-      * @mvattr a/b=a/b would clear the attribute. No longer.
-        Reported by Octavian@M*U*S*H
-      * type(obj) would log a "WEIRD OBJECT" message if obj was 
-        a garbage object. Reported by RLM. [TAP]
-      * Bug in deciding when to take a penny for queued commands fixed
-        by Stephen Dennis.
-      * Portability fixes for gcc 2.95.2 and other compilers who require
-        that function pointers in prototypes include the function args. 
-        Reported by Gepht.
-      * @chan/decomp should include the channel description, too. 
-        Report by David@M*U*S*H.
-      * Two other ways to be inside an object inside yourself reported by
-        Ashen-Shugar, and one by Rhysem@M*U*S*H.
-      * Small memory leak when doing @cpattr of a standard attribute to a
-        non-standard attribute is fixed.
-      * Help clarification for pemit() suggested by Falor@M*U*S*H.
-      * Help parents and @search3 fixed. Suggested by rodregis@M*U*S*H.
-      * Tport_anything didn't allow teleporting things to exits. 
-        Noted by Vexon@M*U*S*H.
-      * Z_TEL flag works on ZMO's as promised now. Report by [SW].
-      * Potential crash in moveit fixed. Report by Howie@NF TrekMush
-      * @cemit now does the checks that @chat does, in regard to being
-        of the right type, allowed to speak, on the channel, etc.
-        Suggested by Oleo@M*U*S*H.
-      * getstring_noalloc was doing an fgetc into a char variable,
-        instead of an int, so wasn't 8-bit clean. Report by Slava.
-
-Version 1.7.2 patchlevel 35                        January 27, 2001
-
-Fixes:
-      * Fixed a bug in filter introduced in p34. Report by Jason Rhodes.
-      * Help for sort() now indicates that 'n' sorts integers. Report by
-        Dave Milford.
-
-
-Version 1.7.2 patchlevel 34                        October 2, 2000
-
-Fixes:
-      * filter now looks at the whole result, not just the first
-        character, when checking if the filter function returned '1'. [SW]
-      * raw_input and raw_input_at are now unsigned char *, so
-        they build right on HP/UX and similar. Report by Jeff Hildebrand
-
-
-Version 1.7.2 patchlevel 33                        August 17, 2000
-
-Fixes (backported from 1.7.3p4):
-      * Bug in con() patched.
-      * Bug in deciding when to take a penny for queued commands fixed
-        by Stephen Dennis.
-      * Configure portability fixes
-      * Better handling of cases where the maildb has messages from
-        dbrefs that are out of range (due to truncating a db to remove
-        corruption, for example). Suggested by Ashen-Shugar.
-      * Various fixes to better resist crashing due to attacks involving
-        overwhelming connections. 
-      * @mvattr a/b=a/b would clear the attribute. No longer.
-        Reported by Octavian@M*U*S*H
-      * type(obj) would log a "WEIRD OBJECT" message if obj was 
-        a garbage object. Reported by RLM. [TAP]
-      * Small memory leak when doing @cpattr of a standard attribute to a
-        non-standard attribute is fixed.
-      * Tport_anything didn't allow teleporting things to exits. 
-        Noted by Vexon@M*U*S*H.
-      * Z_TEL flag works on ZMO's as promised now. Report by [SW].
-      * Potential crash in moveit fixed. Report by Howie@NF TrekMush
-      * getstring_noalloc was doing an fgetc into a char variable,
-        instead of an int, so wasn't 8-bit clean. Report by Slava.
-
-Version 1.7.2 patchlevel 32                        April 17, 2000
-
-Fixes:
-      * @cpattr from a non-standard attribute to a standard one
-        didn't preserve the AF_STATIC flag, and a subsequent atr_clr
-        could cause a crash.
-
-Version 1.7.2 patchlevel 31                        April 9, 2000
-
-Minor Changes:
-      * The SAY_TOKEN now applies to channels. That is, +public "Hi!
-        will not result in a doubled initial quote any more.
-        Suggested by Tyler Spivey.
-Fixes:
-      * Uninitialized negate_perms in the monitor flag table.
-        Report by Concordia@Beyond the Fire.
-      * Updates to help changes to match CHANGES.
-      * Another way to end up in an object in your inventory has been 
-        fixed. Report by Lensman.
-      * Unused ancient ccflags cruft removed from hints files.
-      * Considerable linting and cleanup. [SW]
-      * MacOS portability improvements. [DW]
-      * You may reset your @alias to itself in different case.
-        Suggested by Bolt.
-
-Version 1.7.2 patchlevel 30                        March 14, 2000
-
-Major Changes:
-      * New US export rules allow us to include shs.c and funcrypt.c
-        in the Penn distribution! Yay!
-      * Code is included in bsd.c for Windows NT users that uses
-        NT's native i/o instead of the bsd socket layer for
-        much improved performance. If you want it, edit src/bsd.c
-        and uncomment the define at the top. [NJG]
-Minor Changes:
-      * New eplayer, eroom, eexit, eobject classes for searches,
-        like Tiny. By Rhysem.
-      * @sitelock/access.cnf can now use regexp patterns. By Raevnos.
-      * The Exits() macro is replaced with Source(), Home(), etc.
-        where sensible. By Maverick@M*U*S*H.
-      * Example of bzip2 compression defines in mushcnf.dst by David@M*U*S*H.
-      * shs.c can now be configured to reverse endianness, so you
-        can more easily use win32 dbs on unix (or vice versa) without
-        password hassles. This is in mush.cnf. [NJG]
-      * JUMP_OK no longer allows anyone to @tel an exit into your room.
-        You must control the destination or have the open_anywhere 
-        power in order to do this now. Report by rodregis.
-Fixes:
-      * Calling do_log with LT_TRACE resulted in no logging. Report by David.
-      * MacOS (and general) portability improvements, suggested by [DW]
-      * help for before(), after() notes case-sensitivity. By Audumla.
-      * hasflag() didn't work with MONITOR. Report by Mystery8.
-      * A little more linting. [NJG]
-      * Fixed help reference to 'global functions'. Report by Falor.
-      * Some gmalloc fixes around missing newlines. Report by Raevnos
-      * Improvements to help switch(). Report by Omozali.
-      * Buffer overflow in @wall fixed. Report by rodregis.
-      * Fixed (I think) the FreeBSD/Linux problem of not finding
-        sigchld/sigcld and similar ilk. Hints for FreeBSD are back.
-      * Crash bug in @link fixed. Report by Howie@New Frontier TrekMUSH
-
-Version 1.7.2 patchlevel 29                        January 23, 2000
-
-Fixes:
-      * src/sig.c didn't include config.h. As a result, some systems
-        with sigaction that didn't keep signal handlers installed
-        (some linuxes) would crash very quickly on the second SIGALRM.
-
-Version 1.7.2 patchlevel 28                        January 14, 2000
-
-Minor Changes:
-      * New 'deny_silent' option for access.cnf sites.
-        Turns off logging of denied connection/creation/guest/register
-        from a site, to prevent logfile spamming by twinks.
-        Reported by Kludge-BC.
-      * TFPREFIX attribute, if set, is used in place of FugueEdit>
-        in @decomp/tf. [SW]
-      * @grep/print no longer requires you to be set ANSI. Suggested 
-        by Philip Mak.
-      * Improved reporting of function invocation limit. [TAP]
-      * /noeval switch added to think command.
-      * Changes to enhance portability to Mac 68k platform and others
-        that need < 32k of local data per function. [DW]
-      * Objects are only considered to be listening if they're
-        connected players, puppets, have an @listen set, or
-        are things/rooms with MONITOR flags. Previously, things/rooms
-        with ^patterns in attributes were considered listeners, even if
-        they weren't MONITOR. Suggested by Luke.
-Fixes:
-      * gmalloc.c updated from 1987 version to 1995 version. By Gepht.
-      * help corrections for shl and shr by Vexon@M*U*S*H.
-      * help corrections for @clock by Krad@M*U*S*H.
-      * RLIMIT_NOFILE bug fixed by Susan Thorne.
-      * Eliminated variables named 'new' to promote easier C++
-        compiles. Suggested by Gepht.
-      * Compiling with CSRI_TRACE works again. [TAP]
-      * signal stuff broken out to src/sig.c to allow link w/info_slave.
-      * strcasecmp and friends prototyped better in externs.h. [DW]
-      * Overzealous test for inherit flag on zoned objects corrected
-        by Nveid.
-      * Clearing an @attribute'd attribute's value on some object
-        and later manipulating the attribute could corrupt the
-        @attribute table in some cases. Fix suggested by Kami@SW2.
-      * Nested pemits could truncate one another. Reported by Alierak.
-      * Channel messages didn't correctly set %#. Reported by Saberwind.
-      * info_slave used ident even if use_ident was off in the 
-        mush.cnf file. Reported by Rhysem.
-
-Version 1.7.2 patchlevel 27                        September 22, 1999
-
-Minor Changes:
-      * Added Raevnos's sitelock/name patch to allow removing names
-        with @sitelock/name !<name> and to fix a display bug.
-      * bsd.c, info_slave.c, and player.c now deal in IP addresses as well
-        as hostnames (which can be spoofed), providing more reliable logging
-        and access control. IP addresses are stored in the LASTIP attrib
-        on players, as per LASTSITE. Suggested by David@M*U*S*H.
-      * Hidden connections are announced as per DARK ones. Suggested 
-        by Julianna@ATS.
-      * New /noisy switch to @cemit prepends <Channel> to message.
-        Suggested by Spork@M*U*S*H.
-Fixes:
-      * help vmul() incorrectly defined the dot product (which vdot() does).
-        Reported by [SW].
-      * Typo fixed in help @set3. Reported by Logain@ATS
-      * Typo fixed in help @emit. Reported by Rhysem@M*U*S*H.
-      * Various help fixes by mith, Big Spoon, and Krad@M*U*S*H.
-      * @function now works for mortals as the help indicates. Report by mith.
-      * @log/wipe should be @logwipe in comments in mushcnf.dst. 
-        Report by Spork@M*U*S*H.
-      * Object names are now limited to 256 characters. Fixes some
-        buffer overflow issues.
-
-Version 1.7.2 patchlevel 26                        July 18, 1999
-
-Minor changes:
-      * @verb didn't save stack args before dealing with the WHAT/OWHAT
-        msgs, as TinyMUSH does. Changed to emulate TinyMUSH.
-        Reported by Angel. [SW]
-Fixes:
-      * The noeval-eqsplit fix cause weirdness with attribute setting by
-        directly connected players when specifying the obj by function.
-        Fixed. Reported by Julienna@ATS.
-      * Wizards couldn't modify atrlock'd attribs without breaking the 
-        lock first. [SW]
-      * @find by Wizards showed all garbage objects. Reported by mith.
-
-
-Version 1.7.2 patchlevel 25                        July 10, 1999
-
-Minor changes:
-      * New 'nofixed' command restriction, by popular demand.
-      * CONFIGURATION messages in netmush.log shortened to CONFIG.
-        Suggested by mith.
-      * Attributes with the Wizard flag can no longer by created/modified
-        by any non-wizard, even that attribute's owner. Reported by
-        Kurt Fitzner.
-      * @pcreate now shows the dbref of created player. Suggested by
-        Oderus.
-      * When you receive an @mail message, you're now told the number.
-        Suggested by Rak@M*U*S*H, among others.
-      * The @toad command has been removed. The security issues it
-        presents, though not unsolvable, aren't worth solving just to
-        provide Wizards with a humiliating alternative to @newpassword.
-Fixes: 
-      * %q0-%q9 were not preserved during evaluation of player-message
-        attributes (DESC, SUCC, DROP, etc.) Reported by Geoff Gerrietts
-      * Added some hints from FreeBSD. Suggested by Lord Argon of mux.net.
-      * Better Configure handling of library paths. 
-      * 'nogagged' wasn't working correctly in restrict_command. Fixed.
-      * @search on rooms sometimes reported a null room. Reported by mith.
-      * Nearly all source files now include conf.h (which includes options.h), 
-        and do so before any other PennMUSH header file except config.h 
-        and copyrite.h.  Suggested by Joel Ricketts.
-      * Fixed a few comparisons of <= db_top. Reported by Kurt Fitzner.
-      * @oemit <obj>=<message> was emitting to the enactor's location,
-        rather than to <obj>'s location, as it should have been. Fixed that
-        and fixed help oemit() which documented this wrong behavior.
-        Reported by Kurt Fitzner.
-      * An 8-bit-unclean construction in bsd.c fixed by Christoper/Chicago.
-      * p/noeval <message> (repaging) eval'd message anyway.
-      * Args to $commands that looked like functions were being eval'd
-        even if not in brackets. Reported by [SW]. [TAP]
-      * @lock/listen could cause weird pose corruption. Reported by
-        David@M*U*S*H. [SW]
-      * Clarification of wiz_noenter in mush.cnf suggested by 
-        Interloper@M*U*S*H.
-      * Bug in orflags/andflags could cause weird results with toggles.
-        Like nospoof players tested positive for 'J'. Reported by Saberwind.
-      * Bug in make customize fixed. Reported by Saberwind.
-      * References to a PASSWORD attribute removed from help. Reported by
-        Saberwind.
-      * Fixed db_top bug in search/lsearch reported by Saberwind.
-      * @halt code was screwy. Reported by Krad@M*U*S*H
-      * Wizards could grant @powers to God. Reported by Saberwind.
-      * delete() with negative position arg could crash. Reported by
-        Ashen-Shugar.
-      * @clone of an exit while inside an object could have unpredictable
-        effects. Reported by Andy@RobotechMUSH
-      * Typo in help aposs() fixed. Reported by Philip Mak.
-      * @hide now defaults to @hide/on. Reported by Saberwind.
-      * ldelete() added help list functions. Reported by Rak@M*U*S*H
-      * @attribute/rename didn't update the attribute's name quite right.
-        Reported by mith.
-      * @clone by a room didn't properly set the cloned object's location.
-        Reported by Philip Mak.
-
-Version 1.7.2 patchlevel 24                        April 5, 1999
-
-Fixes:
-      * @search/lsearch didn't behave right when given an upper range
-        argument of exactly the highest dbref in the db. Reported by
-        [SW].
-      * Unlinked and HOME-linked exits were mishandled during dbcks, 
-        just like variably-linked ones in pl23. Reported by [SW].
-      * Help fixes. [TAP]
-
-        
-Version 1.7.2 patchlevel 23                        April 2, 1999
-
-Fixes:
-      * The NoLeave() macro was misdefined, but also not used (whew).
-        Now it's defined right and used.
-      * Giving a / without a switch to commands caused unpredictable
-        behavior. Fixed. Report by Broncalo@Dune III.
-      * Variable-linked exits were mishandled during dbcks, resulting in
-        them being relinked to their source rooms.
-      * @grep/iprint showed the hilighted matches in the same case as 
-        the pattern was given, rather than the case there were in the
-        attribute. Reported by Philip Mak.
-      * The LAST attribute was set differently when players created and
-        when the later connected. The latter case wasn't appropriately
-        prepending single-digit dates with a 0, which fouls up convtime()
-        calls on LAST. Noted by [SW].
-
-
-Version 1.7.2 patchlevel 22                        March 19, 1999
-
-Minor changes:
-      * More extensive macro cleanup, based on a patch by David@M*U*S*H
-      * Notable for your own code: Inherit() is now Inheritable(),
-        DarkLegal() checks if something's ok to be invisible when it's DARK,
-        Destroyed() is now IsGarbage(), and some other new helpful macros
-        can be found in hdrs/dbdefs.h
-      * Objects now store their creation cost, not their 'value' (which
-        used to be cost/5 - 1, and had relevance for sacrificing, a now
-        obsolete concept). There is no longer a limit on how much you
-        can spend to create an object, and it's all refunded when the
-        object is recycled. Reported by David@M*U*S*H.
-
-Fixes:
-      * Two memory leaks and one unbalanced mem_check fixed. [SW]
-      * @oemit <room>/<object> was broken in many ways. 
-        Reported by [SW].
-      * Help @drop/@odrop/@adrop updated to mention use on exits.
-        Suggested by Stewart Evans.
-      * God using @logwipe and giving the wrong password crashed the MUSH.
-        [SW]
-      * search() was behaving as lsearchr() not lsearch(). Noted by
-        KMoon.
-      * Bad range arguments for @search and lsearch() now give an
-        error message and don't charge the player. [SW].
-      * Help @search3 had a typo. Fixed by Halatir@M*U*S*H.
-      * Restricting the 'goto' command now also restricts movement
-        through exits. Suggested by Christopher Poff.
-      * Objects and rooms now notify their contents when they start/stop 
-        listening. Report by [RLM].
-      * Error in help for @channel referring to @config. Krad@M*U*S*H
-
-
-Version 1.7.2 patchlevel 21                   February 16, 1999
-
-Minor changes:
-      * The restart script now tries to determine its own directory,
-        so it may not require editing to set GAMEDIR any more.
-        Idea by David@M*U*S*H.
-      * Various @find/@search/@entrances commands charged you the
-        FIND_COST even if you didn't have permission to run the command.
-        We don't do that any more. Report by Jonathan Booth.
-      * $command and ^listen pattern matching is now case-insensitive
-        even when the attrib is set REGEXP, unless the attrib is set
-        CASE. In the past, glob matching was case-insensitive and
-        regexp matching was case-sensitive, which cause problems if
-        you tried to regexp match a disabled standard command.
-        Now you've got full flexibility. This may break any current
-        regexp-based $command or ^listen matching that relies on
-        case sensitivity (set those attributes CASE). We now also
-        have a new insensitive regmatch function: regmatchi()
-        Report by Jonathan Booth.
-
-Fixes:
-      * Anyone could @chan/priv channels, even if they didn't pass
-        the modlock. Report by David@M*U*S*H.
-      * DARK disconnects are now shown correctly on chat channels.
-        Really this time. :) Report by Broncalo@Dune III
-      * help for CONNECTED flag updated. Report by matcat@M*U*S*H
-      * Using @kick within a user-defined command could crash the MUSH.
-        Reported by Kludge-BC. [TAP]
-
-
-Version 1.7.2 patchlevel 20                   January 26, 1999
-
-Minor changes:
-      * Many expression replaced with macros by David@M*U*S*H.
-Fixes:
-      * @mail/silent/urgent didn't set the message urgent. 
-        Patch by Halatir@M*U*S*H.
-      * You could get free coins by repeatedly killing your objects.
-        Reported by Max@M*U*S*H. [TAP]
-      * You could rename a channel to a name already in use.
-        Reported by David@M*U*S*H.
-
-
-Version 1.7.2 patchlevel 19                   December 2, 1998
-
-Minor changes:
-      * The main select() polling loop now times out every second,
-        so we will reliably call local_timer() and handle alarms
-        every second. Suggested by [NJG].
-      * 'make' now performs a make in game/txt, assuring that help
-        indices are rebuilt after a patch. Suggested by Broncalo@Dune III.
-
-Fixes:
-      * Crash in using @cpattr with standard attribs fixed.
-        Reported by Atuarre@ATS.
-
-
-Version 1.7.2 patchlevel 18                   November 25, 1998
-
-Minor changes:
-      * Guest players don't receive a paycheck any more. Suggested by
-        Kyieren@M*U*S*H
-      * look_helper() internal function now uses privtabs. As an
-        epiphenomenon, @set obj/attr=locked is now synonymous to
-        @atrlock obj/attr=on. Suggested by [SW].
-
-Fixes:
-      * Win32 compile fixes. [NJG]
-      * DARK disconnects are now shown correctly on chat channels.
-        Report by Broncalo@Dune III
-      * Quiet players no longer see 'Title set.' messages when
-        using @chan/title. Patch by Halatir@M*U*S*H.
-      * @cpattr/@mvattr now copy attribute flags. Report by Jon Booth.
-      * Some compiler warnings fixed by Atuarre.
-      * The 1 and 5 minute dump warning messages weren't being used.
-      * When matching regexp's, later parenthesized subexpressions 
-        weren't correctly assigned to %-vars when earlier ones 
-        were empty. Report by Geoff Gerrietts. [TAP]
-      * Some messages as a result of looking at a room were being
-        placed onto the wrong queue, so remote viewers (@listen *,
-        @pemit/remit to somewhere) would get things out of order.
-        Reported by David@M*U*S*H. 
-      * Help added for functions() and fixed for timestring(). 
-        Report by Geoff Gerrietts.
-      * soundex() misbehavior for very short words fixed.
-        Report by kmoon.
-      * @attribute/access acted as if it were always /retroactive. [SW]
-      * Changes of flags on a standard attribute were lost across
-        restarts. Reported by [SW].
-      * lcstr, ucstr, capstr, and encrypt and decrypt in the 
-        "real" funcrypt.c are now ansi-aware. The former 3 preserve
-        ansi formatting, while the latter two strip it. You must download
-        a new version of funcrypt.c from ftp.pennmush.org (USA/Canada)
-        or export.pennmush.org -- it is not patched herein. 
-        Reported by Ashen-Shugar.
-
-
-Version 1.7.2 patchlevel 17                   November 11, 1998
-
-Minor changes:
-      * Newly created players now have a default uselock of =me.
-      * Number of available file descriptors is printed in startup log.
-        Suggested by Doogie@ATS Trekmush.
-      * The @chat/@cemit commands can no longer be used by gagged players.
-
-Fixes:
-      * Adding functions in funlocal.c shouldn't produce compiler warnings.
-        Patch by Halatir@M*U*S*H
-      * log(0) or ln(0) could crash non-IEEE compliant math libraries.
-        Reported by Drakwil and Talos at SNW.
-      * csrimalloc wouldn't compile with glibc. Fix by Mike Selewski.
-      * Order of checks for number of file descriptors changed to
-        do better on POSIX and hybrid systems like FreeBSD. Suggested by
-        Doogie@ATS Trekmush.
-
-
-Version 1.7.2 patchlevel 16                   October 17, 1998
-
-Fixes:
-      * table() could be used to crash the MUSH. Report by Ashen-Shugar. [TAP]
-      * whisper/list didn't work. Report by Kamala@ATS TrekMUSH, via
-        Mikey@M*U*S*H 
-      * andflags(player,C) checked for the (useless) CHOWN_OK flag
-        rather than the COLOR flag. Its now been special-cased to
-        check COLOR on players. This is a kludge, but probably worth it.
-      * Top of admin WHO now lists 'Loc #' not 'Room #', as that's more
-        accurate. Suggested by Saberwind.
-      * @log/wipe returns as @logwipe. Its absence was reported by 
-        Nveid@M*U*S*H.
-      * Date in hdrs/version.h now y2k compliant.
-
-
-Version 1.7.2 patchlevel 15                   September 7, 1998
-
-Fixes:
-      * @emits weren't propagated through AUDIBLE exits. Report by Nammyung.
-      * Building w/o ROYALTY_FLAG defined works again. Report by Scott Weber.
-      * When matching $ or ^ patterns with the REGEXP attribute flag set,
-        a failed match would then be improperly checked for normal 
-        matching as well. Reported by Jason Rhodes.
-      * Attribute flags weren't listed in @decomp. Reported by
-        Jonathan Booth.
-      * Make customize never got updated to match the new mushcnf/restart
-        system. Now it has. Reported by Manic@FinalFrontier
-      * @edit now works on attribs starting with _. Reported by Jason Rhodes.
-      * Help files should work better on Win32. Reported by Miphon. [TAP]
-
-
-Version 1.7.2 patchlevel 14                   August 4, 1998
-
-Minor Changes:
-      * You may @parent to an object you control via ZMO, even if you
-        don't own it. Patch by Halatir@M*U*S*H
-      * In lsearch() and @search, you may refer to object types
-        in either the singular (ROOM) or plural (ROOMS).
-      * Most chat messages now include the name of the channel. 
-        Suggested by Philip Mak.
-
-Fixes:
-      * Long @chat messages crashed the server. Reported first by Rusty
-        and Siris@M*U*S*H. [TN]
-      * Setting the ZONE flag on a non-zonelocked player should give
-        a warning, and wasn't. Reported by Halatir@M*U*S*H
-      * @@ was parsing its argument. No longer. [RLM]
-      * The @config listing was weird w.r.t. compression. [TN]
-      * @shutdown/reboot could cause a crash if a player had an
-        OUTPUTPREFIX or OUTPUTSUFFIX set.
-      * Hint to linux users about undefining I_MALLOC when using
-        gmalloc. Reported by Kyle Forbes.
-      * @shutdown/reboot now calls local_shutdown(). Reported by Kyle Forbes.
-      * When loading a db in which an object with dbref n has attributes
-        owned by players with dbrefs > n, the attribute ownership was
-        reset to GOD. This should no longer happen unless the owner 
-        really is invalid. Most recently noted by [SW].
-      * Exits that have contents (corrupt!) are fixed up in dbck.
-      * dbck is run whenever the db is loaded.
-      * objeval() help fixed. Reported by Yeechi Chen.
-      * Compiling without ROYALTY_FLAG defined was broken. Reported by
-        Scott Weber.
-      * Sufficiently tricky use of locks could cause a crash due to
-        massive function invocation or recursion. Reported by Atuarre. [TN]
-
-
-Version 1.7.2 patchlevel 13                   July 7, 1998
-
-Minor changes:
-      * @mail/file now shows the folder name of the destination folder
-        as well as its number. Suggested by Julianna@ATS TrekMUSH
-
-Fixes:
-      * Problems with ANSI causing Pueblo to bleed have been identified
-        and fixed!
-      * Bug with cwho() fixed. Report by Tripsis@M*U*S*H. [TAP]
-      * 'make diffs' in Makefile updated to use prcs and to produce
-        diffs for patches without Index: lines which may confuse
-        non-POSIX versions of patch.  
-      * Fixed typo in options.h reported by Kyle Forbes.
-      * Comments in src/services.c and src/filecopy.c are now C-style,
-        not C++ style. Some compilers were puking on these, even though 
-        WIN32 wasn't defined and the preprocessor should've ignored this 
-        stuff. Go figure.
-      * Side-effect functions like pemit() didn't obey the restrictions
-        on the corresponding command (like @pemit), and setting attributes
-        with @set could get around restrictions on ATTRIB_SET. 
-        Reported by Scott Weber. [TAP]
-      * Help for t() and elock() clarified by Octavian@M*U*S*H.
-      * next() could be used on an object in a room that the player
-        didn't control to get the room inventory. Reported by Octavian@M*U*S*H
-      * hint/aux.sh has been renamed hints/a-u-x.sh. This means it won't
-        be properly recommended by Configure on A/UX systems, but Win32
-        programs often puke on files name 'aux.*' because they're braindead,
-        and there are lots more Win32 users than A/UX users. Bummer.
-      * When A was inside B, and @listen B=*, A would hear everything
-        in B's room (good) except B's own speech (bad). Report by 
-        Nemesis @ Beast Wars 2
-      * help exits clarified by Nammyung@M*U*S*H
-      * help comp() clarified by Halatir@M*U*S*H
-      * @squota without a limit now shows the victim's quota in addition
-        to asking what it should be set to. This more closely matches
-        the old behavior of @squota without a limit being treated as
-        @quota. Reported by Matt@M*U*S*H
-      * @chan/what on a nonexistent channel didn't produce any
-        feedback. Reported by Octavian@M*U*S*H.
-      * Typo in help zone master rooms corrected. Report by Matt@M*U*S*H.
-
-
-Version 1.7.2 patchlevel 12                   June 11, 1998
-
-Fixes:
-      * GAGGED players could pose/semipose. Reported by Jorhan@M*U*S*H. [TN]
-      * convsecs() help clarified.
-      * @decomp obj/attr didn't work if you couldn't examine the object
-        even if the attribute was visible. Reported by Jonathan Booth.
-      * make customize had a problem with the way it handled the
-        hlp directory. It now creates a real hlp directory, but makes
-        all the standard hlp files symlinks to the distributed ones.
-        (It used to make the hlp/ directory a symlink, which did bad
-        things with 'txt/Makefile'. Report by Gasparin Balazs.
-      * help control rewritten to clarify the real algorithm.
-        Suggested by [SW].
-      * Configure is more flexible when determining if you're
-        building under cygwin. Reported by Miphon.
-      * zfun() worked, but gave an error message anyway. Fix by Rob@DuneIII
-      * hdrs/regexp.h renamed to hdrs/myregexp.h to avoid conflict
-        with standard regexp.h header file in cygwin.
-      * Roy/see_all players could, under some circumstances, evaluate
-        functions with wiz privileges. Reported by Atuarre. [TAP]
-
-
-Version 1.7.2 patchlevel 11                   May 25, 1998
-
-Changes:
-      * The PennMUSH copyright notice has been changed, as the
-        licensing terms for TinyMUD/TinyMUSH 2.0 have changed,
-        and to update the TinyMUSH 2.2 part of the copyright and
-        the PennMUSH part as well. 'help copyright' now gives the
-        copyright, and it's in COPYRITE and hdrs/copyrite.h.
-        The licensing terms are now shorter, but practically very similar.
-Fixes:
-      * Possible infinite loop (with disk-filling output!) in @dbck
-        with certain types of DB corruption fixed.  Report by RLM and
-        Arathorn@CDI.  [TAP]
-      * @undest intermittent crash-bug fixed. Report by Arathorn. [TAP]
-      * regmatch() crash-bug fixed. Report by Tavoan@ATS. [TAP]
-      * Ansi bleeding problem fixed. Report by Atuarre@ATS. [TAP]
-      * The embedded version of mkindx used by Win32 builds had a bug - 
-        some global variables weren't getting properly reset.
-        Fix by Stephane Thibault.
-      * Help for @oxmove added. Report by Bray Roned@ATS.
-      * isnum() was broken if tinymath was defined. Report by Daniel Peters.
-      * portmsg needed MUSH_IP_ADDR, which is now runtime configured.
-        It no longer does (see comment in portmsg.c if you need this
-        functionality). Report by Daniel Peters.
-      * Help for dig() and lnum() clarified by Andre Leopold.
-
-
-Version 1.7.2 patchlevel 10                   April 24, 1998
-
-Fixes:
-      * MANIFEST updated to reflect the deletion of src/nmalloc.c
-
-
-Version 1.7.2 patchlevel 9                    April 21, 1998
-
-Fixes:
-      * Myopic flag didn't work unless Pueblo support was on. Reported by
-        Rhysem@M*U*S*H.
-      * help debug referred to can_debug, a now-obsolete power.
-        Reported by Rodimus Prime @ TF2005.
-      * @chown to a Zone Master didn't work. The @chown code has been
-        rewritten to be easier to read. Report by Trispis@M*U*S*H.
-      * open_anywhere was mis-listed in help powers2. Report by Trispis.
-      * nmalloc.c is removed, and Win32 compiles should be a bit easier.
-      * Win32 build no longer limited to 64 sockets; 256 instead. [NJG]
-
-
-Version 1.7.2 patchlevel 8                    April 2, 1998
-
-Fixes: 
-      * round() could crash on very big numbers on some systems.
-        Reported by Atuarre@ATS.
-      * Problem with exits getting a contents list in certain 
-        conditions fixed. Reported by Atuarre@ATS. [TAP]
-      * Problems with puppets and Pueblo fixed. Report by Mop-Boy.
-      * mkindx problem with dos text files fixed. [NJG]
-      * Order of include files in htab.c was wrong, caused compilation
-        problems on SCO Openserver. Reported by Flame.
-      * On Win32, the MUSH could quit without flushing its buffers. [NJG]
-      * When inside of an object with @listen *, you didn't see things
-        when the object did a 'look'. Reported by Vedui.
-      * Warnings in rwho.c eliminated. [NJG]
-      * More fooling around with mymalloc.h to help the Win32 compile.
-        Suggested by NJG.
-      * open_everywhere power get left off help powers list at some point.
-        Reported by Steven@Champions.
-      * Error message for joining a non-existant channel was different
-        from that for joining a channel that exists but you can't
-        see. Reported by Octavian@M*U*S*H.
-      * get()'ing an attribute that isn't set now returns an error 
-        message only if the default permissions don't allow you to 
-        get it. This allows get(player/ALIAS) to always work, returning
-        an empty string if the player has no ALIAS. [TAP].
-      * base_room mush.cnf option got left out.
-      * dbck didn't check for disconnected rooms correctly. Noted by
-        Rhysem.
-
-
-Version 1.7.2 patchlevel 7                    March 10, 1998
-
-Fixes:
-      * Typo fixed in pennflag.hlp. Report by Keith Howell.
-      * Bug in mid() that could cause crashes on some OS's when using
-        bad arguments fixed. Report by Yanek@DragonStarMUSH. [TAP]
-      * @wait obj=command fails when tiny_math is defined. Report by Yanek.
-      * With tiny_math defined and tiny_booleans not defined, 
-        strings in booleans weren't being treated as 1. Report by Yanek.
-      * @decompile now shows @powers, too. Report by Jonathan Booth.
-
-
-Version 1.7.2 patchlevel 6                    March 8, 1998
-
-Fixes:
-      * src/mymalloc.c now includes config.h correctly. [NJG]
-      * @zemit would change zones of objects while running.
-        Report by Steve Sanderlin and Vedui.
-      * Minor cosmetic bug in @config/list. Reported by Mike Wesson
-      * @chown'ing an object to a Zone player doesn't reduce the Zone
-        player's quota, but @chown'ing an object back from a Zone player
-        should reduce yours (and didn't). Report by Vedui.
-
-
-Version 1.7.2 patchlevel 5                    March 2, 1998
-
-Fixes:
-      * @cloning an object on a channel could crash the MUSH. Report by
-        Mordak@ATS.
-      * You couldn't add 2 objects with the same name to a channel.
-        Report by Mordak@ATS.
-      * Help for inc() fixed. Brian@M*U*S*H
-      * On Win32, the text file indexes are now properly sorted,
-        and things work ok if you don't have a text file defined. [NJG]
-      * Wiz objects couldn't add players to channels. Report by Mike@M*U*S*H
-      * Compile problem with fork and win32 fixed. [TAP]
-      * You shouldn't get nospoof notification from your own emits. [TN]
-      * You no longer get nospoof notification from every @chat, only
-        from @cemit.
-      * @lock obj=here or @lock obj=exit failed. Report by Luke@M*U*S*H
-      * The MUSH announces where it's sending stderr when it starts up. [NJG]
-      * If there was nothing on the queue, and no user activity,
-        the MUSH could wait as long as 999 seconds before checking to
-        see if it should do anything (like a dump, a shutdown, idling
-        someone out, etc.) This has been changed to 5 seconds.
-        Report by NJG.
-      * Encryption buffer for SHS encryption was too small, could cause
-        password problems. [NJG]
-
-
-Version 1.7.2 patchlevel 4                    February 24, 1998
-
-Fixes:
-      * Fixed a few more compiler warnings under Win32. [NJG]
-      * Output to a non-ANSI, non-COLOR player could cause crashes.
-        Reported by Vedui.
-
-
-Version 1.7.2 patchlevel 3                    February 22, 1998
-
-Fixes
-       * Fixed a slew of compiler warnings under Win32. [NJG]
-       * Jonathan Booth Removed a few #ifdef EVENTS that lingered.
-       * Room names weren't shown bold to people who had ANSI
-         but not COLOR set. Report by Sylvia
-       * Added help alias pueblo() for pueblo. Suggested by Vedui.
-       * Fixed some problems with ansi() and tf reported by Vedui.
-       * @readcache could cause crashes. First report by Mop-Boy.
-       * src/tcl.c is now better located by Configure. [TN]
-
-
-Version 1.7.2 patchlevel 2                    February 19, 1998
-
-Fixes:
-       * Reading of compressed dbs didn't work right. Report by Roger Christie
-       * Fix to help to remove reference to @config/globals. Mordak@ATS.
-
-
-Version 1.7.2 patchlevel 1                    February 18, 1998
-
-Fixes:
-       * max_dbref was limited to 256 by mistake. Report by Rhysem@M*U*S*H
-       * restricted_building in mush.cnf didn't work. Does now.
-         Report by Rhysem@M*U*S*H
-       * memchecks for hash tables didn't work right. Report by [SW]
-
-
-Version 1.7.2 patchlevel 0                    February 9, 1998
-
-Major Changes:
-       * Support for the Pueblo MUD client (http://www.chaco.com/pueblo)
-         which allows the MUSH to send html to the client. This is
-         runtime configurable with @enable/@disable and mush.cnf. [TN]
-       * Regular expression support: the REGEXP attribute flag causes
-         attributes to match $ and ^ patterns using regular expressions.
-         regmatch() matches regular expressions. [2.2]
-       * PennMUSH tarfile now unpacks itself in a pennmush/ directory,
-         by popular request. pennmush/ is now the 'top-level' directory;
-         patches should still be applied from within the pennmush/ directory.
-       * More compile-time options are now run-time options:
-          HASPOWER_RESTRICTED, SAFER_UFUN, DUMP_WARNINGS,
-          INDEX_COMMAND, RULES_COMMAND, HATE_DEST (general command rename?),
-          NOISY_WHISPER, POSSESSIVE_GET POSSGET_ON_DISCONNECTED,
-          REALLY_SAFE, DESTROY_POSSESSIONS, NULL_EQ_ZERO,
-          TINY22_BOOLEANS, TINY_TRIM_ORDER,
-          ADEST_ATTRIB, AMAIL, PLAYER_LISTEN, PLAYER_NOAHEAR,
-          ROOM_CONNECTS, ANSI_NAMES, COMMA_EXIT_LIST, COUNT_ALL,
-          EXITS_CONNECT_ROOMS, WIZWALL_PREFIX, RWALL_PREFIX, WALL_PREFIX,
-          NO_LINK_TO_OBJECT, QUEUE_PER_OWNER, WIZ_NOAENTER, USE_IDENT,
-          MUSH_IP_ADDR, MAILER, ANSI_JUSTIFY, PLAYER_NAME_SPACES,
-          NO_FORK, EVENTS, MILITARY_TIME, LOGIN_LIMIT, IDLE_TIMEOUT,
-          RESTRICTED_BUILDING, FREE_OBJECTS, QUOTA, BUILDING_LIMIT,
-          FLAGS_ON_EXAMINE, EX_PUBLIC_ATTRIBS, TINY_ATTRS, FULL_INVIS,
-          SILENT_PEMIT, PLAYER_LOCATE, DO_GLOBALS, GLOBAL_CONNECTS,
-          PARANOID_NOSPOOF, ACCESS_FILE, NAMES_FILE, OBJECT_COST,
-          EXIT_COST, LINK_COST, ROOM_COST, QUEUE_COST, QUOTA_COST,
-          FIND_COST, PAGE_COST, KILL_BASE_COST, KILL_MIN_COST, KILL_BONUS,
-          QUEUE_LOSS, DBTOP_MAX, MAX_OBJECT_ENDOWMENT,
-          MAX_WIZ_OBJECT_ENDOWMENT, MAX_PENNIES, MAX_DEPTH, MAX_PARENTS,
-          PURGE_INTERVAL, DBCK_INTERVAL.
-       * All the functions that used to be optional are now
-         enabled. The increase in code size is negligible, and
-         the decrase in options is a win. We'll probably add 
-         some way to restrict function use in mush.cnf in the future.
-       * The original MUSH chat system is no longer distributed or
-         supported. The OBJECT_CHAT option is thus obsolete.
-         If you've been using the old system, your db will automatically
-         be converted to the new one, but you will need to recreate
-         your channels and readd players to them.
-       * ADD_NO_COMMAND_FLAG has been removed, as few people need
-         to add NO_COMMAND en masse to all their rooms and players
-         any more. Those that do can use MUSHcode for this.
-       * The definitions of GOD, MAX_ARG, have been moved out of options.h, 
-         because redefining these isn't really an option you want to exercise.
-       * dune.h is no more. Raise a glass to it.
-       * Non-standard attributes that are created by objects are set to 
-         no_command by default. This improves security in many common cases, 
-         but may require your object code to @set the attribute !no_command
-         after it creates it, if the attribute is meant to contain
-         a $command. Attributes set by players themselves (typed directly
-         from a socket) still work as they used to, as do standard
-         attributes (@va-@vz, for example). [TN]
-       * Hash table code has been tightened up. [TN]
-       * New option: tiny_math. Treat strings as 0 in math functions
-         rather than errors. This is handy for Tinymush compatibility,
-         even though it may make real errors harder to find.
-         Suggested by Ashen Shugar.
-
-Minor Changes:
-       * idlesecs() now returns the number of seconds idle for the least
-         idle connection of the player.
-       * conn() now returns number of seconds connected for the longest
-         connected connection of the player.
-       * I wrote the COPYRITE file some time ago, but forgot to include
-         it in the dist. Oops!
-       * UFAIL/OUFAIL/AUFAIL is here. Suggested by Mike Affourtit.
-       * controls() is now ok if you are See_All; you don't need to 
-         actually control the object you're testing. Reported by RLM.
-       * If you're allowing empty attributes, ICLOC is set to ""
-         on newly created players, instead of " ", to permit testing
-         with hasattrval. Suggested by Jonathan Booth. [TN]
-       * Improvements to FPE handling on FreeBSD. By Jason Young.
-       * New switch /noeval for @mail. Suggested by Mop Boy.
-       * The "dbcomp" directive in mush.cnf has been removed.
-         "compress_suffix" has been added. Databases are now specified
-         without compression suffixes.
-       * You are warned if you fail to define an option in the config file.
-         Suggested by TN.
-       * @config can now list config options in logical groups.
-       * mail.c has been removed. extmail.c is used directly instead.
-
-Fixes:
-       * hasattr/get/xget/eval now are less likely to tell a player something
-         they're not privileged to know about the existence of attributes. [TN]
-       * The big_que function has been renamed parse_que. The parse_que
-         function (which just called big_que) is gone.
-       * FAQ updated, as well as other references to pennmush.tinymush.org.
-       * Giving a negative argument to convsecs() would crash Win32.
-         As there's no reason to ever do that, you now can't. 
-         Reported by Javin@DynamixMUSH
-       * dist2d and dist3d now return floating point numbers when
-         FLOATING_POINTS is defined, as they said they would.
-       * help for pi() now refers to it as 3.141593, which is what
-         the function actually produces, due to rounding. Report by Vedui.
-       * help for beep() notes that royalty can use it to. Report by Vedui.
-       * Using a maildb that referred to db#s that didn't exist
-         in the object db (e.g., replacing your object db with minimal.db
-         without removing the maildb) would crash the server.
-         Now the server fixes up invalid messages after loading maildb
-         Report by TN.
-       * Connect screen and other cached text files should now be
-         automatically terminated with CRLF, so windows and other
-         telnet programs will see them correctly. Report by many. [TN]
-       * The separator in iter() is now parsed. Report by Ashen-Shugar.
-       * match(foo,>) always returned 1; similar problems with matchall,
-         grab, graball, strmatch, and elements. Report by Ashen-Shugar.
-       * Objects listening for channel broadcasts with ^<chan> *: didn't
-         work. Now they do.
-       * When you disabled a command in order to override it in MUSHcode,
-         calling the command with switches didn't work. 
-         Reported by Ben Kenobi. Patch by Eyal Sagi and TN.
-       * Calls to cut in utils/mkcmds.sh relied on "-f 2" working like
-         "-f2". On at least Ultrix 4.4, it doesn't. Report by Cwilla.
-       * Link strdup.o to info_slave because some systems need
-         strdup! Report by Cwilla.
-       * Some help file typos cleaned up by Ken Ray.
-       * exit() used to work on non-rooms. Not anymore. Report by
-         Trispis@MUSH101 
-       * All header files now idempotent.
-       * @tel me=home or @tel home now works in all cases where 'home'
-         works. Report by Vedui.
-
-Version 1.7.1 patchlevel 3                    January 12, 1998
-
-Minor Changes:
-       * A file called MANIFEST is now distributed. Configure uses this.
-         Don't mess with it unless you know what you're doing.
-       * An additional note for those upgrading from versions before
-         1.7.0p9, describing an anomaly with player parents and how
-         to handle it has been added to README. Report by Roger Christie.
-
-Fixes:
-       * controls() now requires that the function caller control
-         the object named in the first argument. Suggested by TN.
-       * Player parents were being cleared at every login.
-         Fixed by Jonathan Booth.
-       * effect should be affect in game/txt/newuser.txt. 
-         Reported by Jason Young.
-       * hints file for OS/2 now included. Suggestions by Sylvia.
-       * FNDELAY changed to O_NDELAY in ident.c. Suggested by Sylvia.
-       * Minor change to time_format_1 to make 64bit SGI happier.
-         By Thaddeus Parkinson.
-       * Help for inc()/dec() improved. Suggested by Jonathan Booth.
-
-
-Version 1.7.1 patchlevel 2                    January 5, 1998
-
-Fixes:
-       * References to TinyMUSH in the .txt files are now PennMUSH.
-         Reported by Corum.
-       * It was possible to use @name to create players with the same
-         name. Ick. Reported by Sylvia.
-       * utils/mkcmds.sh now produces a preindented switchinc.c,
-         to match the one that gets diffed in patches. [TAP]
-
-
-Version 1.7.1 patchlevel 1                    December 29, 1997
-
-Fixes:
-        * table() now behaves with ANSI_JUSTIFY. Reported by Jonathan Booth.
-        * ident.c was defining strdup; so was strutil.c. Now only
-          strutil.c does. Reported by Matt Philips. [TAP]
-        * Bug in restart script fixed. [TAP]
-        * shs.h patched to autoconfigure endianness. Reported by TN.
-        * shs.h fixed to be idempotent. [TAP]
-        * shs.h is now distributed with PennMUSH. You still have to get
-          shs.c from export.pennmush.org if you want it.
-        * README now refers to lists.pennmush.org. [TN]
-        * We no longer recommend setting use_dns to no on win32 systems.
-          It seems to work fine as yes.
-
-
-Version 1.7.1 patchlevel 0                    December 21, 1997
-
-Major Changes:
-        * It is no longer necessary to edit src/Makefile when building.
-          RWHO is now integrated, and totally runtime configured in mush.cnf.
-          IDENT is now configured from dune.h. The IDENT/ and RWHO/
-          directories are no more.
-        * The win32 build now requires the gnu-win32 package
-          (available at XXX). It can be built either with MSVC++
-          or the free win32 version of gcc included with gnu-win32.
-          The build is better integrated into the distribution --
-          the win32/ directory is no more. [TAP]
-        * You can now build with one of 3 password-encryption schemes:
-          None, Unix (des) crypt(3), and shs (requires getting shs from
-          export.pennmush.org). This will be useful to folks who're using
-          shs encryption on Win32 platforms and then move their db to
-          a Unix platform -- they can just use shs under Unix and all's well.
-          This is set as CRYPT_SYSTEM in options.h
-        * @log/wipe used to require entering the game account password,
-          but that's non-portable. Instead, a "log_wipe_passwd" is now
-          specified in mush.cnf.
-        * README rewritten [TAP]
-
-Minor Changes:
-        * @lock/drop on a room now controls who can drop things in the room.
-        * "configure" (lower-case 'c'), a wrapper for Configure that used
-          to be included is no longer. Few used it, and it can screw up
-          win32 systems that aren't case-sensitive.
-
-Fixes:
-       * blind_page was written as blindpage in game/mushcnf.dst.
-          Reported by Raevnos@ShadowMist.
-       * udefault() was broken. Reported by John Hutchinson
-        * Some lintwork in csrimalloc.c, to get rid of signed/unsigned
-          warnings and others.
-        * help @list fixed to show the correct @config switches.
-          Reported by Leo@ATS TrekMUSH
-        * @chan/gag now works correctly. Report by Vedui.
-        * Help for remove() updated. Reported by Vedui@Robotech.
-        * hasattr() didn't check if the invoker had permission to read
-          the attribute. Reported by Vedui@Robotech.
-
-
-Version 1.7.0 patchlevel 11                    November 18, 1997
-
-Commands:
-        * page/blind produces a separate page to each person paged,
-          so they can't tell if the page was a multipage. This is the
-          same as the default PennMUSH page behavior (but see Options)
-
-Options:
-        * New mush.cnf option 'blind_page'. If 'yes', page defaults to 
-          page/blind.  If 'no', page defaults to page/list. By popular 
-          request. :)
-        * New dune.h option MUSH_IP_ADDR. Define if your host system has
-          multiple IP addresses to specify which address to listen on
-          for connections. By Bobby Bailey (Chil).
-
-Minor Changes:
-        * All calls to isalnum replaced with isalpha || isdigit, because
-          some linux systems appear to have a broken isalnum!
-        * For some reason, the variable name 'restrict' in fun_lsearch
-          broke compilation on James Cook's system. Gwennie@SNW fixed
-          this by changing the name. Ok, I've changed the name, too,
-          as a preventative measure. *shrug*
-        * When a player can't connect because logins are disabled or
-          the MUSH is full, we no longer (a) show a disconnect message
-          to MONITOR players, (b) purge the player's mail anyway, or
-          (c) show the player quit.txt in addition to full.txt/down.txt.
-          Suggested by John Hutchinson.
-
-Fixes:
-        * When a halted player triggers a $command *:, %0 was including
-          an initial space that wasn't being trimmed. Reported by
-          Jonathan Booth. [TAP]
-        * functions() works right again. Patch by Atuarre@ATS TrekMUSH
-        * look/out allowed looking at any db#. Reported by Lews Therin@DDM
-
-Version 1.7.0 patchlevel 10                    October 30, 1997
-
-Minor Changes:
-        * Players can now have @parents. Inspired by AJ Prowant.
-
-Fixes:
-        * @drain was doing @notify instead. Ick. Reported by Amberyl.
-        * Royalty can @boot, as the help suggests. Reported by Vedui@Robotech
-        * (Hopefully current) copies of hdrs/funs.h and hdrs/cmds.h are
-          kept in the win32/ directory for win32 folks who don't have
-          a Bourne shell and can't run utils/mkcmds.sh.
-
-
-Version 1.7.0 patchlevel 9                    October 16, 1997
-
-Fixes:
-        * @clone could corrupt the db on some machines in some cases. 
-          Report by Jonathan booth. [TAP]
-        * @list attribs now works. Report by Corum@StormWorld.
-
-          
-Version 1.7.0 patchlevel 8                    October 15, 1997
-
-Fixes:
-        * Hopefully the final command_parse fix. 
-
-
-Version 1.7.0 patchlevel 7                    October 15, 1997
-
-Fixes:
-        * The ANSI_JUSTIFY patch got left out somewhere. It's back.
-          Report by John Hutchinson.
-        * +channel and exits are broken in 1.7.0p6 due to our stupidity.
-          Fixed again. Report by John Hutchinson.
-        * @cemit was restricted to Wizards, and should have been restricted
-          to Wiz or Royal. Fixed. Reported by Vedui@Robotech.
-
-
-Version 1.7.0 patchlevel 6                    October 9, 1997
-
-New Functions:
-        * cand(), cor() are short-circuit boolean functions. Suggested by
-          Flame who saw reference to them in a patch to TinyMUX. [TAP]
-        * if() and ifelse() do about what you'd expect. Suggested by
-          a number of people. [TAP]
-
-Minor Changes:
-        * Prototypes for the functions in src/local.c are now in
-          hdrs/externs.h
-        * round(.15,1) = .1 on many systems due to the floating point
-          representation. A tiny kludge around this is now in place.
-          Reported by Flame.
-        * @command/disable say now disables " as well. The same applies
-          to other single-character command forms. If you disable SAY,
-          commands of the form "hi! are rewritten as: say hi! before
-          being passed to the checker for user-defined commands
-          so you need only set up $say *: to catch both. %c will, as always,
-          contain the raw command as entered (i.e. "hi!). Aliases
-          (like 'p' for page) are treated similarly when the aliased
-          command is disabled -- you need only match $page *. [TN]
-        * The Huffman compression algorithm is now 8-bit clean, in 
-          preparation for a future internationalization of PennMUSH
-          (Eh? Dite "help" pour aide. :) In addition, none of the compression
-          algorithms treat the first character of a compressed string
-          specially anymore -- they don't have to. [TAP]
-        * The customize.pl script no longer copies over all the distribution
-          help files from game/txt/hlp. Instead it makes customdir/txt/hlp
-          into a link to game/txt/hlp, which is a good thing when future
-          patches update the help files. Dedicated to Oleo.
-
-Fixes:
-        * @list/attribs showed many duplicate attribute names.
-          Reported by John Hutchinson.
-        * Fixed a mislabeling of allocated memory by htab.c, so mem_check
-          stats will be correct.
-        * @channel/gag now works.
-
-
-Version 1.7.0 patchlevel 5                    October 1, 1997
-
-Minor Changes:
-        * New os2/ subdirectory with information for those looking to
-          build under OS2. Maintained by Sylvia (penn-os2@pennmush.tinymush.org)
-
-Fixes:
-        * Examine/brief could sometimes cause crashes. Reported by
-          Sean Fike. [TN]
-        * cmds.c and command.c didn't do the right #includes for the
-          original chat system. Reported by Magus.
-        * Added help for @shutdown/paranoid. Reported by Sean Fike
-        * @chan/decompile on a nonexistant channel didn't return an
-          error. Reported by Mike Wesson
-
-
-Version 1.7.0 patchlevel 4                    September 19, 1997
-
-New command:
-        * The @shutdown command now takes a /paranoid switch
-          to perform a paranoid dump when shutting down
-          (or rebooting, if given with /reboot as well). Idea by Flame.
-
-New options:
-        * You can define the MAILER option in dune.h to be
-          something other than sendmail if you want to put a
-          wrapper around the mailing program used to send out
-          passwords to players using the 'register' command.
-        * If you define LOCAL_DATA in options.h, you can 
-          use functions in local.c to maintain your own data structures
-          associated with each db object. [TN]
-        * If you define the TINY_TRIM_ORDER option in dune.h,
-          the trim() function takes arguments like TinyMUSH's.
-        * If you define ANSI_JUSTIFY in options.h, the rjust, ljust,
-          and center functions will ignore ansi codes when computing
-          where the string should be placed, so they'll work right for
-          strings with ansi. Wadhah Al-Tailji contributed a patch
-          for this concept. TN wrote this particular implementation.
-
-Fixes:
-        * rnum() didn't find exits properly. Reported by Vedui.
-        * Null channels would get added if the chatdb's channel count
-          got unsync'd with the actual number of channels in the chatdb.
-          Reported by Matt@New England: The Reckoning.
-        * @wcheck/all didn't work. Report by Wolverine@Holodeck1
-        * HPUX needs _XOPEN_SOURCE_EXTENDED in the hints. Report by Angel.
-        * db reading error messages are slightly more verbose.
-          Suggested by Flame.
-        * Mortals examining DARK rooms don't see contents anymore.
-          Report by Jonas Oberg. [TN]
-        * Attribute names may no longer contain the caret (^) character.
-          It's a security risk. Noted by Rob Wilson.
-        * hdrs/funs.h was being appended to, not rebuilt. Noted
-          by John Hutchinson.
-        * setunion fixed again, so that setunion(a a,) correctly
-          returns 'a', not 'a a'. [TN]
-        * Various references to mellers1 updated to pennmush.tinymush.org.
-        * COPYRITE file added to explain a couple of the unclear
-          points in hdrs/copyrite.h and to serve as a pointer.
-        * @chan/rename didnt work. Reported by Jonathan Booth.
-        * Help for entrances() updated by Naomi Novik
-        * Players no longer hear about all the channels they're
-          no longer gagged on when they disconnect. Report by
-          Naomi Novik.
-        * The time noted in the LAST attribute now will always
-          have day numbers 01-31 instead of 1-31, just like time()
-          does. This makes convtime() work better on LAST for some
-          systems. Reported by Valin@PernMUSH.
-        * MUSHcoding a command called $attr * would crash the MUSH.
-          Fixed. Reported by Sam Knowlton. [TN]
-        * Disabling say now disables ", (same for pose, semipose,
-          emit, and chat and their corresponding tokens).
-          Reported by Flame.
-        * The hint for Dec Alpha OSF now indicates that you need to
-          use native malloc. Reported by Sean Fike.
-        * We now check for the assert() macro in Configure. NetBSD may
-          not have it, according to Logan Five.
-        * Doing a LOGOUT after a @shutdown/reboot caused crashes
-          because mail pointers weren't being reset.
-
-
-Version 1.7.0 patchlevel 3                    August 13, 1997
-
-Fixes:
-        * setunion(,list) should work now.
-        * @wall/wizard and @wall/royalty work right. Report by Alan T. [TN]
-
-
-Version 1.7.0 patchlevel 2                    August 12, 1997
-
-Fixes:
-        * Linux 2 is now instructed not to use nm to find objects
-          in libraries since its nm output doesn't seem to be
-          BSD compatible or something.
-        * Compile with CSRI malloc in debugging mode didn't work.
-          Reported by TwinSuns MUSH.
-        * Exits in transparent rooms with COMMA_EXIT_LIST had
-          vanished. They're back! [TN]
-        * More command parser bugs ironed out. [TN]
-        * 'e' is examine, 'b' is brief, 'w' is whisper
-           (unless you reserve them). [TN]
-        * @config said conflicting things about possessive get.
-          Report by Jonas Oberg.
-        * When not using @prefix, audible messages were prefixed
-          with "From <source>" instead of "From <source>,".
-          Fixed. Report by Jonas Oberg.
-
-
-Version 1.7.0 patchlevel 1                    August 7, 1997
-
-Minor Changes:
-        * New file local.c (from local.dst) makes more local hooks
-          available. Some of the hooks in command.c have been moved
-          here, so you may have to mess around a bit if you've already
-          added things in command.c's local_startup or local_shutdown. [TN]
-        * Functions can now be defined and added all within funlocal.c
-          so you don't have to muck with the function.c table. [TN]
-
-Fixes:
-        * restrict_command didn't restrict commands to God correctly.
-          Reported by Jason Newquist.
-        * @command indicates if commands are restricted to God.
-        * When COMMA_EXIT_LIST was defined, rooms with no exits
-          still showed the "Obvious Exits:" message. Report by Michael Rudel.
-        * Partial switch-matching for commands is back.
-          And CMD_T_NEWSTYLE is gone. [TN]
-        * Makefile doesn't clobber existing funlocal.c/cmdlocal.c
-          any more. Report by Jason Young.
-        * inv wasn't working for inventory, and other command aliasing
-          flaws are fixed. Report by Corum. [TN]
-        * MUSH wouldn't compile if PLAYER_LOCATE wasn't defined. Fixed.
-          Report by Alan T.
-        * Some leftover defines removed from game.c and mushcnf.dst
-        * @lock didn't parse right. Fixed. Report by Corum.
-
-
-Version 1.7.0 patchlevel 0                    July 31, 1997
-
-The major goals of this release are to make what used to be
-compile-time options into run-time options, and improve a number
-of internals.
-
-Major Changes:  
-
-        * The hashtable functions from TinyMUSH (htab.c/htab.h) are
-          now used by PennMUSH (with permission), so instead of 
-          every subsystem writing its own hashtable code, they now
-          all use the standard code.
-
-        * The giant switch in game.c has been replaced by hashtabled
-          commands. [TN] 
-          Groovy new features:
-          * @command/enable and @command/disable for any command
-          * Multiple switches (@pemit/noeval/silent) work
-          * The left side of the = is always evaluated before
-            the right (previously, this was compiler-dependent).
-          * Command table is built during compilation, and there's 
-            a standardized command interface, so adding commands
-            is easier.
-          * local.c contains hooks for local routines to run
-            on startup and shutdown, and to use to add new commands.
-
-        * Configuration options which restricted or disabled commands
-          (READ, NO_KILL, ROBBERS, HATE_TOAD, ROY_FIND, HARSH_GUEST,
-          SITELOCK_COMMAND) have been replaced the 'restrict_command'
-          directive in mush.cnf. Check there and be sure things are
-          set the way you want them!
-
-        * Commands may be overridden by completely disabling them,
-          and providing a MUSHcoded version instead.
-            
-        * Ident and DNS lookups are handled by a slave process
-          if possible. [TAP]
-
-        * The help files have been rewritten by Naomi Novik!
-
-        * The MUSH now closes and reopens the log files when it
-          receives a SIGHUP signal. [TAP]
-
-        * @shutdown/reboot will dump the database and restart the
-          MUSH without disconnecting the players. So will a USR1 signal.
-          Good for patching in new source code on the fly. Based on the 
-          patch by Cro@Spaceballs which is itself based on ideas from
-          TinyMUX. This may be nonportable - if it fails on your OS, 
-          pennmush-bugs@pennmush.tinymush.org would like to hear about it. 
-          [TAP]
-
-New commands:
-        * @command (see above)
-        * @list/commands
-        * @attribute, similar to Tinymush (but doesn't save data
-          across shutdowns at this point, so you've got to use it
-          on an @startup!). Also @list/attribs.
-        * @function/delete 
-        * @channel/gag <channel>=<yes|no>, keeps you on the channel
-          (preserving your title, etc.) but silences it so you don't 
-          hear messages. The channel is automatically ungagged if
-          you log out from the MUSH.
-        * @conformat and @exitformat allow custom-formatted Contents:
-          and exit lists. [2.2,TAP]
-
-Minor Changes:
-        * Configure now looks for libbind.a, the BIND 8.1 library
-        * @config shows more of the configuration options
-        * @mail/unfolder <folder> can be used to remove a mailfolder's name.
-          Suggested by Julianna Barrenson.
-        * The default malloc is now CSRImalloc, which is now distributed
-          in a single-file form with the MUSH. 
-        * The MALLOC define in src/Makefile has been removed.
-          Unlike MALLOC_D and MALLOC_O, it didn't do anything.
-        * The "CHANGES" file now contains only the current
-          version's changes. Older changes are in the 
-          "CHANGES.OLD" file.
-        * The attribute flag AF_ODARK is now assumed to be default, 
-          and is thus no longer used or stored. Instead, AF_VISUAL
-          is used to indicate a visual attribute (previously, this
-          was indicated by the absence of AF_ODARK). To note this
-          change in the db, a new DBF constant, DBF_AF_VISUAL,
-          has been defined.
-        * Code for "privilege tables" (like chat channel privs, 
-          attribute flags, etc.) has been centralized into privtab.c
-
-Fixes: 
-        * Locks on zone exits now evaluate with the right enactor.
-          Problem noted by Leonid Korogodsky. [TAP]
-        * Win32 compatibility improvements. [TAP]
-        * Prefer limits.h to values.h. Suggested by Atuarre.
-        * SIGCHLD and SIGCLD now both work. Noted by Naomi Novik
-        * If you idle out and get hidden, only the idle descriptor
-          should get hidden. Noted by Gepht@Hemlock
-        * With DBF_LESS_GARBAGE, garbage objects were loaded with
-          owner NOTHING instead of owner GOD, which could cause
-          crashes in the @mail code. Reported by Harvester@StarWars.
-        * Problems with getrandom() on some systems fixed.
-        * Help for dist3d() clarified. Reported by 
-          Kova'khan@Among the Stars TrekMUSH via Leo at the same MUSH.
-        * You may now use power() for integral powers of negative
-          numbers. Suggested by John Hutchinson.
-        * setunion(,test,|) used to return |test, now returns test.
-          Reported by Ashford @ V MUSH
-        * SAFER_UFUN now blocks non-God eval'ing a u() on God.
-          Reported by MRR@ATS
-        * Building with SunOS cc and COMPRESSION_TYPE 0 works now. 
-          Reported by Jonas Oberg.
-
-Personnel Changes:
-        * Ralph Melton has retired as a member of the PennMUSH 
-          devteam. Alex and Javelin send him best wishes and big
-          thanks for all his work. Replacing Ralph will be
-          Thorvald Natvig. Welcome aboard, TN!
-
-Version 1.6.10 patchlevel 6                  May 11, 1997
-
-Fixes:
-       * inc() and dec() didn't work right with NULL_EQ_ZERO.
-         Fixed. Report by Dennis DeMarco
-
-
-Version 1.6.10 patchlevel 5                 April 29, 1997
-
-New Commands:
-        * @channel/title sets a player's title for a channel.
-          The title appears prepended to their name.
-          I forgot this, and Thorvald Natvig noticed.
-
-Minor Changes:
-        * The inc() and dec() functions can now increment and
-          decrement strings that end in integers. For example:
-          inc(LINE_10) => LINE_11
-          inc(LINE-10) => LINE-9   (incrementing -10)
-          inc(LINE1.9) => LINE1.10 (incrementing the 9)
-        * The LOWER_MATH option has been removed. Everybody
-          gets shr(), shl(), inc(), and dec().
-        * New attributes OIDESCRIBE and AIDESCRIBE do what you'd 
-          expect for the internal descs of objects. Suggested
-          by Stacy Robinson.
-        * @chan/on by a Wizard always succeeds, even if there's a 
-          join lock. Suggested by Mike Wesson.
-        * Enhanced protection against malicious ANSI codes.
-        * @channel/decomp displays locks in a better format.
-          Suggested by Naomi Novik.
-        * Numbers are now checked to be sure they're not so
-          large as to bring down the system, at least in theory.
-          Suggested by Atuarre.
-        * Configure rebuilt under dist-3.0 pl70.
-        * queue_write has been modified to reduce the number of
-          packets sent out on the net; it only sends when needful
-          and lets the usual output loop handle most output.
-          The many packets issue was noted by Doogie.
-        * All references to "parent rooms" have been changed to
-          "zone master rooms" for clarification. Noted by Jonas Oberg.
-
-Fixes: 
-        * Long output should no longer cause NeXT
-          systems to disconnect the user. Fix by Mike Kienenberger
-        * Long output should no longer cause Win32 systems to
-          disconnect, but it will throw out the beginning of 
-          the output. Fix by Hans Engelen.
-        * Bad objects on chat channels are now removed when the
-          chatdb is loaded. Suggested by Dennis De Marco.
-        * help for last() added. Report by Flame.
-        * Objects couldn't be added to object channels. Fixed.
-        * If a site matched in access.cnf, but didn't specify 
-          a certain access rule, a later matching site could. This
-          is bad for 'register', and not what was intended (that
-          a matching site completely controls that site's access).
-          Now fixed. Report by William Browning.
-        * If you're on a channel but don't pass the see-lock,
-          @chan/who returns a better error. Report by Cro.
-        * help for remove() now mentions delimiters. Noted by J. Wilcox.
-        * All tabs in helpfiles replaced with spaces. [TAP]
-        * Loading a db that didn't have garbage objects stored
-          caused a slew of warnings about null names. Should be fixed
-          now. Reported by Atuarre.
-        * FreeBSD hints improved, thanks to Atuarre and Doogie.
-
-
-Version 1.6.10 patchlevel 4                 March 3, 1997
-
-Major Changes:
-        * The disk db can now be dumped without including GARBAGE
-          objects, which may make it somewhat smaller. [TAP]
-
-Minor Changes:
-        * The %? substitution returns the current function invocation
-          count and recursion depth as two space-separated numbers. [TAP]
-        * dig() can take a single argument instead of 3.
-
-Fixes:
-        * set(obj/attr,flag) no longer says "Set" when the object or
-          player is QUIET. Reported by Graywolf.
-        * Search_All players couldn't use @search. Now they can.
-          Reported by Cro.
-        * lnum(2,1) didn't work right, and things were broken with
-          floating point args to lnum. Fixed.
-
-
-Version 1.6.10 patchlevel 3              February 9, 1997
-
-New function:
-        * graball() as per TinyMUSH 2.2. [TAP]
-
-Fixes:
-        * On some systems, make clean would go into an infinite loop
-          if src/CSRI didn't exist. This should now be fixed.
-          Report by Cro@Spaceballs.
-        * Restart script now looks for minimal.db.gz if minimal.db.Z
-          can't be found. This helps people running under Mklinux
-          on Power Macs(!). Report by Jason Newquist.
-        * Fix to matchall(). [TAP]
-        * move.o doesn't compile if FIXED_FLAG isn't defined.
-          Noted by Andy Jalics.
-
-
-
-Version 1.6.10 patchlevel 2              February 2, 1997
-
-Minor Changes:
-        * If forking to do dumps, lower the priority of the dumping 
-          process to keep the parent process more responsive.
-          Based on a patch by Doogie@ATS TrekMUSH.
-
-Fixes:
-        * Code cleanup and fixes to comp_w.c. Problems reported by
-          Mike@TBFF
-        * Portability fixes for alpha-linux systems. Thanks to Roger
-          Chen for facilities to work on this.
-        * Added help for @dump/debug. Report by Flame.
-        * Note added to game/txt/Makefile about braindead Irix 6.2 make
-        * Ident source files now do better #ifdef'ing of Unix include
-          files to help out Win32. 
-        * Configure changes to enhance portability.
-
-
-Version 1.6.10 patchlevel 1              January 25, 1997
-
-
-Commands: 
-        * New command: @dump/debug. Like @dump/paranoid, but
-          it also tries to fix the memory db, so a shutdown/restart
-          may not be necessary. It is never forked. Suggested by Atuarre.
-
-Fixes:
-        * externs.h now declares crypt() as char *, not const char *.
-        * free_access_list's declaration is now K&R compatible again.
-        * repeat() now doesn't work with a null string, which prevents
-          a denial of service attack. Report by Atuarre. [TAP]
-        * Fencepost error in huffman compression code fixed.
-          Report by Mike Wesson. [TAP]
-        * idlesecs() is now referenced in pennfunc.hlp. Report by Flame.
-        * parse() is now referenced in pennfunc.hlp. Report by Sandi Fallon.
-        * lsearch() now gives the correct types in the help.
-          Report by Sandi Fallon.
-        * Halted messages now indicate the object that was halted,
-          even if they are halted as the result of a chown.
-          Report by Sandi Fallon.
-
-Version 1.6.10 patchlevel 0              December 16, 1996
-
-Major Changes:
-        * The attribute matching order has been cleaned up. Code by [TAP]
-          If you do ex obj/attribpattern, and...
-          1. If attribpattern has no wildcards:
-             a. Return attribpattern's value if set, else
-             b. Return the value of an aliased attribute, if any.
-          2. If attribpatern has wildcards:
-             a. Return anything which matches the pattern, and
-                don't bother about aliases.
-
-        Here's a little example:
-                       only DESC set   only DESCRIBE set    both set
-  ex foo/desc          DESC            DESCRIBE             DESC
-  ex foo/desc*         DESC            DESCRIBE             both
-  ex foo/describe      (error)         DESCRIBE             DESCRIBE
-
-
-Minor Changes:
-        * parse() is now an alias for iter() [TAP]
-        * Attribute set/clears report the name of the attribute in the
-          set/cleared message. [TAP]
-        * fun_lattr is now in fundb.c. [TAP]
-        * Improved setq/setr help. [TAP]
-
-Fixes:
-        * Typo in help evaluations corrected. [RLM]
-        * The side-effect version of lock() no longer returns a value.
-          Reported by Corum.
-        * help quota() added. Report by Dennis De Marco.
-        * help INHERIT updated to reflect current control structure.
-          Suggested by Vedui.
-        * vmul() with a separator now returns the vector separated with
-          that separator, as promised. Report by Atuarre@TrekMUSH.
-        * FIXED now overrides STICKY, so you can't set yourself STICKY,
-          get yourself dropped, and go home. Report by Anthony Ivan.
-        * lsearch(all,flags,c) worked, but lsearch(all,flags,Pc) didn't!
-          This is fixed. Report by Flame.
-
-Version 1.6.9 patchlevel 9               November 18, 1996
-
-Fixes:
-        * A Wizard doing @find on a MUSH with garbage crashes the MUSH.
-          Fixed. [TAP]
-        * Fairly major security problem due to a typo in the player-
-          destruction code fixed. Reported by Dennis DeMarco.
-
-
-Version 1.6.9 patchlevel 8               November 10, 1996
-
-Major Changes:
-        * The control system has changed slightly: only wizards
-          control wizobjects and only royalty control royobjects.
-          If a mortal's object gets wizbitted, the mortal will
-          cease to control it. Also, protection is now afforded
-          to players from non-inherit objects.
-
-Fixes:
-        * Setting an @listen on a room caused a crash. Fixed.
-          (Note: @listen on rooms still doesn't work - it's not
-           supposed to -- use LISTENER and ^patterns -- but at
-           least it doesn't crash. :)  Report by Flame@B5.
-        * dune.h.dist now defaults the index and rules indx files
-          to ending in .idx, as they should. Noted by Jason Newquist.
-
-
-
-Version 1.6.9 patchlevel 7               October 30, 1996
-
-Functions:
-        * The help for vmul() suggested it did an elementwise product
-          of 2 vectors, returning a vector. In fact, it was doing a
-          dot product (sum of the elementwise product, which is a scalar).
-          vmul() now does what the help suggests, and vdot() does
-          a dot product.
-
-Fixes:
-        * Bug in comp_w.c (word-based compression) which could cause
-          loss of subjects in @mail has been fixed. [NJG]
-        * Help for "control" made more explicit, and help for "controls()"
-          references "control", not "controls".
-        * @wait 0 now queues its subject immediately, rather than waiting
-          1 second. [TAP]
-        * The "Patchlevel" file is now more grammatical. For Sam Knowlton. :)
-        * Variables named "listen" have been renamed "listener" to
-          remove compiler warnings about shadowing the listen() system call.
-          Reported by Flame@B5
-
-
-Version 1.6.9 patchlevel 6               October 24, 1996
-
-Fixes:
-        * Removed needless calls to tprintf() within do_log() in 
-          access.c
-        * Fixed the variable j in fun_lnum to be the right type
-
-
-Version 1.6.9 patchlevel 5               October 15, 1996
-
-Options:
-        * COMMA_EXIT_LIST causes exit lists to be comma-separated,
-          and include the word "and" before the last exit. [NJG]
-
-Functions:
-        * lnum() with multiple arguments now behaves exactly like
-          Tiny 2.2's lnum().
-
-Minor Changes:
-
-        * @pcreate failure messages distinguish between bad passwords
-          and bad names. Related to a suggestion by Philip Mak.
-
-Fixes:
-        * elements() used to put a leading space in output. Fixed. [RLM]
-        * index(foo|||,|,2,1) now returns nothing, instead of ||,
-          as it should. Fix by Harvester@StarWarsMUSH.
-        * @cpattr a/DESC=b (where a has a DESCRIBE attribute and no DESC
-          attribute) correctly grabbed DESCRIBE from a, but copied it to
-          DESC on b. This is now fixed. [TAP]
-        * Various unused variables and missing prototypes fixed. [NJG]
-        * More win32 fixes. [NJG]
-        * Revised comp_w.c to handle table overflow better. [NJG]
-        * splice() wasn't putting spaces back in between words.
-          Reported by Philip Mak.
-        * Help for aposs() was never added. [MPC]
-        * mkindx doesn't compile on systems without strcasecmp. Fixed.
-          Reported by Stephen Sanderlin.
-        * Configure: -lsocket is used if it's found (also -lcrypt, -lnsl)
-        * Various missing includes fixed
-        * Linux systems weren't doing daylight savings time right.
-          We now always try to use tm_isdst = -1 to get this right.
-
-
-
-Version 1.6.9 patchlevel 4               October 9, 1996
-
-Fixes:
-        * Restart script fix in 1.6.9p3 is buggy. Fixed the fix.
-
-
-Version 1.6.9 patchlevel 3               October 7, 1996
-
-Changes:
-        * @wipe/wipe() of a single attribute (no wildcards) no longer
-          checks the SAFE flag on the object.
-        * Wildcards are now accepted for the attribute name when setting
-          attribute flags.
-
-Fixes:
-        * @succ and &succ could create duplicate success attributes.
-          Fixed so that @succ -> SUCCESS and &succ -> SUCC,
-          and no more duplicates. [TAP]
-        * Help for @purge had disappeared. Back.
-        * Forgot to include restart patch mentioned in 1.6.9p2 [PeaK]
-
-
-Version 1.6.9 patchlevel 2               October 5, 1996
-
-New Compile Options:
-
-        * The behavior of attributes is now configurable; you can
-          emulate attribute setting behavior from 1.6.8 and earlier,
-          use the currently recommended settings, or anywhere 
-          in between. [TAP]
-
-Functions:
-
-        * lnum() now takes an optional second argument, which is the
-          number to start with, e.g. lnum(3,4) => 4 5 6
-          Suggested by [MPC]
-
-Fixes:
-        * @mail/debug clear=<player> now clears all the player's
-          mail, not just their current folder. Fix by
-          Leonid Korogodsky.
-        * look/outside at an ambiguous name crashed. Report by Vedui.
-        * New hints file: linux_2.sh
-        * Help for setq() now included. Report by Flame@Babylon5
-        * Added -w to the ps in restart so the output isn't
-          truncated. [PeaK]
-        * Restart changes to prevent some race conditions under Linux 2.0
-          [Peak]
-
-
-Version 1.6.9 patchlevel 1               September 26, 1996
-
-New Function:
-
-        * setr() is like setq() but returns the string as well.
-          It's identical to [setq(#,string)]%q#. Suggested by Adam Dray.
-
-Fixes:
-
-        * Bug with @clone fixed. Report by Vedui.
-        * Bug with @mail folder 15 fixed. Report by Vedui.
-        * @sitelock/register worked backward. Fixed. Report by [MPC]
-        * rnum() now requires that you can examine the room.
-          By Jason Rhodes, with minor mods.
-        * Better messages when a player or thing is set audible.
-          Suggested by Babylon5@kuwait.net
-        * Configure now uses your email address instead of your name
-          when trying to subscribe to the mailing list; on some systems,
-          it's hard to get a valid name -- getting an email address
-          is usually possible. Suggested by Cro@Spaceballs
-        * Configure no longer adds multiple copies of the same gcc
-          warning flags when you run it again. Reported by Cro@Spaceballs
-
-Version 1.6.9 patchlevel 0               September 16, 1996
-
-Attribute Rewrite [TAP]:
-
-        * There is now a distinction between an empty attribute and
-          a non-existant attribute:
-                @va me          <--- wipes out my VA attribute
-                @va me=         <--- sets my VA attribute to be empty
-          Empty attributes retain their locks and flags; wiped attributes
-          are gone forever.
-        * @set and set() can not wipe out attributes. @wipe and wipe()
-          will.
-        * You can now include ':'s in $-command and ^-command patterns
-          by escaping them with '\'.
-        * Standard attribute names are kept in a string table and
-          memory is not allocated for them. We guesstimate a 3-5%
-          savings in memory use from this change.
-        * objmem() and playermem() are now more accurate.
-        * Internal changes: new attribute flags AF_STATIC, AF_COMMAND,
-          AF_LISTEN; atr_comm_match doesn't look directly at compressed
-          strings any more; restructured some routines (atr_clr to clear
-          attributes, atr_add to set them).
-
-Fixes:
-        
-        * Add help topic SETTING-ATTRIBUTES to explain the above.
-        * Fixed small error with closing a NULL file in access.c [TAP]
-        * Improved help for @destroy
-        * Dashed lines in @mail are now 2 hyphens longer. [MPC]
-        * The Configure hints files weren't properly used when
-          compiling with gcc.
-        * The color flag is now aliased to colour as well. [MPC]
-        * With MAIL_SUBJECTS, the @mail/list could get scrambled
-          for messages from players with long names. Reported by
-          Leto@DuneII.
-        * Small memory leak when access.cnf is reloaded via kill -HUP
-          has been fixed.
-        * Vestige of old TEMPLE code removed from do_drop. Reported
-          by Mike Selewski.
-
-Version 1.6.8 patchlevel 1               September 7, 1996
-
-Fixes:
-        * The mail*() functions were broken due to a typo. [MPC]
-        * The addr field in the descriptor structure has been expanded
-          from 50 characters to 100 characters, because you'd really
-          like to store the entire ident response from encrypting
-          ident daemons.
-        * The MAIL: announcement at login now counts your cleared
-          mail in your mail totals, in case something clears mail for
-          you while you're offline. Suggested by Mike Wesson.
-        * Better string protection for parse_chat which may fix
-          a potential crash when speaking on +channels.
-
-Version 1.6.8 patchlevel 0               September 3, 1996
-
-This is intended as a maintenance release because 1.6.7 has had
-many rapid patches to achieve stability.
-
-Fixes:
-        * "make install" now implies "make all". Corrects a problem
-          with not remaking hdrs/buildinf.h.
-        * README file now shows the utils directory in its directory tree.
-          Reported by Mike@StarWars.
-        * On startup, PennMUSH now logs its version information.
-        * @log/wiz was logging to trace log, not wiz log. Reported by
-          Dean Moore.
-        * @mail system behaved badly if you @shutdown on an empty
-          maildb on some systems. Reported by Mike Selewski.
-        * Detection of getpagesize() system call is now handled by 
-          Configure. Fixes problems on Irix, reported by Mike Selewski. 
-        * Minor typo in Irix hints file fixed.
-        * Stupid misspelling of August in CHANGES-10 fixed.
-
-Version 1.6.7 patchlevel 6               August 31, 1996
-
-Fixes:
-        * The attribute clear fix in 1.6.7p5 is buggy. Now it's really
-          fixed. Report by [MPC].
-
-
-Version 1.6.7 patchlevel 5               August 30, 1996
-
-Fixes:
-        * Sites not listed in the access.cnf file should have been
-          allowed, not denied access. Fixed. Best report by Cwilla@Victory
-        * A little more info in mush.cnf about how player_creation and
-          access.cnf interact
-        * Trying to clear a never-existant attribute got the right
-          error message, but clearing an attribute that had existed,
-          but been already cleared got the "Foo - Set." message.
-          Fixed - atr_add now skips disposed attributes.  Report by [MPC]
-
-
-Version 1.6.7 patchlevel 4               August 28, 1996
-
-Fixes:
-        * Bug in mail functions that caused mail(1:0) to crash
-          has been fixed. Reported by Corum@StormWorld.
-        * Another Win32 fix by Pat Pinatiello.
-
-
-Version 1.6.7 patchlevel 3               August 28, 1996
-
-Fixes:
-        * Configure wasn't setting HAS_SENDMAIL correctly because the
-          updated config_h.SH wasn't included in the diff!
-        * @mail/clear's message about unread mail was screwy.
-
-
-Version 1.6.7 patchlevel 2               August 27, 1996
-
-Fixes:
-        * Forbidden_Site wasn't working quite right
-        * Win32 compatibility improvements suggested by Pat Pinatiello.
-          Hopefully, no further real hacking should be required to 
-          build under Win32 with Visual C++. Pat's instructions included
-          as win32/README.visualc++
-
-
-Version 1.6.7 patchlevel 1               August 27, 1996
-
-Fixes:
-        * #ifdef's and the like were missing which prevent compilation
-          unless HAS_SENDMAIL and CHAT_SYSTEM (>2) were defined.
-          Fixed by [TAP].
-
-
-Version 1.6.7 patchlevel 0               August 22, 1996
-
-Major Changes:
-
-        * The lockout.cnf and sites.cnf files are no longer used.
-          Instead, the file game/access.cnf controls all aspects of
-          site-based (or, with ident, possibly user-based) access.
-          Sites can be explicitly allowed or denied the ability to:
-            * Connect to guest players
-            * Connect to non-guest players
-            * Create players
-          Sites can be configured to:
-            * Use email registration (see below)
-            * Set all players from the site SUSPECT
-          See the file game/access.README for file format information.
-          The LOCKOUT and WCREATE defines have been removed from options.h.
-
-        * A new access option, email registration, is available.
-          From the connection screen, the command
-            register <player> <email address>
-          will create the player with a random password, which will be
-          emailed to the address. The email address is stored on the player
-          in the wiz-only attribute REGISTERED_EMAIL. 
-          Obviously, this requires that the system have a way to send email.
-          Ideas in this code came from Jim Cook.
-
-        * @powers are now tabled in flags.c.
-
-        * Nick Gammon's word-based compression algorithm is now
-          COMPRESSION_TYPE 3. This algorithm may be faster than
-          Huffman on the whole, and may provide better compression
-          for large (>1.5Mb of text) databases.
-
-        * @mail message-lists now understand the format [folder#:]msg[-msg]
-          For example, the first 3 messages in folder 1 are 1:1-3.
-          @mail commands that are not given any message list are assumed
-          to apply to all messages in the current folder. You can also
-          do this explicitly by using the word "folder". When you use
-          the word "all", you match all messages in all folders.
-          For example, try: @mail all
-          @mail internals rewritten to increase code reuse.
-
-New Commands:
-
-        * @sitelock has got an additional syntax to support the new
-          access.cnf system.
-
-New Functions:
-
-        * powers() returns the list of powers set on a thing.
-          If HASPOWER_RESTRICTED is defined, you must be able to
-          examine the thing to do this.
-        * mail(), mailtime(), mailstatus(), and mailfrom() now accept
-          this syntax:
-                mail([<player>,] [<folder #>:]<message #>)
-        * cemit() does what you'd expect. Suggested by [MPC].
-
-New Powers:
-
-        * Open_Anywhere power allows the player to open an exit between
-          to any room, even if the player does not control the source
-          or target room.
-
-
-Minor Changes:
-
-        * Previously, a player with the Halt power could use
-          @halt obj=command to effectively @force any object.
-          This form of @halt is now only allowed if you control the
-          object. Bug reported by Flame.
-
-        * When EXTENDED_ANSI is defined, ansi codes are stripped out
-          of strings before checking them against LISTEN and ^patterns.
-          Suggested by Mike Wesson.
-
-        * HAVEN players are no longer notified when they send back
-          an @haven message in response to a page. Page-locked players
-          still are. Suggested by Naomi Novik.
-
-        * @decompile me results in a decompile with "me" as the object name
-          @decompile <player> results in the player's name as the object name
-          @decompile of an exit will use the exit's short name instead of
-          its full name for setting attributes and flags. 
-
-        * Utilty scripts (customize.pl, update.pl, update-cnf.pl, 
-          fixdepend.pl, and make_access_cnf.sh) are now in the utils/
-          subdirectory.
-
-        * Default rwho server is now littlewood.math.okstate.edu,
-          which replaces riemann, which has been turned off.
-
-        * time() and convsecs() now indicate the first 9 days of the
-          month as 01..09, rather than 1-9, which makes convtime()
-          happier when you convert back.
-
-        * You may @tel an exit back into its own room. Added for
-          compatibility with other MUSH flavors. Suggestion by Philip Mak.
-
-        * Dark connections are now broadcast only to MONITOR wizards and
-          royalty. This involved replacing the raw_broadcast and
-          toggle_broadcast functions with a new flag_broadcast function
-          which subsumes them. Suggestion by Philip Mak.
-
-Fixes:
-        * Noted the 256-character limit on channel descriptions in the help.
-        * abs() now deals correctly with floating points.
-        * Win32 compatibility improvements suggested by Pat Pinatiello.
-        * Updates to BUGS, README.Deprecated, and FAQ [TAP]
-        * An ANSI_NORMAL is sent at the end of the Doing message in WHO.
-        * mail() and related functions now accept "me". Bug noted by
-          Mike@TBFF
-        * Help for @squota no longer says that it works like @quota
-          when no limit is given, because it doesn't. 
-        * Bigram compression was not freeing memory that it used
-          for initialization. Fixed, and made faster.
-        * Help for @unlink fixed; you can't pick up unlinked exits. [TAP]
-        * Potential string overflow in new_connection fixed. Idea by [TAP]
-        * Code cleanup: many old sections that were commented out
-          with #ifdef NEVER ... #endif have been removed.
-        * @set obj=!going gave an error message but still reset the flag.
-          Now it should just give the error. Reported by Philip Mak.
-
-Version 1.6.6 patchlevel 0               July 28, 1996
-
-This version involves primarily cleaning up and streamlining code
-in preparation for major internal changes in later releases.
-
-Major Changes:
-        * The following options are now standard and no longer turned
-          on via dune.h/options.h: RALPH_LOCKS, EXTENDED_MAIL, 
-          INHERIT_FLAG. [TAP]
-
-New Commands:
-        * @firstexit command moves an exit to be first in the list of 
-          a room's exits. Based on contrib/topexit.165p3 by Marlek@Earth1996
-          (but note that it requires control over the *room*, not the
-          exit).
-
-New Functions:
-        * poll() returns the current poll. By William Knopes.
-
-Flags:
-        * TEMPLE flag has been removed. This requires adding a new
-          DBF bit. [TAP]
-
-Minor Changes:
-        * Admin no longer automatically pass leave-locks and NO_LEAVE.
-          Suggested by Naomi Novik. [TAP]
-
-Fixes:
-        * Users could cause an infinite loop with @mail/fwd. Fixed.
-        * The fix to pmatch() in 165p4 didn't quite do the job.
-          Alex's does. [TAP]
-        * @mail/stat commands now show correct number of cleared messages.
-          Bug reported by [MPC]
-        * Typo fixed in help for items() [MPC]
-        * help for BUILDER now calls it a power, not a flag.
-
-
-Version 1.6.5 patchlevel 4               July 9, 1996
-
-New Functions:
-        * entrances() works like @entrances, including the cost.
-          Suggested by Julienna@TrekMUSH.
-
-Commands:
-        * whisper/list takes multiple recipients. Suggested by [MPC].
-
-Minor Changes:
-        * A DARK-reconnected message has been added. Idea by [MPC]
-        * LFAIL/OLFAIL/ALFAIL attributes now control the message
-          seen when a player fails to leave an object due to the
-          NO_LEAVE flag or a leave-lock.  By Naomi Novik.
-
-Fixes:
-        * pmatch() on a DARK or hidden player by an unpriv'd player
-          now returns #-1 (can't find the player).
-        * inc(very_big_n) now works exactly like add(1,very_big_n) instead
-          of returning a huge negative number. Same for dec(). 
-          Reported by [MPC].
-        * Fixed spelling of Tinyfugue in help @decompile. [MPC]
-        * Documented the way hasflag() works a bit better to forestall
-          a common confusion: why hasflag(me,r) doesn't check for the
-          royalty flag.
-        * If a player tries to join a channel she's already on but
-          which has since been locked against her, she receives the
-          already-on-channel message now instead of the can't-join
-          message. Suggested by Cwilla@VictoryMUSH.
-        * Compile-time information in @version has been expanded and
-          made much more robust for systems whose make program is
-          broken. We now create the file hdrs/buildinf.h at the
-          beginning of each build, which contains the info.
-        * WHO at the connect screen works correctly now even if 
-          #0 is privileged. Bug reported by Doyce Testerman.
-
-
-Version 1.6.5 patchlevel 3              June 29, 1996
-
-New Command:
-
-        * @shutdown/panic causes a panic dump and shutdown. God-only. [RLM]
-
-Minor Changes:
-
-        * When you destroy a room you don't own, the "wrecking ball"
-          message now includes the name of the owner, like the messages
-          when you destroy objects you don't own. Suggested by
-          Matt Chatterley.
-        * The channels() function, with no arguments, returns the
-          list of all channels (which the player can see).
-
-Fixes:
-        * When you try to get an object that's not in your location,
-          and POSSESSIVE_GET is not defined, you don't receive
-          any message at all. Fixed by Thaddeus Parkinson.
-        * DARK-disconnect messages now appear.
-        * All calls to random changed to getrandom (except the one
-          in getrandom!), and the prototype for random removed from
-          utils.c, where it causes conflicts for at least OSF/1.
-        * portmsg.c extensively hacked to use the autoconfiguration
-          info so you can "make portmsg" on supported systems.
-        * Help for mortal() and @mortal removed. [RLM]
-
-
-Version 1.6.5 patchlevel 2              June 19, 1996
-
-Fixes:
-        * @grep didn't check to be sure you were allowed to see
-          the attributes it searched. Reported by Mike Wesson.
-
-
-Version 1.6.5 patchlevel 1              June 12, 1996
-
-New Functions:
-        * channels(dbref) returns the list of channel names that 
-          dbref is on.
-
-Fixes:
-        * When paging player(s) with spaces in their names, the
-          LASTPAGED attribute stores them with quotes around them,
-          so that repaging will work.
-        * @mail/fwd shows you how many players it successfully
-          forwarded to. 
-        * @chzone here=none produced a spurious message if here was
-          Wiz/roy. Fixed. Reported by Matt Chatterley.
-        * udefault failed to evaluate the arguments it passed to the
-          attribute to be u'd. Reported by PeaK.
-        * Added include of sys/types.h in ident code. Necessary for
-          FreeBSD.
-        * @chf would not return a Huh? Fix by Hemlock MUSH admin.
-        
-Version 1.6.5 patchlevel 0              June 2, 1996
-
-Database:
-        
-        * The "One" character in minimal.db.Z (#1, aka God) is now
-          distributed without a password. This takes care of people
-          who don't have crypt(3) or have a modified one (FreeBSD),
-          since you now log in without a password, and set one,
-          and all is well.
-
-Documentation:
-
-        * README has been extensively updated.
-
-Minor Changes:
-
-        * When paging, LASTPAGED is set to the list of succesfully
-          paged players' names, if any page was successful. This
-          is how page/list always worked; now applies to normal page.
-        * &foo obj = bar used to set FOO to " bar". Similarly, you
-          could use page/noeval (or any speech command with /noeval)
-          to page messages with initial spaces. For TinyMUSH compatibility,
-          this is no longer possible; leading spaces are trimmed now. [TAP]
-        * F_INTERNAL flags (like GOING) are now visible unless they're
-          also F_DARK. [RLM]
-        * When you @decomp obj/atr and atr doesn't exist, you now get
-          a message about it. Suggested by Matt Chatterley.
-        * PREFIX semantics now like INPREFIX (see 1.6.4p2) [TAP]
-
-Fixes:
-
-        * Bug in parse.c which could causes crashes fixed. Reported
-          by Atuarre. [TAP]
-        * On at least 2 systems, the system date was screwed up,
-          which made updating dune.h and options.h still produce
-          files younger than dune.h.dist and options.h.dist.
-          This is not our fault, but we'll fix it anyway - now we
-          touch dune.h.dist and options.h.dist before we update
-          dune.h and options.h. 
-        * @wiping a STARTUP attribute didn't reset the STARTUP flag. [TAP]
-        * Fixed bugs in the freebsd hints.
-        * All of a sudden, linux systems have started barfing on
-          our declaration of signal() in externs.h. All right, if they
-          want to play that way, we now test for this in Configure
-          and don't declare it ourselves if it would break things.
-        * Changed Amberyl's address in the source to lwl@digex.net
-        * Somehow the fix for add(+1,0) got left out of 1.6.4. Back in. 
-        * The ansi() function now produces underscore with "u", as
-          advertised. [TAP]
-        * Warning about discarding const in assignment fixed in game.c.
-
-Version 1.6.4 patchlevel 2              May 14, 1996
-
-Minor Changes:
-        * At game startup, semaphores on all objects are cleared.
-          Prevents objects from having leftover semaphore states after
-          a shutdown. [TAP]
-          INCOMPATIBILITY WARNING! If you have objects which expect
-          to always have sempahore -1 (or something else), be sure
-          that they do "@drain me; @notify me" in their STARTUP
-          (as recommended in Amberyl's MUSH Manual).
-
-Fixes:
-        * @dump/paranoid produced db's with incorrect db flags
-          when CHAT_SYSTEM was 3 or 4. Reported by Matt Chatterley.
-        * Under certain conditions, one could get inside a ZMO using
-          the "go" command. Fixed. [RLM]
-        * A strcpy in fun_match is now a safe_str. [PeaK]
-        * INPREFIX fixes: (1) no space if INPREFIX evals to a null string,
-          (2) message to be prefixed is passed as %0, (3) %1-%9 are
-          temporarily cleared. [TAP]
-
-
-Version 1.6.4 patchlevel 1              May 11, 1996
-
-Fixes:
-        * Forgot to #ifdef MAIL_SUBJECTS around fun_mailsubject.
-          Reported by Mercurial Mink@Protean.
-        * Quirk in @dbck fixed. [RLM]
-        * Possible denial of service attack using repeat() fixed. [RLM/TAP]
-        * Problem with Configure script under certain conditions (esp FreeBSD)
-          producing bad compiler flags fixed. Report by Mike Wilson.
-
-Version 1.6.4 patchlevel 0              May 3, 1996
-
-Major Changes:
-        * eval_boolexp rewritten again. Important features:
-          - If A is locked to @B, evaluating A's lock is identical
-            to evaluating B's lock
-          - To do an indirect lock or an elock(), you must be able to
-            read the lock on the target object (i.e., you must be
-            See_All, control the object, or it must be Visual)
-            (New macros Can_Run_Lock and Can_Read_Lock for this)
-          - As a result, channel locks will work as advertised if
-            you indirect-lock them to VISUAL objects
-        * Changes to handling of plain strings (with no evaluation)
-          resulting in doubling of speed. [TAP]
-        * If you fail the page-lock on a DARK player, you receive their
-          AWAY message rather than their HAVEN message. That is,
-          failing a page-lock on a DARK player is just like paging
-          a DARK HAVEN player.
-        * INHERIT check moved to controls() function
-
-New functions:
-        * mailsubject() returns subject of a given mail message,
-          analogous to mail() and mailfrom(). By Atuarre.
-
-Minor Changes:
-        * Don't go through some major sections of the parser if we've
-          be given PE_NOTHING. Performance boost. [TAP]
-        * Players who are allowed to idle past inactivity limit, and
-          are unfindable, and can hide, are hidden (as before), but
-          only receive the notification once, instead of every
-          hour (or whatever your limit is). Players who are all of the
-          above but can't hide don't get any notification now.
-          Suggested by Gepht@Hemlock
-        * When allocating a new boolexp, set its struct members to
-          null values for better debugging. [RLM]
-        * We no longer save/restore the r-values when evaluating
-          the left side of the equal sign in attribute setting.
-          So @desc %q0 = %q0 now works as expected. Reported by PeaK.
-        * Locks set when players are initially created (lock, elock)
-          are now set to "=me" instead of "me". [PeaK]
-
-Fixes:
-        * When EX_PUBLIC_ATTRIBS wasn't defined, you never saw the
-          DESCRIBE attribute listed when you examined objects. [AKM]
-        * Vacation and Connected were being handled incorrectly
-          internally; the type of object wasn't being checked. [TAP]
-        * Now that Connected is fixed, the call to @doing doesn't have
-          to prefilter for players, so don't. [TAP]
-        * +nn is now considered a number, so add(+20,1) works.
-          Reported by Dennis De Marco.
-        * String boundary problems sometimes when you hit the 
-          function recursion limit could cause crashes. Fixed.
-          Reported by Oliver Stoll. [TAP]
-        * Making on Linux should hopefully now work with -g. [PeaK]
-        * Warning message when @chzoning an inherit player used
-          to be announced when @chzoning *any* player. Fixed. [PeaK]
-
-
-Version 1.6.3 patchlevel 7              April 25, 1996
-
-Fixes:
-        * beep() works without arguments now, as promised. [TAP]
-        * repeat(string,-number) caused an infinite loop. Reported by
-          Atuarre.
-        * The create() function didn't accept a single argument. [RLM]
-        * last(a b c) was returning " c" instead of "c". [TAP]
-        * The Configure script did indeed send email to listproc if
-          you asked to be subscribed to the pennmush mailing list.
-          But it sent it with Precedence: junk, which listproc ignores.
-          Fixed.
-        * %q9 wasn't preserved due to a typo in function.c. Fixed. [PeaK]
-        * SIGHUP now handled synchronously to prevent race conditions.
-          Noted by PeaK.
-
-
-
-Version 1.6.3 patchlevel 6              March 30, 1996
-
-Minor Changes:
-        * A channel's owner now always passes the channel's modlock.
-        * Wizards may now do folderstats(player,folder). Previously
-          on God could, but wizards could see the stats for the player's
-          current folder, and could reset the current folder, so it
-          doesn't make sense to restrict. Report by Cwilla@Victory-MUSH
-        * @function is restricted to see_all players. Suggested by
-          Oderus (Mike Wesson).
-
-Fixes:
-        * @sitelock/ban and @sitelock/register had their effects
-          mixed up. Reported by Matt Chatterley.
-        * Objects that were undestroyed were having the GOING flag
-          removed but not the GOING_TWICE flag. Fixed. [RLM]
-        * element() now works as advertised. [RLM]
-        * Systems without IEEE math now can't do power(x,y) if
-          *either* x or y is greater than 100. Report by InsaneJoseph@WoP
-
-
-
-Version 1.6.3 patchlevel 5              March 12, 1996
-
-New Powers:
-        * The immortal power has been split into 3 powers:
-          no_pay (has unlimited money), no_quota (has unlimited quota),
-          and unkillable (can't be kill'd). For backwards compatibility,
-          @set player=[!]immortal sets/unsets all three. Objects which
-          were immortal before this patch will have all 3 flags set.
-
-Minor Changes:
-        * The DEBUG flag can now be set by any user. The Can_Debug power
-          will automatically be removed from all objects.
-        * The "directive not found" message in loading mush.cnf has been
-          changed to a more comprehensible/less scary "directive in 
-          cnf file ignored" message.
-
-Fixes:
-        * FIXED players can no longer "go home" or "move home"
-        * index-files.pl was producing incorrectly titled index entries. [RLM]
-        * More fixes to elock() and zone locks. Elock() should now work
-          even when RALPH_LOCKS isn't defined. Zone locks are checked
-          on the correct object. [TAP]
-        * @open exit=variable should work correctly now. [TAP]
-
-
-Version 1.6.3 patchlevel 4              February 27, 1996
-
-Fixes:
-        * Complex evaluation locks may be better behaved. [RLM]
-        * ex/debug now shows flag bits in hex, not decimal [RLM]
-        * % failed to quote the following character in some cases.
-          Fixed to work like 1.50. [PeaK]
-        * iter() only allowed a single-character output separator instead of
-          an arbitrary string. Fixed. [PeaK]
-        * Bug in extmail.c which caused crashes on find_exact_starting_point
-          with newly created players may be fixed.
-        * Repaging with page/list uses the correct format.
-          Also, failing to page anyone successfully doesn't clobber
-          LASTPAGED when using page/list.
-        * Dark-connecting admin now trigger connection messages on
-          admin chat channels (unless the channels are quiet)
-        * Help for pos() corrected. 
-        * Things starting with #- (error messages) are now treated as
-          false (0) in boolean functions, as under 1.50. [TAP]
-        * The recursive_member function was inefficient, and potentially
-          buggy, which could allow things to be teleported into things
-          they contained. Fixed.
-        * @drain wasn't lowering QUEUE attrib. Fixed. [RLM]
-        * Zone master help updated to refer to zone locks [RLM]
-        * Memory malloc'd by replace string, though freed, didn't
-          have its mem_check cleared in a few places, which could make
-          it appear that replace_string was leaking. [PeaK]
-
-
-Version 1.6.3 patchlevel 3              February 12, 1996
-
-New option:
-        * If NULL_EQ_ZERO is defined in dune.h, a null string will
-          be considered a zero in a math function. For example,
-          add(,3) will return 3, instead of #-1. 
-
-Minor Changes:
-        * Guests may not join or leave channels. [Mike Wesson, Oderus]
-
-Fixes:
-        * edefault() core dumps fixed.
-        * eval() now behaves correctly. [TAP]
-        * ALL players (inc. Wizards) now subject to BUILDING_LIMIT.
-        * Quota now properly updated on object destruction. [RLM]
-        * Misc. fixes to object destruction, especially in the case
-          of what happens to SAFE objects of destroyed players. [RLM]
-        * Queue was handled strangely for priv'd players. Fixed.
-        * New internal macros NoQuota and NoKill, both the same as
-          NoPay, established in preparation for future splitting of
-          Immortal power into 3 powers.
-        * help @clock2 typo fixed.
-
-
-Version 1.6.3 patchlevel 2              February 7, 1996
-
-[L@E] refers to Lukthil@ElendorMUSH, who did many patches to 1.50
-that I'm just now getting to integrate.
-
-Minor Changes:
-
-        * Wizards are now effectively pemit_all
-        * @dol/notify notifies even if given a null list. [L@E]
-        * See_All players can see quotas with @quota. [L@E]
-        * If we're logging forces, don't just log forces *by* wizards,
-          log forces *of* wizards (and things they own) by anybody. 
-          Idea by L@E.
-        * Removed obsolete code: clear_atr_name
-        * mkindx now sorts index entries alphabetically, so it
-          doesn't matter what order you have get() and get_eval()
-          in your help file - help get will give get().
-          Code by Pavel Kankovsky (PeaK).
-
-Fixes:
-        * #-1 was being considered "true" instead of "false" when
-          TINY22_BOOLEANS was not defined. [RLM]
-        * munge() is better behaved when there are duplicates in the
-          first list, accurately matching them with the second. [L@E]
-        * Emits weren't propagating through audible exits when
-          there was nobody in the room. Fix idea by L@E.
-        * Charges were broken. Fix idea by L@E.
-        * Immortal players could lose coins when their non-immortal
-          objects ran code. Fixed. [L@E]
-        * @edit is less likely to overflow buffers when using ^ and $. [L@E]
-        * @halting objects used to queue them for #0. Fixed. [L@E]
-        * Semaphores weren't removed when an object was halted. Fixed. [L@E]
-        * Possible permissions problem in running STARTUP when objects
-          are chowned fixed. [TAP]
-        * make etags now picks up dune.h and options.h [RLM]
-        * Code consolidation: chowning when an exit is linked is done
-          via a call to chown_object now. [RLM]
-
-
-Version 1.6.3 patchlevel 1              February 4, 1996
-
-
-Minor Changes:
-
-        * NO_LEAVE is now settable by anyone
-        * The index-files.pl script indexes admin news and help separately.
-        * *emit() functions can now have unescaped commas in their last
-          argument (the message). [TAP]
-
-Fixes:
-        * lit() doesn't screw up on braces. [TAP]
-        * @search and lsearch() using eval were broken. [TAP]
-        * @unlock foo worked, and also gave a Huh?. Fixed. [RLM]
-        * When a player was destroyed, their SAFE exits would be
-          destroyed instead of chowned. Fixed. [RLM]
-
-
-Version 1.6.3 patchlevel 0              January 31, 1996
-
-Major Changes:
-
-        * Assume that object A is locked to @B, and object B is
-          locked to canuse/1. It used to be that when player P tried
-          to pass the lock on A, the canuse attribute on *A* was
-          checked, instead of B. Fixing that required that we check
-          to be sure that B is allowed to evaluate the CANUSE attribute
-          on A, which required internal changes to boolexp.c.
-
-Minor Changes:
-
-        * Objects can now send mail as themselves, not their players.
-          Mail from objects is reported as being from an object
-          when read. The format for @mail(/read) has changed somewhat.
-        * page[/list] now stores the last player(s) you paged in a LASTPAGED
-          attribute, so you can re-multipage. The behavior is a little
-          different for page and page/list. Page stores exactly what
-          you typed as the last player/list of players to page; page/list
-          stores only those names for whom the page succeeded.
-
-Fixes:
-
-        * The site of last failed login used to be a visual attribute.
-        * Parser misbehaved on: think ( foo ), removing spaces. [TAP]
-        * @edit and related wasn't stripping leading spaces from the
-          right side of the = sign. Fixed.
-        * Problem with count of unread mail on login with EXTENDED_MAIL
-          fixed.
-        * @channel/rename can now rename a channel to the same name
-          with case changes, without an error.
-        * +channel now matches partial ambiguous channels in a smarter
-          fashion - it looks for a channel you're on.
-        * Better help for @clock
-        * die(0,x) now returns 0. die(negative #,x) returns an error. [TAP]
-        * @chan/decompile can be used by the channel's owner or
-          anyone who passes the modlock, as well as Wizards.
-        * Channel hide locks work right. [RLM]
-        * @chan/decompile now shows the correct commands for locking
-          channels. [RLM]
-
-Version 1.6.2 patchlevel 1              January 28, 1996
-
-Fixes:
-        * get_eval error about # of args fixed.
-
-
-Version 1.6.2 patchlevel 0              January 26, 1996
-
-New Commands:
-
-        * @mortal <command> lets a privileged player run a command
-          as if they were unprivileged. [TAP]
-        * ahelp/anews shows admin help/news topics to admin players. 
-          Admin-only topics are in the same files (help.txt/news.txt),
-          but topic names begin with '&'. For example:
-          & for-all-players
-          ...text...
-          & &admin-only
-          ...text...
-        * page/list <players>=<message> will do a multipage with a less
-          spammy format for the pager.
-
-New Functions:
-
-        * mortal() lets a privileged player evaluate as if there were
-          unprivileged. [TAP]
-
-New Flags:
-
-        * MORTAL, to support @mortal and mortal(). Used internally, and
-          not settable. Can be reset by Wizards, just in case, though. [TAP]
-
-Minor Changes:
-
-        * If you have a channel "admin" and a global +admin (no args),
-          calling +admin will run the global, not give the
-          "What do you want to say to that channel" message, under
-          extended chat.
-        * If a panic db is corrupt, the restart script will move it to
-          save/PANICDB.corrupt instead of removing it.
-
-Fixes:
-        * Problems with compile when HAS_SIGACTION is undefined.
-          Noted by Brian Favela, affects Linux.
-        * Duplicate uselock check in atr_comm_match removed.
-          Noted by Brian Favela.
-        * Looking at an exit showed the full name and aliases, not just
-          the full name. [TAP]
-        * Compiling without EXTENDED_MAIL works right.
-        * Potential buffer overflow problems in look_exits() fixed.
-        * get_eval() really uses a /, not a comma, like the help says.
-        * (Hopefully) last remnants of old parser removed from externs.h
-        * @dol on an empty list now doesn't give the weird "what do you want
-          to do with the list" message. @dol with an empty command does. [RLM]
-
-Version 1.6.1 patchlevel 1              January 23, 1996
-
-Fixes:
-        * v(#), v(!),and v(N) now return the same thing as %#, %!, and %N.
-          [RLM]
-
-Version 1.6.1 patchlevel 0              January 21, 1996
-
-New compile-time options:
-
-        * SAFER_UFUN: when defined, prevents less priv'd objects from
-          evaluating ufuns on more priv'd objects, which helps a
-          potential security problem with side-effect functions.
-          This is more of a stopgap -- control and security will be
-          revamped in a future release -- but is recommended.
-
-New .cnf directives:
-
-        * player_creation enables/disables "create" at login screen.
-          Also @enable/disable creation
-        * use_dns enables/disables IP-to-hostname resolution
-
-New Functions:
-
-        * tel(thing,destination)
-        * oemit([room/]object,messsage)
-        * emit(message)
-        * lemit(message)
-        * remit(object, message)
-        * zemit(zone, message)
-        * timestring(secs,flag) converts seconds to #d #h #m #s
-          format. If flag is 1, the string always includes all time
-          periods (e.g. timestring(301,1) = 0d 0h 5m 1s). If flag is
-          0 or omitted, only the necessary periods are included
-          (e.g. timestring(301,0) = 5m 1s). 
-        * left(string, n) returns the first n characters of the string
-        * right(string, n) returns the last n characters of the string
-        * hasflag() syntax extended to hasflag(obj[/attr],flag) for
-          checking attribute flags as well.
-        * functions() lists all enabled functions
-        * atrlock(obj/attr[,<on|off>])
-        * doing(player) returns a player's @doing if they can be see
-          on the WHO list
-
-Minor Changes:
-
-        * @allquota now has /quiet switch, and works correctly when
-          no limit is given. [NJG]
-        * The restart script is now a lot smarter, and figures things
-          out from mush.cnf. All that needs to be set is the location
-          of the game directory, and if you use make customize, not
-          even that.
-        * @wall/@rwall/@wizwall with a null message fails. (src/speech.c)
-        * SIGHUPs sent to the MUSH are now logged in netmush.log
-        * Common code called when object ownership is changed has
-          been encapsulated into a single function for modularity.
-        * crypt() is now a macro on systems which can't define HAS_CRYPT
-
-Fixes:  
-        * The table() function was incorrectly truncating some
-          list elements. Fixed. Report by Alaric@WoP
-        * The match() function was returning an empty string instead
-          of 0 when it failed to match. Fixed. Report by Alaric@WoP.
-        * help math functions now list the transcendental and other
-          floating point functions
-        * map() and mix() were broken. Fixed. [TAP] (src/funlist.c)
-        * @grep/print is now case-sensitive, like help says. (src/predicat.c)
-        * Refunding money when objects are chowned 
-          was refunding 10 coins, instead of the object deposit. [RLM]
-        * convtime() hadn't been converted to the new parser,
-          and therefore was broken. Fixed. (src/funtime.c)
-        * Compilation warning in src/game.c fixed
-        * Giving players large negative amounts of money was slightly
-          broken and is now fixed. Obscure, eh? [RLM] (src/rob.c)
-        * Misleading comment in options.h.dist about QUEUE_LOSS
-          fixed. [RLM]
-        * Help fixed to indicate that there's no longer a 10 dimension
-          limit on vector functions.
-        * Various missing prototypes corrected.
-        * make customize now correctly sets the restart script
-          executable, and installs links to netmud and mkindx.
-        * Improved Win32 portability [NJG]
-        * Fixes to default() and edefault() [TAP]
-
-Version 1.6.0 patchlevel 5              January 17, 1996
-
-Fixes: 
-        * Extended chat: @chan/decomp shows privs correctly now
-        * Extended chat: When a player is destroyed, channels they own
-          are chowned to God.
-
-Version 1.6.0 patchlevel 4              January 17, 1996
-
-Fixes:
-        * Extended chat: Formerly, non-players could create channels.
-          No longer.
-        * Extended chat: Channel creation cost is now refunded when
-          channel is removed.
-        * Help text for HALT (game/txt/pennflag.hlp) and SUBSTITUTIONS
-          (game/txt/penn.hlp) now notes that HALTed objects do not
-          evaluate functions or substitutions.
-        * Nick Gammon's new email address is in README and win32/README
-
-
-Version 1.6.0 patchlevel 3              January 16, 1996
-
-Fixes:
-        * default, edefault, udefault now work like Tiny 2.2, not eval'ing
-          their arguments.
-        * Many fixes to the extended chat system.
-        * Fixed misspelling of Guest in @config.
-        * @function on a non-existant object no longer crashes. [TAP]
-        * Problems with paranoid dumps not setting the correct dbflags
-          corrected. [TAP]
-        * Problems with EXTENDED_MAIL crashing when using LOGOUT fixed. [RLM]
-        * @warnings for exit-msgs and thing-msgs warned when there was
-          no OFAIL on a locked exit/thing, which is silly. [1.6.0p1]
-        * Started patching the CHANGES file, like I should.
-        * Fixes customize.pl
-        * Fixes update-cnf.pl so that 'make update' won't trash player_flags
-          (and other repeatable directives) in mush.cnf
-        * Fixes game/txt/README
-
-Version 1.6.0 patchlevel 0              January 10, 1996
-
-Major Changes:
-
-        * New function parser with improved speed, sanity. [TAP]
-        * Complete rewrite of destruction code. Undestroying supported
-          for all objects, @adestroy works sanely, SAFE is safer,
-          better consistency checking. [RLM]
-        * Support for 'plural' gender for TinyMUSH compatibility. [2.2]
-        * Most filenames are now 8.3, to support the win32 port
-        * Some options have been moved to the runtime config file
-          (dbcomp). Others have been removed entirely.
-        * 'make update' will update runtime config directives
-        * The chat system has been completely rewritten. Number of 
-          channels is limited only by memory, channels are saved
-          across shutdowns (modifying source to add channels never
-          required), channels can be locked in various ways, 
-          non-wizards can create channels, etc.
-        * New .cnf directives: chat_database (where to store channels),
-          max_player_chans (how many channels can a non-admin create),
-          chan_cost (how much does creating a channel cost)
-        * The CSRI malloc is now supported and suggested. In addition
-          to being extremely memory-efficient, it offers leak detection
-          and profiling features.
-        * The database format now defaults to quoting text, which is
-          less vulnerable to corruption, in particular the loading of
-          attribute locks starting with a number. [1.50-15-04,05 TAP]
-
-New Functions:
-
-        * matchall() [2.2]
-        * default(), edefault(), udefault() [2.2]
-        * aposs() and %a return absolute possessive pronouns [2.2]
-        * elements() [2.2]
-        * mudname(), version(), starttime() [2.2]
-        * stats() is now an alias for lstats() [2.2]
-        * ulocal() [2.2]
-        * search() is now an alias for lsearch() [2.2]
-        * folderstats() returns information about numbers of messages
-          in a given @mail folder
-        * last() is the counterpart to first(), and returns the last
-          item in a list
-        * mailtime(), mailstatus(). Suggested by Alaric@WorldOfPain.
-
-New Commands:
-
-        * @emit can be abbreviated '\\', for TinyMUSH compatibility
-        * The speech commands (say, pose, @[po]emit, whisper, page)
-          can now take a /noeval switch, which prevents them from
-          evaluating the message.
-        * 'semipose' is an alias for pose/nospace
-        * 'INFO' from the connection screen gives version info for
-          the MUSH, for use by automated mudlists and the like.
-        * @sitelock/name adds names to the banned names file.
-        * @enable/@disable guests (and new cnf file directive guest_allow)
-        * @decomp now takes /flags and /attribs switches to only decompile
-          the creation/flags information or the attribute information.
-        * @list command partially implemented for TinyMUSH compatibility.
-
-New Flags:
-
-        * CLOUDY flag on exits provides partial transparency. A CLOUDY
-          TRANSPARENT exit shows only the description of the room beyond, 
-          no contents.  A CLOUDY but not TRANSPARENT exit shows only 
-          the contents, no desc.
-        * FORCE_WHITE flag on an ANSI player forces their output to be
-          reset to white, necessary for some poor ansi terminals which
-          "bleed". [Kalkin]
-
-Minor Changes:
-
-        * @chzone'ing an object to 'none' no longer clears its privbits.
-        * OXMOVE attribute is shown to the room you're leaving.
-        * Setting and resetting the SUSPECT flag is now logged in wizard.log
-        * Various outdated defines have been removed from options.h/dune.h
-        * Objects can now use @mail commands, as if they were their owners.
-
-Fixes:
-
-        * idlesecs() now accepts "me".
-        * "pose" (not ":") used to discard everything after an "=".
-        * The "entries" entries in help.txt, etc, have been fixed a bit.
-        * index(a| |b,|,2,1) now returns a null string instead of "|b"
-        * Various memory leaks [1.50-15-01]
-        * When fork fails, a non-forking dump is done, and the MUSH
-          no longer exits. [1.50-15-02]
-        * Soundex() no longer hangs on non-alphabetical. [1.50-15-06]
-        * dist2d and dist3d are safer on non-IEEE math systems. [1.50-15-03]
-        * mail() now counts messages across all folders
-        * Better matching of del_check to add_check [1.50-15-11]
-        * PennMUSH now compiles correctly without EXTENDED_MAIL
-          [1.50-15-10]
-        * Some fixes to unparse.c to stabilize huffman compression
-          [1.50-15-09,RLM]
-        * Fixes to @boot [1.50-15-08,TAP]
-        * Fixes to variable exit handling by quick-unparse [1.50-15-07,AKM]
-        * Configure now tries to find a full path for uptime(1) so that
-          @uptime will work
-        * Fixes to forbidden_site and forbidden_name when there's no
-          sites/lockout/names file. [NJG]
-        * Backspace handling for really dumb terminals improved [NJG]
-        * When changing the text of an attribute, its flags are no longer
-          reset. [RLM]
-        * When seizing a link, coins weren't refunded if the seize failed.
-
-Version 1.50 patchlevel 14              July 3, 1995
-
-This patchlevel is primarily concerned with bugfixes and patch management.
-
-Maintainer changes:
-  * New file 'Patchlevel' tracks mandatory patches to insure that they 
-    are applied in the proper order
-  * Clearer 'restart' script. [TAP]
-  * The indexing script for help/news/etc now creates the topic 'Entries'
-    instead of 'Index', to prevent a conflict with 'help index()'.
-  * The file hdrs/db.h is now hdrs/mushdb.h, to match Tiny 2.2 and
-    because FreeBSD complains about db.h.
-  * The links hdrs/dune.h and hdrs/options.h were unnecessary and
-    are now removed.
-  * The noforking dump messages have been moved to mush.conf
-
-Commands:
-  * The @set obj1=attrib1:_obj2/attrib2 form no longer works, as
-    it conflicts with general attempts to set attributes that start
-    with underscores. Use @cpattr for copying attributes.
-
-Options:
-  * EXITS_CONNECT_ROOMS, if defined, prevents rooms with at least one
-    exit from being announced to players as "disconnected rooms".
-  * RALPH_DEBUG option allows for improved DEBUG flag output. [RLM]
-  * When MEM_CHECK is defined, it dumps mem_check info to the
-    checkpt.log before each dump.
-  * SAFER_PLAYER_NAMES options has been removed. Player names can't
-    contain those funny characters, period.
-
-Fixes:
-  * Added -D_INCLUDE_AES_SOURCE to hpux hints
-  * stdlib.h is now included in eval.c to get atof. This was breaking
-    linux MUSHes badly.
-  * Linux hints now use BSD signal semantics.
-  * Various attempts to fix possibly unusual bugs in compression.
-  * The internal TRANSPARENT flag bit macro is now TRANSPARENTED,
-    because Solaris defines TRANSPARENT
-  * A bug causing setq'd registers to be incorrectly munged has been fixed.
-  * @chzone warning messages refer to zone-lock, not elock, if RALPH_LOCKS
-    are compiled in.
-  * Examining a player who was on a null channel was reported to crash
-    one MUSH. Some attempts have been made to fix that problem.
-  * The compose.csh script in game/txt has been replaced by 
-    compose.sh, which now deals properly with systems which are missing
-    perl (gasp!)
-  * Configure script hopefully won't die when checking signals on Linux.
-  * Fixes to some strange @mail behavior. [RLM]
-  * CType in compress_h.c is now unsigned long, not long. [RLM]
-  * Fix to converting old maildbs to mail subjects [RLM]
-  * Bigram compression could (rarely) cause $commands or ^patterns
-    to stop functioning.
-  * GoodObject() used to consider db_top to be a valid dbref. It's not.
-  * Recycling of objects was broken in pl13 and is now fixed. [RLM]
-  * mush.conf can now deal with the FIXED flag as a default flag [RLM]
-  * A lot of mem_checks weren't being deleted, especially exec.buff ones.
-  * Defining COMPRESSION_TYPE to be 0 (no compression) now works. [TAP]
-  * Paranoid dumps no longer stomp out tabs and newlines unnecessarily.
-  * Configure now checks for IEEE math compliance, and defines HAS_IEEE_MATH
-    which is used by the code to determine if some math functions need
-    to be limited.
-  * SOLARIS defines have been removed as extraneous.
-
-Version 1.50 patchlevel 13              June 1, 1995
-
-Patchlevel 13 was very much a collaborative effort with Ralph Melton
-and T. Alexander Popiel, terrific MUSHhacks.
-
-Major user changes:
-
-  * Complete rewrite of locks, which allows for many, many new
-    locks, including user-defined locks, with reduced memory usage. [RLM]
-  * @mail can now have a subject.
-
-Major maintainer changes:
-  * The code now contains ANSI prototypes (if Configure ascertains that
-    your compiler likes 'em) for easier debugging.
-  * The help, news, and events entries are now managed in subdirectories
-    of game/txt/, and automatically indexed.
-  * The names.conf file now accepts wildcards
-  * New Makefile target 'update' will propagate your options.h/dune.h
-    settings into an options.h.dist/dune.h.dist template, ask you
-    whether you want to define any newly-introduced options, ask
-    you if you want to remove any obsoleted options, and write out
-    new options.h/dune.h files.
-  * Improvements to the autoconfiguration scripts, which now generate
-    a config.h and confmagic.h file in the top-level directory. These
-    headers tell the code what kinds of features are available.
-    Accordingly, the old hdrs/config.h header file has been renamed 
-    hdrs/conf.h
-  * The 'whisper_loudness' config directive in mush.conf sets the
-    probability that a noisy whisper will be noticed in the room. 
-  * If the standard Huffman attribute compression gives you trouble, you
-    can use the COMPRESSION_TYPE define to use the older bigram
-    compression system, now auto-tuning, or no compression at all.
-  * The TINY22_BOOLEANS option causes the MUSH's boolean functions
-    (and(), or(), not()) to be compatible with TinyMUSH 2.2. In Tiny 2.2,
-    only non-zero integers are "true". In PennMUSH's default, non-zero
-    integers, non-negative db#'s, and strings are "true". You pick.
-  * NO_NUKE_SAFE_PLAYER prevents @nuke from working (for Wizards) on
-    players set SAFE. You have to unSAFE them first.
-
-New functions:
-
-  * MWHO() function is like LWHO() but always evaluates as if the
-    enactor were an unprivileged player. Useful for globals.
-  * ISDAYLIGHT() returns 1 if it's daylight savings time, 0 if not.
-    By Dave Sisson
-  * CWHO() now returns a list of dbrefs, NOT NAMES. Much more flexible.
-  * ITER() now can take a fourth argument, which is the output delimiter.
-    You can have any string shoved between the output elements instead 
-    of a space (for example, a %r).
-  * TABLE() for presenting lists in rows.
-
-New commands:
-
-  * Players can connect with 'ch name password', which is just like
-    'cd', but connects hidden. Activated by defining DARK_CONNECT
-  * @warnings now allows players to exclude warnings by using
-    @warnings me=!warning. [RLM]
-  * @ps/quick now displays only the summary line of @ps for players.
-  * @decomp can take a /tf switch, which makes its output emulate
-    the 'FugueEdit' object (originally by van@TinyTIM) which
-    lets you use tf to edit attributes. Idea by Lord Argon.
-
-Minor changes:
-
-  * The 'news code' and 'news changes' entries are now in help.txt,
-    so you don't need to update your MUSH's news.txt files when you upgrade.
-  * In an ambiguous situation (i.e., @dest foo when you carry
-    foobar and foofoo), @dest will no longer pick one at random. It'll fail.
-  * #0 is now evaluated as TRUE in the context of boolean functions,
-    because it's a valid dbref (applies only #ifndef TINY22_BOOLEANS)
-  * haspower() allows players to see powers on things they control,
-    even with HASPOWER_RESTRICTED defined. [RLM]
-  * O-attributes which evaluate to nothing are no longer displayed. [AKM]
-  * Paranoid dumps no longer smash \r and \n.
-  * @mvattr no longer deletes the original attribute if the copies fail.
-  * Secure now stomps out ^'s
-  * The getrandom() function has been rewritten. [RLM]
-  * It's now a lot harder to have Guest and Wiz/Roy set on the same
-    player. Players shouldn't be able to connect to Wiz/Roy Guests anymore.
-  * HARSH_GUEST is now a lot harsher. Guests pretty much can't modify
-    the database except to lock/unlock things they control.
-  * players who are on a priv'd channel may speak/leave
-    even after they lose their privs. [RLM]
-  * Xenix options removed from options.h.dist, since the Xenix code
-    isn't supported anymore anyway.
-  * The size of MAX_COMMAND_LEN (and therefore all derived buffers)
-    has been doubled.
-  * Doing a 'make' from the src/ directory will now call the top-level
-    makefile. This helps those who use emacs (like Ralph, who came up
-    with this) and M-x compile from the srcdir.
-  * @version shows compilation flags.
-  * Admin WHO no longer wraps lines. Sitenames are truncated as needed. [TAP]
-
-Fixes
-
-  * Repaging a player with a multi-word name works correctly now.
-  * Players with the tport_anything power can teleport FIXED things. 
-  * @map works as documented again.
-  * Paranoid @dumps don't give so many spurious bad attribute warnings.
-  * ZMO elock checking now uses PLAYER_START and MASTER_ROOM instead
-    of #0 and #2. [RLM]
-  * @pemit/list now replaces ## with the target's db#, as the help says.
-  * Subtle bug in exit matching fixed. [RLM]
-  * escape() and secure() no longer parse their arguments.
-  * The asterisk-line separators on the nologin messages have been
-    prettified slightly, at Tigger's suggestion
-  * Some systems didn't deal well with overflowing @doing and @poll's.
-    Dave Sisson patched it.
-  * Error in bsd.c when compiling with DARK_CONNECT but without ROYALTY
-    fixed. (Reported by Suud@Gohs)
-  * hasflag, andflags, and orflags patched to prevent mortals from
-    using them to see mdark flags [RLM]
-  * Type mismatch in warnings.c fixed [RLM]
-  * fun_lcstr() and fun_ucstr() have been changed slightly in order to
-    support unices like MachTen which appear to define tolower() as 
-    a macro meaning (isupper(x) ? _tolower(x) : (x)), and were getting
-    hosed by the tolower(*ap++) call. Bug reported by Adrick.
-  * It was possible to overflow the buffers in do_log by having a 
-    Wizard do @fo me=think lnum(5000), for example. No longer, I hope.
-    Bug report and suggested fix by Adrick.
-  * Removed an old bit of code that broke compiles using original mailer
-  * The restart script is a little smarter about preserving databases.
-  * Fixed a bug that caused ALWAYS_PARANOID to dump core.
-
-Version 1.50 patchlevel 12              March 23, 1995
-
-Major changes:
-
-  * The matching routines in match.c have been rewritten to be
-    reentrant, which fixes some subtle but important bugs
-  * New Makefile target 'customize' for setting up customized
-    per-mush subdirectories for those who run multiple mushes.
-  * An untested DELETE_POWERS define in options.h, which will remove
-    powers from a database, to make it easier to switch to TinyMUSH
-
-New flags/powers:
-
-  * Things with the Pemit_All power can @pemit to HAVEN/ulocked players.
-    Useful for globals.
-
---- Fixes ---
-  
-  * Previously, passing the elock of a ZoneMaster player allowed 
-    control over *all* the ZM's objects, including the ZM player itself.
-    Players are no longer controllable this way.
-  * Incorporated patch for compiling without CREATION_TIMES defined
-  * Incorporated Ralph Melton's patch to warnings.c to fix core dump
-    with multiple exits warning.
-  * Nobody can @tel rooms any more. New code for @tel'ing exits has
-    been written, however, and players may now @tel exits they control
-    from rooms they control to rooms they control.
-  * Z_TEL bug: players could defeat Z_TEL by entering an object and
-    @tel'ing from there. Reported by Ralph Melton.
-  * Bug in puppet checks in @teleport fixed.
-  * Players in exactly 15 levels of container could defeat NO_TEL. Fixed.
-
-
-Version 1.50 patchlevel 11              March 5, 1995
-
-At Amberyl's suggestion, the "dune" numbering scheme has been 
-abandoned. This is 1.50 pl11, and future versions will be numbered
-accordingly.
-
-Major changes:
-
-  * All objects can now have creation dates. Non-player objects have
-    attribute modification dates as well. Players have number of login
-    failures since last logins tracked instead. Supported by
-    ctime() and mtime() functions to return creation/modification time.
-    (CREATION_TIMES define in dune.h)
-  * The extended @mail system now maintains the maildb sorted by
-    recipient, and each player descriptor has a pointer to where that
-    player's mail begins in the maildb. This is much faster for reading 
-    and listing and clearing mail, only slightly slower when sending.
-
-New Commands:
-
-  * @boot/me: boots a player's idle descriptor (to selfboot hung 
-    connections).
-  * whisper has two switches: silent and noisy. Standard PennMUSH whisper
-    is silent, and is the default unless NOISY_WHISPER is defined.
-  * @grep can take two new switches, /ilist and /iprint, which are just
-    like /list and /print, but case-insensitive.
-
-New Flags:
-
-  * LIGHT (as in TinyMUSH): LIGHT objects/players appear in DARK rooms.
-    In addition, LIGHT exits also show up.
-  * Z_TEL: When set on a Zone Master Room or a room in a zone, prevents
-    players from using @tel from that room to any room that's not in the
-    same zone. Useful for puzzle areas or enforcing some IC constraints.
-
-New Functions:
-
-  * The lsearch() command can take a range of db#'s
-  * ctime() and mtime() functions (if CREATION_TIMES is defined)
-  * grepi() is a case-insensitive grep
-  * hasattr() returns 1 if an object has a given attribute
-  * hasattrp() returns 1 if an object or its parent has a given attribute
-
-Minor Changes:
-
-  * @away/@haven/@idle messages are not sent if they're null
-  * Players always receive feedback when they use @hide
-  * Players who are FIXED are now permitted to @tel objects into their
-    inventory. This makes coding puppets which follow you much easier.
-
---- Fixes ---
-
-  * examine/mortal now functions more like it should. 
-  * If a ZMO was elocked to an object in #2, players couldn't @chzone
-    things to it. Reported by Melkor@Beleriand. Fixed.
-  * WHO is grammatical when reporting # of connected players. Idea
-    from Kalkin.
-  * The Connected ('c') flag is no longer visible to mortals.
-
-
-Version 1.50 patchlevel dune2              March 5, 1995
-
-DuneSource pl2 changes
-
-Major changes:
-
-  * Extensive warning system for things missing on objects, rooms, etc.
-    @warnings command for players to set the level of warnings they want,
-    @wcheck[/all] command for players to check an object (checks can also run
-    at a God-configurable interval on the whole db), NOWARN flag for objects
-    and players. Idea from Kalkin's adaptation of MUSE code, totally
-    rewritten.
-    
-
-New options (dune.h):
-
-  * GUEST_TEXTFILE option enables a textfile (guest.txt by default)
-    to be shown to Guests who log in. Idea and source code from Kalkin.
-  * PAGELOCK_NOT_USELOCK option causes @lock/use to fail for players,
-    requiring them to type @lock/page. The lock itself has not changed,
-    just the interface, to remind players of its function. By Ralph Melton.
-  * More control over possessive gets with the POSSESSIVE_GET define
-    and the POSSGET_ON_DISCONNECTED define. Possessive get can be
-    disabled, enabled for all but disconnected players, or enabled
-    at all times (the default PennMUSH behavior)
-
-New functions:
-
-  * lit() returns its input totally unparsed, and without spaces compressed.
-  * t() returns the truthvalue of its input, guarranteed to be either
-    1 or 0.
-  * objmem() and playermem() functions, return the memory usage of
-    an object or all of a player's objects. Requires search_all power.
-  * grab(list,pattern[,delimiter]), returns the first element of list
-    which patches the pattern. Patterns are of the match() type.
-    From the TinyMUSH 2.2 code.
-
-Minor Changes:
-
-  * You must actually own an object (not just control it) or be a
-    Wizard in order to set it chown_ok or dest_ok. By Ralph Melton.
-  * You can use #$ in the actions in a switch() function
-    or @switch/@select statement, and it will be replaced by the switch
-    expression before executing or evaluating. This can improve
-    efficiency and save space. For example:
-        switch(complexfunc(%0),Bob,BobResult,#$)
-    is equivalent to:
-        switch(complexfunc(%0),Bob,BobResult,complexfunc(%0))
-    but only requires a single evaluation of complexfunc(%0).
-    Suggested by Kenric@DuneII.
-  * "things" is a synonym for "objects" in @search now. By Ralph Melton
-
---- Fixes ---
-
-  * #-2 is treated as a "0" (false, like #-1) in functions which need a
-    logical value for it. Previously, it was treated as -2 (true).
-  * @select is now considerably more efficient - it no longer will 
-    evaluate anything after the matched action. The old behavior
-    could well be a bug in the right conditions as well. 
-  * atr_add now rejects null attribute names, so you probably can't set them
-    any more. Suggested by Kalkin, the code's by Mike@StarWars.
-  * Players can reset a DARK flag on themselves, but still can not
-    set themselves DARK.
-  * andflags(me,!Dc) used to return 1 if I am !dark and !connected,
-    instead of !D and connected, as the help states. Fix by Ralph
-    Melton.
-  * Halting an object which is @wait'ing used to fail to decrement
-    the owner's queue attrib. Fixed now. Patch by Ralph Melton.
-  * set_flag uses strupper instead of upcasestr now, which should fix
-    a bug on some systems wherein "cd" command would crash the MUSH and
-    a similar bug wherein players connecting would crash the MUSH if
-    the ON-VACATION flag was in use.
-  * The old channel syntax (@channel foo=command) works again.
-  * The RULES option now works.
-  * The convtime() has been rewritten to work on NeXT's correctly.
-    Previously, its malloc failed and it returned -1.
-  * Systems which have getrlimit, but *don't* have RLIMIT_NOFILE,
-    are now supported. Notably, Aix 2.x and 3.x.
-  * The installation hints for Solaris 2 have been improved.
-    WAIT_TYPE is defined as int, and if NBPC can't be found for
-    getpagesize(), it'll try PAGESIZE instead. Thanks to Kalkin for these.
-  * Installation for AIX has been improved. AIX required inclusion of
-    sys/select.h in the IDENT stuff.
-  * Various rewrites of tests against NOTHING to use the GoodObject()
-    macro instead. Thanks to Ralph Melton for some of these.
-  * Got rid of some warnings when compiling mkindx
-
-Version 1.50 patchlevel dune1              March 5, 1995
-
-DuneSource pl1 changes
-
-Major changes:
-
-  * Whem players attempt to log in to a Guest character that is already
-    in use, the server tries to find one that isn't, and connects the
-    player to that. If it can't, you get the old behavior (two connections
-    to the single Guest).
-  * Extended @mail system is available with many new mail commands.
-  * Dump warnings 5 minutes and 1 minute before non-forking
-    dump, and optional announcement at completion of dump.
-  * Guest players may not set attributes.
-  * Kill command can be disabled.
-  * @aconnect/@adisconnect messages on individual rooms.
-
-Changes to commands:
-
-  * CD command at connection screen allows Wizards to connect to the game
-    DARKly.
-  * @sitelock command for on-the-fly sitelocking by Wizards.
-  * @dump/paranoid can try to fix the db in memory, too.
-  * @decomp/db, produces decomp output using dbref of object instead
-    of its name.
-  * ex/mortal, shows examine output as if player were mortal.
-  * Option to rename @destroy to @recycle, since @dest and @desc are
-    easy to confuse.
-  * @restart command. Combines an @halt with triggering @startup.
-  * @hide now provides feedback when used.
-  * @find may be restricted to royalty, the only ones for whom it might
-    possibly be useful.
-  * @function now lets you know when it updates an @function.
-  * The old (pl8?) @channel <channel>=<function> syntax is back, along
-    with @channel/<function> <channel>, for those who liked it.
-  * @grep can be either case-sensitive or not (the default).
-  * If you don't specify the destination attribute in @cpattr, it
-    assumes you want the same attrib name as the source attrib.
-  * @mvattr, like @cpattr, but removes old attribute.
-  * ANSI players now see their @edit additions in bold.
-  * Rooms and exits can @emit. Rooms @emit into themselves (like @remit),
-    and exits @emit to their source room.
-  * @squota can now be given quota levels as +<quota> or -<quota>, to
-    increase or decrease a player's quota from its current level.
-
-Changes to functions:
-
-  * encrypt() and decrypt() functions.
-  * hidden() function for checking if a player is hidden.
-  * hastype() function for checking if a thing is a given type.
-  * pemit() function sends pemits to a list of objects.
-  * lparent() function, returns object's parent, grandparent, etc.
-  * quota() function, returns a player's quota.
-  * N-dimensional vector arithmetic functions: vadd(), vmul(), vsub(),
-    vmag(), vdim(), vunit()
-  * haspower() can be restricted to admin.
-  * "Lower math" functions: shr(), shl(), inc(), dec()
-  * beep() with no arguments produces a single beep.
-  * pmatch() will now accept *player or #dbref arguments.
-  * lsearchr() function does an lsearch *backwards* through the db.
-
-Changes to flags/powers:
-
-  * Flags can be defined as dark (invisible to all but God), 
-    mdark (invisible to mortals), and odark (invisible to mortals who don't
-    own the object) in flags.c.
-  * @cemit can be granted as a power
-  * The ability to set/unset the DEBUG flag on objects the player controls
-    can be granted as the Can_Debug power. (Idea by Kenric@DuneII)
-  * Optional COLOR flag to control reception of ANSI color apart from
-    ANSI hiliting.
-  * OPAQUE flag on exits. OPAQUE exits in translucent rooms look
-    like normal exits in non-translucent rooms.
-  * FIXED flag prevents @tel and home.
-  * DARK Wizards need not trigger @aenter.
-  * The SUSPECT flag is now abbreviated 's'.
-  * NO_LEAVE flag on objects prevents 'leave' command from working in them.
-    Useful for flying vehicles and the like.
-
-Minor changes:
-
-  * &adestroy attribute triggered when object is dest'd.
-  * Player/room/object names can appear automatically in bold.
-  * Dark and Hidden players are distinguished on the admin WHO list
-  * Dark and Hidden players are indicated on the admin DOING list
-  * Wizards who idle are set hidden, not DARK. Same for royalty.
-  * DARK wizards enter and leave @chat channels silently.
-  * Royalty can now see the Wizard @channel/list
-  * The mortal @channel/list lists only public channels.
-  * @idle/@haven/@away attribs which evaluate to nothing are not
-    sent to the paging player.
-
---- Fixes ---
-
-  * TRANSPARENT variable exits don't crash the MUSH when looked at.
-  * @channel/delete and @channel/privs take the right number of arguments
-  * @decomp now decompiles flags properly.
-  * When logins are disabled, players may not create characters.
-  * The controls() function is made safer. Defining SAFER_CONTROL prevents
-    anyone but God from controlling God, any non-wizard from controlling
-    anything with a wizbit, and any non-admin from controlling anything with
-    a roybit.
-  * Player names are made safer. Defining SAFER_PLAYER_NAMES prevents the
-    use of [, ], %, and \ in player names.
-  * The strupper() function is made safer.
-  * Mortals can remove the DEBUG flag on objects they own.
-  * The set functions now take delimiters like they should.
-  * Revwords() takes a delimeter, like it should.
-  * @config displays whether function side effects are available correctly.
-    It used to get it backwards.
-  * Some checks against NOTHING have been changed to use the GoodObject()
-    macro in look.c and possibly other places.
-  * It's more difficult for players to enter themselves.
-  * PLAYER_NAME_SPACES works right now, use double-quotes around 
-    multi-word names.
-  * haspower() on unknown powers now returns #-1 NO SUCH POWER instead
-    of a null string.
-
-Version 1.50 patchlevel 10              March 5, 1995
-
-Patchlevel 10 Changes
-
-New additions:
-  - Guest is now a power. Set it on a player to restrict its command set. 
-  - New power Announce, which controls the ability to @wall. 
-  - Global r-registers are now preserved across the queue. 
-  - '#@' now replaces to the list-place for iter() and @dolist. 
-  - Timers now operate on absolute time, rather than game ticks. 
-  - Checks of $commands now obey parent uselocks. 
-  - Variable exit destinations.  When you attempt to go through one of these
-      exits, it evaluates the exit's DESTINATION attribute as a
-      U-function, and uses the result accordingly. 
-  - Rooms can now be set LISTENER. The flag name has been changed to MONITOR
-      (which is what it's called in 2.0), with LISTENER as an alias.
-      (Thus the MONITOR flag on things/rooms and on players mean
-      different things.) 
-  - If the EXTENDED_ANSI option is turned on, it enables the ansi() function,
-      allowing ANSI control codes to be used.  
-  - New wizard command @log can write information to a log file.  
-  - @oemit now takes its target location from the person to exclude, not
-      the person who is doing the @oemit (consistent with 2.0 behavior,
-      and more flexible).  
-  - @ps now follows the 2.0 syntax. Items deleted from the queue are now
-    counted, and the entire thing calls a single generic routine.
-
-Function changes:
-  - More functions take delimiters. The newly-modified ones are:
-      extract(), filter(), first() fold(), iter(), match(), member(), munge(),
-      rest(), revwords(), setdiff(), setinter(), setunion(), shuffle(), 
-      sort(), splice(), wordpos(), words()
-  - If function side effects are configured as enabled, the functions link(),
-      set(), parent(), lock(), clone() and name() can make db changes.
-  - controls() has been tweaked so it returns '#-1 <error message>' on invalid
-      objects, for consistency with other functions and with 2.0.
-  - delete() is now ldelete(). The new delete() function deletes characters
-      from a string. This is a change to be consistent with 2.0.
-  - lcon() is now consistent with the 2.0 convention -- no more partial lists;
-      either you can get the entire list, or you can't get it at all.
-  - locate() has some new parameters: 'c' matches 'carried exits', supported
-      by match_carried_exit(). Exit matching now calls match_exit_internal().
-      'X' allows random choice if the result is ambiguous (#-2).
-  - lsearch() now takes an EVAL class.
-  - objeval() evaluates its first argument.
-  - owner() now can take an object/attribute pair.
-  - sort() autodetects for floating point, and uses qsort.
-  - User-defined functions, such as U(), now return an empty string, rather
-     than #-1 SOME ERROR MESSAGE, because 2.0 behavior is to return an empty
-     string, and, generally, the empty string is easier to handle.
-
-New functions:
-  - New substitution: %qN is equivalent to r(N)  (also twiddled v() slightly)
-  - Findable(). Can <a> locate <b>? Useful for those WHO-list-type globals.
-  - Foreach(). Works basically like MAP(), but on strings.
-  - Haspower(). Like hasflag(), but for powers.
-  - Ports(). Returns the network descriptors a player is connected to.
-  - Rloc(). Returns an object's location at a variable level.
-  - Sortby(). Sorts a list by an arbitrary u-function.
-  - Stripansi(). Strips the ANSI codes from a string.
-
-Important other changes:
-  - Fixed a bug in the checking of ZMO locks in the game's internal controls().
-      The privs parameter to eval_eboolexp() needs to be the ZMO in question,
-      rather than the object itself, in order for attribute locks to work as
-      would seem logical (the object being checked shouldn't even factor into
-      the equation, since by definition zone control is based solely upon
-      the ZMO's enter lock).
-  - Because people seem to want it back, the "pose" command is back, together
-      with a /nospace switch.
-  - TRACE is now an alias for the DEBUG flag.
-  - Player lookups on dbrefs work (i.e, '*#1' is now valid).
-Version 1.50 patchlevel 9
-
-Patchlevel 9 Changes
-
-New additions:
-  - @cemit command emits to a channel.
-  - "Quiet" channels added. They don't show connect/disconnect or joined/left.
-  - '%c' returns the current command.
-  - @dolist/notify queues a '@notify me' after queueing the list commands.
-  - @pemit/list pemits to a list of dbrefs. No more @dolist/@pemits needed!
-
-New functions:
-  - Center(): centers text on a field.
-  - Cwho(): returns the names of players on a channel.
-  - Isdbref(): checks if something's a valid dbref.
-  - Map(): like iter() over a user-defined function.
-  - Mix(): like map(), but takes two lists.
-  - Munge(): combines lists, allowing you to do things like conversion sorts.
-  - Objeval(): evaluates an expression from another object's viewpoint.
-  - Trim(): trims characters at the beginning and/or end of strings.
-Other changes:
-  - Add(), And(), Mul(), and Or() can take up to 100 arguments.
-  - Channel commands are now switch-form.
-  - Debug-flag output is neater and more useful.
-  - Default input line length is 2K.
-  - @grep output format is neater and shorters. 
-  - @link can link already-linked exits.
-  - Locate() can take an 'l' parameter to check object location.
-  - Output line termination is now carriage-return-newline.
-  - Starting quota is now a conf option.
-  - @wipe can take an object-attribute pattern.
-Important bugfixes and modifications:
-  - Controls() now obeys the inherit flag.
-  - Enactor (%#) in idesc evaluates to the player, not to the object.
-  - The escape character is stripped by the parser.
-  - Listening objects trigger enter/leave messages in DARK rooms.
-  - Matching is only done on exits if there is no exact match after trying
-    all other possibilities.
-  - Non-INHERIT things can no longer @parent things which are INHERIT.
-  - Delete(foo%b,1) and Delete(foo,1) now return the same result.
-  - Replace(foo%b,1,Test) and Replace(foo,1,Test) now return the same result.
-  - Taking from an object is now governed by control, as well as ENTER_OK.
-
-Version 1.50 patchlevel 8
-Patchlevel 8 Changes
-Major new features:
-  - Players can now set an @alias.
-New additions:
-  - Player ZONE flag and ZoneMaster control provide "safer" zones.
-  - @hide command hides player from WHO list.
-  - @oemit can take a room dbref, behaving like @remit with an exception.
-  - mortal_dark and wizard attribute flags are settable. 'm' and 'w'.
-  - @pcreate power added.
-  - Channels can be wiped.
-New functions:
-  - Visible(): can one object examine another object or attribute?
-  - Items(), Element(): like Words() and Match(), but for arbitrary separators.
-  - Delete(), Replace(), Insert(): list-manipulation, arbitrary separators.
-  - Orflags(), Andflags(): check multiple flags.
-  - Fullname(): full name of an object.
-  - Many floating point functions.
-Other changes:
-  - Lattr() can take an <obj>/<wildcard> pattern.
-  - @prefix and @inprefix do pronoun substitution.
-  - @search can take an 'eval' parameter.
-  - No second arg to @lock or @link unlocks/unlinks.
-  - Mail() can now, for wizards, give info about other players' mail.
-  - Sort() now 'autodetects' sort type. Nsort() has been removed.
-  - Get_eval() is an alias for U() rather than Eval().
-  - Non-listening objects trigger @aenter and @aleave.
-  - @search, @find, and examine always ignore the MYOPIC flag.
-  - Queue deposits get refunded at startup.
-  - Words() uses ' ' as the delimiter, _not_ any whitespace.
-Major bugfixes:
-  - Many problems with flags have been fixed.
-  - "#123's foo" is no longer matched the same as "#123".
-  - Switch() nesting behaves properly.
-  - Parser bug with '/' in pre-parsed attribute names fixed.
-  - Remove() no longer screws up on things like 'remove(#434 #43 #22,#43)'
-  - Index() and friends no longer screw up on null separators.
-  - Squish() trims leading spaces properly.
-  - Various bugs with setfunctions fixed.
-  - Function recursion bug fixed.
-  - @scan no longer chokes on '='.
-  - no_inherit attribute flag works for real.
-Version 1.50 patchlevel 7
-
-Patchlevel 7 Changes
-Major new features:
-  - Powers system. Individual objects and players can be given the ability
-    to do special things, such as "examine anything", "teleport anywhere",
-    "boot players", etc. The BUILDER and IMMORTAL flags are now powers.
-  - Expanded flag system. Some flags are valid for more types of objects,
-    and flag lookups are quicker. The flag order is now alphabetized,
-    first by "generic" object type, then by specific object type.
-  - User-defined global functions, which behave just like built-in MUSH
-    functions, but are programmed in MUSH in a UFUN() format (i.e. you
-    can call them like any other function, i.e.  '@emit [my_function(foo)]')
-    The "@function" command is used to define and list these functions.
-  - Local variables (registers, numbered 0-9) which are retained for
-    the duration of a single command. Extremely useful for storing long
-    function evaluations, especially if you are programming "switchless".
-    The setq() and r() functions are used to set and retrieve the registers.
-  
-New additions:
-  - "no_clone" attribute flag (do not copy attribute when object is @clone'd)
-  - "@config/functions" lists all functions.
-New functions:
-  - squish() removes leading and trailing spaces from a string, and crunches
-    inter-word spaces down to a single space.
-  - filter() returns members of a list for which a user-def'ed function
-    evalutes to true ("1").
-  - fold() recursively evaluates a user-def'ed function and list.
-  - rjust() and ljust() pad strings with spaces (or another fill character)
-  - nsort() sorts a list of numbers.
-  - shuffle() randomizes order of elements in a list.
-  - scramble() randomizes order of characters in a string.
-  
-Other changes:
-  - cat() can take an arbitrary number of arguments.
-  - conn() and idlesecs() now recognize #dbref and *player. idle() is now
-    an alias for idlesecs().
-  - "Exits:" line in examine is back.
-  - examine on non-existent attribute(s) returns "No matching attributes."
-  - NO_COMMAND doesn't block ^, since you have to set the LISTENER flag anyway.
-  - @config shows a couple more options.
-  - The QUIET flag suppresses "Drained.", "Notified.", and "Halted."
-  - Debug and Verbose output no longer clobber the stack.
-  - switch() and iter() nested within other functions works properly.
-  - Players cannot enter objects remotely via dbref.
-
-Version 1.50 patchlevel 6
-
-Patchlevel 6 Changes
-Major bugfixes:
-  - Eval locks work with get(), ufun(), etc.
-  - Rooms can use @trigger again.
-  
-Changes to the parser:
-  - Spaces are no longer added around equals signs in 'say', 'pose', etc.
-  - The construction '<name of object> <command>' can no longer be used to
-    force a nearby object. '<dbref of object> <command>' still works.
-  - ITER() is much better-behaved; escapes and braces in the second
-    argument are no longer needed. It also now works properly with ufun().
-  - switch() can now take up to 100 arguments. Arguments to it are not
-    evaluated until needed.
-  
-Miscellaneous changes:
-  - Royalty can now set themselves DARK, but this affects _only_ their
-    visibility on the WHO list and related functions; they still appear
-    in the visible contents list of a room, on channel who, etc.
-  - Royalty can set themselves MONITOR.
-  - The TERSE flag suppresses _only_ auto-look messages (so if you type
-    'look here' while TERSE, you will get the description of the room).
-  - VAL() function returns the leading numeric prefix of a string.
-  - INDEX() is an extract()-like function which works for an arbitrary
-    character separator.
-  - WHERE() returns the "true" location of an object.
-  - HOME(), etc. now works on objects you do not control but are VISUAL.
-  - REPEAT() of something zero times returns a blank string, not an error.
-  - Commands done in GOING rooms are no longer considered invalid.
-  - "@parent <object>" by itself unparents an object.
-  - Exits in the same room as you are considered "nearby".
-  - All attribute fetches use the same permission checks. LINK_OK on a
-    zone object no longer allows zfun() to be done on the object if
-    the attribute cannot normally be read.
-  - Attribute flag sets added (@set obj/atr = flag). There are three
-    settable flags, 'visual', 'no_command', and 'no_inherit'. 'Examine'
-    displays these as 'v', '$', and 'i'.
-  - The lcon(), lexits(), con(), exit(), and next() functions now check
-    permissions differently. You can use these functions on a location 
-    that you own, or in a location that you are in and is not DARK.
-    If you cannot check the room, these functions will return #-1 even
-    if you have objects/exits in the room. This behavior is identical
-    to TinyMUSH 2.0's, and provides more privacy.
-  - 'examine' output for objects you don't control is now similar to
-    TinyMUSH 2.0's. The option to examine public attributes by default
-    is configurable.
-
diff --git a/FAQ b/FAQ
deleted file mode 100644 (file)
index 605b477..0000000
--- a/FAQ
+++ /dev/null
@@ -1,149 +0,0 @@
-Frequently asked questions about the PennMUSH Server, post-pl10
-Updated: November 11, 2002
-
-*** There are other FAQs on the web at:
-*** http://www.pennmush.org/cgi-penn/fom/
-*** http://services.pennmush.org/faq.html
-
-0. What's the release history since 1.50pl10?
-1. How do I ask for help with a problem?
-2. How do I report a bug?
-3. How do I request a new feature?
-4. Where can I get more information about admin'ing and hacking MUSH?
-5. Where can I hear about new releases?
-6. Why doesn't %t or space() work right for Pueblo clients?
-7. Compiling with the lcc compiler.
-8. Patch information in @version and INFO
-
------------------------------
-
-0. What's the release history since 1.50pl10?
-
-PennMUSH 1.50pl10 is the last patchlevel of PennMUSH developed by Amberyl.
-Amberyl handed over the maintenance, development, and support of
-PennMUSH to Javelin/Paul (Alan Schwartz) after 1.50pl10.
-
-The first two post-pl10 releases were termed the "dune-1" and "dune-2"
-releases (in honor of DuneMUSH, where Alan did most of his development
-work). Amberyl and Javelin agreed that it was silly to start a whole
-new numbering scheme, so the next patchlevel released was pl11.
-
-Javelin, along with the other two PennMUSH developers, T. Alexander
-Popiel and Ralph Melton, made so many internal changes that it was
-time for a new numbering scheme, and PennMUSH was advanced to 1.6.x.
-
-Ralph Melton has since retired, and Thorvald Natvig took his place
-on the devteam. He rewrote the command parser, and PennMUSH was
-advanced to 1.7.0.
-
-Currently, the active development team is Javelin, Talek, Raevnos,
-Noltar, and Walker.  The stable version is 1.8.0, and the development
-version is 1.8.1.
-
-1. How do I ask for help with a problem?
-
-Email to pennmush-developers@pennmush.org
-or visit http://www.pennmush.org/jitterbug/pennmush
-
-When asking for help, please be as specific as you can about the
-problem. Include at least the following:
- - Version of PennMUSH including any official patches you've applied
- - Host machine brand (Sun, Dec, etc.), model (Sparcstation, etc.)
- - Operating system version (e.g., Ultrix 4.4)
- - Compiler used to compile (if a compilation problem)
- - A description of the problem: what you think it should be doing that
-   it isn't.
- - If things were working, and you recently changed something and they're
-   not working now, what did you change?
-
-2. How do I report a bug?
-
-Email to pennmush-bugs@pennmush.org
-or visit http://www.pennmush.org/jitterbug/pennmush
-
-Include specific information as described in #3 above. If you know
-what's causing the bug, or how to fix it, or if you have a patch for
-the bug, send it along. If you don't, and the bug caused a crash with
-a core dump, you can send along a stack trace (see #6 if you don't know
-how to do this). 
-
-Bugs are patched as quickly as possible. Patches for bugs are
-emailed to the pennmush@pennmush.org mailing list and to the
-pennmush-announce@pennmush.org mailing list (to subscribe, visit
-http://www.pennmush.org/mailman/listinfo) and are put on the pennmush
-ftp site, in the /pub/PennMUSH/Source directory.
-
-The pennmush-announce list distributes developer announcements
-only; the pennmush list also includes discussion.
-
-3. How do I request a new feature?
-
-Email to pennmush-developers@pennmush.org
-
-No promises, but we try to get back to you about the feasibility
-of suggestions quickly, and implement them as we can.
-
-If I don't think it belongs in the distribution, I'll ask you to contact
-pennhack-volunteers@pennmush.org, a group of volunteer
-hackers who will custom-hack for your MUSH. If you're sure that what
-you need isn't of general interest, you can write to them directly.
-
-4. Where can I get more information about admin'ing and hacking MUSH?
-
-Read Javelin's God for PennMUSH Gods, loads of info about setting up
-a MUSH, hacking source code, daily maintenance, and many tips from
-other Gods!
-
-By WWW: http://www.pennmush.org/~alansz/guide.html
-By ftp: ftp.pennmush.org, /pub/PennMUSH/Guide
-
-5. Where can I hear about new releases?
-
-New releases of the PennMUSH code are announced on the
-PennMUSH and PennMUSH-Announce mailing lists (see above) and
-rec.games.mud.{tiny,admin,announce}
-
-Patches are only announced on the mailing lists, and are put on the
-ftp site.
-
-6. Why doesn't %t or space() work right for Pueblo clients?
-
-Actually, it does. Pueblo is built around an HTML browser. In HTML,
-multiple whitespace is ignored and treated as a single space.  This is
-correct behavior. In HTML, if you really want spaces to count as spaces,
-you must put your text in <PRE>..</PRE> blocks, e.g. tagwrap(PRE,this
-%t has %t tabs %t and    spaces).
-
-7. Compiling with the lcc compiler.
-
-lcc is a freely available C compiler described in the book _A Retargetable
-C Compiler: Design and Implementation_, by C.W. Fraser and D.R. Hanson,
-and is available from http://www.cs.princeton.edu/software/lcc/. A
-precompiled windows version is available. This might be of interest to
-people who want to compile Penn on Windows but don't want to download
-cygwin or another package with a Windows port of gcc. The lcc package
-might be a smaller download, but does lack some tools like sh that
-Configure and restart depend on, so you'll have to find them or try to
-figure out everything in config.h yourself.
-
-PennMUSH can be compiled using lcc, though it produces a lot of spurious
-warnings. After running Configure, make sure that HAS_STRDUP is commented
-out of config.h. lcc uses many of gcc's headers and libraries, so that
-this function might be detected, but it's never recognized by lcc. We'll
-just use our own implementation, as it makes things easier.
-
-8. Patch information in @version and INFO
-
-Files in the pennmush/patches directory are checked to see if they look
-like a patch file, and if so, information from this is included in
-@version and INFO.
-
-So, what makes it look like a patch file? Two lines.
-# Patch name: Whatever
-# Patch version: Whichever
-
-Whatever and Whichever are used in the @version report.
-The file with this patch information is rebuilt when needed by running
-make.
-
-