Mudlet: Standardize error messages in TLuaInterpreter.cpp

Created on 28 Oct 2018  Â·  7Comments  Â·  Source: Mudlet/Mudlet

Brief summary of issue / Description of requested feature:

Some (but not all) functions give basic information on failure, for example: which argument is not as expected (if there are multiple arguments) and what would have been expected instead. This should be expanded as best practise for all functions.

Reasons for adding feature:

  1. Current best practise seems to be something like "getFontSize: bad argument #1 type (window name as string expected, got %s!)".
  2. Worst practise example is like "createLabel: wrong argument type", where you are expected to give 6 different arguments, and will never learn which one failed or why.
  3. Sentence structure of above "best practise" example unfortunately does not seem gramatically perfect or easy to understand for non-English speakers.

Expected result of feature

A good practise seems to consist of following elemets:

  • Obviously easy to understand English sentence structure with all needed elements included (e.g. "expected X, got Y")
  • number of failed argument (e.g. "#1")
  • meaning of said argument (e.g. "window name")
  • expected type of said argument (e.g. "string")
  • received type of said argument (added dynamically, e.g. "%s")
  • optionally, an indication whether or not said argument was optional (not included in example above)

Ideas for how to solve / implement:

  • English sentence structure should be improved for added understandability, like so: "(Optional) Argument #1 (window name) is of wrong type! Expected string, got %s"
  • To avoid uncontrolled growth of different error message styles again, creation of said message should be centralised in a helping function, which only receives details as listed above, and returns the full string. Therefore, future adjustments to sentence structure can be delivered once and for all easily.
help wanted wishlist

Most helpful comment

I will mark this as done. The only function remaining (setPopup) is discussed in a seperate issue #4641 still.

Meanwhile we established the requested helper functions and gave meaningful type errors and value errors to all c++ functions.

Checked Lua functions, too. Not all of them check all their arguments already, but if they do, they give informative error messages.

All 7 comments

Other error messages do not talk about wrong type, but wrong value.

Example for best practise yet: "setBackgroundColor: bad argument #%d value (red value needs to be between 0-255, got %d)"

Suggestion along lines of above: "(Optional) Argument #%d (red value) has unexpected value! Expected value needs to be between 0-255, got %d"

Actually the wrong value cases (colloquially, or at least by me, called run-time errors because the supplied arguments are of the right type but not the right values to produce valid results) are already starting to be redone and moving away from the example quoted in the last post. They:

  • do not mention any longer the function where the problem has occurred (setBackgroundColor: in the example above, because, IIRC according to Vadim the user knows what the function is so there is no need to repeat it).
  • should not begin with a capital letter or have terminal punctuation because they are capable of being handled by the calling function (they do not call lua_error(L) to abort execution) and may wrapped in additional text for presentation purposes.
  • should explain in friendly terms what is wrong, what the presented value was (if applicable) and what the correct range of values would be (again, if applicable, but probably only really relevant for numeric arguments).

With regard to the initial issue report I would note that the use of the phrase as XXXX expected, got YYYY! indicates a required argument in those messages about the wrong type - I've just counted something of the order of 180 examples of that in the TLuaInterpreter.cpp file... and for optional arguments the text will be as XXXX is optional, got YYYY! and I've spotted 20 of those right now. :grinning:

Here follows an inventory of TLuaInterpreter's public functions
(there are other files establishing public functions as well, but this seems to be the largest flock)
Source: TLuaInterpreter::initLuaGlobals

Position in following groups indicate whether error messages are (somewhat) standardized:


✅ These functions have been fixed now

(to be filled from below)

âš¡ Error messages to be standardized indeed

Source-code needs to be edited, messages need to be improved. Afterwards, move to above "fixed" section and/or set check-mark

  • [x] [addMapMenu](https://wiki.mudlet.org/w/Manual:Lua_Functions#addMapMenu) (TLuaInterpreter::addMapMenu)
  • [x] [addSpecialExit](https://wiki.mudlet.org/w/Manual:Lua_Functions#addSpecialExit) (TLuaInterpreter::addSpecialExit)
  • [x] [addSupportedTelnetOption](https://wiki.mudlet.org/w/Manual:Lua_Functions#addSupportedTelnetOption) (TLuaInterpreter::addSupportedTelnetOption)
  • [x] [clearSpecialExits](https://wiki.mudlet.org/w/Manual:Lua_Functions#clearSpecialExits) (TLuaInterpreter::clearSpecialExits)
  • [x] clearUserWindow (published as clearWindow) does not seem to check arguments for clarity at all, yet!
  • [x] [createBuffer](https://wiki.mudlet.org/w/Manual:Lua_Functions#createBuffer) (TLuaInterpreter::createBuffer)
  • [x] [createMapImageLabel](https://wiki.mudlet.org/w/Manual:Lua_Functions#createMapImageLabel) (TLuaInterpreter::createMapImageLabel)
  • [x] [createMapLabel](https://wiki.mudlet.org/w/Manual:Lua_Functions#createMapLabel) (TLuaInterpreter::createMapLabel)
  • [x] [deleteMapLabel](https://wiki.mudlet.org/w/Manual:Lua_Functions#deleteMapLabel) (TLuaInterpreter::deleteMapLabel)
  • [x] [deleteRoom](https://wiki.mudlet.org/w/Manual:Lua_Functions#deleteRoom) (TLuaInterpreter::deleteRoom)
  • [x] [disableAlias](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableAlias) (TLuaInterpreter::disableAlias)
  • [x] [disableTimer](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableTimer) (TLuaInterpreter::disableTimer)
  • [x] [disableTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableTrigger) (TLuaInterpreter::disableTrigger)
  • [x] [echoUserWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#echoUserWindow) (TLuaInterpreter::echoUserWindow)
  • [x] [enableAlias](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableAlias) (TLuaInterpreter::enableAlias)
  • [x] [enableTimer](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableTimer) (TLuaInterpreter::enableTimer)
  • [x] [enableTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableTrigger) (TLuaInterpreter::enableTrigger)
  • [x] [exists](https://wiki.mudlet.org/w/Manual:Lua_Functions#exists) (TLuaInterpreter::exists)
  • [x] [getAreaRooms](https://wiki.mudlet.org/w/Manual:Lua_Functions#getAreaRooms) (TLuaInterpreter::getAreaRooms)
  • [x] [getExitWeights](https://wiki.mudlet.org/w/Manual:Lua_Functions#getExitWeights) (TLuaInterpreter::getExitWeights)
  • [x] [getMapLabels](https://wiki.mudlet.org/w/Manual:Lua_Functions#getMapLabels) (TLuaInterpreter::getMapLabels)
  • [x] [getMapLabel](https://wiki.mudlet.org/w/Manual:Lua_Functions#getMapLabel) (TLuaInterpreter::getMapLabel)
  • [x] [getModulePath](https://wiki.mudlet.org/w/Manual:Lua_Functions#getModulePath) (TLuaInterpreter::getModulePath)
  • [x] [getModulePriority](https://wiki.mudlet.org/w/Manual:Lua_Functions#getModulePriority) (TLuaInterpreter::getModulePriority)
  • [x] [getMudletVersion](https://wiki.mudlet.org/w/Manual:Lua_Functions#getMudletVersion) (TLuaInterpreter::getMudletVersion)
  • [x] [getRoomArea](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomArea) (TLuaInterpreter::getRoomArea)
  • [x] [getRoomCoordinates](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomCoordinates) (TLuaInterpreter::getRoomCoordinates)
  • [x] [getRoomEnv](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomEnv) (TLuaInterpreter::getRoomEnv)
  • [x] [getRoomExits](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomExits) (TLuaInterpreter::getRoomExits)
  • [x] [getRoomWeight](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomWeight) (TLuaInterpreter::getRoomWeight)
  • [x] getRoomWeight has a comment linking to documentation of gotoRoom instead, should be getRoomWeight
  • [x] [getRoomsByPosition](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomsByPosition) (TLuaInterpreter::getRoomsByPosition)
  • [x] [getSpecialExits](https://wiki.mudlet.org/w/Manual:Lua_Functions#getSpecialExits) (TLuaInterpreter::getSpecialExits)
  • [x] [getSpecialExitsSwap](https://wiki.mudlet.org/w/Manual:Lua_Functions#getSpecialExitsSwap) (TLuaInterpreter::getSpecialExitsSwap)
  • [x] [gotoRoom](https://wiki.mudlet.org/w/Manual:Lua_Functions#gotoRoom) (TLuaInterpreter::gotoRoom)
  • [x] [hasExitLock](https://wiki.mudlet.org/w/Manual:Lua_Functions#hasExitLock) (TLuaInterpreter::hasExitLock)
  • [x] [hasSpecialExitLock](https://wiki.mudlet.org/w/Manual:Lua_Functions#hasSpecialExitLock) (TLuaInterpreter::hasSpecialExitLock)
  • [x] [hideWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#hideWindow) (TLuaInterpreter::hideUserWindow)
  • [x] [highlightRoom](https://wiki.mudlet.org/w/Manual:Lua_Functions#highlightRoom) (TLuaInterpreter::highlightRoom)
  • [ ] [insertLink](https://wiki.mudlet.org/w/Manual:Lua_Functions#insertLink) (TLuaInterpreter::insertLink) -- not sure how this works at all
  • [x] [insertPopup](https://wiki.mudlet.org/w/Manual:Lua_Functions#insertPopup) (TLuaInterpreter::insertPopup)
  • [x] [invokeFileDialog](https://wiki.mudlet.org/w/Manual:Lua_Functions#invokeFileDialog) (TLuaInterpreter::invokeFileDialog)
  • [x] [killAlias](https://wiki.mudlet.org/w/Manual:Lua_Functions#killAlias) (TLuaInterpreter::killAlias)
  • [x] [killTimer](https://wiki.mudlet.org/w/Manual:Lua_Functions#killTimer) (TLuaInterpreter::killTimer)
  • [x] [killTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#killTrigger) (TLuaInterpreter::killTrigger)
  • [x] [lockExit](https://wiki.mudlet.org/w/Manual:Lua_Functions#lockExit) (TLuaInterpreter::lockExit)
  • [x] [lockRoom](https://wiki.mudlet.org/w/Manual:Lua_Functions#lockRoom) (TLuaInterpreter::lockRoom)
  • [x] [lockSpecialExit](https://wiki.mudlet.org/w/Manual:Lua_Functions#lockSpecialExit) (TLuaInterpreter::lockSpecialExit)
  • [x] [moveCursor](https://wiki.mudlet.org/w/Manual:Lua_Functions#moveCursor) (TLuaInterpreter::moveCursor)
  • [x] [moveWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#moveWindow) (TLuaInterpreter::moveWindow)
  • [x] [openUrl](https://wiki.mudlet.org/w/Manual:Lua_Functions#openUrl) (TLuaInterpreter::openUrl)
  • [x] [playSoundFile](https://wiki.mudlet.org/w/Manual:Lua_Functions#playSoundFile) (TLuaInterpreter::playSoundFile)
  • [x] [removeMapEvent](https://wiki.mudlet.org/w/Manual:Lua_Functions#removeMapEvent) (TLuaInterpreter::removeMapEvent)
  • [x] [removeSpecialExit](https://wiki.mudlet.org/w/Manual:Lua_Functions#removeSpecialExit) (TLuaInterpreter::removeSpecialExit)
  • [x] [replace](https://wiki.mudlet.org/w/Manual:Lua_Functions#replace) (TLuaInterpreter::replace)
  • [x] [resizeWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#resizeWindow) (TLuaInterpreter::resizeWindow)
  • [x] [roomExists](https://wiki.mudlet.org/w/Manual:Lua_Functions#roomExists) (TLuaInterpreter::roomExists)
  • [x] [roomLocked](https://wiki.mudlet.org/w/Manual:Lua_Functions#roomLocked) (TLuaInterpreter::roomLocked)
  • [x] [setBorderColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBorderColor) (TLuaInterpreter::setBorderColor)
  • [x] [setConsoleBufferSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#setConsoleBufferSize) (TLuaInterpreter::setConsoleBufferSize)
  • [x] [setCustomEnvColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setCustomEnvColor) (TLuaInterpreter::setCustomEnvColor)
  • [x] [setExit](https://wiki.mudlet.org/w/Manual:Lua_Functions#setExit) (TLuaInterpreter::setExit)
  • [x] [setExitStub](https://wiki.mudlet.org/w/Manual:Lua_Functions#setExitStub) (TLuaInterpreter::setExitStub)
  • [x] [setGridMode](https://wiki.mudlet.org/w/Manual:Lua_Functions#setGridMode) (TLuaInterpreter::setGridMode)
  • [x] [setLabelStyleSheet](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelStyleSheet) (TLuaInterpreter::setLabelStyleSheet)
  • [x] [setLink](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLink) (TLuaInterpreter::setLink)
  • [x] [setMainWindowSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#setMainWindowSize) (TLuaInterpreter::setMainWindowSize)
  • [x] [setMapZoom](https://wiki.mudlet.org/w/Manual:Lua_Functions#setMapZoom) (TLuaInterpreter::setMapZoom)
  • [ ] [setPopup](https://wiki.mudlet.org/w/Manual:Lua_Functions#setPopup) (TLuaInterpreter::setPopup) -- code seems to contradict wiki
  • [x] [setRoomCoordinates](https://wiki.mudlet.org/w/Manual:Lua_Functions#setRoomCoordinates) (TLuaInterpreter::setRoomCoordinates)
  • [x] [setRoomWeight](https://wiki.mudlet.org/w/Manual:Lua_Functions#setRoomWeight) (TLuaInterpreter::setRoomWeight)
  • [x] [setTriggerStayOpen](https://wiki.mudlet.org/w/Manual:Lua_Functions#setTriggerStayOpen) (TLuaInterpreter::setTriggerStayOpen)
  • [x] [setWindowWrap](https://wiki.mudlet.org/w/Manual:Lua_Functions#setWindowWrap) (TLuaInterpreter::setWindowWrap)
  • [x] [setWindowWrapIndent](https://wiki.mudlet.org/w/Manual:Lua_Functions#setWindowWrapIndent) (TLuaInterpreter::setWindowWrapIndent)
  • [x] [showWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#showWindow) (TLuaInterpreter::showUserWindow)
  • [x] spawn does not seem to check arguments for clarity at all, yet!
  • [x] spellCheckWord typo: error message refers to spellSuggestWord
  • [x] tempBeginOfLineTrigger typo: error message refers to tempRegexTrigger
  • [x] [tempButton](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempButton) (TLuaInterpreter::tempButton)
  • [x] [tempButtonToolbar](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempButtonToolbar) (TLuaInterpreter::tempButtonToolbar)
  • [x] [unHighlightRoom](https://wiki.mudlet.org/w/Manual:Lua_Functions#unHighlightRoom) (TLuaInterpreter::unHighlightRoom)


✅ These functions were already standardizing messages alright

  • [x] [addAreaName](https://wiki.mudlet.org/w/Manual:Lua_Functions#addAreaName) (TLuaInterpreter::addAreaName)
  • [x] [addCustomLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#addCustomLine) (TLuaInterpreter::addCustomLine)
  • [x] [addMapEvent](https://wiki.mudlet.org/w/Manual:Lua_Functions#addMapEvent) (TLuaInterpreter::addMapEvent)
  • [x] [addWordToDictionary](https://wiki.mudlet.org/w/Manual:Lua_Functions#addWordToDictionary) (TLuaInterpreter::addWordToDictionary)
  • [x] [adjustStopWatch](https://wiki.mudlet.org/w/Manual:Lua_Functions#adjustStopWatch) (TLuaInterpreter::adjustStopWatch)
  • [x] [alert](https://wiki.mudlet.org/w/Manual:Lua_Functions#alert) (TLuaInterpreter::alert)
  • [x] [appendBuffer](https://wiki.mudlet.org/w/Manual:Lua_Functions#appendBuffer) (TLuaInterpreter::appendBuffer)
  • [x] [appendCmdLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#appendCmdLine) (TLuaInterpreter::appendCmdLine)
  • [x] [calcFontSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#calcFontSize) (TLuaInterpreter::calcFontSize)
  • [x] [centerview](https://wiki.mudlet.org/w/Manual:Lua_Functions#centerview) (TLuaInterpreter::centerview)
  • [x] [clearAreaUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#clearAreaUserData) (TLuaInterpreter::clearAreaUserData)
  • [x] [clearAreaUserDataItem](https://wiki.mudlet.org/w/Manual:Lua_Functions#clearAreaUserDataItem) (TLuaInterpreter::clearAreaUserDataItem)
  • [x] [clearCmdLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#clearCmdLine) (TLuaInterpreter::clearCmdLine)
  • [x] [clearMapUserDataItem](https://wiki.mudlet.org/w/Manual:Lua_Functions#clearMapUserDataItem) (TLuaInterpreter::clearMapUserDataItem)
  • [x] [clearRoomUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#clearRoomUserData) (TLuaInterpreter::clearRoomUserData)
  • [x] [clearRoomUserDataItem](https://wiki.mudlet.org/w/Manual:Lua_Functions#clearRoomUserDataItem) (TLuaInterpreter::clearRoomUserDataItem)
  • [x] [connectExitStub](https://wiki.mudlet.org/w/Manual:Lua_Functions#connectExitStub) (TLuaInterpreter::connectExitStub)
  • [x] [connectToServer](https://wiki.mudlet.org/w/Manual:Lua_Functions#connectToServer) (TLuaInterpreter::connectToServer)
  • [x] [copy](https://wiki.mudlet.org/w/Manual:Lua_Functions#copy) (TLuaInterpreter::copy)
  • [x] [createCommandLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#createCommandLine) (TLuaInterpreter::createCommandLine)
  • [x] [createLabel](https://wiki.mudlet.org/w/Manual:Lua_Functions#createLabel) (TLuaInterpreter::createLabel)
  • [x] [createMapper](https://wiki.mudlet.org/w/Manual:Lua_Functions#createMapper) (TLuaInterpreter::createMapper)
  • [x] [createMiniConsole](https://wiki.mudlet.org/w/Manual:Lua_Functions#createMiniConsole) (TLuaInterpreter::createMiniConsole)
  • [x] [createStopWatch](https://wiki.mudlet.org/w/Manual:Lua_Functions#createStopWatch) (TLuaInterpreter::createStopWatch)
  • [x] [debugc](https://wiki.mudlet.org/w/Manual:Lua_Functions#debugc) (TLuaInterpreter::debug)
  • [x] [deleteArea](https://wiki.mudlet.org/w/Manual:Lua_Functions#deleteArea) (TLuaInterpreter::deleteArea)
  • [x] [deleteLabel](https://wiki.mudlet.org/w/Manual:Lua_Functions#deleteLabel) (TLuaInterpreter::deleteLabel)
  • [x] [deleteLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#deleteLine) (TLuaInterpreter::deleteLine)
  • [x] [deleteStopWatch](https://wiki.mudlet.org/w/Manual:Lua_Functions#deleteStopWatch) (TLuaInterpreter::deleteStopWatch)
  • [x] [deselect](https://wiki.mudlet.org/w/Manual:Lua_Functions#deselect) (TLuaInterpreter::deselect)
  • [x] [disableClickthrough](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableClickthrough) (TLuaInterpreter::disableClickthrough)
  • [x] [disableCommandLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableCommandLine) (TLuaInterpreter::disableCommandLine)
  • [x] [disableHorizontalScrollBar](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableHorizontalScrollBar) (TLuaInterpreter::disableHorizontalScrollBar)
  • [x] [disableKey](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableKey) (TLuaInterpreter::disableKey)
  • [x] [disableScript](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableScript) (TLuaInterpreter::disableScript)
  • [x] [disableScrollBar](https://wiki.mudlet.org/w/Manual:Lua_Functions#disableScrollBar) (TLuaInterpreter::disableScrollBar)
  • [x] [downloadFile](https://wiki.mudlet.org/w/Manual:Lua_Functions#downloadFile) (TLuaInterpreter::downloadFile)
  • [x] [echo](https://wiki.mudlet.org/w/Manual:Lua_Functions#echo) (TLuaInterpreter::Echo)
  • [x] [echoLink](https://wiki.mudlet.org/w/Manual:Lua_Functions#echoLink) (TLuaInterpreter::echoLink)
  • [x] [echoPopup](https://wiki.mudlet.org/w/Manual:Lua_Functions#echoPopup) (TLuaInterpreter::echoPopup)
  • [x] [enableClickthrough](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableClickthrough) (TLuaInterpreter::enableClickthrough)
  • [x] [enableCommandLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableCommandLine) (TLuaInterpreter::enableCommandLine)
  • [x] [enableHorizontalScrollBar](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableHorizontalScrollBar) (TLuaInterpreter::enableHorizontalScrollBar)
  • [x] [enableKey](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableKey) (TLuaInterpreter::enableKey)
  • [x] [enableScript](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableScript) (TLuaInterpreter::enableScript)
  • [x] [enableScrollBar](https://wiki.mudlet.org/w/Manual:Lua_Functions#enableScrollBar) (TLuaInterpreter::enableScrollBar)
  • [x] [expandAlias](https://wiki.mudlet.org/w/Manual:Lua_Functions#expandAlias) (TLuaInterpreter::expandAlias)
  • [x] [exportAreaImage](https://wiki.mudlet.org/w/Manual:Lua_Functions#exportAreaImage) (TLuaInterpreter::exportAreaImage)
  • [x] [feedTriggers](https://wiki.mudlet.org/w/Manual:Lua_Functions#feedTriggers) (TLuaInterpreter::feedTriggers)
  • [x] [getAllAreaUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#getAllAreaUserData) (TLuaInterpreter::getAllAreaUserData)
  • [x] [getAllRoomEntrances](https://wiki.mudlet.org/w/Manual:Lua_Functions#getAllRoomEntrances) (TLuaInterpreter::getAllRoomEntrances)
  • [x] [getAllRoomUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#getAllRoomUserData) (TLuaInterpreter::getAllRoomUserData)
  • [x] [getAreaExits](https://wiki.mudlet.org/w/Manual:Lua_Functions#getAreaExits) (TLuaInterpreter::getAreaExits)
  • [x] [getAreaUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#getAreaUserData) (TLuaInterpreter::getAreaUserData)
  • [x] [getBgColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#getBgColor) (TLuaInterpreter::getBgColor)
  • [x] [getCmdLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#getCmdLine) (TLuaInterpreter::getCmdLine)
  • [x] [getColumnCount](https://wiki.mudlet.org/w/Manual:Lua_Functions#getColumnCount) (TLuaInterpreter::getColumnCount)
  • [x] [getColumnNumber](https://wiki.mudlet.org/w/Manual:Lua_Functions#getColumnNumber) (TLuaInterpreter::getColumnNumber)
  • [x] [getCurrentLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#getCurrentLine) (TLuaInterpreter::getCurrentLine)
  • [x] [getCustomLines](https://wiki.mudlet.org/w/Manual:Lua_Functions#getCustomLines) (TLuaInterpreter::getCustomLines)
  • [x] [getDoors](https://wiki.mudlet.org/w/Manual:Lua_Functions#getDoors) (TLuaInterpreter::getDoors)
  • [x] [getExitStubs](https://wiki.mudlet.org/w/Manual:Lua_Functions#getExitStubs) (TLuaInterpreter::getExitStubs)
  • [x] [getExitStubs1](https://wiki.mudlet.org/w/Manual:Lua_Functions#getExitStubs1) (TLuaInterpreter::getExitStubs1)
  • [x] [getFgColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#getFgColor) (TLuaInterpreter::getFgColor)
  • [x] [getFont](https://wiki.mudlet.org/w/Manual:Lua_Functions#getFont) (TLuaInterpreter::getFont)
  • [x] [getFontSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#getFontSize) (TLuaInterpreter::getFontSize)
  • [x] [getImageSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#getImageSize) (TLuaInterpreter::getImageSize)
  • [x] [getLastLineNumber](https://wiki.mudlet.org/w/Manual:Lua_Functions#getLastLineNumber) (TLuaInterpreter::getLastLineNumber)
  • [x] [getLineNumber](https://wiki.mudlet.org/w/Manual:Lua_Functions#getLineNumber) (TLuaInterpreter::getLineNumber)
  • [x] [getLines](https://wiki.mudlet.org/w/Manual:Lua_Functions#getLines) (TLuaInterpreter::getLines)
  • [x] [getMapUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#getMapUserData) (TLuaInterpreter::getMapUserData)
  • [x] [getPath](https://wiki.mudlet.org/w/Manual:Lua_Functions#getPath) (TLuaInterpreter::getPath)
  • [x] [getRoomAreaName](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomAreaName) (TLuaInterpreter::getRoomAreaName)
  • [x] [getRoomChar](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomChar) (TLuaInterpreter::getRoomChar)
  • [x] [getRoomHashByID](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomHashByID) (TLuaInterpreter::getRoomHashByID)
  • [x] [getRoomIDbyHash](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomIDbyHash) (TLuaInterpreter::getRoomIDbyHash)
  • [x] [getRoomUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomUserData) (TLuaInterpreter::getRoomUserData)
  • [x] [getRoomUserDataKeys](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRoomUserDataKeys) (TLuaInterpreter::getRoomUserDataKeys)
  • [x] [getRowCount](https://wiki.mudlet.org/w/Manual:Lua_Functions#getRowCount) (TLuaInterpreter::getRowCount)
  • [x] [getScript](https://wiki.mudlet.org/w/Manual:Lua_Functions#getScript) (TLuaInterpreter::getScript)
  • [x] [getSelection](https://wiki.mudlet.org/w/Manual:Lua_Functions#getSelection) (TLuaInterpreter::getSelection)
  • [x] [getStopWatchBrokenDownTime](https://wiki.mudlet.org/w/Manual:Lua_Functions#getStopWatchBrokenDownTime) (TLuaInterpreter::getStopWatchBrokenDownTime)
  • [x] [getStopWatchTime](https://wiki.mudlet.org/w/Manual:Lua_Functions#getStopWatchTime) (TLuaInterpreter::getStopWatchTime)
  • [x] [getTextFormat](https://wiki.mudlet.org/w/Manual:Lua_Functions#getTextFormat) (TLuaInterpreter::getTextFormat)
  • [x] [getTime](https://wiki.mudlet.org/w/Manual:Lua_Functions#getTime) (TLuaInterpreter::getTime)
  • [x] [getTimestamp](https://wiki.mudlet.org/w/Manual:Lua_Functions#getTimestamp) (TLuaInterpreter::getTimestamp)
  • [x] [getUserWindowSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#getUserWindowSize) (TLuaInterpreter::getUserWindowSize)
  • [x] [hideToolBar](https://wiki.mudlet.org/w/Manual:Lua_Functions#hideToolBar) (TLuaInterpreter::hideToolBar)
  • [x] [insertText](https://wiki.mudlet.org/w/Manual:Lua_Functions#insertText) (TLuaInterpreter::insertText)
  • [x] [installModule](https://wiki.mudlet.org/w/Manual:Lua_Functions#installModule) (TLuaInterpreter::installModule)
  • [x] [installPackage](https://wiki.mudlet.org/w/Manual:Lua_Functions#installPackage) (TLuaInterpreter::installPackage)
  • [x] [isActive](https://wiki.mudlet.org/w/Manual:Lua_Functions#isActive) (TLuaInterpreter::isActive)
  • [x] [isAnsiBgColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#isAnsiBgColor) (TLuaInterpreter::isAnsiBgColor)
  • [x] [isAnsiFgColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#isAnsiFgColor) (TLuaInterpreter::isAnsiFgColor)
  • [x] [killKey](https://wiki.mudlet.org/w/Manual:Lua_Functions#killKey) (TLuaInterpreter::killKey)
  • [x] [loadMap](https://wiki.mudlet.org/w/Manual:Lua_Functions#loadMap) (TLuaInterpreter::loadMap)
  • [x] [loadReplay](https://wiki.mudlet.org/w/Manual:Lua_Functions#loadReplay) (TLuaInterpreter::loadRawFile)
  • [x] [lowerWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#lowerWindow) (TLuaInterpreter::lowerWindow)
  • [x] [moveCursorEnd](https://wiki.mudlet.org/w/Manual:Lua_Functions#moveCursorEnd) (TLuaInterpreter::moveCursorEnd)
  • [x] [openMapWidget](https://wiki.mudlet.org/w/Manual:Lua_Functions#openMapWidget) (TLuaInterpreter::openMapWidget)
  • [x] [openUserWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#openUserWindow) (TLuaInterpreter::openUserWindow)
  • [x] [openWebPage](https://wiki.mudlet.org/w/Manual:Lua_Functions#openWebPage) (TLuaInterpreter::openWebPage)
  • [x] [paste](https://wiki.mudlet.org/w/Manual:Lua_Functions#paste) (TLuaInterpreter::paste)
  • [x] [permAlias](https://wiki.mudlet.org/w/Manual:Lua_Functions#permAlias) (TLuaInterpreter::permAlias)
  • [x] [permBeginOfLineStringTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#permBeginOfLineStringTrigger) (TLuaInterpreter::permBeginOfLineStringTrigger)
  • [x] [permKey](https://wiki.mudlet.org/w/Manual:Lua_Functions#permKey) (TLuaInterpreter::permKey)
  • [x] [permPromptTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#permPromptTrigger) (TLuaInterpreter::permPromptTrigger)
  • [x] [permRegexTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#permRegexTrigger) (TLuaInterpreter::permRegexTrigger)
  • [x] [permScript](https://wiki.mudlet.org/w/Manual:Lua_Functions#permScript) (TLuaInterpreter::permScript)
  • [x] [permSubstringTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#permSubstringTrigger) (TLuaInterpreter::permSubstringTrigger)
  • [x] [permTimer](https://wiki.mudlet.org/w/Manual:Lua_Functions#permTimer) (TLuaInterpreter::permTimer)
  • [x] [printCmdLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#printCmdLine) (TLuaInterpreter::printCmdLine)
  • [x] [raiseEvent](https://wiki.mudlet.org/w/Manual:Lua_Functions#raiseEvent) (TLuaInterpreter::raiseEvent)
  • [x] [raiseGlobalEvent](https://wiki.mudlet.org/w/Manual:Lua_Functions#raiseGlobalEvent) (TLuaInterpreter::raiseGlobalEvent)
  • [x] [raiseWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#raiseWindow) (TLuaInterpreter::raiseWindow)
  • [x] [registerAnonymousEventHandler](https://wiki.mudlet.org/w/Manual:Lua_Functions#registerAnonymousEventHandler) (TLuaInterpreter::registerAnonymousEventHandler)
  • [x] [reloadModule](https://wiki.mudlet.org/w/Manual:Lua_Functions#reloadModule) (TLuaInterpreter::reloadModule)
  • [x] [remainingTime](https://wiki.mudlet.org/w/Manual:Lua_Functions#remainingTime) (TLuaInterpreter::remainingTime)
  • [x] [removeCustomLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#removeCustomLine) (TLuaInterpreter::removeCustomLine)
  • [x] [removeMapMenu](https://wiki.mudlet.org/w/Manual:Lua_Functions#removeMapMenu) (TLuaInterpreter::removeMapMenu)
  • [x] [removeWordFromDictionary](https://wiki.mudlet.org/w/Manual:Lua_Functions#removeWordFromDictionary) (TLuaInterpreter::removeWordFromDictionary)
  • [x] [resetBackgroundImage](https://wiki.mudlet.org/w/Manual:Lua_Functions#resetBackgroundImage) (TLuaInterpreter::resetBackgroundImage)
  • [x] [resetCmdLineAction](https://wiki.mudlet.org/w/Manual:Lua_Functions#resetCmdLineAction) (TLuaInterpreter::resetCmdLineAction)
  • [x] [resetStopWatch](https://wiki.mudlet.org/w/Manual:Lua_Functions#resetStopWatch) (TLuaInterpreter::resetStopWatch)
  • [x] [saveMap](https://wiki.mudlet.org/w/Manual:Lua_Functions#saveMap) (TLuaInterpreter::saveMap)
  • [x] [searchAreaUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#searchAreaUserData) (TLuaInterpreter::searchAreaUserData)
  • [x] [searchRoom](https://wiki.mudlet.org/w/Manual:Lua_Functions#searchRoom) (TLuaInterpreter::searchRoom)
  • [x] [searchRoomUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#searchRoomUserData) (TLuaInterpreter::searchRoomUserData)
  • [x] [selectCaptureGroup](https://wiki.mudlet.org/w/Manual:Lua_Functions#selectCaptureGroup) (TLuaInterpreter::selectCaptureGroup)
  • [x] [selectCurrentLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#selectCurrentLine) (TLuaInterpreter::selectCurrentLine)
  • [x] [selectSection](https://wiki.mudlet.org/w/Manual:Lua_Functions#selectSection) (TLuaInterpreter::selectSection)
  • [x] [selectString](https://wiki.mudlet.org/w/Manual:Lua_Functions#selectString) (TLuaInterpreter::selectString)
  • [x] [send](https://wiki.mudlet.org/w/Manual:Lua_Functions#send) (TLuaInterpreter::sendRaw)
  • [x] [sendATCP](https://wiki.mudlet.org/w/Manual:Lua_Functions#sendATCP) (TLuaInterpreter::sendATCP)
  • [x] [sendGMCP](https://wiki.mudlet.org/w/Manual:Lua_Functions#sendGMCP) (TLuaInterpreter::sendGMCP)
  • [x] [sendIrc](https://wiki.mudlet.org/w/Manual:Lua_Functions#sendIrc) (TLuaInterpreter::sendIrc)
  • [x] [sendMSDP](https://wiki.mudlet.org/w/Manual:Lua_Functions#sendMSDP) (TLuaInterpreter::sendMSDP)
  • [x] [sendSocket](https://wiki.mudlet.org/w/Manual:Lua_Functions#sendSocket) (TLuaInterpreter::sendSocket)
  • [x] [sendTelnetChannel102](https://wiki.mudlet.org/w/Manual:Lua_Functions#sendTelnetChannel102) (TLuaInterpreter::sendTelnetChannel102)
  • [x] [setAppStyleSheet](https://wiki.mudlet.org/w/Manual:Lua_Functions#setAppStyleSheet) (TLuaInterpreter::setAppStyleSheet)
  • [x] [setAreaUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#setAreaUserData) (TLuaInterpreter::setAreaUserData)
  • [x] [setBackgroundColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBackgroundColor) (TLuaInterpreter::setBackgroundColor)
  • [x] [setBackgroundImage](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBackgroundImage) (TLuaInterpreter::setBackgroundImage)
  • [x] [setBgColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBgColor) (TLuaInterpreter::setBgColor)
  • [x] [setBold](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBold) (TLuaInterpreter::setBold)
  • [x] [setBorderBottom](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBorderBottom) (TLuaInterpreter::setBorderBottom)
  • [x] [setBorderLeft](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBorderLeft) (TLuaInterpreter::setBorderLeft)
  • [x] [setBorderRight](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBorderRight) (TLuaInterpreter::setBorderRight)
  • [x] [setBorderSizes](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBorderSizes) (TLuaInterpreter::setBorderSizes)
  • [x] [setBorderTop](https://wiki.mudlet.org/w/Manual:Lua_Functions#setBorderTop) (TLuaInterpreter::setBorderTop)
  • [x] [setButtonStyleSheet](https://wiki.mudlet.org/w/Manual:Lua_Functions#setButtonStyleSheet) (TLuaInterpreter::setButtonStyleSheet)
  • [x] [setCmdLineAction](https://wiki.mudlet.org/w/Manual:Lua_Functions#setCmdLineAction) (TLuaInterpreter::setCmdLineAction)
  • [x] [setCmdLineStyleSheet](https://wiki.mudlet.org/w/Manual:Lua_Functions#setCmdLineStyleSheet) (TLuaInterpreter::setCmdLineStyleSheet
  • [x] [setDefaultAreaVisible](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDefaultAreaVisible) (TLuaInterpreter::setDefaultAreaVisible)
  • [x] [setDiscordApplicationID](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordApplicationID) (TLuaInterpreter::setDiscordApplicationID)
  • [x] [setDiscordDetail](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordDetail) (TLuaInterpreter::setDiscordDetail)
  • [x] [setDiscordElapsedStartTime](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordElapsedStartTime) (TLuaInterpreter::setDiscordElapsedStartTime)
  • [x] [setDiscordGame](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordGame) (TLuaInterpreter::setDiscordGame)
  • [x] [setDiscordLargeIcon](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordLargeIcon) (TLuaInterpreter::setDiscordLargeIcon)
  • [x] [setDiscordLargeIconText](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordLargeIconText) (TLuaInterpreter::setDiscordLargeIconText)
  • [x] [setDiscordParty](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordParty) (TLuaInterpreter::setDiscordParty)
  • [x] [setDiscordRemainingEndTime](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordRemainingEndTime) (TLuaInterpreter::setDiscordRemainingEndTime)
  • [x] [setDiscordSmallIcon](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordSmallIcon) (TLuaInterpreter::setDiscordSmallIcon)
  • [x] [setDiscordSmallIconText](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordSmallIconText) (TLuaInterpreter::setDiscordSmallIconText)
  • [x] [setDiscordState](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDiscordState) (TLuaInterpreter::setDiscordState)
  • [x] [setDoor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setDoor) (TLuaInterpreter::setDoor)
  • [x] [setExitWeight](https://wiki.mudlet.org/w/Manual:Lua_Functions#setExitWeight) (TLuaInterpreter::setExitWeight)
  • [x] [setFgColor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setFgColor) (TLuaInterpreter::setFgColor)
  • [x] [setFont](https://wiki.mudlet.org/w/Manual:Lua_Functions#setFont) (TLuaInterpreter::setFont)
  • [x] [setFontSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#setFontSize) (TLuaInterpreter::setFontSize)
  • [x] [setIrcChannels](https://wiki.mudlet.org/w/Manual:Lua_Functions#setIrcChannels) (TLuaInterpreter::setIrcChannels)
  • [x] [setIrcNick](https://wiki.mudlet.org/w/Manual:Lua_Functions#setIrcNick) (TLuaInterpreter::setIrcNick)
  • [x] [setIrcServer](https://wiki.mudlet.org/w/Manual:Lua_Functions#setIrcServer) (TLuaInterpreter::setIrcServer)
  • [x] [setItalics](https://wiki.mudlet.org/w/Manual:Lua_Functions#setItalics) (TLuaInterpreter::setItalics)
  • [x] [setLabelClickCallback](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelClickCallback) (TLuaInterpreter::setLabelClickCallback)
  • [x] [setLabelCursor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelCursor) (TLuaInterpreter::setLabelCursor)
  • [x] [setLabelCustomCursor](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelCustomCursor) (TLuaInterpreter::setLabelCustomCursor)
  • [x] [setLabelDoubleClickCallback](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelDoubleClickCallback) (TLuaInterpreter::setLabelDoubleClickCallback)
  • [x] [setLabelMoveCallback](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelMoveCallback) (TLuaInterpreter::setLabelMoveCallback)
  • [x] [setLabelOnEnter](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelOnEnter) (TLuaInterpreter::setLabelOnEnter)
  • [x] [setLabelOnLeave](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelOnLeave) (TLuaInterpreter::setLabelOnLeave)
  • [x] [setLabelReleaseCallback](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelReleaseCallback) (TLuaInterpreter::setLabelReleaseCallback)
  • [x] [setLabelToolTip](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelToolTip) (TLuaInterpreter::setLabelToolTip)
  • [x] [setLabelWheelCallback](https://wiki.mudlet.org/w/Manual:Lua_Functions#setLabelWheelCallback) (TLuaInterpreter::setLabelWheelCallback)
  • [x] [setMapUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#setMapUserData) (TLuaInterpreter::setMapUserData)
  • [x] [setMergeTables](https://wiki.mudlet.org/w/Manual:Lua_Functions#setMergeTables) (TLuaInterpreter::setMergeTables)
  • [x] [setMiniConsoleFontSize](https://wiki.mudlet.org/w/Manual:Lua_Functions#setMiniConsoleFontSize) (TLuaInterpreter::setMiniConsoleFontSize)
  • [x] [setModulePriority](https://wiki.mudlet.org/w/Manual:Lua_Functions#setModulePriority) (TLuaInterpreter::setModulePriority)
  • [x] [setOverline](https://wiki.mudlet.org/w/Manual:Lua_Functions#setOverline) (TLuaInterpreter::setOverline)
  • [x] [setProfileIcon](https://wiki.mudlet.org/w/Manual:Lua_Functions#setProfileIcon) (TLuaInterpreter::setProfileIcon)
  • [x] [setReverse](https://wiki.mudlet.org/w/Manual:Lua_Functions#setReverse) (TLuaInterpreter::setReverse)
  • [x] [setRoomChar](https://wiki.mudlet.org/w/Manual:Lua_Functions#setRoomChar) (TLuaInterpreter::setRoomChar)
  • [x] [setRoomIDbyHash](https://wiki.mudlet.org/w/Manual:Lua_Functions#setRoomIDbyHash) (TLuaInterpreter::setRoomIDbyHash)
  • [x] [setRoomUserData](https://wiki.mudlet.org/w/Manual:Lua_Functions#setRoomUserData) (TLuaInterpreter::setRoomUserData)
  • [x] [setScript](https://wiki.mudlet.org/w/Manual:Lua_Functions#setScript) (TLuaInterpreter::setScript)
  • [x] [setServerEncoding](https://wiki.mudlet.org/w/Manual:Lua_Functions#setServerEncoding) (TLuaInterpreter::setServerEncoding)
  • [x] [setStopWatchName](https://wiki.mudlet.org/w/Manual:Lua_Functions#setStopWatchName) (TLuaInterpreter::setStopWatchName)
  • [x] [setStopWatchPersistence](https://wiki.mudlet.org/w/Manual:Lua_Functions#setStopWatchPersistence) (TLuaInterpreter::setStopWatchPersistence)
  • [x] [setStrikeOut](https://wiki.mudlet.org/w/Manual:Lua_Functions#setStrikeOut) (TLuaInterpreter::setStrikeOut)
  • [x] [setTextFormat](https://wiki.mudlet.org/w/Manual:Lua_Functions#setTextFormat) (TLuaInterpreter::setTextFormat)
  • [x] [setUnderline](https://wiki.mudlet.org/w/Manual:Lua_Functions#setUnderline) (TLuaInterpreter::setUnderline)
  • [x] [setUserWindowStyleSheet](https://wiki.mudlet.org/w/Manual:Lua_Functions#setUserWindowStyleSheet) (TLuaInterpreter::setUserWindowStyleSheet)
  • [x] [setUserWindowTitle](https://wiki.mudlet.org/w/Manual:Lua_Functions#setUserWindowTitle) (TLuaInterpreter::setUserWindowTitle)
  • [x] [setWindow](https://wiki.mudlet.org/w/Manual:Lua_Functions#setWindow) (TLuaInterpreter::setWindow)
  • [x] [showToolBar](https://wiki.mudlet.org/w/Manual:Lua_Functions#showToolBar) (TLuaInterpreter::showToolBar)
  • [x] [spellCheckWord](https://wiki.mudlet.org/w/Manual:Lua_Functions#spellCheckWord) (TLuaInterpreter::spellCheckWord)
  • [x] [spellSuggestWord](https://wiki.mudlet.org/w/Manual:Lua_Functions#spellSuggestWord) (TLuaInterpreter::spellSuggestWord)
  • [x] [startLogging](https://wiki.mudlet.org/w/Manual:Lua_Functions#startLogging) (TLuaInterpreter::startLogging)
  • [x] [startStopWatch](https://wiki.mudlet.org/w/Manual:Lua_Functions#startStopWatch) (TLuaInterpreter::startStopWatch)
  • [x] [stopStopWatch](https://wiki.mudlet.org/w/Manual:Lua_Functions#stopStopWatch) (TLuaInterpreter::stopStopWatch)
  • [x] [tempAlias](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempAlias) (TLuaInterpreter::tempAlias)
  • [x] [tempAnsiColorTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempAnsiColorTrigger) (TLuaInterpreter::tempAnsiColorTrigger)
  • [x] [tempBeginOfLineTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempBeginOfLineTrigger) (TLuaInterpreter::tempBeginOfLineTrigger)
  • [x] [tempColorTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempColorTrigger) (TLuaInterpreter::tempColorTrigger)
  • [x] [tempComplexRegexTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempComplexRegexTrigger) (TLuaInterpreter::tempComplexRegexTrigger)
  • [x] [tempExactMatchTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempExactMatchTrigger) (TLuaInterpreter::tempExactMatchTrigger)
  • [x] [tempKey](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempKey) (TLuaInterpreter::tempKey)
  • [x] [tempLineTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempLineTrigger) (TLuaInterpreter::tempLineTrigger)
  • [x] [tempPromptTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempPromptTrigger) (TLuaInterpreter::tempPromptTrigger)
  • [x] [tempRegexTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempRegexTrigger) (TLuaInterpreter::tempRegexTrigger)
  • [x] [tempTimer](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempTimer) (TLuaInterpreter::tempTimer)
  • [x] [tempTrigger](https://wiki.mudlet.org/w/Manual:Lua_Functions#tempTrigger) (TLuaInterpreter::tempTrigger)
  • [x] [ttsClearQueue](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsClearQueue) (TLuaInterpreter::ttsClearQueue)
  • [x] [ttsGetQueue](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsGetQueue) (TLuaInterpreter::ttsGetQueue)
  • [x] [ttsQueue](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsQueue) (TLuaInterpreter::ttsQueue)
  • [x] [ttsSetPitch](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsSetPitch) (TLuaInterpreter::ttsSetPitch)
  • [x] [ttsSetRate](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsSetRate) (TLuaInterpreter::ttsSetRate)
  • [x] [ttsSetVoiceByIndex](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsSetVoiceByIndex) (TLuaInterpreter::ttsSetVoiceByIndex)
  • [x] [ttsSetVoiceByName](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsSetVoiceByName) (TLuaInterpreter::ttsSetVoiceByName)
  • [x] [ttsSetVolume](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsSetVolume) (TLuaInterpreter::ttsSetVolume)
  • [x] [ttsSpeak](https://wiki.mudlet.org/w/Manual:Lua_Functions#ttsSpeak) (TLuaInterpreter::ttsSpeak)
  • [x] [uninstallModule](https://wiki.mudlet.org/w/Manual:Lua_Functions#uninstallModule) (TLuaInterpreter::uninstallModule)
  • [x] [uninstallPackage](https://wiki.mudlet.org/w/Manual:Lua_Functions#uninstallPackage) (TLuaInterpreter::uninstallPackage)
  • [x] [wrapLine](https://wiki.mudlet.org/w/Manual:Lua_Functions#wrapLine) (TLuaInterpreter::wrapLine)


✅ Internal functions - unknown to users


✅ Functions without arguments - fine already! 😄

Verification is not yet complete, but already found 65 functions needing work. âš¡
My last message above is continuously updated with the latest status for each.

To avoid uncontrolled growth of different error message styles again, creation of said message should be centralised in a helping function, which only receives details as listed above, and returns the full string. Therefore, future adjustments to sentence structure can be delivered _once and for all_ easily.

Not sure if this refactorization can be done prior or is out of scope here.
Danger if not done lies in sandardized error messages today, tomorrow having wild growth again.

Verification done. After looking at these 400 functions published from TLuaInterpreter for a few more hours, we have a total of 80 functions to fix. You can find the whole list behind the spoiler tags in my comment above. Any volunteers?
grafik

There were also a few slips and careless mistakes which could have been avoided with my suggested refactoring in the OP.
E.g. function X reporting itself as function Y instead (copy/paste error probably, but actually unnecessary duplication of data)

While there is still ongoing work internally to streamline and standardize text creation, this issue is mostly done.

The players only see the "wrong argument type" style error message in setPopup() and no other function anymore.

As explained in https://github.com/Mudlet/Mudlet/pull/4599#issuecomment-756775208 there are differences in code and wiki documentation still

I will mark this as done. The only function remaining (setPopup) is discussed in a seperate issue #4641 still.

Meanwhile we established the requested helper functions and gave meaningful type errors and value errors to all c++ functions.

Checked Lua functions, too. Not all of them check all their arguments already, but if they do, they give informative error messages.

Was this page helpful?
0 / 5 - 0 ratings