[general]
changed getGhostDrag()/isDX9Installed()/initDirectX()/isDebug()/getSwitchbar()/getToolbar()/getTreebar()/getTreeview()/getTreeImages()/getTreeFont()/getMDIClient()/getHWND()/getVersion() to return a const reference.
changed error() to open a message box if SendMessage() is disabled in mIRC v7.34+
added mIRCLinker::m_bSendMessageDisabled var which is set to true in mIRC v7.34+ if SendMessage() is disabled.
removed some pre-mIRC V7 code from mIRCLinker::load()
changed mIRC_SndMsg() to handle mIRC V7.34+ enhanced errors with SendMessage()

[list]
added check for len > 0 to matchItemText() to avoid trying to match an empty string.
changed WM_DRAWITEM to only get the item text if text length is > 0
changed $xdid().sel to use value += n instead of value.tsprintf()
changed $xdid().sel to use path.addtok() instead of doing itoa() then addtok()
[general]
added SaveDataToFile() function for use by richedit/edit controls & maybe others for saving there data.

[edit]
changed /xdid -u to call SaveDataToFile()

[tstring]
added append() functions & changed all += operators to use them.
changed operator * to check if sz == 0 & return *this if it does instead of doing sz > 0
changed len() to return a const.
[general]
added function Normalise() which takes a BYTE buffer (must end in a double zero value) & converts it to the correct text format.
added function readTextFile() which reads a text file into a TString, uses Normalise() to handle different BOM types.
changed readFile() to terminate the data with a double zero.
updated version resource.

[edit]
changed /xdid -t to use readTextFile()
[general]
fixed bug in SaveDataToFile()

[rebar][statusbar][treeview][box]
changed some casts to c++ style.
[general]
changed SaveDataToFile() to save the unicode BOM type too when appropriate.

[edit]
changed /xdid -t to do an IsFile() check & show an error if it fails.
changed /xdid -u to show an error if saving fails.
[tstring]
added function getlasttoks() for use with getfirsttok()/getnexttok(), gets all remaining tokens from last getfirsttok()/getnexttok()
changed len() to quickly check for zero length strings before calling strlen().
[dcxml]
removed some commented code
rearranged some gettok()'s to allow the use of getlasttoks()
[xdock]
replaced some null checks with exceptions
[xdock]
changed some %d's to %u's as they are unsigned vars

[xtrayicon]
changed /xTrayIcon to use an exception instead of a NULL check.
changed some gettok(#,-1)'s to be getlasttoks()'s

[divider]
changed a lpdvdata->m_bDragging == TRUE check to be just lpdvdata->m_bDragging
[xpopup]
changed some unsigned int vars to be UINT
changed some gettok(#,-1)'s to be getlasttoks()'s
changed /xpopup -i/-M/-p to allow the use of getnexttok() & getlasttoks()
changed parseIdentifier() to use dcx_strcpyn()
changed parseMPopup() to convert the argument into a UINT & then compare it instead of comparing the TString object.
changed DrawItem()/DrawItemIcon()/DrawGradient() to do if (bool_var) instead of if (bool_var == TRUE)
changed parseXPopCommand() to use getfirsttok()/getlasttoks()
changed parseXPopCommand() to place the second tab separated token into a var tsTabTwo instead of getting it again & again.
changed parseXPopCommand() to only call .numtok() once for each time its needed.
changed parseXPopIdentifier() to use getfirsttok() & getlasttoks()
changed parseXPopIdentifier() to set the path var at the start.
changed some more if (bool_value == TRUE) check to be just if (bool_value)
changed parseXMenuBarCommand() to use getlasttoks()
[tstring]
changed set_buffersize() to return s const value.
changed allocstr_bytes(size) to call allocstr_bytes(size, iActual)
changed allocstr_cch(size) to call allocstr_bytes(size, iActual)
changed allocstr_bytes(size, iActual)/allocstr_cch(size, iActual) to be const functions.
changed to_addr() to be a const function.
fixed bug in operator[] where bytes were being used instead of characters.
[tstring]
changed m_savedpos to be a const pointer.
changed operator +() to check for (cString == NULL) & return instead of != NULL
changed sub() to use a const temp var.
changed i_remove()/i_replace() to use a size_t var for string lengths
changed replace() to use a const tmp var.
changed getnexttok() to only create the p_cEnd var when its needed.
changed getlasttoks() to be shorter.
fixed a bug in trim() that caused it to always allocate a new object even when no spaces were removed.
changed trim() to be a bit faster by only allocating a new object when the start of the string is altered.