PennMUSH 1.7.7p35

Submitted by javelin on Wed, 2004-08-04 14:50

The latest release of PennMUSH 1.7.7 includes both several new features and fixes for several bugs, including one that can be used to crash the server. Upgrade! Detailed changes appear below:

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 = now runs
instead of simply stopping execution when is true.
New command @assert breaks and runs new command when
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.

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]