Released on 26 Jan 2006
1. Fixed a bug where, when using MXP, the mouse "hotspot" for a hyperlink would activate one character before a hyperlinked word, and not work on the last character of the word.
2. Added new global option, that error messages during the connection phase (connecting to a MUD) would be displayed in the output window rather than a dialog box. This also applies to the message that occurs when you are disconnected.
3. Added new script routine: Simulate (text)
This is for debugging triggers, etc.
It simulates input from the MUD, in the same way that the Game -> Test Trigger menu option does, except that it does not open a dialog box. Whatever text you supply is sent to MUSHclient, as if it had arrived from the MUD. You could use this when testing a trigger, simply make an alias that does:
Simulate ("Whatever you are trying to trigger on")
Of course, you would put in appropriate newline characters.
4. Changed the default Lua sandbox to allow certain "harmless" calls in the os library (such as os.date), rather than disabling them all.
5. Added new Lua script function: utils.functionlist
This returns a table of all the internal MUSHclient function names (the same list used by the Help script function).
The intention here is that you could use this table in an internal Notepad "global replace" to fix the capitalization of function names. You could also use it to generate keywords for use in text editors such as SciTE.
For an example of its use, see:
6. Improved the "check" function in the exampscript.lua file. This now allows for an error code returned which is not in the predefined list of errors. This will generate an error like:
Unknown error code: 1234
7. Added a check that trigger, aliases, and timers cannot be deleted while they are executing a script. In particular, this will stop triggers from deleting themselves, which in the past has led to unexpected behaviour such as access violations (crashes).
An attempt to delete a trigger/alias/timer while it is executing a script will now result in error "eItemInUse" (30063), and the deletion will not be done.
Also amended the help file to reflect these changes and warn against attempting to delete things which are executing scripts.
8. Added a check in the GUI interface, so that an attempt to remove a trigger, alias or timer that is currently executing a script, will not be permitted. This is a variation of the test above for scripted deletions. This is to cover the unlikely but possible situation where a trigger or timer fires, and is executing a script, at the exact moment that you attempt to delete it from the trigger or timer dialog.
9. Added new selectors to GetTriggerInfo, GetAliasInfo, and GetTimerInfo to return the "Executing script" flag.
10. Reworked the code for DeleteTriggerGroup, DeleteTimerGroup, DeleteAliasGroup to behave slightly differently internally. Previously items in the list were deleted "on the fly" whilst traversing the list (to see which ones matched the wanted group name). This would possibly lead to errors, as it is not generally wise to delete items from a list whilst traversing it. Now, it builds a temporary list of the ones to be deleted, and scans that temporary list in a second pass to do the actual deletions.
There have been no reported errors in the behaviour of the old code, so this is being added as a precaution.
11. Clarified the help for Send, SendPush and SendNoEcho to note that the text you supply has a newline appended to it.
12. Move the menu item for the recently-introduced "Functions List" from various menus to the Help menu, as its end result is to display a help page.
13. Added new feature to both the Command window, and the Notepad window. If you partially type a function name and press Shift+Tab (or, select an existing word), a list box will be displayed which matches all functions that start with what you have typed.
For example, if you type "sen" and press Ctrl+Tab you will see "Send", "SendImmediate", "SendNoEcho" and so on.
You can then choose one from the list, using the mouse, or keyboard, and when you press <Enter> or double-click your choice, the selection will be replaced by your chosen function name.
The lets you quickly get the correct spelling and capitalization for inbuilt function names.
In addition, for easier typing, in the Notepad window you can use Ctrl+Space to invoke this dialog. (In the Command window Ctrl+Space pauses output by default).
14. Added similar functionality to the script "multi-line edit" dialog box. However in this case it is activated by a button (or Alt+C).
15. Multi-line triggers will now respect the "keep evaluating" flag.
16. Added a new script routine ResetIP - this has no arguments, and simply clears the cached IP address of the world (and proxy server) which was looked up from the world name. The intention is to call this if your world IP address changes frequently.
17. Fixed a bug where triggers that colour output from the MUD may cause a MUSHclient crash under certain circumstances. The circumstances were, if two triggers coloured the same line, and the first one coloured it in RGB mode (ie. using "Change colour and style to ... Other"). After this, any second attempt to colour that line would cause the crash.
Gammon Software support
Forum RSS feed ( https://gammon.com.au/rss/forum.xml )