224 Release Notes
- Fixed: Semicolons inside of strings in the command prompt weren't being
recognized (this is only minorly relevant because HTML allows escaping of special
characters with semicolons).
- Fixed: The return key wasn't responding inside of the browser window.
- Fixed: The login prompt wasn't always correctly correlating keys to passwords.
- Fixed: The garbage collector was not marking tag strings as "in-use" so it was
incorrectly junking them unless there were other references to the same
string.
- Fixed: icons outside of the 11x11 client block weren't properly being refreshed.
- Fixed: Using __FILE__ inside a macro occassionally produced the wrong filename.
- Fixed: There was a bug in the proc crash diagnostic output which was inserting
newlines in strange places.
- The compiler now warns about empty switch statements.
- The ] symbol may now be escaped: \] :even though it is not necessary.
- The compiler now checks to ensure that braces are balanced. Previously,
indentation and braces in the code were interchangeable, but that could lead to
mistakes silently sliding by. Now if you use braces, you get a double
layer of consistency checking, making it almost impossible to have the
compiler silently misinterpret the structure of the code.
- Proc and verb references as embedded text expressions now display the type
path rather than the proc name. To get the proc name, you can assign the
reference to a variable (eg var/proc/Var = /proc/MyProc) and do Var.name,
Var.desc, and Var.category. You can define the variable to be either
var/proc or var/verb; the two have the same effect. And of course, you are
always free not to define the var type and use the ':' operator instead.
- sound(null) now halts any currently playing sounds.
- Fixed up the client command-line parser's handling of nulls. There are
two classes of input types: those that can combine with others and those
which cannot. Floating point values and server-lists do not combine, but
everything else does. Floats don't combine because the decimal point would
get confused for a "dot" number. Server-lists don't combine, because it
gets too complicated to handle. Previously, non-combining arguments
were always taking precedence. So, for example, if you had a text|null
argument followed by a server-list argument, the server-list was always
taking precedence, even when you typed in a valid text argument. Now
whichever argument lands first take precedence when a valid match is found.