home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Fravia / fravia / text3.txt < prev    next >
Encoding:
Text File  |  2000-05-25  |  224.8 KB  |  5,119 lines

  1. This is the mIRC versions file, that describes changes in the application
  2. over time. The frequency of repeated words is quite high, and the file size
  3. should be ample to provide any statistical or pattern-based information
  4. needed to attempt to crack this algorithm. Thanks, and good luck!
  5.  
  6. 24/07/98 - mIRC v5.41
  7.  
  8. Fixes/Additions:
  9. 1.Fixed win32s under win3.x display bug in 32bit mIRC.
  10. 2.Fixed bug with private messages text-wrap when using ^ events.
  11. 3.Can now use %variables or $identifiers in the Perform Highlight words.
  12. 4.Can now do /dcc send nickname <wildcardfilename>.
  13. 5.Fixed $sdir bug.
  14. 6.Fixed bug in auto-arrange/cascade/tile options.
  15. 7.Fixed SOCKS firewall support bugs.
  16. 8.Channel Central dialog now allows mode +h users on TS4 efnet to change
  17.   the channel settings.
  18. 9./remove now tells you if you specified a non-existent file but doesn't
  19.   halt processing.
  20. 10.Changed Channel central dialog behaviour, no longer resets channel modes
  21.    unless they've been changed.
  22. 11.Fixed bug in $calc() with very long strings.
  23. 12.Fixed bug in inactive DCC Chat windows, editbox allows you to copy text
  24.    from it but entered text is not processed in any way.
  25. 13.$chan().ial now returns $true if the IAL is full, $false if it isn't, or
  26.    $inwho if you sent a /who #channel to the server to fill the IAL and the
  27.    IAL isn't full yet.
  28. 14.Improved winsock error checking.
  29. 15.Fixed bug in /goto command where it was incorrectly reporting a "not
  30.    found" error instead of a "duplicate name" error in some situations where
  31.    you had duplicate goto names in a script.
  32. 16.Fixed bug in the remote events in %variables in remote event definition
  33.    not being processed correctly if it evaluated to just #.
  34. 17.Fixed /renwin bug allowing you to rename a @window to any name without
  35.    the @ prefix.
  36. 18.Fixed $read bug when reading a line with only a space in it.
  37. 19.Fixed disappearing DCC windows bug.
  38. 20.Fixed bug with URL/Email catcher being turned off when using the Send
  39.    To menu in the URL window popup menu.
  40. 21.Fixed bug with Status window not remembering Desktop/MDI position.
  41. 22.Fixed editbox/listbox focusing bug.
  42. 23.Fixed BURC code stripping in IRC Switches not applying to channel topics.
  43. 24.Using the . prefix to hide /play command information now also hides the
  44.    /msg command information when sending to a user/channel.
  45. 25.Fixed @window listbox background colour bug not being reset when using
  46.    colour control codes in text.
  47. 26.Fixed editbox processing bug in custom @windows.
  48. 27.Fixed /ignore -x exclusion bug.
  49. 28.Fixed bug in on OPEN event, was preventing on TEXT/ACTION events from
  50.    triggering if on OPEN was /halted.
  51. 29.Can now specify whether you want DCCs to go through the Socks Firewall
  52.    or not.
  53. 30.Fixed /renwin bug, was halting scripts.
  54. 31.Fixed bug when processing $? in combination with $+ in some situations.
  55. 32.$findfile() and $finddir() in 32bit mIRC now maintain case of filenames.
  56. 33.Fixed bug with wave playing not working with certain sound drivers. Note
  57.    that simple sound drivers eg. speaker driver, are very limited and don't
  58.    support mIRC's queuing of sounds feature, etc.
  59. 34.Fixed /cline when colour not specified, sets to default colour.
  60. 35.Fixed ctcp event not processing wildcard ctcps, eg.
  61.  
  62.    ctcp 1:*ping*:echo $1-
  63.  
  64. 36.Fixed DCC Send CTCP request not working with IRC clients that add an extra
  65.    ID number to the CTCP message, mIRC v5.4 also uses this extra ID to identify
  66.    DCC Send requests through a SOCKS firewall. If mIRC sees an ID but can't
  67.    match it internally, it assumes it's not valid and processes the CTCP as a
  68.    normal DCC Send request.
  69. 37.Improved handling of long filenames in commands: /dcc send, /unload, /mkdir,
  70.    /loadbuf, /savebuf, /filter, and /window.
  71. 38.Fixed bug in /font command.
  72. 39.Extended various commands/identifiers/etc. that reference listboxes so that
  73.    they can now process any number of selected lines.
  74. 40.Can now /clear -n with a picture window, where -n delays update of the display
  75.    until you force an update (same as with other picture window commands).
  76. 41.Fixed bug in $iif(), remote identifiers in it where not being evaluated.
  77. 42.Added $inpoly(x,y,x1,y1,...,xN,yN) identifier which returns $true if x,y is
  78.    inside the polygon made up of the specified points, otherwise $false.
  79. 43.Changed DCC Server 150 and 151 replies, they now return "unavailable" and
  80.    "rejected" instead of a nickname.
  81. 44.Added .dx and .dy properties to $window(), return the x and y position of
  82.    a window relative to the desktop.
  83. 45.Changed $notify() so that it works with your whole notify list. Added
  84.    .ison property, returns $true if user is on IRC, otherwise $false.
  85. 46.Fixed bug with status window receiving focus in certain situations.
  86. 47.Fixed bug in /write command when /writing to files that aren't on the same
  87.    hard-disk as the mIRC exe file.
  88. 48.Fixed freezing bug in $dde, $read, and $readini when used within other
  89.    identifiers in some situations.
  90. 49.The on DNS event is now triggered if you try to /dns a nickname that's not
  91.    on IRC and the server replies with the "no such nickname" numeric.
  92. 50.Fixed bug in listbox windows eg. url/notify/channelslist/etc. when first
  93.    opening, the background was first set to the main window background colour
  94.    not the listbox colour, making the window flash.
  95. 51.Fixed bug in ip address having a space appended to it when looking up via
  96.    the server method. Shouldn't have affected processing though.
  97. 52.Extended $mask() and all other mask-related commands/identifiers, so that
  98.    you can now specify a type of 10 to 19 which correspond to masks 0 to 9,
  99.    but instead of using a * wildcard to replace portions of an address, it
  100.    uses ? wildcards to replace the numbers in the address.
  101. 53.Fixed bug in /window -h switch not setting window focus correctly.
  102. 54.Fixed /list command so that it works correctly with older DALnet ircds
  103.    that don't support serverside filtering.
  104. 55.The value of $halted can now be checked in any event to see if a previous
  105.    event /halted the default text. You can also prefix events with the new
  106.    & prefix to prevent the event from triggering if $halted is true, eg.
  107.  
  108.    on &1:text:*:?:/echo this won't trigger if $halted is true
  109.  
  110. 56.When mIRC joins a channel and issues a /mode to look up the channel modes,
  111.    the channel creation time numeric is hidden if sent by the server.
  112. 57."Unable to connect to IRC server" message now also shows the actual winsock
  113.    error message.
  114. 58./enable and /disable now accept wildcards.
  115. 59./loadbuf and /savebuf can now work with dcc =chat windows. Also added
  116.    switches to /loadbuf:
  117.  
  118.    -cN specifies default text colour
  119.    -e  evaluates lines
  120.    -h  hides a line if -e is specified and it doesn't evaluate
  121.  
  122. 60.Fixed /window -c closing gpf bug when using multiple /window opening
  123.    and closing commands in the same script.
  124. 61.Added $isdde(name) identifier, returns $true if ddename is in use.
  125. 62./background can now change background in dcc =chat windows.
  126. 63.Fixed bug in remote * event prefix.
  127. 64.Timestamp now shows double digits for the hour.
  128. 65.Time related identifiers/routines now return $null if a time value is
  129.    specified that lies outside the values mIRC can handle.
  130. 66.Fixed /.copy showing a line separator incorrectly.
  131. 67.Fixed bug in Editor dialog, if you loaded a new script and then closed
  132.    the dialog, the on load event in the script would only trigger if you
  133.    were in the Remote tab of the dialog.
  134. 68.Added -l switch to /ignore [-lpcnitkx] command, specifying the -l switch
  135.    now displays a list of the ignores which match the specified switches.
  136. 69.Fixed bug in Socks firewall handling of a DCC Send to an IP address ie.
  137.    to a users DCC Server.
  138. 70.Fixed /echo -a =chat bug.
  139. 71.Fixed switchbar display bug.
  140. 72.Fixed /drawtext -p switch background filling bug.
  141. 73.If the Channels folder dialog is open while connecting to a server,
  142.    the Join/Names buttons are enabled on connection.
  143. 74.Fixed gpf bug in /cline when trying to use it on an empty window.
  144. 75.Extended $os identifier in the 32bit mIRC, it now replies differently
  145.    depending on whether you're on 3.1, 3.1 win32s, 95, 98, and NT. The
  146.    16bit is still limited to replying 3.1 or 95.
  147. 76.Added $ulist(address,level,N) identifier for referencing the Users list,
  148.    (replaces $maddress() which is still supported for now).
  149.  
  150.    You can specify an address of * to match any address in the user list,
  151.    or a wildcard address. If you don't specify a full address, it completes
  152.    the address with wildcards.
  153.  
  154.    If you specify L, $ulist() will return matching addresses that contain
  155.    the specified level.
  156.  
  157.    Note: L and N are optional, but if you specify only one number, mIRC
  158.    assumes it is N, to maintain backward compatibility.
  159. 77.Changed $calc() evaluation method slightly, this may break existing
  160.    scripts.
  161. 78.Fixed a few /finger and fingerserver related bugs.
  162. 79.Fixed /auto -r bug.
  163.  
  164. 23/06/98 - mIRC v5.4
  165.  
  166. Fixes/Additions:
  167. 1.Fixed identd/finger/dcc server bug.
  168. 2.Fixed connect retry bug when server name can't be resolved.
  169. 3.Fixed bug with windows being displayed/hidden when switchbar
  170.   is turned on/off.
  171. 4.Fixed /join -n bug when specifying a password.
  172. 5./load now only asks you once if you want to run the on start
  173.   and on load sections when your script loads multiple files.
  174. 6.Added identd switch to turn identd on/off before/after connection.
  175. 7.Added identifier $isalias(name) returns $true/$false.
  176. 8./dns now returns a reply for each /dns that is issued even if you
  177.   specified multiple identical addresses.
  178. 9.In addition to specifying -1 in $window() to refer to the desktop
  179.   screen size, you can now also specify -2 for the main mIRC window,
  180.   and -3 for internal MDI window where other windows are displayed.
  181. 10.Fixed focusing bug when clicking in a window.
  182. 11.Added /reload command, reloads the specified script without
  183.    triggering the on start/load events.
  184. 12.Added $finddir(root,wildcard,N) works the same as $findfile()
  185.    except it returns directory names.
  186. 13.Added Options section to Address Book.
  187. 14.Fixed Help menu bug when more than 30 items where listed in
  188.    the menu.
  189. 15.Added support for numeric 477, tells you if you can't join
  190.    a channel if channel only allows registered nicks.
  191. 16.Added /renwin <@old> <@new> [topic] command, changes the name
  192.    of a custom window.
  193. 17./sockopen now triggers "on sockopen" if a connection fails
  194.    immediately, instead of just halting the script with a connection
  195.    error message.
  196. 18.Fixed /editbox command when using lines with CR/LF characters.
  197. 19.Can now handle DALnet @+target notices.
  198. 20.Small change in DCC Send routine which may have been causing a
  199.    freeze in certain situations.
  200. 21.Fixed bug in action messages, may have been preventing action
  201.    messages from being displayed sometimes.
  202. 22.Can now open the Channels Folder and Channels List dialogs when
  203.    not connected to a server to edit/view them offline.
  204. 23.$chan now works in the on input event.
  205. 24.Fixed bug in Alt-1,2,3,etc. that was causing a GPF in certain
  206.    situations.
  207. 25.Fixed display gpf bug which occurred when a window was resized
  208.    to a width smaller than an indented line.
  209. 26.Made a small change to the way DDE messages are sent, should
  210.    now work with more applications.
  211. 27.Fixed bug in Filserver, wasn't displaying the list of dirs or
  212.    files correctly in certain cases.
  213. 28.Added switch -S to /window command. The small -s now sorts the
  214.    main window (whether text or listbox), the large -S now sorts
  215.    a listbox on the side.
  216. 29.Fixed gpf bug when the custom menubar popup menu is empty and
  217.    a new item is added to it.
  218. 30.The TAB nick completion now works in custom windows.
  219. 31.Fixed /join -i bug.
  220. 32.Your nicknames, local info, and current irc server are now all
  221.    updated in mirc.ini whenever they change.
  222. 33./filter no longer creates a file if there were no matching
  223.    items to output to the file. It also fills the $filtered identifier
  224.    with the number of matches found, if any.
  225. 34.A users nick and address are now stored in the log file at the
  226.    start of the logging session for a query window.
  227. 35.Now supports serverside filtering of channels list on DALnet
  228.    servers. This is done automatically whenever you retrieve a
  229.    channels list, same as with Undernet servers. DALnet servers
  230.    also supports server-side wildcard filtering.
  231. 36.Fixed /editbox -n switch.
  232. 37.If you try to connect to a server which resolves to multiple
  233.    IP addresses eg. a round robin server, mIRC will now try each IP
  234.    address until it gets a connection.
  235. 38.Colour 99 is now treated as a transparent colour, ie. it will match
  236.    a users current background colour. The main purpose of this is to
  237.    allow you to use numbers after a ctrl-k without a problem, eg.
  238.    /echo ctrl+k5,9954  This would display the number 54.
  239. 39.Added $readn identifier to return the line number that matched a
  240.    search for $read -s<text>.
  241.  
  242.    Also added $read -w<wildtext> switch which finds a line that
  243.    contains the matching text.
  244.  
  245.    If you specify the -s or -w switches, you can also specify the
  246.    -lN switch to specify which line to start searching from in the
  247.    file, eg.:
  248.  
  249.    //echo $read -l100 -w*mirc* versions.txt
  250.  
  251.    Note: this will start the search *after* line 100. This allows
  252.    you to use it with $readn easily.
  253.  
  254. 40.Added -e switch to /dde command, makes /dde send the request as
  255.    an XTYP_EXECUTE dde message. This type of message does not require
  256.    an item, so the format is:
  257.  
  258.    /dde -e service topic command
  259.  
  260. 41.Fixed /rline bug.
  261. 42.Fixed bug relating to use of [ ] to evaluate items inside
  262.    a bracketed identifier eg.
  263.  
  264.   //echo 1 $gettok( [ $readini -n mirc.ini mirc host ] ,1,58)
  265.  
  266. 43.Fixed gpf bug when trying to resize a window that contains
  267.    lines of text of which some are empty ie. contain no characters
  268.    at all, was happening mainly when filling a custom window with
  269.    lines from a text file eg. using /filter.
  270.  
  271. 44.Added * as a new remote event prefix, matches the level of any
  272.    user. This allows you to create events that will trigger for
  273.    all users regardless of their access levels.
  274.  
  275.    on *:event:etc.
  276.    ctcp *:event:etc.
  277.  
  278. 45.Using new method to display icons in toolbar and switchbar, this
  279.    should fix the disappearing toolbar problem some people have been
  280.    experiencing.
  281. 46.Added .fname property to $group() identifier, to return filename,
  282.    and the .name property to return the name of the group if you're
  283.    looking up the Nth group.
  284. 47.Added /ban -r switch, this removes a ban of the specified type for
  285.    nickname, eg. /ban -r nick 2
  286. 48.Url catcher now treats more characters as valid parts of a URL.
  287. 49.Fixed bug in $pos() identifier.
  288. 50.Added $ctime() identifier to compliment $ctime. You can specify
  289.    the date and time in various formats in $ctime() to return the
  290.    number of seconds elapsed since 00:00:00 GMT, January 1, 1970.
  291.  
  292.    //echo 1 $ctime(January 1 1970 00:00:00)
  293.    //echo 1 $ctime(3rd August 1987 3:46pm)
  294.    //echo 1 $ctime(21/4/72 1:30:37)
  295.    //echo 1 $ctime(Wed 1998-3-27 21:16)
  296.  
  297. 51.Modifed the way the inc/dec -uN switch works, added two new
  298.    switches, -c and -z.
  299.  
  300.    -uN now only incs/decs the %var once and unsets it N seconds
  301.    later.
  302.  
  303.    -c incs/decs %var once per second.
  304.  
  305.    -z decreases %var until it reaches zero and then unsets it.
  306.  
  307.    The -z switch also works with /set.
  308.  
  309. 52.Fixed bug in /describe appearance in query windows.
  310. 53.Can now use $mouse outside of picture window events. Also added
  311.    the following properties:
  312.  
  313.    .win     returns the windows name
  314.    .mx/my   returns x,y position relative to mIRC main window
  315.    .dx/dy   returns x,y position relative to desktop
  316. 54.Added .fname property to $isalias() identifier, which returns the
  317.    filename inwhich the alias exists, and .alias property which returns
  318.    the alias definition itself.
  319. 55.Added $ifmatch identifier, returns the first parameter of a matching if
  320.    statement. eg. if (text isin some text) etc. then $ifmatch will return
  321.    "text".
  322. 56.Added /showmirc -nrstx command, where:
  323.      -n = minimize
  324.      -r = restore
  325.      -s = show
  326.      -t = tray
  327.      -x = maximize
  328. 57.Added -u switch to /window which removes the -ontop setting
  329.    for a desktop window. Can also reset it again with -o.
  330. 58.If you specify a delay of 0 seconds in /timer, the command is now
  331.    executed immediately after a script finishes.
  332. 59.Added $cb(N) identifier to return CRLF delimited lines from the
  333.    clipboard. The property .len returns the length of the line, or
  334.    if N is zero, it returns the total length of text in the clipboard.
  335. 60.Extended $timer() to handle both N and a Timer name as a parameter.
  336.    Also now returns $null correctly if it can't find a match.
  337. 61.Extended $nick/opnick/nopnick/vnick/nvnick() to handle both N and
  338.    a nickname. If a nickname is specified it returns the nicknames Nth
  339.    position in the nicklist.
  340. 62.Fixed Window/Icon Flashing bug, wasn't triggering in certain situations.
  341. 63.Fixed gpf bug in fileserver time-out event.
  342. 64.Fixed /window sizing bug when first opening a very small window.
  343. 65.Added .ial property to $chan(), returns $true if the IAL contains the
  344.    addresses of all users on the specified channel, otherwise $false.
  345. 66.The TAB key nick completion now works as an identifier/variable evaluator
  346.    when placed over items that begin with $ or % or # (evaluates to current
  347.    channel name).
  348. 67.Notify now displays on/off messages in more situations.
  349. 68.Can now specify N = 0 in $findtok() to return number of matching tokens.
  350. 69.Added $matchtok(Tokens,String,N,C) identifier, checks if any of the Tokens
  351.    contain the text String. eg.
  352.  
  353.    $matchtok(one two three, e, 0, 32) returns 2
  354.    $matchtok(one two three, e, 2, 32) returns three
  355.  
  356.    And $wildtok(Tokens,WildString,N,C) which does the same thing using
  357.    wildcards:
  358.  
  359.    $wildtok(one two three, t*e, 0, 32) returns 1
  360.    $wildtok(one two three, t*e, 1, 32) returns three
  361.  
  362. 70.Added Remove menu item to notify list popup menu.
  363. 71.Made a change to /log command to make it handle the file .ext extension
  364.    better with LFNs.
  365. 72.Moved notify section from Options dialog to Address Book. Also added
  366.    Notify? and Address? buttons to connect Address and Notify sections.
  367. 73.You can now retrieve your basic System colours with $rgb() by specifying:
  368.    face, shadow, hilight, frame, and text, which return the RGB value.
  369. 74.Pressing TAB key in an editbox no longer clears the editbox if it
  370.    contains text. The editbox needs to be empty in order for TAB to fill
  371.    in the "/msg nickname" text.
  372. 75.DCC Chat window editbox is no longer disabled on a disconnection.
  373. 76.Can now click on a number in the Colour index dialog to insert the number
  374.    into the editbox.
  375. 77.Fixed $dde gpf if data being received is too long, now returns $error in
  376.    this case.
  377. 78.Extended $replace() to handle multiple replace parameters, eg.
  378.  
  379.    $replace(String,n1,n2,m1,m2,...,t1,t2)
  380.  
  381.    And $remove() to handle multiple remove parameters, eg.
  382.  
  383.    $remove(String,n1,n2,n3,...)
  384.  
  385. 79.Replaced channel window switching keyboard command from Control-Space
  386.    to Control-N due to conflict with other applications.
  387. 80.Fixed minimized icons appearing in certain sitautions when switching
  388.    windows via switchbar.
  389. 81.Speeded up text display slightly.
  390. 82.Added $hash(S,B) where S is a string, and B is the number of bits to
  391.    use when calculating the hash number.
  392. 83.Can now specify a non-existent file in $file/dir/hfile/sdir dialogs.
  393. 84.Added /whois in active window switch. Displays whois results in the
  394.    channel, query/chat, and custom windows if it is turned on and a /whois
  395.    is issued inside one of these windows.
  396.  
  397.    Also added Whois text colour selection to Colours dialog.
  398.  
  399. 85.Added -g switch to /clear and /filter to refer to finger window.
  400. 86.Added Background Picture option to System menu for Status, Channel, and
  401.    Query/Chat windows. Allows you to select a background picture for the
  402.    window, note that this significantly decreases the display speed of
  403.    text in a window.
  404.  
  405.    Also added picture option to the mIRC background window, right-click
  406.    on it to pop up a menu with options.
  407.  
  408.    Can also select a background picture for the toolbar, toolbar buttons,
  409.    and switchbar, right-click to pop up a menu.
  410.  
  411.    You can use the following command to change the background picture
  412.    settings and display method for windows:
  413.  
  414.    /background [-amsgdluhcfnrtpx] [window] [filename]
  415.  
  416.    -a = active window (window name not required)
  417.    -m = main mIRC window
  418.    -s = status window
  419.    -g = finger window
  420.    -d = dedicated query window
  421.  
  422.    -cfnrtp = center, fill, normal, stretch, tile, photo
  423.  
  424.    -l = toolbar
  425.    -u = toolbar buttons
  426.    -h = switchbar
  427.  
  428.    Toolbar buttons can use RGB Colour 192,192,192 for transparency, the
  429.    BMP must be of the same form as that in mIRC resources.
  430.  
  431.    -x = no background picture
  432.  
  433.    Window name should only be specified if none of the window switches
  434.    are specified. The filename does not need to be specified if you are
  435.    only changing the display method.
  436.  
  437. 87.Added $iif(C,T,F) where C is a conditional clause, and T is the result
  438.    if the conditional is True, and F is the result if it's false, eg:
  439.  
  440.    echo $iif(1 == 2, yes, no)  returns "no"
  441.  
  442.    $iif returns F if the conditional returns zero, $false, or $null, for
  443.    any other value $iif returns T.
  444.  
  445.    If you don't specify the F parameter, $iif returns a T value if the
  446.    condition is true, and returns nothing if it's false.
  447.  
  448.    echo $iif(1 == 2, yes)  returns nothing
  449.  
  450. 88.mIRC can now display longer channel topics in channels.
  451. 89.Added -p switch to /editbox, appends a space to the end of the text.
  452. 90.Added -t switch to /echo, prefixes line with a timestamp if a user has
  453.    global time stamping on or timestamping is on for that window.
  454. 91.Integrated the notify settings into the Address book dialog.
  455. 92.You can now open a query window with the /query command while offline.
  456. 93.Fixed $duration() to handle floating point numbers.
  457. 94.Titlebars in windows now aren't updated if the new text is identical.
  458. 95.Made line sorting in text @windows case-insensitive.
  459. 96.Added -o switch to /copy command, overwrites file if it exists.
  460. 97.Can now use ! (not prefix) with & bitwise operator.
  461. 98.Added uclick event to mouse detection events.
  462.  
  463.    menu @test {
  464.      uclick:echo Released mouse button
  465.    }
  466.  
  467. 99.The switchbar button for a query window is now updated when there is
  468.    a nick change.
  469. 100.Added -h switch to /clear command, clears the command history for
  470.     a window.
  471. 101.Switchbar can now also be displayed on the left and right sides of the
  472.     mIRC window, you can drag it with the mouse to reposition it.
  473. 102.Fixed $server().port including password at end of ports.
  474. 103.Fixed problems with sounds not being heard when your system is set up
  475.     to use the internal speaker driver for sound playback, note however
  476.     that this means that events such as on waveend/midiend do not work
  477.     now since the speaker driver doesn't support them.
  478. 104.Added /saveini command, updates all mIRC related ini files with the
  479.     current info.
  480. 105.Added /ignore -x (exclude) switch. Basically this allows you to ignore
  481.     messages from all people except your friends. For example:
  482.  
  483.     a!b@c.org,exclude   this excludes this address from being ignored
  484.     *!*@*               this ignores all other addresses
  485.  
  486. 106.Fixed bug in on chat/fserve events not filling $1 correctly.
  487. 107.Fixed bug with certain /if operators treating a $null value as plain
  488.     text eg. if (n isin $null) would evaluate to true.
  489. 108.Fixed bug with $calc() not processing identifiers with properties.
  490. 109.Fixed on close event not triggering for fileservers.
  491. 110.Added Command option to DCC Get Directories dialog, allows a command
  492.     to be performed when a file is received. The command will be performed
  493.     if no application has been selected and the filename can be referred
  494.     to in the command as identifier $1-.
  495. 111.Fixed /write not adding an extra LF to the last line in a file if it
  496.     needs one before appending a new line to the end of the file.
  497. 112.Added Rejoin channels on connect switch to Options dialog, if turned on
  498.     channel windows which are open are auto-rejoined when you reconnect to an
  499.     IRC server.
  500. 113.Fixed custom sockets bug where last packet of a file being received was
  501.     not received fully in some cases.
  502. 114.Added .font and .fontsize properties to $window().
  503. 115.Variables set to the value $null now evaluate to an empty string.
  504. 116.Control codes are now stripped from URLs/Emails caught by URL catcher.
  505. 117.Fixed bug in DNS resolving routine which may have caused certain
  506.     problems in the situation where a DNS request failed immediately.
  507.     Also fixed a bug where an invalid DNS reply may have caused a gpf.
  508. 118./dns -c now clears all queued DNS requests except the one currently
  509.     in progress.
  510. 119.Added isincs for a case-sensitive version of isin comparison.
  511. 120.Added $fline(@,wildtext,N,T) searches a window for a line matching
  512.     the wildcard text and returns the matching line number. If T is not
  513.     zero, it acts on the side-listbox.
  514. 121.The on MODE event now triggers when you make a mode change. You can
  515.     prevent it from triggering on your own mode change using the ! event
  516.     prefix as usual.
  517. 122.Fixed /echo bug, can now specify switches with a dcc chat =nickname.
  518. 123.You can now prevent the default text for an event from being shown
  519.     by using the ^ prefix in an event definition. This allows you to
  520.     show your own custom event messages, eg.
  521.  
  522.     on ^1:JOIN:#:echo $chan Joins: $nick | halt
  523.  
  524.     This line is triggered by a JOIN event and shows your own custom join
  525.     event message, /halt prevents the normal message from being shown.
  526.  
  527.     The ^ events don't replace your existing events, your normal events
  528.     are independent and are still processed whether there is a ^ event in
  529.     a script or not.
  530.  
  531.     Events that currently support ^ prefix: BAN, CHAT, DEHELP, DEOP, DEVOICE,
  532.     HELP, INVITE, JOIN, KICK, MODE, NICK, NOTICE, OP, PART, TEXT, UNBAN,
  533.     USERMODE, VOICE, QUIT, SERV, SERVERMODE, SNOTICE, TOPIC, WALLOPS.
  534.  
  535.     You can also halt the default text without halting a script by using
  536.     the /haltdef command.
  537.  
  538.     The $halted identifier returns $true if /halt or /haltdef was used in
  539.     a ^ prefixed event, and $false if it wasn't.
  540.  
  541. 124.Added $shortfn(filename), returns short version of a long filename,
  542.     only works in 32bit mIRC. In 16bit, returns same filename.
  543. 125.Can now /resetidle <seconds>.
  544. 126.Fixed bug in display of DCC transfer window.
  545. 127.Fixed bug in timezone calculation routine.
  546. 128.Fixed bug in /ignore.
  547. 129.Fixed gpf bug in on load/start events.
  548. 130.The /ignore and /auto commands now reformat the given nickname/address
  549.     to a full address spec. if it isn't one already.
  550. 131.Fixed bug when switching dedicated query window to/from desktop/mdi mode.
  551. 132.Removed minimum window size restrictions.
  552. 133.Local info is now looked up using the Server method by default.
  553. 134.Fixed bug where first item in a listbox was selected when the listbox
  554.     window was first opened.
  555. 135.Fixed $target for DCC chat/fserve windows.
  556. 136.Added Socks5 firewall support for connecting to an IRC server. mIRC
  557.     passes the domain name to the Socks5 firewall instead of trying to 
  558.     resolve it to an IP itself. mIRC still supports Socks4 however this
  559.     doesn't support authentication or domain name resolution or listening
  560.     for a connection.
  561.  
  562.     mIRC also supports an EXPERIMENTAL method for DCC Send/Chat through a
  563.     SOCKS5 firewall. This will NOT work with older versions of mIRC or
  564.     other IRC clients.
  565.  
  566.     mIRC uses a PASSIVE protocol to establish DCC connections when a client
  567.     is behind a SOCKS5 firewall. The method will work with SOCKS5 firewalls
  568.     that both:
  569.  
  570.       a) Support listening/binding to a port of Zero for an incoming
  571.          connection.
  572.       b) Assign outgoing connections an IP address that's the same as
  573.          the SOCKS firewall IP address.
  574.  
  575.  
  576.     The DCC Send/Chat CTCP messages are extended by adding an extra number
  577.     to the end of the message which uniquely identifies the negotiation,
  578.     and a port of Zero is specified to indicate that this is a passive
  579.     connection request. All other fields are identical to a standard DCC
  580.     Send/Chat message.
  581.  
  582.  
  583.     DCC Chat Passive Protocol:
  584.  
  585.     Client A, initiating the DCC Chat, sends the passive connection request
  586.     below to Client B. The port is set to zero, and the id number is a unique
  587.     integer identifying the connection:
  588.  
  589.     DCC CHAT nickname address port id
  590.  
  591.     If Client A is behind a firewall, the address is the ip address of its
  592.     SOCKS firewall.
  593.  
  594.     Client B receives the message and sets up a listening socket, and sends
  595.     the IP address and port back to Client A, specifying the id number that
  596.     identifies Client A's request:
  597.  
  598.     DCC CHAT nickname address port id
  599.  
  600.     If Client B is behind a SOCKS5 firewall, it requests a listening socket
  601.     from the SOCKS5 firewall and specifies Client A's IP address as the
  602.     binding address.
  603.  
  604.     Client A then proceeds to connect to this address to chat. If Client A
  605.     is behind a SOCKS firewall, it sends a connection request to it.
  606.  
  607.  
  608.     DCC Send Passive Protocol:
  609.  
  610.     Client A, initiating the DCC Send, sends the passive connection request
  611.     below to Client B. The port is set to zero, and the id number is a unique
  612.     integer identifying the connection:
  613.  
  614.     DCC SEND filename address port filesize id
  615.  
  616.     If Client A is behind a firewall, the address is the ip address of its
  617.     SOCKS firewall.
  618.  
  619.     Client B receives the message and sets up a listening socket, and sends
  620.     the IP address and port back to Client A, specifying the id number that
  621.     identifies Client A's request:
  622.  
  623.     DCC SEND filename address port filesize id
  624.  
  625.     If Client B is behind a SOCKS5 firewall, it requests a listening socket
  626.     from the SOCKS5 firewall and specifies Client A's IP address as the
  627.     binding address.
  628.  
  629.     Client A then proceeds to connect to this address to begin the transfer.
  630.     If Client A is behind a SOCKS firewall, it sends a connection request
  631.     to it.
  632.  
  633.     Nb. The DCC Resume and Accept protocols in mIRC are also extended by
  634.     adding the id number to the end of the CTCP message, but otherwise work
  635.     in exactly the same way.
  636.  
  637. 137.Fixed on input bug with chat/fserve windows. Can specify = for matching
  638.     chat events and ! prefix for fserve events, same as on open/close.
  639. 138.Fixed bugs in $calc() identifier.
  640. 139.Changed the way tooltips are displayed, there is now a small delay
  641.     before a tooltip appears.
  642. 140.Fixed bug in /if handling of multiple parameters, eg.:
  643.  
  644.     if (a b c == a b c) echo yes | else echo no
  645.  
  646.     This will only work if your /if is specified using () brackets around
  647.     parameters, or {} around the commands following the /if, so that the
  648.     conditional clause is fully specified.
  649.  
  650. 141.Added support for certain Efnet TS4 features.
  651.  
  652.     mIRC will now process TS4s new mode +h for helper users on a channel,
  653.     for nicknames prefixed with a %.
  654.  
  655.     Also added new script events and identifiers:
  656.  
  657.     on 1:HELP/DEHELP:#:echo I just helped/dehelped $hnick
  658.  
  659.     $hnick() and $nhnick(), same as $opnick()/etc.
  660.  
  661.     Also added a new /if comparison "ishelp".
  662.  
  663.     Extended $comchan() properties to: .op, .voice, .help
  664.  
  665. 142.Can now select the background more easily in the Colours dialog.
  666. 143.Can now specify a named address when initiating a DCC Send/Chat/Fserve
  667.     in the /dcc command or in the DCC Send/Chat dialogs.
  668. 144.Changed kick/part events routines so that the nickname that is parting
  669.     or being kicked is only removed from the channels nickname list and the
  670.     IAL *after* scripts are processed, allowing you to access these users
  671.     settings.
  672.  
  673.     You can use the /updatenl command to force the nicknames list and IAL
  674.     to update immediately during an on kick/part/quit script event.
  675. 145.Can now force a /sockread to read incoming characters into a %variable
  676.     even if the incoming line does not contain a CRLF.
  677.  
  678.     /sockread -f %var
  679.  
  680. 146.Extended $? input identifier, the dialog will expand vertically to
  681.     accomodate longer questions, and if you use $?* then text will appear
  682.     as ***** to prevent anyone seeing what you're typing.
  683.  
  684.     If you use $?! then a Yes/No dialog will appear without an editbox,
  685.     it will return $true or $false depending on whether the user clicks on
  686.     Yes or No respectively.
  687.  
  688.     You can make text appear on different lines by using $crlf identifier
  689.     to separate lines, eg.
  690.  
  691.     //echo $?="For example: $crlf $+ This is on the 2nd line."
  692.  
  693. 147.I changed the version checking method slightly to recognize NT 5.0.
  694. 148.Fixed bug with $().property processing getting confused by %variables
  695.     with . in their name.
  696. 149.Added $crlf identifer, returns CRLF characters.
  697. 150.Added $sreq and $creq identifiers, return current /sreq and /creq settings
  698.     for DCC Get/Chat respectively (return ask, auto, or ignore).
  699. 151.Fixed /drawtext command and $width() identifier so they now work with the
  700.     same measurements correctly.
  701.  
  702.     If no clipping area is specified in /drawtext, the command should only
  703.     affect the area around the text, whereas before it was affecting most
  704.     of the window.
  705.  
  706. 152.Added $height(text,font,size) returns height of text in pixels for the
  707.     specified font and fontsize.
  708. 153.Aded /timer -e switch which executes the specified timer name immediately
  709.     if it exists.
  710. 154.Fixed /copy changing filenames to lower case. This only works in the
  711.     32bit mIRC, the 16bit is still limited. The original case of the filenames
  712.     is now retained.
  713. 155.When saving the buffer of a query window, the users nickname and address
  714.     are placed at the top of the buffer, if they are available.
  715. 156.Fixed bug in Editor dialog where aliases were getting overwritten by the
  716.     variables section in certain situations.
  717. 157.You can now save a channel window position as maximized/minimized.
  718. 158.Added $os identifier, returns operating system version 95 or 3.x.
  719. 159.Fixed /sline bug changing the colour of a listbox item when all you wanted
  720.     to do was select/deselect the line without changing it's colour.
  721. 160./splay no longer halts a script if the sound can't be found or played.
  722. 161.Fixed =$nick evaluating to just $nick when used outside of a remote
  723.     event. It worked correctly in remote events though.
  724. 162.Fixed -sg switches in loadbuf/savebuf commands.
  725. 163.Fixed bug where server password was not being set correctly when retrying
  726.     a connection if it failed/you were disconnected before.
  727. 164.Fixed bug with $script/$scriptdir not evaluating properly in some cases.
  728. 165.Fixed Channel central channel key handling, correctly unsets/sets a channel
  729.     key now if you are changing an existing channel key.
  730. 166.Added a fix for undernet ircd behaviour regarding channel keys. Here is how
  731.     the new undernet ircd works now:
  732.  
  733.     If you join a channel with a key, the server will NOT send you the channel
  734.     key to display in the channel window titlebar.
  735.  
  736.     If an Op changes the channel key while you are on the channel, the server
  737.     will send you the channel key and mIRC will display it in the titlebar
  738.     even if you *aren't* an Op.
  739.  
  740.     You can only retrieve the channel key after you have become an Op on the
  741.     channel.
  742.  
  743.     If someone Ops you on a keyed channel and you don't have the channel key
  744.     yet, mIRC sends a /mode #channel to retrieve it so it can display it in
  745.     the channel window titlebar automatically.
  746.  
  747.     The undernet ircd now sends a +k without specifing the key in the above
  748.     situation, so be aware that you can now have +k but no key. You should no
  749.     longer assume that doing a /mode #channel will get you the full info on
  750.     undernet servers. mIRC will show a +k without a key in the titlebar. 
  751.  
  752.     mIRC can no longer rejoin a keyed channel automatically in the above
  753.     situation if a) you have "rejoin on kick" turned on, or b) you have
  754.     "rejoin on disconnect" turned on.
  755.  
  756. 167.Fixed bug in Installation program which was causing it to fail in
  757.     certain situations.
  758. 168.Fixed bug in INI file saving routine which was preventing INI files from
  759.     being updated properly in certain situations ie. in a network environment,
  760.     where the mIRC EXE is not in the same HD/Directory as the INI files.
  761. 169.Fixed line hilighting bug, lines were sometimes being hilighted in the
  762.     wrong situation.
  763. 170.Fixed bug in on OPEN/CLOSE events.
  764.  
  765. 04/01/98 - mIRC v5.31
  766.  
  767. Fixes/Additions:
  768. 1.Fixed Alt-Gr keyboard bug.
  769. 2.Fixed toolbar button display bug.
  770. 3.Fixed min/max/close buttons in maximized windows (?)
  771. 4.Fixed bug in random port selection routine which was resulting
  772.   in DCCs freezing if your IP address was incorrect.
  773. 5.Fixed certain keys not working if all windows in mIRC are
  774.   minimized.
  775. 6.Fixed sorting bug in sorted text @windows.
  776. 7.Fixed bug in remote identifier processing.
  777. 8.Fixed /aline/iline/etc. commands scrolling text when adding a
  778.   line when at the bottom of the text buffer.
  779. 9.Fixed wave sounds not playing for people whose computers don't
  780.   have full wave/midi support, but $inwave and the on waveend
  781.   event won't work in this case.
  782. 10.Fixed $show not being set correctly if . is used in a command
  783.    that's part of an if statement.
  784. 11.Fixed isletter.
  785. 12.Fixed $dir/$file/etc. identifiers bug when using a description
  786.    enclosed in quotes, wasn't evaluating following identifier.
  787. 13.Fixed dcc get extensions application bug under win3.x.
  788. 14.Fixed channel not being parted bug when a channel window is closed
  789.    while mIRC is iconified in the taskbar.
  790. 15.Changed Help menu display of .txt and .hlp files, they're now
  791.    separated into their own popup menus for more room, and mIRC won't
  792.    limit the number of items that are displayed.
  793. 16.Added $width(text,font,size,B,C) identifier, returns width of text
  794.    in pixels for the specified font and fontsize. If B is not zero then
  795.    text is in bold, if C is not zero then it interprets colour codes.
  796. 17.Fixed /sound display bug, was showing channel info when a channel
  797.    name wasn't specified.
  798. 18.Fixed /filter bug.
  799. 19.The Alt+1...9 key combination now minimizes a window if it is
  800.    currently the active window.
  801. 20./sockwrite now won't let you queue > 8192 bytes per socket.
  802. 21.Fixed a $+ bug when used inside [ ] brackets.
  803. 22.Added "Include nicks" option in Options/Perform dialog makes
  804.    highlight option search nicknames in a message.
  805. 23.Fixed bug in $?="...", the "..." wasn't being parsed correctly.
  806. 24.Fixed $readini bug when reading commands separated by |.
  807. 25.Can now create smaller windows eg. for picture windows.
  808. 26.Fixed buffer bug in socket handling.
  809. 27.If a user doesn't have a .wav or .mid dcc get directory association,
  810.    mIRC now sets one up so downloaded .wav and .mid files go straight
  811.    into the sounds directory so they can be used immediately with
  812.    /sound and /splay.
  813. 28.Fixed on close event bug, closing a @window was triggering an on
  814.    close:?: query event.
  815. 29.$count() now returns 0 if the second string is longer.
  816. 30.Added $bits identifier, returns 16 or 32 indicating the 16bit or
  817.    32bit version of mIRC.
  818. 31./window -a now shows a window that was hidden with /window -h.
  819. 32.Fixed $address identifier for a dcc chat in on DCC SERVER event.
  820.  
  821. 13/12/97 - mIRC v5.3
  822.  
  823. Fixes/Additions:
  824. 1.Fixed DDE bug, can now use DDE intensively in remote scripts
  825.   without problems.
  826. 2.Fixed /font bug.
  827. 3.Fixed finger tooltip.
  828. 4.Fixed multiple-line pasting and handling by a script.
  829. 5.Fixed Fserve max. downloads per user bug.
  830. 6.Fixed DCC Get directory listbox not having a scroll bar.
  831. 7.Default drag-drop settings changed from using $2 to $2- to
  832.   handle long file names.
  833. 8.URL catcher now catches @ characters in URLs as well.
  834. 9.Fixed @windows not defaulting to status window font.
  835. 10.The . prefix now makes /play quiet.
  836. 11.Fixed DCC Send dialog bug which was causing mIRC to exit for
  837.    some people (?)
  838. 12.Fixed problem with mIRC not running under non-English versions
  839.    of windows (was still having problems with certain languages).
  840. 13.Fixed tabbed dialogs display bug with large system font.
  841. 14.Can now echo to dedicated query window with /echo -d switch.
  842. 15.Fixed channel/private message text-wrapping bug.
  843. 16.Fixed /stats wrapping bug.
  844. 17.on NOSOUND is no longer tied to the "Warn if sound doesnt exist"
  845.    switch in options dialog, it triggers anyway.
  846. 18.Fixed /dline gpf bug when specifying a range of lines.
  847. 19.Added -a switch to /savebuf, appends text to end of file.
  848. 20./loadbuf now loads text faster into normal (not custom) windows.
  849. 21.Can now specify the filename for the channels list file in the
  850.    list channels dialog.
  851. 22.Fixed editbox focusing problem with when switching to/from
  852.    desktop windows.
  853. 23.[removed]
  854. 24.Highlight in Options/perform dialog now checks only the text
  855.    portion of a message and ignores the nickname.
  856. 25.Added auto-tile option.
  857. 26.Changed auto-tile/cascade/arrange method... these are now only
  858.    applied when a window is first opened, when it's closed, or when
  859.    the main mIRC window is resized.
  860. 27.Fixed notify popup menu problem when notify window first pops
  861.    up on connect.
  862. 28.Added /filter command, allows filtering of information.
  863.  
  864.    /filter [-sdfwxnp] <infile> <outfile> <matchtext>
  865.  
  866.    The infile can be a filename or a window name (custom or normal).
  867.    The outfile can be a filename or a custom window name. You should
  868.    specify the -fw switches if the names are ambiguous eg.
  869.  
  870.    /filter -ff in.txt out.txt *mirc*
  871.  
  872.    This indicates that both are filenames, and:
  873.  
  874.    /filter -wf #in.txt #out.txt *help*
  875.  
  876.    indicates that the first is actually a window name, and the
  877.    second is a filename.
  878.  
  879.    The -x switch excludes matching lines.
  880.    The -n switch prefixes lines with a line number.
  881.    The -s switch makes the status window the infile.
  882.    The -d switch makes the dedicated message window the infile.
  883.    The -p switch wraps the text output in a custom window
  884.  
  885. 29.Added on WAVEEND event, works the same as on MIDIEND. Also added
  886.    $inwave which returns $true/$false if currently playing a wave.
  887. 30.Added -qwm switches to /splay command. The -q switch allows you
  888.    to queue wav and mid sounds for playing. The -wm switches are
  889.    used in conjunction with /splay -wm stop, and allow you to specify
  890.    whether you want to stop waves, mids, or both playing.
  891. 31.The Notify list now queues sounds if several notify users have
  892.    an associated sound.
  893. 32.Fixed scrollbars bug in channel windows.
  894. 33.Fixed scrollbar display bug when changing fonts.
  895. 34.Added filename editbox to dcc send dialog.
  896. 35.Fixed /pdcc range.
  897. 36.Can now use $server(address) to look up server info, also speeded
  898.    up $server() identifier.
  899. 37.Now only uses one toolbar button for connect/disconnect.
  900. 38.If you right-click on the Setup dialog toolbar button, a popup
  901.    menu of your top 15 irc servers is displayed.
  902. 39.Fixed notify bug.
  903. 40.Added $appactive, returns $true if mIRC is the active application,
  904.    $false if it isn't.
  905. 41.$script() no longer includes variables and users.
  906. 42.Implemented new indexing method for aliases/scripts, processing
  907.    should be much faster, especially when many files are loaded.
  908. 43./remove can now handle LFNs.
  909. 44.Added "show topics in channel" switch to options dialog.
  910. 45.Added -uN switch to /set command, where N is the number of seconds
  911.    delay before the specified variable is /unset.
  912. 46./.ignore -u is now completely quiet.
  913. 47.Changed behaviour of /notify.
  914. 48.Added internal ctcp version flood protection.
  915. 49./timers can now be given names as well as numbers.
  916. 50.Actions now trigger the on QUERYOPEN event if a window isn't open,
  917.    and fixed bug relating to remote handling of invalid actions.
  918. 51.Fixed lines sometimes being highlighted incorrectly.
  919. 52.Added nick completion with TAB key in a channel window editbox.
  920.    If the editbox is empty and the TAB key is pressed it works as
  921.    before (places /msg nickname in editbox).
  922. 53.[removed]
  923. 54.Fixed font dialog bug.
  924. 55.Fixed channel nickname selection bug with popups.
  925. 56.Fixed /sline bug not working with &+ channels.
  926. 57.Added -@ switch to /close command for closing custom windows.
  927. 58.Fixed /savebuf bug when used with an empty text window.
  928. 59.Added /flash [-wb] <text> command, which flashes the mIRC icon/window
  929.    with the specific text in the titlebar, but only if mIRC is not the
  930.    active window. The -b switch makes mIRC beep every second, the -w
  931.    switch makes mIRC play the Flash sound specified in the Event Beeps
  932.    dialog.
  933.  
  934.    Also added Flash option in windows system menu for channel and
  935.    private windows.
  936. 60.The mIRC icon/window is now flashed if mIRC is not the active
  937.    window and it receives a private or channel message that triggers
  938.    the highlight option in the perform section.
  939. 61.If text specified with the /editbox command contains a linefeed
  940.    character, it is entered into the editbox and immediately processed
  941.    as if you had entered it and pressed the enter key.
  942. 62.Changed ctcp event format to:
  943.  
  944.    ctcp level:matchtext:*|#|?:commands
  945.  
  946.    This allows you to differentiate more easily between channel and
  947.    private ctcps. The old format is still handled.
  948. 63.Fixed /server remembering previous server connection info.
  949. 64.While connecting or retrying a connection, the connect/disconnect
  950.    toolbar button remains in the disconnect state.
  951. 65.Added "Highlight" and "Flash" sound settings in the Event Beeps
  952.    dialog. These allow you to specify the sounds that will be played
  953.    for the highlight/flash options in the Perform dialog.
  954. 66.Added .path property to $send() and $get() for a file's directory
  955.    path.
  956. 67.Implemented new indexing method for variables.
  957. 68.Added quick colour index dialog that pops up when Control-K is
  958.    pressed, can be turned on/off in Options/Extras dialog.
  959. 69.Changed $pos() to include start search from Nth character. The
  960.    old format is still handled.
  961.  
  962.    $pos(string, substring, N)
  963.  
  964.    If N is zero $pos() will return the number of times substring
  965.    appears in string.
  966.  
  967. 70.Now using one routine for reporting the most common errors, and
  968.    the majority of commands now report a filename and line number
  969.    for an error.
  970. 71.Added properties to $notify() .note, .sound, .whois, and can now
  971.    specify either a number or a nickname parameter.
  972. 72.Added /rename <filename> <newfilename> command. Can also be used
  973.    to move files from one directory to another.
  974. 73.Added -b switch to /font command to specify a bold font.
  975. 74.Added -p switch to /aline, /iline, and /loadbuf, forces lines of
  976.    text to wrap when added to a custom window.
  977. 75.Added /linesep [-s|window] command to print line separator.
  978. 76.Added /copy <filename> <filename> command. You can use wildcards
  979.    for the source, and a directory name for the destination.
  980. 77.Added $show identifier, returns $false if a command/alias is
  981.    prefixed with a . to make it quiet, otherwise returns $true.
  982. 78.Added "try next server in group" switch in Setup/options dialog,
  983.    works in conjunction with the retry option.
  984. 79.Added on DCCSERVER event, triggers on a DCC Server connection,
  985.    and allows you to /halt the connection.
  986.  
  987.    on 1:DCCSERVER:Chat|Send|Fserve:echo $nick $address $filename
  988.  
  989. 80.Removed support for /msg #@channel for Undernet servers.
  990. 81.Can now use === comparison in if statement for case sensitive
  991.    comparisons.
  992. 82.Added -f switch to /log command, allows you to specify a filename.
  993.    
  994.    /log <on|off> <window> [-f filename]
  995.  
  996. 83.Added -l switch to alias prefix in scripts, makes an alias in a
  997.    remote script local to the script, so it can only be called by
  998.    events from within that script. It is invisible to all other
  999.    aliases, scripts, and the command line.
  1000.  
  1001.    alias [-l] aliasname { commands }
  1002.  
  1003. 84.Fixed dclick bug with text/listbox windows.
  1004. 85.Fixed bug with menubar definitions in scripts not appearing in
  1005.    menubar if there isn't a Popup for the menubar defined in the
  1006.    Popups dialog.
  1007. 86.Fixed bug in url/email catcher, url catcher now also ignores
  1008.    addresses that are too short.
  1009. 87.Added "copy all" button to /uwho dialog.
  1010. 88.Added $sdir identifier, pops up a directory selection dialog.
  1011. 89.Can now specify the range of port numbers used by DCC in the
  1012.    DCC Options dialog.
  1013. 90.Extended "!nick filename" feature so that it supports .mp3 files.
  1014.    (note: mIRC can't play .mp3 files itself).
  1015. 91.Added $colour(name) identifier, returns colour index N of the
  1016.    specified custom colour. You can use the name of the custom colour
  1017.    eg. $colour(action text). If you don't specify the full name the
  1018.    first partial match is returned eg. $colour(action)
  1019. 92.Modified line-handling commands/identifiers to treat wrapped lines
  1020.    as a single line.
  1021. 93.Changed /dns queuing method so that it only attempts to resolve
  1022.    an address once a previous one has finished resolving, and fixed
  1023.    a bug when trying to use /dns from within an on dns event.
  1024. 94.Added -inx switches to /join, -i joins the last channel to which
  1025.    you were invited. The -n switch minimizes, and -x maximizes, the
  1026.    channel window when you join it.
  1027. 95.[removed]
  1028. 96.Fixed popups display bug when using certain combinations of
  1029.    submenu definitions.
  1030. 97.Extended dclick prefix in script menus so that it can handle
  1031.    multiple lines etc.
  1032. 98.Added -uN switch to /inc and /dec, this increases/decreases the
  1033.    specified variable by 1 (and only one) every second, for N seconds,
  1034.    and then unsets the variable.
  1035. 100./write, /writeini, /remini, $read, and $readini now handle long
  1036.     filenames enclosed in quotes.
  1037. 101.Added binary variable/file commands.
  1038.  
  1039.     /bread <filename> <bytepos> <numbytes> <&binvar>
  1040.     /bwrite <filename> <bytepos> [numbytes] <text|%var|&binvar>
  1041.  
  1042.     $bvar(&binvar,N)
  1043.  
  1044.     If N is 0, returns the length of the binary variable, otherwise
  1045.     returns the ascii number of the Nth character.
  1046.  
  1047.     /bset <&binvar> <bytepos> <asciivalue>
  1048.  
  1049.     If you try to /bset a variable that doesnt exist, it is created
  1050.     and zero filled up to <bytepos>. If &binvar exists and you specify
  1051.     <bytepos> beyond it's current size, it is extended to <bytepos>
  1052.     bytes.
  1053.  
  1054.     Note:
  1055.     1.If a bytepos of -1 is used with /bwrite, the info is appended
  1056.       to the end of the file.
  1057.     2.&binary variables can ONLY be accessed by certain commands
  1058.       (only bread and bwrite for now) so they can't be printed or
  1059.       assigned or edited.
  1060.     3.&binary variables are temporary - they are destroyed when a
  1061.       script finishes processing.
  1062.     4.Max numbytes is 4096.
  1063.  
  1064. 102.Added -eiN switches to /echo command. The e switch encloses the
  1065.     printed text in line separators. The -iN switch indents the
  1066.     wrapped line by N characters.
  1067. 104.$strip() now also removes leading spaces.
  1068. 105.Fixed /if bug.
  1069. 106.Added -m switch to /timer command, uses a millisecond timer.
  1070.     Note: millisecond timers can slow mIRC down significantly because
  1071.     each timer can trigger many times per second and is processed
  1072.     individually, whereas non-millisecond timers are only processed
  1073.     once per second in one batch.
  1074. 107.Added support for raw socket connections.
  1075.  
  1076.     $sock(name,N).name,.port,.ip,.status,.sent,.rcvd,.sq,.rq,.ls,.lr,.mark
  1077.  
  1078.       .name is the name you give to a connection to identify it.
  1079.       .sent and .rcvd return the number of bytes sent and rcvd
  1080.        over that connection so far.
  1081.       .sq and .rq return the number of bytes queued in the send
  1082.        and receive buffers respectively (see below for more info).
  1083.       .ls and .lr return the number of seconds since the connection
  1084.        last sent and last received info.
  1085.       .mark is a user storage area max. 512 bytes (see /sockmark)
  1086.  
  1087.        Note: you can use a wildcard name to quickly reference only
  1088.        matching entries. The N parameter is optional, if it isn't
  1089.        specified it is assumed to be 1.
  1090.  
  1091.     $sockname
  1092.  
  1093.       $sockname is the name given to a connection to identify
  1094.       it. This identifier can be used in events to know which
  1095.       connection an event is related to.
  1096.  
  1097.     $sockerr
  1098.  
  1099.       $sockerr is set to a value after each socket command/event
  1100.       and *must* be checked after each socket command and before
  1101.       processing an event to see if an error occurred.
  1102.  
  1103.     $sockbr
  1104.  
  1105.       $sockbr is set to the number of bytes read by a /sockread
  1106.       command. It is used to test whether any information was
  1107.       in fact read from the buffer (see below for more info).
  1108.  
  1109.     $portfree(N)
  1110.  
  1111.       returns $true if the specified port number is not in use,
  1112.       otherwise returns $false.
  1113.  
  1114.     /socklisten <name> [port]
  1115.  
  1116.       The /socklisten command listens on the specified port for
  1117.       connections to that port. If a port isn't specified, the
  1118.       port is selected randomly from the range specified in the
  1119.       DCC Options dcc ports section.
  1120.  
  1121.     on 1:socklisten:name:commands
  1122.  
  1123.       The socklisten event is triggered when someone tries to
  1124.       connect to a port that you are listening on. If you want to
  1125.       accept the connection you *must* do it in this event using
  1126.       the /sockaccept command, otherwise the connection is closed.
  1127.  
  1128.     /sockaccept <name>
  1129.  
  1130.       The /sockaccept command accepts the current connection to your
  1131.       listening port and assigns it a name to identify it.
  1132.  
  1133.     /sockrename <name> <newname>
  1134.  
  1135.       The /sockrename command assigns a new name to an existing
  1136.       connection.
  1137.  
  1138.     /sockopen   <name> <address> <port>
  1139.  
  1140.       The /sockopen commands initiates a connection to the specified
  1141.       address and port. You can specify either an ip address or a 
  1142.       named address (which will be resolved to an ip address).
  1143.  
  1144.     on 1:sockopen:name:commands
  1145.  
  1146.       The sockopen event is triggered when a /sockopen command is
  1147.       successful and a connection has been made.
  1148.  
  1149.     /sockclose  <name>
  1150.  
  1151.       The /sockclose command closes the connection with the specified
  1152.       name. If you specify a wildcard name, all connections that match
  1153.       the wildcard are closed.
  1154.  
  1155.     on 1:sockclose:name:commands
  1156.  
  1157.       The sockclose event is triggered when a connection is closed
  1158.       by the remote connection (not you).
  1159.  
  1160.     /sockwrite [-tn] <name> <text|%var|&binvar>
  1161.  
  1162.       The /sockwrite command queues info to be sent on the specified
  1163.       connection. mIRC will then try to send that info as quickly as
  1164.       it can. Once it has finished sending the info, it triggers the
  1165.       on sockwrite event so you can send more info if you need to.
  1166.  
  1167.       If you specify the -t switch, it forces mIRC to send anything
  1168.       beginning with a & as normal text instead of interpreting it
  1169.       as a binary variable. The -n switch appends a CRLF to the line
  1170.       being sent if it's not a &binvar and if it doesn't already have
  1171.       a CRLF.
  1172.  
  1173.       Note: you can use a wildcard name to send the same information
  1174.       at once to all connections that match the wildcard.
  1175.  
  1176.     on 1:sockwrite:name:commands
  1177.  
  1178.       The sockwrite event is triggered when mIRC has finished sending
  1179.       all of the info which you previously queued for sending.
  1180.  
  1181.       Note: if you try to /sockwrite while there is still info
  1182.       queued in the send buffer, your new info will just be added
  1183.       to the end of the queue. You can find out how much info is
  1184.       currently queued by using $sock().sq (send queue).
  1185.  
  1186.     on 1:sockread:name:commands
  1187.  
  1188.       The sockread event is triggered when there is info waiting to
  1189.       be read on the specified connection. You can read this info
  1190.       using the /sockread command.
  1191.  
  1192.       Note: If this event triggers but no /sockread is performed
  1193.       to attempt to read the buffer, it is assumed that no script
  1194.       exists that is handling this buffer, so it is cleared and the
  1195.       info it contained is lost.
  1196.  
  1197.     /sockread [numbytes] <%var|&binvar>
  1198.  
  1199.       The /sockread command reads bytes from the receive buffer into
  1200.       the specified variable.
  1201.  
  1202.       If you specify a %var variable, a line of text ending with a
  1203.       Carriage Return/LineFeed is read into %var. The CRLF are
  1204.       stripped off (this may result in %var being $null if the line
  1205.       only consisted of CRLF).
  1206.  
  1207.       If you specify a &binvar then [numbytes] of info is read into
  1208.       the binary variable. If no [numbytes] is specified it defaults
  1209.       to 4096 bytes.
  1210.  
  1211.       Note: a single /sockread may not be enough to read the entire
  1212.       buffer. You should keep reading until $sockbr (bytes read) is
  1213.       set to zero. This is far faster than letting mIRC re-trigger
  1214.       the event. If your script doesn't read the whole buffer, the
  1215.       on sockread event is re-triggered if:
  1216.         a) you were reading into a &binvar.
  1217.         b) you were reading into a %var and there is still a CRLF
  1218.            terminated line in the buffer waiting to be read.
  1219.  
  1220.     /sockmark <name> [text]
  1221.  
  1222.       The /sockmark command fills the .mark attribute of a socket with
  1223.       the specified info for later reference via the $sock().mark
  1224.       property. If you do not specify any text, the mark is cleared.
  1225.  
  1226.       Note: you can use a wildcard name to set the same information
  1227.       at once for all connections that match the wildcard.
  1228.  
  1229. 108.Changed handling of filenames that don't have a fully specified
  1230.     path. If a filename has a directory specified with no drive, it is
  1231.     assumed to be in a subdir of the mIRC directory. If it has no drive
  1232.     or directory, it is assumed to be in the mIRC directory.
  1233. 109.Fixed /cd into a filename in fileserver.
  1234. 110.Implemented new indexing method for IAL.
  1235. 111.Added $ial identifier, returns $true/$false if ial is on/off.
  1236. 112.Added two new tokens:
  1237.  
  1238.       $deltok(text,N,C)        deletes Nth token
  1239.       $puttok(text,token,N,C)  overwrites Nth token
  1240.  
  1241.     Extended $find/rem/reptok() so you can specify the Nth matching
  1242.     token. The old formats are still handled.
  1243.  
  1244.       $findtok(text,token,N,C)     finds Nth matching token
  1245.       $remtok(text,token,N,C)      deletes Nth matching token
  1246.       $reptok(text,token,new,N,C)  overwrites Nth matching token
  1247.  
  1248. 113.Fixed Mdi/Desktop options bug.
  1249. 114.The # character is now equivalent to $chan in remote events.
  1250. 115./ulist now displays results in current window.
  1251. 116.Specifying zero for the N parameter in $mid(text,S,N) now returns
  1252.     the number of characters from S to the end of the line.
  1253. 117.Extended the /window command with the following switches:
  1254.  
  1255.     /window [-abcdefhl[N]norsx] [-tN,..,N] [+bfmnstx] etc...
  1256.  
  1257.     -f   indicates that [w h] width and height is the required size
  1258.          of the text/graphic display area instead of the window size.
  1259.  
  1260.     -h   hides the custom window (only appears in Windows list).
  1261.  
  1262.     -lN  specifying a number after the l listbox switch now creates
  1263.          a custom window with a listbox N characters wide on the
  1264.          side (like a channel window).
  1265.  
  1266.          Note: The -l switch can be used in custom window related
  1267.          commands eg. aline, to reference this listbox.
  1268.  
  1269.          You can use $line(@name,N,T) where T is 0 if you are referring
  1270.          to the text display or 1 if you are referring to the listbox.
  1271.          The old format $line(@name,N) is still supported.
  1272.  
  1273.     [-tN,..,N] specify tabstops (in characters) for a listbox window. If
  1274.     you add text which contains tabs to the listbox, the text is aligned
  1275.     according to these tabstops.
  1276.  
  1277.     [+bfnstx] modifify the window appearance.
  1278.  
  1279.          b = border
  1280.          f = dialog frame
  1281.          n = minimize box
  1282.          s = sizable
  1283.          t = titlebar
  1284.          x = maximize box
  1285.  
  1286. 118.Added /resetidle command to reset $idle timer to 0.
  1287. 119.on INPUT event can now use wildcard text for window name.
  1288. 120.Added Close Window Alt+Z menu item to Window menu.
  1289. 121.Added new on OPEN/CLOSE event which triggers when a window is opened
  1290.     or closed. The behaviour of this event is slightly different depending
  1291.     on the type of window.
  1292.  
  1293.     on 1:OPEN:?|@|=|!|*:echo opened $target
  1294.     on 1:CLOSE:?|@|=|!|*:echo closed $target
  1295.  
  1296.     Channels:    are not handled by these events, they are handled by
  1297.                  the on JOIN/PART events.
  1298.  
  1299.     Queries:     on OPEN triggers if an incoming message is about to
  1300.                  open a new query window.
  1301.                  on CLOSE triggers if you close a query window.
  1302.  
  1303.     Chat/Fserve: on OPEN triggers when a connection is made.
  1304.                  on CLOSE triggers when a connection is closed.
  1305.  
  1306.     Custom:      on OPEN never triggers since you manually open a
  1307.                  /window anyway.
  1308.                  on CLOSE triggers if you close a custom window.
  1309.  
  1310.     Note: on CHATOPEN/CHATCLOSE/QUERYOPEN/QUERYCLOSE/SERVOPEN/SERVCLOSE
  1311.           events are now obsolete, if you load a script that uses them
  1312.           mIRC will (try to) translate them into the new format.
  1313. 122.Added -h switch to /echo command which forces text to hard wrap.
  1314. 123.Specifying line 0 with $read eg. $read -l0, now returns the value of
  1315.     the first line if it is a number.
  1316. 124.Fixed remote identifiers not evaluating inside custom identifiers.
  1317. 125.Added faster indexing for menu {} definitions in scripts.
  1318. 126.The Text editor now warns you if it was unable to display the
  1319.     whole of a file in the editbox.
  1320. 127.Added -p switch to the /window command, opens a new type of custom
  1321.     window for displaying pictures/graphics/text/etc. See below for the
  1322.     commands/identifiers available for use with this window.
  1323.  
  1324.     /drawdot -ihnr @ <colour> <size> <x y> [<x y>...]
  1325.  
  1326.       Draws a dot in the specified colour and size at the specified
  1327.       x,y co-ordinates (multiple co-ordinates can be provided).
  1328.  
  1329.       The -i switch draws in inverse mode.
  1330.  
  1331.       The -h switch highlights the windows icon if it's minimized.
  1332.  
  1333.       The -n switch prevents the display from being updated immediately.
  1334.       You can specify any of the /draw commands with only a window name
  1335.       to update the display (allows you to make changes in the background
  1336.       and then display the result when you're finished).
  1337.  
  1338.       The -r switch indicates that the colour is in RGB format. You can
  1339.       use $rgb(N,N,N) to create an RGB value.
  1340.  
  1341.       You can clear the whole window with /clear @windowname.
  1342.  
  1343.     /drawline -inr @ <colour> <size> <x y> <x y> [<x y>...]
  1344.  
  1345.       This draws a line from the first <x y> co-ordinate to the second,
  1346.       if more co-ordinates are specified, the line is continued.
  1347.  
  1348.     /drawrect -ihnrfec @ <colour> <size> <x y w h> [<x y w h>...]
  1349.  
  1350.       This draws a rectangle of at the specified co-ordinates of the
  1351.       specified width and height. If more co-ordinates are specified
  1352.       these are also drawn as separate rectangles.
  1353.  
  1354.       The -f switch fills the rectangle with the current colour.
  1355.  
  1356.       The -e switch draws an Ellipse instead of a rectangle.
  1357.  
  1358.       The -c switch draws a focus rectangle.
  1359.  
  1360.     /drawfill -ihnrs @ <colour> <colour> <x y> [filename] [<x y>...]
  1361.  
  1362.       This fills an area with the specified colour starting at the
  1363.       specified co-ordinates.
  1364.  
  1365.       If the -s switch is specified, this means that the second colour
  1366.       parameter is the colour that should be filled. If no -s is
  1367.       specified, the second colour is the border colour at which filling
  1368.       should stop.
  1369.  
  1370.       The optional [filename] specifies a bitmap .BMP file that is
  1371.       8 by 8 pixels in size and is used as a fill pattern.
  1372.  
  1373.     /drawtext -hnrpboc @ <colour> [colour] [fontname fontsize] <x y [w h]> <text>
  1374.  
  1375.       This draws text at the specified co-ordinates.
  1376.  
  1377.       The -p switch processes and interprets colour/bold/etc. codes in
  1378.       the text.
  1379.  
  1380.       The -b switch indicates that you have specified a second colour
  1381.       as the background colour for the text.
  1382.  
  1383.       The -o switch means the specified font should be in bold.
  1384.  
  1385.       The -c switch means that you have specified the [w h] values as
  1386.       the rectangle in which text should be printed. Text will be
  1387.       clipped if it extends beyond this rectangle.
  1388.  
  1389.     /drawscroll -hn @ <x> <y> <x y w h> [<x> <y> <x y w h>...]
  1390.  
  1391.       This scrolls the region inside the specified rectangle. The first
  1392.       <x> and <y> parameters represent the distance to scroll and can
  1393.       be positive or negative.
  1394.  
  1395.     /drawcopy -ihnt @ [colour] <x y w h> @ <x y [w h]>
  1396.  
  1397.       This copies part of a picture to a different position in the
  1398.       same window or to another window. If the second [w h] parameters
  1399.       are specified, the picture is stretched/squeezed to fit.
  1400.  
  1401.       The -t switch indicates that you have specified a [colour] RGB
  1402.       value as a transparent colour in the source bitmap.
  1403.  
  1404.     /drawpic -ihntsc @ [colour] <x y [w h]> [x y w h] <filename>
  1405.  
  1406.       This loads and draws a Bitmap .BMP picture at the specified
  1407.       co-ordinates. If the first [w h] are specified, it is stretched
  1408.       or squeezed to fit. The second [x y w h] rectangle specifies
  1409.       which portion of the loaded bitmap should be displayed ie. a
  1410.       bitmap could contain multiple pictures.
  1411.  
  1412.       The -t switch indicates that you have specified a [colour] RGB
  1413.       value as a transparent colour in the specified bitmap.
  1414.  
  1415.       The -s switch indicates that you have specified the first [w h]
  1416.       parameters (as explained above) to squeeze/stretch the bitmap.
  1417.  
  1418.       The -c switch indicates that the bitmap should be CACHED. This
  1419.       greatly speeds up subsequent references to this bitmap. If you
  1420.       specify -c and the bitmap is already in the cache, it is loaded
  1421.       and used from the cache, otherwise it is reloaded from the file.
  1422.       You can clear the entire cache with /drawpic -c.
  1423.  
  1424.       If you try to load and cache a bitmap and there are already 30
  1425.       bitmaps in the cache, the bitmap with the lowest reference count
  1426.       is freed and replaced by the new bitmap.
  1427.  
  1428.       If you try to load a bitmap and there isn't enough memory, mIRC
  1429.       repeatedly frees the least referenced bitmap and tries to load
  1430.       again.
  1431.  
  1432.     $pic(filename).size,width,height
  1433.  
  1434.       This returns the size, width, and height of a bitmap file.
  1435.  
  1436.     menu @ {
  1437.       mouse:/echo mouse moved at $mouse.x $mouse.y
  1438.       sclick:/echo single click at $mouse.x $mouse.y
  1439.       dclick:/echo double click at $mouse.x $mouse.y
  1440.       drop:/echo drag and drop at $mouse.x $mouse.y
  1441.     }
  1442.  
  1443.       The mouse event is triggered when you move a mouse inside a
  1444.       picture window. You can use the $mouse identifier (below) for
  1445.       the x and y position of the mouse.
  1446.  
  1447.       The sclick event is triggered when you click inside a picture
  1448.       window. It will trigger even if you double-click. The dclick
  1449.       event is triggered when you double-click inside a picture window.
  1450.  
  1451.     $mouse.x,.y,.key
  1452.  
  1453.       The $mouse identifier can be used in the mouse/click events.
  1454.       For $mouse.key you can use the & bitwise operator to check if
  1455.       the left button, shift key, and/or control key are pressed.
  1456.  
  1457.       eg. if ($mouse.key & 1) echo left button is pressed 
  1458.  
  1459.     $click(@,N).x,.y
  1460.  
  1461.       This stores a history of x,y clicks for a window. You can use
  1462.       /clear -c @ to clear the history of clicks for a window. If you
  1463.       use $click() with no properties it returns x y.
  1464.  
  1465.     $inrect(x,y,x,y,w,h)
  1466.  
  1467.       This returns $true if the point x y is in the specified rectangle,
  1468.       and $false if it isn't.
  1469.  
  1470.     $rgb(N,N,N)
  1471.  
  1472.       This returns an RGB value for use in the above commands. If you
  1473.       use only ONE parameter, it assumes it is an actual RGB value and
  1474.       returns N,N,N.
  1475.  
  1476.     $getdot(@,x,y)
  1477.  
  1478.       This returns the RGB value of the pixel at the specified position.
  1479.  
  1480. 128.Added Control-F Find text search dialog for use in text windows.
  1481. 129.Fixed /ignore -p ignoring a users actions to a channel instead of
  1482.     only in private messages.
  1483. 130.Fixed channel listbox selection bug, was leading to items in listbox
  1484.     being selected spuriously in certain situations.
  1485. 131.Added identifiers $sin(N), $asin(N), $cos(N), $acos(N), $tan(N),
  1486.     $atan(N), where N is in radians, $log(N), $sqrt(N).
  1487. 132.The channel name is now displayed in a CTCP if you received it via
  1488.     a channel message.
  1489. 133.Fixed Bold/underline/etc. bug in text display.
  1490. 134.Keyboard messages are now processed correctly for desktop windows.
  1491. 135.Fixed bug relating to messages being incorrectly highlighted.
  1492. 136.Added properties to $window(N/@) identifier, now includes:
  1493.  
  1494.     $window().x,y,w,h,dw,dh,bw,bh,mdi,title,state
  1495.  
  1496.     x,y    the left and top corner position
  1497.     w,h    the width and height of the window
  1498.     dw,dh  the width and height of the text/graphic display area.
  1499.     bw,bh  the width and height of the bitmap for a bitmap window
  1500.            this may not be the same size as the display area.
  1501.     mdi    $true if window is mdi, otherwise $false
  1502.     title  the text in the titlebar
  1503.     state  minimized/maximized/normal/hidden
  1504.  
  1505.     If you specify -1 as the window name, w and h will return
  1506.     the width and height of the screen.
  1507. 137.Fixed floating point number checking routine, was treating a
  1508.     single . as the value zero.
  1509. 138.Fixed conflicting shortcut keys in several dialogs.
  1510. 139.Added Minimize to Tray option in Extras dialog. This option is
  1511.     only available under win95 with the 32bit mIRC.
  1512.  
  1513.     If the option is unchecked, you can force mIRC to minimize to
  1514.     the tray by holding down the SHIFT key when you minimize mIRC.
  1515.  
  1516.     If the flash option is triggered, the icon flashes.
  1517.  
  1518.     If you right-click on the icon a popup menu with your current
  1519.     queries/channels appears, those that have a checkmark next to
  1520.     them have had their icons highlighted due to incoming messages.
  1521.     You can click a menu item to open the window.
  1522.  
  1523.     If you hold down the SHIFT key when you quit mIRC, the next time
  1524.     you run it, it will be minimized.
  1525.  
  1526. 140.Added $portfree(N) identifier, returns $true if the specified
  1527.     port number is not in use, otherwise returns $false.
  1528. 141./splay and notify can now handle LFN sounds.
  1529. 142.If you hold down the Control key when clicking on a windows tab
  1530.     in the switchbar, the window is minimized.
  1531. 143.Extended $maddress() so you can specify the Nth matching address,
  1532.     eg. $maddress(address,N). The old format is still handled.
  1533. 144.Fixed identd bug which was disabling identd in certain situations.
  1534. 145.If your directories for DCC Get, Logs or Sounds are the main mIRC
  1535.     directory, mIRC creates a download directory for dcc gets, and asks
  1536.     if you want a Logs/Sounds directory created for you. Existing .log
  1537.     or .wav and .mid files are moved from the main directory into their
  1538.     respective directories.
  1539. 146.Leading spaces are now stripped from a $read line.
  1540. 147.Added support for DALnets /nick <nickname> [password] command.
  1541. 148.Can now hold down Alt-Key while pressing enter in a multi-line
  1542.     editbox to enter separate lines.
  1543. 149.If you use /load to load a file that is already loaded, its
  1544.     contents are updated and its position in the processing order
  1545.     is maintained.
  1546. 150.Added /mkdir <dirname> and /rmdir <dirname> commands.
  1547. 151.Fixed bug in Identd, Finger, and DCC Servers which was causing
  1548.     them to miss incoming connections if many came in quickly at
  1549.     the same time.
  1550. 152.Lines in the channels list are now stripped of control codes
  1551.     before being scanned for the match text.
  1552. 153.Fixed file creation routines not setting the correct read/write
  1553.     file attributes in certain cases.
  1554. 154.If you /server <group> and the group doesn't exist, mIRC assumes
  1555.     it's an address without a domain and tries to connect to it.
  1556. 155.Fixed out of bounds number processing gpf bug, out of bounds
  1557.     error calculations now return $null.
  1558. 156.Fixed drag-drop bug.
  1559. 157.It is no longer possible to alias the /unload command.
  1560. 158.Can now press Alt+1...9 key combination to switch to the Nth
  1561.     window in the Window list. eg. Alt+1 is the status window. You
  1562.     can also use Alt+0 to switch to the main mIRC window from an
  1563.     mIRC desktop window.
  1564. 159.Fixed toolbar bug which was preventing keypresses from being
  1565.     processed when the tooltip was displayed.
  1566.  
  1567. 11/09/97 - mIRC v5.11
  1568.  
  1569. Fixes/Additions:
  1570. 1.Fixed problem with mIRC not running under non-English versions
  1571.   of windows (main reason for this bugfix release).
  1572. 2.Fixed version info in version tab in explorer.
  1573. 3.Removed support for IRCNets numeric 005 B:lines for this version.
  1574. 4.Now handles /privmsg with : prefixing the message.
  1575. 5.Fixed mIRC not evaluating certain identifiers if they were
  1576.   capitalized.
  1577. 6.Fixed $file/$hfile/etc. not using the specified directory.
  1578. 7.Fixed DCC Server socket not being closed properly on exit.
  1579. 8.Added $highlight identifier returns text in highlight editbox
  1580.   in options dialog.
  1581. 9.Fixed -h icon hilight bug for /aline etc. commands.
  1582. 10.Fixed /cline bug (?)
  1583. 11.Fixed default listbox text colour not being updated after
  1584.    changing it in colour dialog.
  1585. 12.When copying a URL to the clipboard from the URL popup menu,
  1586.    the cr/lf characters is not added if you're only copying a
  1587.    single URL.
  1588. 13.Fixed Alt+F4 appearing in minimized windows instead of Ctrl+F4.
  1589. 14.Fixed /describe =nick bug.
  1590. 15.Fixed $round().
  1591. 16.Fixed server connection retry when a connection fails.
  1592. 17.Fixed /remove bug.
  1593. 18.Fixed small finger server $ bug.
  1594. 19.Fixed toggling mdi/desktop status of window when it is minimized.
  1595. 20.Fixed $server in on disconnect event.
  1596. 21.Fixed Identd UserId being used instead of Email UserId when
  1597.    registering with IRC server.
  1598. 22.Fixed /unloading alias/script files bug, files are now saved if
  1599.    they have been changed before unloading.
  1600. 23.Changed server lookup method in local info dialog back to old
  1601.    method, the named address is resolved using /dns to look up the
  1602.    ip address.
  1603. 24.Fixed font bug in text display routines for windows/listboxes.
  1604. 25.Fixed bug when switching between multi/single-line editbox.
  1605. 26.Fixed shift-Dragdrop settings not being saved.
  1606. 27.Fixed offline dcc chat window closing even if "close window on
  1607.    dcc completion" option is not turned on.
  1608. 28.Fixed text-wrapping when displaying certain numeric events.
  1609.  
  1610. 28/08/97 - mIRC v5.1
  1611.  
  1612. Fixes/Additions:
  1613. 1.Fixed actions display bug.
  1614. 2.Fixed empty first line in alias halting script.
  1615. 3.Fixed small bug in !nick file.
  1616. 4.Fixed on DNS being triggered when events are turned off.
  1617. 5.Fixed remembering window position/size bug.
  1618. 6.Can now use {} in single-line definitions in popups, they are
  1619.   ignored by the {} parser.
  1620. 7.Fixed !nick file not working in dcc chats.
  1621. 8.Fixed sound requests bug, sound request filenames which contain
  1622.   a drive or directory specifier caused problems.
  1623. 9.Fixed line-wrap bug in minimized @custom window.
  1624. 10.The /part command sends a /part to the server as usual but now it
  1625.    also closes the specified channel window immediately.
  1626. 11.Fixed $inmidi returning true/false instead of $true/$false.
  1627. 12.Fixed Help menu bug, wasn't acknowledging selection sometimes.
  1628. 13.Fixed small bug in on NOSOUND event.
  1629. 14.Fixed /whois on a notify nick with an address specified.
  1630. 15.Fixed editbox losing focus when dragdropping a file on a window.
  1631. 16.Now allows you to clear a users notify sound setting and the
  1632.    dcc get directory application setting by clicking it's button.
  1633. 17.Now allows you to use /ban with an address, if you specify a wild
  1634.    card address, it is used as is. If you specify a full address, the
  1635.    address mask is applied to it.
  1636. 18.on SERVCLOSE now also triggers on a fileserver time-out, and both
  1637.    on SERVCLOSE and on CHATCLOSE trigger when you close a window
  1638.    manually.
  1639. 19.Fileserver allows cd into an LFN directory.
  1640. 20.Added $getdir(*.ext) returns download directory for filetype.
  1641. 21.Can now use /titlebar @window to change topic of custom window.
  1642. 22./run command no longer changes specified line to lower case.
  1643. 23.You can now specify a window name for the on INPUT event by
  1644.    using the format on 1:input:*/#/?/@:/commands.
  1645. 24.Added $alias(N/filename) and $script(N/filename) identifiers.
  1646. 25.On connecting, if mIRC doesn't receive a 375 (RPL_MOTDSTART)
  1647.    before recieving 372's (RPL_MOTD), it shows the 372's.
  1648. 26.Server IP Address lookup method is now different, it gets the IP
  1649.    address from the actual connection so it doesnt have to look it
  1650.    up, and after connecting it looks up the named address with a
  1651.    /userhost. For new IRCnet servers, mIRC uses the address in the
  1652.    numeric 001 when first connecting instead of /userhost.
  1653. 27.Fixed notify bug (?) previous method was causing problems, so have
  1654.    reverted to sending all notify lines immediately.
  1655. 28.Improved tabbed dialogs display, there should no longer be any
  1656.    flickering in the display.
  1657. 29.Modified some icons, also added an mIRC scripts icon.
  1658. 30.Fixed !nick filename bug which wouldn't work if a user specified a
  1659.    message after the filename.
  1660. 31.Added internal version info to exe.
  1661. 32.Changed display method of icons in switchbar buttons.
  1662. 33.Fixed com1, com2, etc. device bug (?)
  1663. 34.Added copy option to URL list popup menu.
  1664. 35.Send To option in URL list popup menu now doesn't send description
  1665.    of address if it's the same as the address.
  1666. 36.Added support for /locops.
  1667. 37.Fixed old parsing bug relating to positioning of : character, affects
  1668.    general server commands such as /wallops, /globops, /away, /stats,
  1669.    /who, /userhost, etc.
  1670. 38.Can now specify -n with /run to minimize a window.
  1671. 39.Added "All" button in replace text dialog.
  1672. 40.Can now specify a @window name in $findfile() as the Nth parameter
  1673.    and it will output list of matching files to @window if it exists.
  1674. 41.Fixed /fingering an IP address.
  1675. 42./.dns now hides output of dns results.
  1676. 43.Fixed bug in switchbar display when showing/minimizing windows.
  1677. 44.When the switchbar is turned on, minimizing URL and Notify windows
  1678.    is now the same as closing them.
  1679. 45.URL Catcher now catches email addresses.
  1680. 46.Improved method for closing down a connection, should prevent the
  1681.    problems with the computer hanging when disconnecting from a server.
  1682. 47.Added $window().titlebar property identifier.
  1683. 48.Improved memory usage of /dns, socks host, and finger routines.
  1684. 49.$address identifier can now be used to refer to the address in the
  1685.    titlebar of a query window.
  1686. 50.Added -a switch to /write command which appends the text to the
  1687.    specified line.
  1688. 51.Added /clipboard <text> command, copies text to the clipboard.
  1689. 52.Major decrease in DCC Send/Get memory usage. Also the /pdcc method
  1690.    has changed, should be faster now.
  1691. 53.Fixed logging switch in window system menu when changing to/from
  1692.    desktop/mdi window mode.
  1693. 54.Text @windows no longer wrap text.
  1694. 55.Can now /loadbuf a window's log file into its window.
  1695. 56.Added $query(nick).address which refers to the address in the query
  1696.    window titlebar. Note: this address could be incorrect and is not
  1697.    available until after you receive a message from the user.
  1698. 57.Fixed popup menu bug which was resulting in processing of lines
  1699.    following the end of a definition.
  1700. 58.If no dclick item is specified in a menu script, mIRC uses the
  1701.    /command definition of a @window for the double-click.
  1702. 59.Fixed /help passing parameters.
  1703. 60.Fixed on dns ip address bug.
  1704. 61.Added $ltimer identifier, returns number of last started timer.
  1705. 62.Added $email identifier, returns email address in setup dialog.
  1706. 63.Fixed any ctcpreply beginning with "PING" being interpreted as
  1707.    a ping reply.
  1708. 64.Added (v1 isletter v2) comparison, where v1 is a letter in the
  1709.    list of letters in v2 (v2 optional).
  1710. 65.Added $ignore(N/address) identifier, with .type property.
  1711. 66.Added /sline [-a|r] #channel N/nick command.
  1712. 67.Changed identifier parsing routine so that it is now independent
  1713.    of the command parsing routine, which allows...
  1714. 68.Identifers and variables in Menu definitions, Full Name, and Quit
  1715.    message are now evaluated.
  1716. 69.Lines in finger server file are now evaluated if they are prefixed
  1717.    with a $ character.
  1718. 70.Fixed dclick in menu script definition being triggered for a window
  1719.    even if the popup name in /window wasn't specified.
  1720. 71.Added $ialchan(address,#channel,N).
  1721. 72.Now handles floating point numbers (precision to 5 digits only).
  1722. 73.Fixed recursive gpf with multiple script on start/load calls.
  1723. 74.Fixed toolbar buttons display bug (?) buttons appeared incorrectly
  1724.    under some graphics drivers.
  1725. 75.Added $round(N,D) rounds to closest integer and $int(N) chops off
  1726.    decimal point.
  1727. 76.Can now use Shift-F1 in dialogs.
  1728. 77.Added $calc(N) identifier, allows you to perform mathematical
  1729.    calculations, combining brackets, terms, variables, identifiers,
  1730.    handles operator precedence, etc. eg.:
  1731.  
  1732.    //echo 1 $calc(3.14159 * (2 ^ %x % 3) - ($ticks / (10000 + 1)))
  1733.  
  1734. 78.Added Address Book which replaces the Uwho dialog. You can use the
  1735.    command /uwho <nick> as usual to /whois a user, or you can use the
  1736.    command /abook <nick> to display the currently stored info on a user.
  1737.    Can display pictures only in BMP format. You can pop up the Address
  1738.    book with Alt-B.
  1739. 79.Can now /list <#channel[,#channel,...]> to list just the specified
  1740.    channels.
  1741. 80.When you manually turn on logging for a window you can now specify
  1742.    a log filename which will be remembered across sessions until you
  1743.    turn logging off. Turning off logging for a window is now also stored
  1744.    across sessions, so once you turn it off it needs to be manually
  1745.    turned on again later (the auto-log option won't override it).
  1746. 81.Script errors such as invalid if statements, identifiers, non-existent
  1747.    gotos, etc. now report line number/filename.
  1748. 82.Fixed toolbar tracking mouse when mIRC isn't the active application.
  1749. 83.Fixed bugs relating to If statements and [ ] brackets.
  1750. 84.Fixed custom identifers returning garbage if no /return is used.
  1751. 85.Added $link(N) identifer for Links window, with properties .addr,
  1752.    .ip, .level, and .info.
  1753. 86.Added /editbox [-s|-a|[=]window] [text] command which fills the editbox
  1754.    of the specified window with text. If no text is specified, the editbox
  1755.    is cleared.
  1756. 87.If you press the Up/Down key to view the previous/next line in an
  1757.    editbox, and you are at the bottom of the editbox, the current line
  1758.    is first saved. If you're at the bottom of the buffer and you press
  1759.    down, the editbox is cleared.
  1760. 88.Can now specify a range of lines with /dline, eg:
  1761.    /dline @name N[-N2]   delete lines N to N2
  1762. 89.Can now customize colurs in Colour dialog by right-clicking on a
  1763.    colour box. Note: only SOLID colours can be used.
  1764. 90.Added Script ordering dialog for aliases and remote scripts.
  1765. 91.Tweaked text display routine.
  1766. 92.Fixed appearance of mode change when using /channel dialog.
  1767. 93.Added Lock files option to logging dialog. If turned on, log files
  1768.    are opened, written to, and only closed when logging is turned off
  1769.    or window is closed. If turned off, log files are opened, written to,
  1770.    and closed each time a new line is written to the log.
  1771. 94.Listboxes can now display coloured lines, eg. custom windows, the
  1772.    links list window, etc.
  1773. 95.Now displays a square around selected colour box in colour dialog.
  1774. 96.Control codes are now interpreted in Channels list, Links list,
  1775.    URL list, and custom window listboxes.
  1776. 97.The channel nicknames list no longer jumps around when nicks are
  1777.    added/removed/modified to/from/in it, and selections and nick colours
  1778.    remain constant across nick/mode changes.
  1779. 98.Added command /cline [colour] @name N, allows you to set the colour
  1780.    of the specified line.
  1781. 99.Fixed /squit.
  1782. 100.Fixed handling PONG server reply that isn't fully specified. This
  1783.     was causing the flood protect mechanism to stall and not send any
  1784.     buffered text.
  1785. 101.Control codes in /titlebar text are now stripped out.
  1786. 102.The Check Brackets button in the Editor dialog now turns into a sort
  1787.     variables button when viewing the variables section.
  1788. 103.Fixed Control-Shift-Tab bug, was stopping at channel windows.
  1789. 104.Decreased the number of memory allocations in the command parsing
  1790.     routine by over 50%, in some cases it may be close to 100% decrease.
  1791.     There is a slight increase in script processing speed, but this
  1792.     change should mainly affect mIRC running under NT.
  1793. 105.Fixed $asc() bug.
  1794. 106.Added -s switch to /play command, allows you to play commands to
  1795.     status window, and can now also /play while not connected to server.
  1796. 107.Fixed /remove command.
  1797. 108.[removed]
  1798. 109.Added [+m|-m] switch to /creq and /sreq to turn minimize on/off.
  1799. 110.Fixed $replace() gpfing with long lines.
  1800. 111.Now displays numeric 329 with channel creation time.
  1801. 112.Added auto-arrange icons and auto-cascade options to Window menu.
  1802. 113.Line separator is now not printed again if the previous line was
  1803.     a line separator.
  1804. 114./wallchops command is now translated into the /onotice command.
  1805. 115.Can now queue multiple /dns requests. If an address is already in
  1806.     the DNS queue, it is not added again.
  1807.  
  1808.     Note: because of the way the DNS lookup works, any DNS related
  1809.     functions currently in progress eg. connecting to a server, must
  1810.     be resolved before subsequent requests. This means that if a prior
  1811.     DNS is having problems resolving, subsequent DNSs have to wait
  1812.     until it times out before they can be resolved.
  1813.  
  1814. 116.Added auto-overwrite option for DCC Gets.
  1815. 117.Changed DCC Options dialog into a tabbed dialog for more space.
  1816. 118.Added events on 1:QUERYOPEN/QUERYCLOSE:/echo $nick $address. Note
  1817.     that $address may not always be available.
  1818. 119.Now displays messages sent to @#channel properly, and $target is
  1819.     also set correctly with the @ prefix.
  1820. 120.For DALnet 4.4.11 & Undernet 2.10 or higher /onotice now sends
  1821.     message in the format: /notice|/msg @#Channel.
  1822. 121.Custom Menubar on|off is no longer an option. If there is popup
  1823.     text in the Menubar section of the Editor, the menubar will be
  1824.     displayed automatically.
  1825. 122.Fixed rubbish text appearing in Editor dialog when switching from
  1826.     Users/Variables to a script section via the View menu.
  1827. 123.When selecting File/New in Editor dialog, any changes in the current
  1828.     editbox are now remembered.
  1829. 124.Can now use /savebuf [-s|-f] etc. to save status/finger buffer,
  1830.     a window name should not be specified.
  1831. 125.When a channel is first joined, mIRC now saves to the channels
  1832.     logfile: channel topic, topic set by, channel URL, and channel
  1833.     creation time.
  1834. 126.URL catcher now doesn't chop off addresses with ? and = in them.
  1835. 127./partall now works offline.
  1836. 128.Added /dqwindow [on|off|show|hide|min] which allows you to change
  1837.     the dedicated query window setting, and to manipulate the window.
  1838. 129.When listing info on a specific channel eg. /list #mIRC, your
  1839.     channels.txt file is not over-written.
  1840. 130.Fixed handling multiple lines pasted into editbox and parsing
  1841.     by on INPUT event.
  1842. 131.Added /winhelp <filename> <key> command for opening help files.
  1843. 132.Added -h switch to /aline/dline/etc. line commands which highlights
  1844.     the icon of the window in which the change is being made.
  1845. 133.Added $timezone identifier, for the 32bit version the return value
  1846.     depends on timezone setting in Windows, for the 16bit the return
  1847.     value depends on the TZ environment variable in your autoexec.bat.
  1848. 134.Fixed /timer -o switch bug.
  1849. 135.Added mIRC DCC Server, listens by default on port 59 for special
  1850.     mIRC DCC connections. To turn the dcc server on/off you can use
  1851.     the command:
  1852.  
  1853.     /dccserver [+|-scf] [on|off] [port]
  1854.  
  1855.     You can send/chat/fserve the dcc server using the DCC Send/Chat
  1856.     dialogs and specifying an IP address instead of a nickname (you
  1857.     can also specify both a nickname and IP address, mIRC will use
  1858.     the ip address to connect).
  1859.  
  1860.     From the command line, you can use /dcc [send|chat|fserve] with an
  1861.     IP Address instead of a nickname to initiate a connection to the
  1862.     DCC Server. Note: /dcc fserve only works for IP connections and
  1863.     does not work via IRC.
  1864.  
  1865.     Chat Protocol
  1866.       Client connects to Server and sends:
  1867.       100 clientnickname
  1868.       When Server receives this, it sends:
  1869.       101 servernickname
  1870.       Connection is established, users can now chat.
  1871.  
  1872.     Fserve Protocol
  1873.       Client connects to Server and sends:
  1874.       110 clientnickname
  1875.       When Server receives this, it sends:
  1876.       111 servernickname
  1877.       Connection is established, user can now access fserve.
  1878.  
  1879.     Send Protocol
  1880.       Client connects to Server and sends:
  1881.       120 clientnickname filesize filename
  1882.       When Server receives this, it sends:
  1883.       121 servernickname resumeposition
  1884.       Where resumeposition is between 0 and filesize, and is required.
  1885.       Connection is established, and Server dcc gets the file.
  1886.  
  1887.     Get Protocol
  1888.       Client connects to Server and sends:
  1889.       130 clientnickname filename
  1890.       When Server receives this, it sends:
  1891.       131 servernickname filesize
  1892.       When Client receives this, it sends:
  1893.       132 clientnickname resumeposition
  1894.       Where resumeposition is between 0 and filesize, and is required.
  1895.       Connection is established, and Server dcc sends the file.
  1896.  
  1897.       Notes:
  1898.       a) The Get protocol has been implemented in this way mainly
  1899.          because I'm assuming:
  1900.          1) The client may not be able to open a socket to listen
  1901.             for and accept a connection (firewall etc.)
  1902.          2) The DCC Server may only be able to listen for connections
  1903.             on port 59 (firewall etc.)
  1904.          3) Since the client was able to connect to the DCC Server the
  1905.             first time, it should have no problem connecting to the
  1906.             same port again.
  1907.  
  1908.       b) Currently the Get Protocol is ONLY used by the Fileserver when
  1909.          a user (who has connected to a Fileserver via the DCC Server)
  1910.          requests a "get filename". All other attempts to Get a file via
  1911.          the DCC Server are ignored.
  1912.  
  1913.     If server receives unexpected information, or doesn't recieve info
  1914.     15 seconds after initial connection, it closes the connection.
  1915.  
  1916.     If service is unavailable, server sends:
  1917.     150 servernickname
  1918.  
  1919.     If server rejects connection, it sends:
  1920.     151 servernickname
  1921.  
  1922. 136.Fixed timer().time bug.
  1923. 137.Fixed $duration() bug.
  1924. 138.Can now specify multiple @window names with the "menu" prefix in
  1925.     remote scripts, eg.:
  1926.  
  1927.     menu @info,@test,@blah {
  1928.       squawk:/echo squawk!
  1929.     }
  1930.  
  1931. 139.Fixed gpf when using /close for certain types of windows in
  1932.     remote events.
  1933. 140.Fixed /links not displaying info correctly when only retrieving
  1934.     partial info.
  1935. 141.Fixed text wrap bug when a window is minimized.
  1936. 142.To force /uwho to lookup a users idletime/awayinfo/etc. you can
  1937.     now use /uwho nick nick (just like /whois).
  1938. 143.Added $editbox(window) identifier which returns contents of editbox
  1939.     for the specified window.
  1940. 144./splay can now play LFN filenames.
  1941. 145.Fixed appending _ to a filename when a dir of the same name
  1942.     exists (excluding .extension)
  1943. 146.Enhanced /font command, can now change font by specifying
  1944.     parameters, eg. /font 712 ms sans serif
  1945.  
  1946.     /font [-a|-s|window] <fontsize> <fontname>
  1947.  
  1948. 147.Added support for IRCnet's 005 numeric.
  1949.  
  1950. 21/04/97 - mIRC v5.02
  1951.  
  1952. Fixes/Additions:
  1953. 1.Fixed Alt-Gr key for non-UK/US keyboards.
  1954. 2.Fixed joining a channel in channel folder.
  1955. 3.Perform section now performs after MOTD is completely processed,
  1956.   and the Channels Folder now pops up after the perform section is
  1957.   completed.
  1958. 4.Now handles numeric 437 Nick/channel is temporarily unavailable.
  1959. 5.Fixed long server version bug (yeesh).
  1960. 6.Added .ln property to $sline() to return line number of selected
  1961.   item.
  1962. 7.Fixed /aline/rline bug when a colour is specified.
  1963. 8.Can now specify colour number without the "-c" prefix for /aline,
  1964.   /iline, and /rline.
  1965. 9.Fixed bugs in !nick filename.
  1966. 10.Fixed $scriptdir in on LOAD/START events.
  1967. 11.Fixed loadbuf/savebuf gpf with invalid parameters.
  1968. 12.Now uses a tabbed dialog for aliases/popups/remote so you can
  1969.    switch between them easily.
  1970. 13.Now adds lines to custom windows using "normal" text colour.
  1971. 14.Can now use nickname in $query(), returns $null if not in query
  1972.    with nickname.
  1973. 15.Improved Control-Tab routine for tabbed dialogs.
  1974. 16.Fixed ! remote halt suffix bug.
  1975. 17.Improved Find Text routine in APR dialog.
  1976. 18.Fixed an old bug in the {} bracket counting routine.
  1977. 19.Added a "{}" button to APR dialog to check if the {} count in
  1978.    the current script is correct.
  1979. 20.Fixed mIRCLink INI file bug.
  1980. 21.Changed toolbar appearance, also toolbar button colours now
  1981.    appear correctly under different colour setups.
  1982. 22.Changed switchbar appearance, also added mini-icons to buttons.
  1983. 23.Fixed /sline command.
  1984. 24.Fixed /play not allowing following commands to be processed.
  1985. 25.Fixed up/down keys in custom window editbox.
  1986. 26.Improved /loadbuf and /savebuf, can now specify a range of lines.
  1987.    eg. /loadbuf 5-25 @moo moo.txt
  1988.        /savebuf 1-50 @moo moo.txt
  1989. 27.Fixed Next/Timestamp conflict in system menu.
  1990. 28.Fixed finger server problem with unix fingers (?)
  1991. 29.Can now use %variable for menuITEM or menuTITLE, if the variable
  1992.    is not defined, the menu item or entire submenu is not displayed.
  1993. 30.Changed popup menu routines in various places to accomodate 31.
  1994. 31.Added "menu" prefix for use in scripts. Allows you to add sub-
  1995.    menus to the standard menus:
  1996.  
  1997.    menu status {
  1998.      <menuitems>
  1999.    }
  2000.  
  2001.    You can also add sub-menus to the channel, query, nicklist, and
  2002.    menubar popups. All loaded scripts are scanned for menus to add.
  2003.    For custom windows you can use:
  2004.  
  2005.    menu @window {
  2006.      [dclick /command]
  2007.      <menuitems>
  2008.    }
  2009.  
  2010.    You can specify @window as the popup filename when creating the
  2011.    window with the /window command. The dclick specifies the command
  2012.    that should be performed when a user double-clicks in a @window.
  2013.    The line-number of the line that was clicked is in $1 for listboxes.
  2014.  
  2015. 32.Directory displayed to a user in a fileserver now appears as
  2016.    a root directory instead of the full directory path on the HD.
  2017. 33.Added $version identifier which returns the mIRC version number
  2018. 34.Added /ctcpreply <nick> <ctcp> [message] command.
  2019. 35.Fixed /unload -rs switch.
  2020. 36.Added "fixed width buttons" switchbar option.
  2021. 37.Fixed bug in Installation Program which was resulting in mIRC
  2022.    reporting an install error for some people.
  2023. 38.Added -s switch to /aline, /iline, and /rline, to select the
  2024.    line that was just added, or if you want currently selected lines
  2025.    to remain selected you can specify the -a switch instead.
  2026. 39.Fixed memory bug when processing lines in listboxes.
  2027. 40.Can now also use Alt+APR to switch quickly between tabs in the
  2028.    editor dialog.
  2029. 41.Added $mircini and $ddename identifiers.
  2030. 42.Now checks for and prevents double-separators in popup menus.
  2031. 43.DCC Send/Get switchbar buttons now turn light grey when the
  2032.    transfer has finished.
  2033. 44.Optimized DCC Send/Get switchbar buttons progress display routine.
  2034. 45.Fixed /window [x y [w h]] bug.
  2035. 46.Fixed text bolding in mark/copy.
  2036. 47.mIRC now converts old remote .ini files when they are loaded, each
  2037.    section is loaded and automatically converted. Removed "convert"
  2038.    menu option. Same for /load command.
  2039. 48.Added on DISCONNECT event, eg.: on 1:DISCONNECT:/echo *gack!*
  2040. 49.Tooltips should now display correctly under different setups.
  2041. 50.Fixed small connect retry bug.
  2042. 51.Fixed window sizing problems when main mirc window is minimized.
  2043. 52.If "show queries in active window" is checked, private actions
  2044.    now appear correctly in a channel window.
  2045. 53.Added .mrc script file extension to the file dialogs extensions
  2046.    list.
  2047. 54.Added colours toolbar button.
  2048. 55.Can now get and read long filenames in fileserver.
  2049. 56.When you press a function key and all windows are minimized, mIRC
  2050.    defaults to using the status window.
  2051. 57.Fixed gpf bug with on start/load/connect combo and /loading files.
  2052.    The on connect event now triggers *after* normal processing of the
  2053.    End of MOTD raw event.
  2054. 58.Fixed $readini -n switch.
  2055.  
  2056. 02/04/97 - mIRC v5.0
  2057.  
  2058. Fixes/Additions:
  2059. 1.Fixed /sound command when used with channels which have
  2060.   a . in their name.
  2061. 2.Title of custom menubar now updates when /loading popup.
  2062. 3.There's no longer a limit on the number of items in a
  2063.   popup menu (apart from the editbox limitation).
  2064. 4.Fixed /finger bug.
  2065. 5.Fixed /ignore bug.
  2066. 6.Fixed $ial() bug.
  2067. 7.If "show query in active window" is checked actions should
  2068.   now appear in the active window.
  2069. 8.Fixed $online identifier.
  2070. 9.Fixed problem with /sound when the sounds directory contains
  2071.   a space in its name.
  2072. 10.Fixed notify not being timestamped in certain situations.
  2073. 11.Added option to strip control codes from log files.
  2074. 12.Fixed /echo -a gpfing when there's no active window.
  2075. 13.Added $target identifier.
  2076. 14.The active item for popups has been removed, only exists
  2077.    for the menu bar popup now.
  2078. 15.Highlighted nickname in channel nick listbox remains highlighted
  2079.    after a nick change.
  2080. 16.Fixed insert/delete keys in URL list window.
  2081. 17.Fixed $lines() and $read line counting.
  2082. 18.Added ignore button to DCC Chat/Get dialogs which allows you to
  2083.    discard and ignore all incoming Chats/Gets from a user for 30
  2084.    seconds.
  2085. 19.Changed IRC Servers interface in setup dialog.
  2086. 20.Added invisible mode option to setup dialog.
  2087. 21.Changed dialogs to use standard dialog font.
  2088. 22.Added Midi directory setting in sounds dialog.
  2089. 23.Added $group(number/name) identifier.
  2090.    $group(N)          group name
  2091.    $group(N).status   on/off
  2092.    $group(name)       same as .status
  2093. 24.Added ON UNOTIFY event, works the same as ON NOTIFY
  2094.    except triggers when a user leaves IRC.
  2095. 25.Can now specify the -n switch with $readini to prevent a line
  2096.    from being evaluated.
  2097. 26.[removed]
  2098. 27.Delayed Op and Unban now check to see if 1) you're on the channel,
  2099.    2) you're an Op, 3) the user exists, before acting.
  2100. 28.You can now specify different files for each popup menu.
  2101. 29.Can now save alias/popup/remote files as plain text (non-INI
  2102.    format) by not specifying an .ini file extension.
  2103.  
  2104.    NOTE: You can't save multiple sections to a plain text file!
  2105.    So if you have all remote sections in remote.ini and want to
  2106.    save them as plain text, you'll need to save each section to
  2107.    a separate file. Same goes for aliases/popups.
  2108.  
  2109. 30.Fixed channel folder join/names bug.
  2110. 31.Fixed email address stripping of control chars.
  2111. 32.The delayed unban now prevents duplicate addresses being
  2112.    added to the unban list.
  2113. 33.Fixed gpf bug when popup item starts with {.
  2114. 34.[removed]
  2115. 35.Notify/Unotify now trigger correctly.
  2116. 36.Query window now displays address of user in titlebar.
  2117. 37.Added $mididir identifier.
  2118. 38.Fixed gpf bug when extraneous $+ are used in combination
  2119.    with bracketed identifiers.
  2120. 39.Added custom window creation/manipulation tools.
  2121.  
  2122.    /window [-abcdelnorsx] @name [x y [w h]] [/command] [popup.txt] [font [size]]
  2123.  
  2124.    Switches:
  2125.      a = activate window
  2126.      b = update horizontal scrollbar width for listbox
  2127.      c = close window
  2128.      d = open as desktop window
  2129.      e = editbox
  2130.      l = listbox
  2131.      n = minimize window
  2132.      o = if opened on desktop, place ontop
  2133.      r = restore window
  2134.      s = use a sorted list
  2135.      x = maximize window
  2136.  
  2137.    @name     = window name (must prefix with a @)
  2138.    x,y,w,h   = left top width height
  2139.    popup.txt = popup filename, loaded when needed
  2140.                (must be a plain non-ini text file)
  2141.    /command  = default command
  2142.    font/size = font name and size (defaults to status window font)
  2143.  
  2144.    You can also use /window to manipulate some of the above
  2145.    settings for an existing custom window.
  2146.  
  2147.    You can use the following commands to manipulate lines:
  2148.  
  2149.    /aline [-cN] @name text     add line to list
  2150.    /dline       @name N        delete Nth line
  2151.    /iline [-cN] @name N text   insert line at Nth line
  2152.    /rline [-cN] @name N text   replace Nth line
  2153.    /sline       @name N        selects Nth line
  2154.  
  2155.    Where -cN allows you to specify the line colour.
  2156.  
  2157.    You can use the $window(N/@name) identifer to access the
  2158.    following custom window information:
  2159.  
  2160.    $window(N).x      left
  2161.    $window(N).y      top
  2162.    $window(N).w      width
  2163.    $window(N).h      height
  2164.    $window(N).state  minimized/maximized/normal
  2165.  
  2166.    To access the lines in a custom window you can use:
  2167.  
  2168.    $line(@name,N)    returns Nth line
  2169.    $sline(@name,N)   returns Nth selected line (listbox only)
  2170.  
  2171. 40.Can now /load popups with these switches:
  2172.    -ps status popup
  2173.    -pc channel popup
  2174.    -pq query/chat popup
  2175.    -pn nicklist popup
  2176.    -pm menubar popup
  2177. 41.Fixed indexing bug with alias/popup/remote processing.
  2178. 42.[removed]
  2179. 43.mIRC now stores relative (instead of full) file/directory
  2180.    paths, if a path lies inside the mIRC directory.
  2181. 44.Made (most) buttons the same size.
  2182. 45.Parameter identifiers changed to:
  2183.  
  2184.    $n     for parameter n
  2185.    $n-n2  for parameters n to n2
  2186.    $n-    for parameters n onwards
  2187.  
  2188.    $parm has also been discontinued, you can use the above
  2189.    to refer to remote parameters from now on.
  2190.  
  2191.    Note: This version of mIRC still supports the old $1 and
  2192.    $parm for now but only the above is documented.
  2193.  
  2194. 46.Added (v1 isvo v2) comparison to check if user v1 has a
  2195.    voice on channel v2.
  2196. 47.Fixed $numeric not being set when matching any raw event.
  2197. 48.Added /loadbuf and /savebuf commands.
  2198.  
  2199.     /loadbuf [lines] <window> <filename>
  2200.     /savebuf [lines] <window> <filename>
  2201.  
  2202.    Where [lines] indicates the number of lines you want to
  2203.    load/save from the end of the file.
  2204. 49.Can now prevent message display for /ignore, /auto, and
  2205.    /protect with the . prefix.
  2206. 50.Alias/popup/remote dialogs can now be resized and will
  2207.    remember their size/position.
  2208. 51.The alias, popup, and remote dialogs have been redesigned
  2209.    to cope with various improvements (see below).
  2210. 52.You can now load multiple alias files.
  2211. 53.To /load, /unload, /save files you can use:
  2212.      /load <-a|-pscqnm|-ruvs> filename
  2213.      /unload <-a|-rs> filename
  2214.      /save <-pscqnm|-ruv> filename
  2215. 54.The remote dialog and script routines have been improved.
  2216.    The format of definitions has changed to:
  2217.  
  2218.    ctcp 1:PING:/echo etc.
  2219.    on   1:JOIN:#:/echo etc.
  2220.    raw  1:*:/echo etc.
  2221.  
  2222.    This allows all of these to be intermixed in a single
  2223.    script file. The remote dialog has been altered to cater
  2224.    for only 3 types of files: Users, Variables, and Scripts.
  2225.  
  2226.    You can load as many script files as you require. Events
  2227.    will trigger all script files as independent scripts.
  2228.  
  2229.    You can also define aliases in a script by using the
  2230.    "alias" prefix:
  2231.  
  2232.      alias test /echo this is a test alias!
  2233.  
  2234.    You can also enter initialization commands which are run
  2235.    when a script is *first* loaded by using:
  2236.  
  2237.    on 1:LOAD:{ etc. }
  2238.  
  2239.    And initialization commands which are run whenever mIRC
  2240.    is first run (and loads scripts automatically) by using:
  2241.  
  2242.    on 1:START:{ etc. }
  2243.  
  2244.    The START section also runs after the LOAD section when
  2245.    a script is first loaded.
  2246.  
  2247.    If a script is loaded from within the remote dialog, auto-
  2248.    run commands are not executed until the dialog is closed.
  2249.  
  2250.    The above allows a whole script of ctcps, events, and raw
  2251.    and it's related aliases and initializations to be edited
  2252.    and distributed in one file.
  2253.  
  2254.    Note: mIRC automatically splits your current remote.ini
  2255.    into separate files and translates the ctcp, event, and raw
  2256.    entries into the new format. To convert old files into the
  2257.    new format use the Convert option in the Remote dialog and
  2258.    load them in as an .ini file because mIRC will need the
  2259.    header info eg. [commands] [events] [raw] to know how to
  2260.    translate them.
  2261.  
  2262. 55.Added on INPUT event which is triggered when a user enters
  2263.    text into an editbox and presses enter:
  2264.  
  2265.    on 1:INPUT:/echo you entered $1-
  2266.  
  2267.    You can use /halt to prevent mIRC from processing the text.
  2268.  
  2269. 56.$chan is now $null if an event is not a channel event.
  2270. 57.Can now add/change/remove aliases from a specific alias
  2271.    file (not script files) with:
  2272.  
  2273.      /alias [filename] <aliasname> [commands]
  2274.  
  2275.    When adding/replacing/removing an alias, all alias files
  2276.    are purged of the specified alias.
  2277.  
  2278. 58.If a file doesn't exist mIRC doesn't create it if there's
  2279.    no information to save to it.
  2280. 59.Now allows empty lines in aliases and scripts.
  2281. 60.#group names in scripts now use "on" and "off" instead of
  2282.    "start" and "disabled" (conversion program will translate
  2283.    these automatically).
  2284. 61.Added script #group indexing to speed up group processing.
  2285. 62.Added on USERMODE event.
  2286.  
  2287.    on 1:USERMODE:/echo Set usermode to $1-
  2288.  
  2289. 63.Can now /echo =nick etc.
  2290. 64.Added on CONNECT event which triggers when the end of an
  2291.    MOTD is reached after connecting to a server (same as the
  2292.    perform section).
  2293.  
  2294.    on 1:CONNECT:/echo connected!
  2295.  
  2296. 65.[removed]
  2297. 66.Fixed "maximum sends" check not working in fileserver.
  2298. 67.Added $inmidi returns true if midi is playing, false if not.
  2299. 68.Added on MIDIEND event which triggers when a midi finishes
  2300.    playing (but not if you stop it by playing another midi or
  2301.    using /splay stop).
  2302.    
  2303.    on 1:MIDIEND:/echo finished playing midi file!
  2304.  
  2305. 69.Fixed /halt not returning $null.
  2306. 70.Fixed odd popup menus gpf bug.
  2307. 71.Added Find option to URL menu in URL list window.
  2308. 72.Fixed processing of incoming server NOTICES which don't
  2309.    have the source and target specified.
  2310. 73.Can now use & character as a wildcard one word match, eg.
  2311.  
  2312.      &     lines would &
  2313.      These lines would match
  2314.  
  2315. 74.Now displays notices and messages to @#channel correctly (?)
  2316. 75.Fixed window focus bug bringing main mIRC window to front when
  2317.    selecting a window.
  2318. 76.Server pong echos should display correctly.
  2319. 77.Speeded up URL-from-text extracting routine.
  2320. 78.Can now use a nickname as well a number in $send() $get()
  2321.    $chat() and $fserv() eg. $send(madgoat).file
  2322. 79.Fixed offline timers bug.
  2323. 80.If a remote event calls an alias, that remote events script file
  2324.    is searched first for a matching alias and if no match is found,
  2325.    all other alias and script files are searched.
  2326. 81.on DNS $nick is set to $null if no nick is specified.
  2327. 82.Fixed midi playing bug where mIRC thought that a midi file was
  2328.    still playing when it had actually finished.
  2329. 83.Fixed /play stop bug (?)
  2330. 84.[removed]
  2331. 85.Removed switches: own messages are higlighted, actions are purple,
  2332.    and windows colours.
  2333. 86.Added colour configuration dialog. You will notice that colours
  2334.    for certain types of information have changed slightly, mainly
  2335.    because standardization was required in various places. You can't
  2336.    create a custom colour yet, might be added to a future version.
  2337. 87.Added send/get fail remote events:
  2338.  
  2339.    on 1:SENDFAIL:*.txt:/echo failed to send $filename to $nick
  2340.    on 1:GETFAIL:*.txt:/echo failed to get $filename from $nick
  2341.  
  2342. 88.Added $script and $scriptdir which return the file and dir name
  2343.    of the currently executing remote script file.
  2344. 89.Improved $gettok(), can now specify n1-n2 for the number of
  2345.    tokens you want returned, eg:
  2346.  
  2347.    //echo $gettok(a.b.c.d.e,2,46)     returns 2nd token
  2348.    //echo $gettok(a.b.c.d.e,2-,46)    returns tokens 2 onwards
  2349.    //echo $gettok(a.b.c.d.e,2-4,46)   returns tokens 2 to 4
  2350.  
  2351. 90.Added $comchan(Nick,N) identifier, returns channels which both
  2352.    you and Nick are on. $comchan(Nick,N).op returns $true if you're
  2353.    an Op on that channel.
  2354. 91.In alias, popup, and remote dialogs can now use Alt+1,2,3,4 etc.
  2355.    to switch to a script.
  2356. 92.Added support for "!nick filename" wave/midi get requests. If
  2357.    mIRC receives a request as a private message and you don't have
  2358.    a private window open with that person, a new window is not
  2359.    opened, but instead the request is displayed in the status window.
  2360.  
  2361.    Also has an option to send your own "!nick filename" requests
  2362.    as private messages (on by default). This is only done when you
  2363.    are on a channel and you specify a "nick" that is on that channel,
  2364.    and a .wav or .mid filename.
  2365.  
  2366. 93.Notifies are now queued and only one line of 500 chars is sent
  2367.    at a time. When a reply for that line is received, the next line
  2368.    is sent. Once replies for all queued lines have been received,
  2369.    the notify results are displayed.
  2370. 94.The parameter positions of the following identifiers have been
  2371.    standardized to fall in line with other identifiers:
  2372.  
  2373.    $left(text,N)
  2374.    $mid(text,S,N)
  2375.    $right(text,N)
  2376.    $str(text,N)
  2377.    $nick(#,N)
  2378.    $nopnick(#,N)
  2379.    $nvnick(#,N)
  2380.    $opnick(#,N)
  2381.    $snick(#,N)
  2382.    $vnick(#,N)
  2383.  
  2384.    The old formats are still handled but only the new formats will
  2385.    be documented.
  2386. 95.Fixed small /list command bug.
  2387. 96.mIRC help file now remembers it's last position/size.
  2388. 97.Can now use the @ must be op prefix with CTCP remote events that
  2389.    occurr on channels.
  2390. 98.Notify list now allows you to use an address as well as a nickname,
  2391.    this will only work on IRC servers that allow this.
  2392. 99.Removed the /commands command, replaced with /ctcps command.
  2393. 100.Fixed switchbar DCC Button Progress indicator being updated too
  2394.     often which might have slowed mIRC down with multiple dccs.
  2395. 101.Added Wizard which now pops up when a user has problems connecting,
  2396.     eg. unable to get/resolve local host, unable to resolve/connect to
  2397.     irc server, or being disconnected from a server before the MOTD is
  2398.     displayed.
  2399. 102.Fixed small /play bug, was evaluating identifiers in lines when
  2400.     it shouldn't have been.
  2401. 103.Fixed /titlebar memory bug.
  2402.  
  2403. 09/01/97 - mIRC v4.72
  2404.  
  2405. Fixes/Additions:
  2406. 1.Fixed Windows Colours option.
  2407. 2.Fixed gpf on joining channel with control codes in topic (?)
  2408. 3.Fixed/improved channel mode handling.
  2409. 4.Can specify a channel key in default channel listbox
  2410.   as first word of a topic for a channel.
  2411. 5.Fixed $+ at end of a line gpfing.
  2412. 6.Fixed /run and long filenames with spaces.
  2413. 7.Highlighting text in editbox and then Control-K now places
  2414.   cursor right after first control character.
  2415. 8.Fixed gpf in Channel dialog when listing invalid ban info.
  2416. 9.Fixed display of fonts for certain character sets.
  2417. 10.URL catcher now doesn't copy any BURC control characters
  2418.    attached to a URL.
  2419. 11.Fixed checking for recursive custom identifier calls.
  2420.    (lack of check was leading to gpfs)
  2421. 12.$null is now handled better when used with $+.
  2422. 13.Install program now warns if you are about to install to
  2423.    a directory path with spaces in its name and recommends
  2424.    installing to a path without spaces.
  2425. 14.Fixed /server N command.
  2426. 15.Added $online identifier which returns number of seconds
  2427.    elapsed on your online timer (ie. the one in the timer
  2428.    dialog).
  2429. 16.Now allows you to call custom identifers with parameters
  2430.    that have a $null value.
  2431. 17.Added -k switch to /ignore command, allows you to ignore
  2432.    BURC codes from someone's text. This works for private,
  2433.    notice, kick, part, etc. messages.
  2434. 18.Fixed marking text that is bold/underlined.
  2435. 19.Fixed bug with a script not halting properly and continuing
  2436.    to process script following it (?)
  2437. 20.The command parser wasn't stripping out leading and following
  2438.    spaces for tokens in a command which may have resulted in
  2439.    odd behaviour when processing scripts.
  2440. 21.Control-Shift-Tab for switching between channel windows
  2441.    has been removed since it was conflicting with the normal
  2442.    windows default for tabbing backwards through windows.
  2443. 22.Fixed /ruser nick! command, was removing all entries that
  2444.    being with "nick" as opposed to "nick!".
  2445. 23.Added "Edit" button to channels folder dialog.
  2446. 24.Fixed $maddress being chopped in ON BAN event.
  2447. 25.Fixed pressing enter in DCC Send dialog to change directories.
  2448. 26.Fixed finger command (wasn't sending @ prefix when fingering
  2449.    an address without a userid).
  2450. 27.Added $vnick() identifier to list voiced nicks, and $nvnick()
  2451.    identifier to list non-op/non-voice nicks.
  2452. 28.Added ON UNBAN, works the same as ON BAN.
  2453. 29.Added ON VOICE/DEVOICE, and $vnick refers to nickname.
  2454. 30.Fixed bug in installer.
  2455. 31.Invites to non-channels are now ignored.
  2456. 32.Fixed text being indented in User and Variable remote sections.
  2457. 33.Fileserver now let's you cd into a directory with an extension.
  2458. 34.Changed $findfile() identifier, now allows you to specify
  2459.    Nth file eg. $findfile(dir,filespec,N).
  2460. 35.Fixed DCC percent progress wrapping to zero when sending
  2461.    large files (?)
  2462. 36.If a DCC Get directory doesn't exist, the default get directory
  2463.    is used instead, if that doesn't exist, the mIRC directory is
  2464.    used.
  2465. 37.Fixed /ignore for actions.
  2466. 38.A query window no longer opens for a sound request, the sound
  2467.    message is displayed in the status window instead.
  2468. 39.Added skip MOTD warning.
  2469. 40.Fixed Menu Bar popup menu not working when all windows
  2470.    are closed.
  2471. 41.Improved Tabs in tabbed dialogs to look more 95ish.
  2472. 42.Standardized Alias, Popup, and Remote dialogs.
  2473. 43.Resources for popup menus are now allocated just before a
  2474.    popup menu is displayed and are freed immediately after it
  2475.    is closed thus conserving resources.
  2476. 44.Added $dlevel identifier for remote default user level.
  2477. 45.Added $timer(N) identifier.
  2478.    $timer(N)       timer id
  2479.    $timer(N).com   command
  2480.    $timer(N).time  time
  2481.    $timer(N).reps  repetitions
  2482.    $timer(N).delay delay interval
  2483.    $timer(N).type  online/offline
  2484. 46.Added option to show DCCs in Switchbar.
  2485. 47.Now allows - character in Identd UserID.
  2486. 48.Fixed invalid RAW definition format gpfing.
  2487. 49.Fixed Beeping when right-clicking in a listbox.
  2488. 50.Windows minimized to the switchbar don't appear as icons
  2489.    first anymore.
  2490. 51.Wrote my own window list handler, so the Windows list
  2491.    now displays desktop windows as well. Also only the first
  2492.    50 characters of a windows title are displayed.
  2493. 52.ON BAN/UNBAN now don't allow wildcard matches of ip/non-ip
  2494.    addresses, as well as addresses ending in @*.
  2495. 53.Setting focus on windows has been improved.
  2496. 54.Can now use Control-Space to cycle through channel windows.
  2497. 55.Fixed $mask() when an address with wildcards is specified.
  2498.  
  2499. 09/12/96 - mIRC v4.7
  2500.  
  2501. Fixes/Additions:
  2502. 1.Fixed time bug (?)
  2503. 2.ISON now displays a message if user doesn't exist.
  2504. 3.Fixed small DDE problem.
  2505. 4.Fixed mIRC defaulting to port 6667 when reconnecting
  2506.   to a server.
  2507. 5.DCC Send/Get window titlebar now immediately displays 0% at
  2508.   start of transfer, and only displays 100% when transfer is
  2509.   completely finished (was rounding up to 100% before).
  2510. 6.Fixed small bug in fserve dcc send.
  2511. 7.Fixed /beep command.
  2512. 8.Bytes/Size display in alias/popup/remote windows are now
  2513.   updated only a few times a second to decrease flicker.
  2514. 9.Finished reorganizing identifiers-related code.
  2515. 10.Fixed $away updating after you disconnect and reconnect.
  2516. 11.Fixed Text Assist bug (?)
  2517. 12.Can now do /sound [on|off] to enable/disable sound requests.
  2518. 13.Added $server(N).property identifier to access servers list.
  2519.    $server(N)        address.
  2520.    $server(N).desc   description
  2521.    $server(N).port   port
  2522.    $server(N).group  group
  2523. 14.Added $ial(mask,N) identifier to acces IAL.
  2524.    $ial(mask,N)      full address.
  2525.    $ial(mask,N).nick nickname
  2526.    $ial(mask,N).user user id
  2527.    $ial(mask,N).host host
  2528.    $ial(mask,N).addr user@host
  2529.    This returns the Nth address matching "mask" in the IAL.
  2530.    Specify zero for total number of matching addresses. To
  2531.    scan the whole of the IAL you can use $ial(*,N). If N is
  2532.    zero, the total number of matching entries is returned.
  2533. 15.[removed]
  2534. 16.Added /identd [on|off] [userid] command.
  2535. 17.Fixed bug in /ignore address matching.
  2536. 18.Can now use [type] parameter with /auto to look up
  2537.    users address (like ignore).
  2538. 19.Channels, Notify, and Url list listboxes now have a horizontal
  2539.    scroll bar added to them.
  2540. 20.Added $url(N).property identifier to access urls list.
  2541.    $url(N)        address
  2542.    $url(N).desc   description
  2543.    $url(N).group  group
  2544. 21.When using /sound and /wavplay, the Waves directory and ALL of
  2545.    its subdirectories are searched for the specifed wave filename.
  2546.    This allows users to organize their sounds into subdirectories
  2547.    without having to worry about directory paths.
  2548. 22.Added 1:ON DNS:/echo $nick $iaddress $naddress $raddress event.
  2549.    If /dns <nick> was used then $nick refers to <nick> otherwise
  2550.    it refers to your own nickname. $iaddress refers to the ip
  2551.    address, and $naddress refers to the named address. $raddress
  2552.    is the resolved address. If $raddress is $null then that means
  2553.    that the address could not be resolved.
  2554. 23.Fixed @ (must be channel Op) prefix for remote definitions
  2555.    preventing a definition from being performed if the event is
  2556.    not a channel event. eg. @1:ON TEXT:*:*:/etc. which reacts
  2557.    to private messages as well as channel messages.
  2558. 24.Added $idle identifier which returns same idle time as that
  2559.    returned by ctcp USERINFO or FINGER.
  2560. 25.Added $numeric identifier which refers to the number of the
  2561.    raw event that matched a remote definition.
  2562. 26.[removed]
  2563. 27.Ctcp ping reply now displays ping time in hr/min/sec format.
  2564. 28.Fixed memory bug in Tab display routine, also improved display
  2565.    of tabs slightly.
  2566. 29.Added 1:ON ERROR:*text*:/echo $parms event.
  2567. 30.Added Extension<->directory association in DCC Options dialog.
  2568. 31.Fixed empty line in editboxes in options dialog causing
  2569.    following lines to be lost.
  2570. 32.DCC Get dialog now displays listbox of directories from the
  2571.    extension associations for quick directory selection for
  2572.    miscellaneous file types.
  2573. 33.Servers.ini file is reloaded each time the Setup window is
  2574.    opened to make sure that any changes made to it externally
  2575.    are available. eg. if someone downloads a servers.ini file.
  2576. 34.Now allows you to configure a separate Popup menu for use
  2577.    in a channel window. If no channel popup menu is defined it
  2578.    defaults to using the status window popup menu in a channel.
  2579. 35.When marking text for copying, the marked block is not cleared
  2580.    if new text is printed in the window, instead the scrollbar
  2581.    is updated to indicate there is new text below. If you were
  2582.    at the bottom of the buffer when you started copying, mIRC
  2583.    will automatically scroll down to the bottom of the buffer
  2584.    after you finish copying.
  2585. 36.I added an /echo -a switch which echos to the active window.
  2586.    If the active window is not a status, channel, or query/chat
  2587.    window, it defaults to the status window.
  2588. 37.For remote events that have no associated $chan value, $chan
  2589.    refers to a channel that both you and the user that triggered
  2590.    the event are on, on which you are an Op.
  2591. 38.Fixed small bug with /set.
  2592. 39.Can now do /log [on|off] [windowname].
  2593. 40.If a user hasn't entered a UserID for the Identd server or if
  2594.    their current userid contains invalid characters, mIRC asks
  2595.    them for a new userid. Permitted characters:
  2596.  
  2597.       .    (0x2E)
  2598.       0-9  (0x30-0x39)
  2599.       A-Z  (0x41-0x5A)
  2600.       _    (0x5F)
  2601.       a-z  (0x61-0x7A)
  2602.  
  2603. 41.Added $wildsite remote identifier which returns the address of
  2604.    the user who triggered the event in the form *!*@host.domain,
  2605.    added mainly to speed things up since *!* $+ $site is used a lot.
  2606. 42.Added /perform [on|off] command to turn on/off perform section.
  2607. 43.Speeded up text display routine slightly.
  2608. 44.Added $ticks identifier which returns the number of ticks
  2609.    since your O/S was first started.
  2610. 45.Ignoring CTCPs doesn't ignore actions anymore.
  2611. 46.Added double-click alias option for Notify window.
  2612. 47.Now using a new indexing method to speed up alias, popup, and
  2613.    remote script processing.
  2614. 48.Using an /if as the first command in a $read line now works.
  2615. 49.In channel windows, Shift-TAB now switches the focus between
  2616.    the editbox and the nicknames listbox.
  2617. 50.Control-Shift-Tab now cycles through channel windows.
  2618. 51.Server notices are now displayed in purple.
  2619. 52.Added "Timestamp" switch to window system menus.
  2620. 53.mIRC now ignores dcc sends/chats to port 19.
  2621. 54.Fixed window focus problem when mdi/non-mdi windows open (?)
  2622. 55.Can raise a number to the power of another using ^ operator.
  2623.    eg. set %x 2 ^ 8
  2624. 56."End of /who list" now displays who you were doing a /who on.
  2625. 57.Now handles DALnets 310 numeric.
  2626. 58.Added skip MOTD on connect switch.
  2627. 59.Modified Event Beeps interface a bit.
  2628. 60.Speeded up variable lookup routine and [] processing.
  2629. 61.Rewrote text mark/copy routine.
  2630. 62./timestamp [-a|e|s] [on|off] [window] is now used for turning
  2631.    on/off timestamping in windows. If only on/off is specified
  2632.    with no window, the global timestamp switched is turned on/off.
  2633.    -s = for status window
  2634.    -a = for active window
  2635.    -e = for every window
  2636. 63.For ctcp commands, $chan is now filled with a channel name if
  2637.    you received the ctcp via a channel.
  2638. 64./flood now ignores *!*@site.
  2639. 65.$active identifier now returns window names more intelligently.
  2640. 66./return can now return both numbers and text.
  2641. 67.For servers that specify who placed a ban in the ban list, mIRC
  2642.    now displays this info in the /channel dialog ban list.
  2643. 68.$server now returns $null if you are not currently connected
  2644.    to a server.
  2645. 69.Added $fserv(N), improved $chat(N), $get(N), $send(N).
  2646.  
  2647.     $chat(N)           nickname
  2648.     $chat(N).ip        ip address
  2649.     $chat(N).status    active, waiting, inactive
  2650.  
  2651.     $fserv(N)          nickname
  2652.     $fserv(N).ip       ip address
  2653.     $fserv(N).status   active, waiting, inactive
  2654.     $fserv(N).cd       current directory
  2655.  
  2656.     $get(N)            nickname
  2657.     $get(N).ip         ip address
  2658.     $get(N).status     active, waiting, inactive
  2659.     $get(N).file       filename
  2660.     $get(N).size       filesize
  2661.     $get(N).rcvd       bytes rcvd
  2662.     $get(N).cps        chars per second
  2663.     $get(N).pc         percent complete
  2664.  
  2665.     $send(N)           nickname
  2666.     $send(N).ip        ip address
  2667.     $send(N).status    active, waiting, inactive
  2668.     $send(N).file      filename
  2669.     $send(N).size      filesize
  2670.     $send(N).sent      bytes sent
  2671.     $send(N).lra       last rcvd ack
  2672.     $send(N).cps       chars per second
  2673.     $send(N).pc        percent complete
  2674.  
  2675. 70.Can now create your own identifiers, eg. in the aliases section
  2676.    create an alias:
  2677.  
  2678.      add { %x = $1 + $2 | return %x }
  2679.  
  2680.    And then use it in a command //echo Total is: $add(4,21)
  2681.    Can define as many parameters as you want: $add(1,2,...,N).
  2682.    Built-in identifiers of the same name have priority.
  2683. 71.Added "default port" setting to setup/options dialog.
  2684. 72.Can now use /timer [-o] etc. to start an offline timer. Offline
  2685.    timers are not stopped if you are disconnected from the server,
  2686.    however all other timers are. If you are not connected to a server
  2687.    and you try to start a timer, it defaults to being an offline timer.
  2688. 73.Chat and Query MDI switches are now separate.
  2689. 74.Alias, Popup, and Remote editboxes now remember their cursor
  2690.    line positions and jump to them automatically for each window.
  2691. 75.Added "Desktop" switch to a window's system menu to toggle mdi/
  2692.    desktop display of the window.
  2693. 76.Can now specify a window name with /clear [window].
  2694. 77.If an address that is in the auto-unban list of the /ban command
  2695.    is unbanned manually, it is removed from the unban list.
  2696. 78.PONGs from users are now ignored.
  2697. 79.Using new method to lookup Local Host and IP Address. mIRC now
  2698.    connects directly to server and issues a /userhost nickname to
  2699.    lookup users address and then does a /dns to resolve the IP
  2700.    address. This means that a user isn't prevented from connecting
  2701.    to a server if there are any local host lookup problems and it
  2702.    also means mIRC will be using a named address that has been
  2703.    verified by the IRC server so there should be no problem looking
  2704.    up the IP address. The DCC Send/Chat toolbar buttons are enabled
  2705.    the moment the lookup is completed successfully.
  2706. 80.Now uses /userhost instead of /whois to look up addresses from
  2707.    the server.
  2708. 81.The /run command now uses a different method to run files, it
  2709.    allows you to run files based on association as well.
  2710.      eg: /run notepad.exe readme.txt   or   /run readme.txt
  2711.    It also uses this new method to view .txt files in the help
  2712.    menu as well as in other parts of mIRC.
  2713. 82.Can now do /who <channel> <address> and only users on the
  2714.    specified channel are displayed.
  2715. 83.Fixed bug with variable not being evaluated if preceeded by
  2716.    the text "set" in a line.
  2717. 84.Now also using new faster indexing method for IAL.
  2718. 85.Fixed empty [ ] brackets gpfing.
  2719. 86.Servers are no longer stored in memory but are looked up
  2720.    when needed from the servers.ini file.
  2721. 87.DCC Send/Get completion info printed in status window now
  2722.    also includes time taken and cps.
  2723. 88.Fixed "error sending data" message at end of dcc send.
  2724. 89.Variables can handle spaces a bit better now eg. single
  2725.    spaces, preceeding spaces, etc.
  2726. 90.Fixed "fake" PONG messages being displayed.
  2727. 91.Added support for bold/underline/reverse characters. Can
  2728.    use Ctrl-B,U,R to insert these characters into an editbox.
  2729.    If you first mark text in the editbox, it will be enclosed
  2730.    in starting and ending control characters, otherwise one code
  2731.    will be inserted. If you hold down the shift-key, two codes
  2732.    are inserted and the cursor positioned between them. You can
  2733.    also use Control-O to insert a reset character which turns off
  2734.    all the above settings.
  2735. 92.Added support for colour characters, use Control-K to insert
  2736.    a colour control char (0x03) into text in an editbox.
  2737.  
  2738.    eg. if * is the control char then:
  2739.  
  2740.     *     Selects Default Text and Background
  2741.     *1    Selects Colour 1 for Text, Default Background
  2742.     *1,5  Selects Colour 1 for Text, Colour 5 for Background
  2743.  
  2744.    Colours currently range from 0 to 15.
  2745. 93.Added flood protect options tab to options dialog.
  2746. 94.For an ON QUIT event, a users name is now removed from
  2747.    all channel listboxes *after* this remote event has been
  2748.    processed, not before it.
  2749. 95.Added $strip(text) identifier which strips out all bold,
  2750.    underline, reverse, and colour control codes from text.
  2751. 96.File dialog defaults to showing ini, txt, or wav files
  2752.    depending on file being selected.
  2753. 97.Fixed multiple IRCop-greeting bug thingy.
  2754. 98.Fixed notify update bug.
  2755. 99.Fixed ON TEXT $chan being filled with users nickname when
  2756.    trigger is a private message.
  2757. 100.Added a switchbar to allow easy switching between windows.
  2758.     If you click on a button with the left mouse button and
  2759.     the window is minimized, it is restored, if it is already
  2760.     restored, it is minimized. If you click with the right mouse
  2761.     button, the windows system menu pops up. You can turn the
  2762.     switchbar on/off in Options/Extras dialog.
  2763. 101./ban won't allow you to initiate a ban if you don't have Ops.
  2764. 102./amsg and /ame now don't send an individual message for each
  2765.     channel etc.
  2766. 103.Page up/down now works in channel listbox.
  2767. 104.Channels dialog, "Limited to" option allows more digits.
  2768. 105.ctcp ECHO is no longer replied to.
  2769. 106.ctcp PING no longer replies to non-numeric values and numeric
  2770.     values longer than 25 characters.
  2771. 107.Added $usermode identifier.
  2772. 108.Channel topics are now stripped of control characters.
  2773. 109.ON MODE event has changed format to:
  2774.  
  2775.     1:ON MODE:#channel:/commands...
  2776.  
  2777.     And it no longer enforces modes. $parms is now filled with
  2778.     the mode change that was made.
  2779. 110.Under a 256 colour display the orange colour appears light brown
  2780.     instead of orange, all other colours should look exactly the
  2781.     same under different colour displays.
  2782. 111.Fixed ON BAN double-wildcard-string-matching. Was giving false
  2783.     matches in certain situations eg. * at end of a string.
  2784. 112.Changed ordering of masks to:
  2785.  
  2786.     Type 0: *!user@host.domain
  2787.     Type 1: *!*user@host.domain
  2788.     Type 2: *!*@host.domain
  2789.     Type 3: *!*user@*.domain
  2790.     Type 4: *!*@*.domain
  2791.     Type 5: Nick!user@host.domain
  2792.     Type 6: Nick!*user@host.domain
  2793.     Type 7: Nick!*@host.domain
  2794.     Type 8: Nick!*user@*.domain
  2795.     Type 9: Nick!*@*.domain
  2796.  
  2797.     The mask types for all routines and identifiers are now identical.
  2798.     /guser /dns etc. commands all default to type 6 which is the same
  2799.     mask as before.
  2800. 113.When mIRC is in the process of doing a channel listing and it
  2801.     receives a "server load to high" numeric 263, it now resets the
  2802.     channels list button and other related parameters.
  2803. 114.Ignores DCCs to a channel.
  2804. 115./userhost with no reply is now displayed.
  2805. 116.Added "on top" option for switchbar.
  2806. 117.Added $duration(seconds) identifier.
  2807. 118.Added $nofile(filename) which removes the filename and
  2808.     only returns any remaining path.
  2809. 119.Added $findfile(dir,filename) which searches the specified
  2810.     directory and its subdirectories for the specified file and
  2811.     returns the full path and filename if it is found.
  2812. 120.Added /ial [on|off] command.
  2813. 121.Added token handling identifiers:
  2814.  
  2815.     $addtok(text,token,C)     - adds a token to the end of text but
  2816.                                 only if it's not already in text.
  2817.     $findtok(text,token,C)    - returns Nth position of token in text
  2818.     $gettok(text,N,C)         - returns Nth token in text
  2819.     $instok(text,token,N,C)   - inserts token into Nth position in text
  2820.                                 even if it already exists in text.
  2821.     $remtok(text,token,C)     - removes 1 matching token from text
  2822.     $reptok(text,token,new,C) - replaces 1 matching token with new
  2823.                                 token in text
  2824.  
  2825.     $gettok() replaces $token(), however $token() is still
  2826.     supported for this version.
  2827.  
  2828. 122./ulist now searches the whole of the users level list for
  2829.     a matching level.
  2830. 123.A user level can now be a word, for example:
  2831.  
  2832.     2,5,op,9,prot:*!*@mardam.demon.co.uk
  2833.  
  2834.     op:ON JOIN:#:/mode $chan +o $nick
  2835.  
  2836.     Named levels are = levels ie. they work exactly the same
  2837.     way that = levels work.
  2838. 124.Added strip options to options dialog. These strip out
  2839.     control characters from incoming notices and messages.
  2840. 125.Fixed memory/socket reading bug.
  2841. 126.Pressing Enter in the parameters dialog without entering
  2842.     any text now returns $null.
  2843. 127.Kick, Part, Quit messages have Control-O appended to them.
  2844. 128.Improved channel MODE change handling, mIRC updates the
  2845.     mode settings itself so there's no longer a delay.
  2846. 129.ON MODE reacts to initial mode lookup when mIRC first
  2847.     joins a channel.
  2848. 130.Rewrote /auser & /guser routine. Code is cleaner, same
  2849.     speed, works better eg. doesnt allow redundant levels,
  2850.     and fixes bugs in the old routines.
  2851. 131.Added wildcard halting of timers. eg. /timer?* off
  2852. 132.Fixed messages to #host.mask.
  2853. 133.Install program now only creates one backup directory and
  2854.     overwrites any files in it if they already exist.
  2855. 134.Channels folder now also allows you to enter descriptions
  2856.     for channels.
  2857. 135.Added $chan(N/#).property identifer:
  2858.  
  2859.     $chan(N/#)         channel name
  2860.     $chan(N/#).topic   topic
  2861.     $chan(N/#).mode    mode
  2862.     $chan(N/#).key     +k key
  2863.     $chan(N/#).limit   +l limit
  2864.  
  2865.     $mode() and $topic() are no longer supported. However
  2866.     $channel() is still supported for this version.
  2867. 136.Support for the :> redirection in remote definitions has
  2868.     been removed.
  2869. 137.Added /strip [+-burc] command.
  2870. 138./wavplay command has been replaced with /splay command,
  2871.     which can play both .wav and .mid sound files. Can also
  2872.     use "/splay stop" to stop a .mid file playing. /wavplay
  2873.     is still supported for now. 
  2874. 139.The /sound command and related options (ON NOSOUND, etc.)
  2875.     can now work with .mid files as well as .wav files.
  2876. 140.Improved/simplified code in the install program.
  2877.  
  2878. 07/09/96 - mIRC v4.6
  2879.  
  2880. Fixes/Additions:
  2881. 1.Now handles various combinations of : and { at the
  2882.   beginning of a remote definition.
  2883. 2.Fixed :> redirection.
  2884. 3.Fixed separator handling in popup menus.
  2885. 4.ON SNOTICE can now be prevented from displaying info.
  2886. 5.Now does NOT evaluate identifiers in a command issued
  2887.   from the command line. If you want to force identifers
  2888.   to be evaluated, you can prefix the command with two
  2889.   // instead of just one /.
  2890. 6.Fixed $1 $2 etc. not working with Function keys.
  2891. 7.Fixed $dir and $hfile identifiers.
  2892. 8.Fixed ON KICK missing $parms.
  2893. 9.Fixed variables section not being saved if commands
  2894.   section is empty.
  2895. 10.Fixed DCC Windows not being minimized properly.
  2896. 11.Explicit support for the DO ctcp command has been
  2897.    removed. If a user wants to use a DO in their ctcp
  2898.    definitions, they would have to specifically make
  2899.    mIRC perform any parameters that another user sends
  2900.    as commands, eg.:
  2901.  
  2902.    1:DO:$parm2*
  2903.  
  2904. 12.Fixed the -s switch in /echo.
  2905. 13.Fixed $readini with missing parameters gpfing.
  2906. 14.$read and $readini now return $null if a line isn't found.
  2907. 15.Extended the functionality of [ ] so that if they enclose
  2908.    only a single parameter they will evaluate it even if it
  2909.    has already been evaluated. eg.:
  2910.  
  2911.    set %x %y
  2912.    set %y Hiya!
  2913.    /echo [ [ %x ] ]
  2914.  
  2915. 16.DCC Send, Get, Chat, and Fserv now use different Icons.
  2916. 17.The = switch in remote definitions 1:COMMAND:= wasn't
  2917.    working properly.
  2918. 18.Fixed =$nick for on serv/chat.
  2919. 19.Now handles site bans or masks for addresses that only
  2920.    have an x.x format instead of the usual x.x.x format.
  2921. 20.Fixed Aliases "Save To" only saving to mIRC directory.
  2922. 21.Fixed $asctime() gpf bug.
  2923. 22.DDE USERS now prefixes nicknames with @ or + if necessary.
  2924. 23.Now cannot use /writeini to remove items or sections, must
  2925.    use the /remini command which takes the same parameters.
  2926. 24.Added $exists(filename) to check if a file exists,
  2927.    returns $true or $false.
  2928. 25.Added -n switch to $read which prevents the line read in
  2929.    from being evaluated or parsed ie. it's treated as text.
  2930. 26.Added /wallops <message> command.
  2931. 27.Now supports DALnet /part #channel [message]. The message
  2932.    is limited to around 60 characters.
  2933. 28.Fixed extra separator lines being added to certain popup
  2934.    menus occasionally.
  2935. 29.Now allows you to dcc chat yourself.
  2936. 30.Now saves URLs to the urls.ini file.
  2937. 31.Added $maddress which specifies the currently matched
  2938.    user address for an event in the remote:
  2939.  
  2940.    1:TEST:/echo $fulladdress matched $maddress
  2941.  
  2942.    And added $maddress(address) which returns a matching
  2943.    address from the remote user list:
  2944. 32.If the filename specified in $read has no path, it defaults
  2945.    to the mirc.exe directory (like all other commands).
  2946. 33.Can now /load -r and /save -r (raw definitions).
  2947. 34.Added Load/Save items to URLs pop menu which let you
  2948.    load/save any URL file.
  2949. 35.Join/part/other text messages are now wrapped.
  2950. 36.Can now press return in a multi-line editbox in the
  2951.    middle of a line without sending the text.
  2952. 37.Added "Play wave" option to notify list which lets you
  2953.    choose a wave to play when a specific user joins IRC.
  2954. 38.Added "show notices in active window" option in IRC
  2955.    switches, and also improved the way notices are
  2956.    displayed.
  2957. 39.Fixed memory bug in fileserver.
  2958. 40.Improved memory allocation in copy/paste routine.
  2959. 41.Displays /whowas reply with @ in address.
  2960. 42.The aliases for .hlp files added to the Help menu now have
  2961.    the lowest command precedence ie. if an existing alias or
  2962.    command of the same name exists, the .hlp alias is never run.
  2963. 43.Now also adds .txt files to the dynamic help menu.
  2964. 44.The IAL is updated a bit more intelligently to allow
  2965.    remote definitions to access nicknames that have just
  2966.    joined/left a channel.
  2967. 45.Fixed time-out gpf bug which affected Send/Get/FServ.
  2968. 46.Now triggers ON PART when *you* part a channel.
  2969. 47.Added $longip(IP address/long IP) which converts a dotted
  2970.    IP Address to a long IP, and vice-versa.
  2971. 48.Fixed message not being wrapped when a query window
  2972.    first opens.
  2973. 49.Fixed GPFs occurring when viewing URLs.
  2974. 50.Fixed "me:" prefix for remote definitions.
  2975. 51.Now supports a /list result with or without RPL_LISTSTART,
  2976.    to accomodate ircd 2.9.x.
  2977. 52.Can now specify a filename when saving a window buffer.
  2978. 53.Added option "Only show notifies in notify window".
  2979. 54.Fixed "Bad Username" server reply if new user entered an
  2980.    invalid email address (the userid part was being used
  2981.    in the ident server).
  2982. 55./echo 1 $asc($mid(3,1,hi there)) was returning 0 for a space,
  2983.    now returns 32.
  2984. 56.Added "fast screen update" option to Extras dialog. This
  2985.    speeds up text printing by updating the screen after each
  2986.    "batch" of text instead of each line.
  2987. 57.Moved "Ignore" to first position in Control dialog.
  2988. 58.Added a new flood protection method. Just use
  2989.    /flood [on|off] to turn it on and off.
  2990. 59.ISON notify lines are broken into less than 500 character
  2991.    lines now.
  2992. 60.Added option "Show finger requests" to Options dialog
  2993.    in Servers section.
  2994. 61.Fixed /oper with wrong password GPFing (?)
  2995. 62.Prefixing a command with . prevents it from displaying
  2996.    its usual message (apart from error messages).
  2997. 63.Fixed #$$?#="Enter a channel name:" type identifier.
  2998. 64.Added ON WALLOPS event.
  2999.  
  3000.    1:ON WALLOPS:*text*:/command...
  3001.  
  3002. 65.Fixed $true/$false/$null not working in certain
  3003.    comparisons.
  3004. 66.Fixed info lines sometimes not being displayed in
  3005.    DCC Send/Get windows.
  3006. 67./halt can now prevent the usual text output of raw
  3007.    numeric events (for most events).
  3008. 68.Added $bnick identifier which refers to the nickname
  3009.    of the user being banned. This is not always filled
  3010.    since sometimes a nickname isn't specified with a
  3011.    banmask.
  3012. 69.Now displays all user modes in status window titlebar.
  3013. 70.Improved display of info for unknown numerics.
  3014. 71.Fixed status window not closing when it's opened as
  3015.    Desktop window and mIRC is exited.
  3016. 72.Added $ulevel and $clevel which store the remote user
  3017.    and command levels that matched for an event.
  3018. 73.The channels list is no longer stored internally but
  3019.    completely stored in and accessed from the channels.txt
  3020.    file.
  3021. 74./remote [on|off] now affects the raw section as well.
  3022. 75.Can now do /raw [on|off] to turn the raw section on
  3023.    and off.
  3024. 76.Fixed mode event -l or -k skipping parameters in a
  3025.    mode change.
  3026. 77.Notify window now displays note next to each nickname.
  3027. 78.Tweaked INI routines.
  3028. 79.When an error occurs in a DCC Send/Get/Chat, the dcc
  3029.    window is now closed if "auto-close" is selected in
  3030.    dcc options.
  3031. 80.Added ON NOSOUND event triggered when someone sends you
  3032.    a SOUND request and the sound doesn't exist.
  3033.  
  3034.    1:ON NOSOUND:/msg $nick I don't have $filename
  3035.  
  3036. 81.Changed toolbar buttons appearance.
  3037. 82.Can now do /partall <message>
  3038. 83.In ON NICK event when you change your nick, the $me
  3039.    identifier is only updated after remote definitions have
  3040.    been processed.
  3041. 84.Now handles #,&,+ channels in aliases, popups, remote,
  3042.    dialogs, etc. This might affect a few things since &
  3043.    and + are now special prefix characters.
  3044. 85.Now saves Servers in servers.ini file.
  3045. 86.Tweaked DCC Send/Get routines and fixed problem with
  3046.    DCC windows not displaying the correct information in
  3047.    certain situations.
  3048. 87.Standardized INI prefix to "n" for all saved information.
  3049. 88.Results from a /who and /whois are now used to update
  3050.    the Internal Address List if the user is on a channel
  3051.    which you are on. eg. /who #channel.
  3052. 89./speak now supports both Text Assist and Monologue.
  3053. 90.Now displays #*.server.co.uk type messages properly.
  3054. 91.Dropped files with spaces in the filename are now enclosed
  3055.    in "" quotes.
  3056. 92.Fixed $parmN1-N2 bug.
  3057. 93.Added "Font" item to Tools menu.
  3058. 94.Clicking on "Unban" to unban addresses while in the
  3059.    Channels dialog now also sets the topic and modes if
  3060.    you've changed them.
  3061. 95.Fixed bug with command prefix infront of if/else/elseif
  3062.    not working properly after { brackets.
  3063. 96.Fixed RAW definitions being processed from the bottom
  3064.    of list upwards.
  3065. 97.Supports /globops command for DALnet.
  3066. 98.Can now prevent Quit messages from printing in status
  3067.     window with /halt.
  3068. 99./userhost results now update IAL.
  3069. 100.Improved /whois lookup code for /guser,/ruser,/finger,
  3070.     /dns, etc. commands that look up a users address.
  3071. 101.Fixed sending multiple files with /dcc send command.
  3072. 102.Added identifiers $mode(#) and $topic(#) which return
  3073.     the mode/topic of channels which you're currently on.
  3074. 103.Added identifier $count(string1,string2) which returns
  3075.     the number of times string2 occurs in string1.
  3076. 104.Speeded up remote processing a bit.
  3077. 105.DCC Get problem for netcom users fixed.
  3078. 106./links now displays links list properly on ircd 2.9.1 which
  3079.     sends the list in reverse order (are we surprised? ;)
  3080. 107.Notify pause time between checks is now based on the total
  3081.     number of nicks in your notify list. The minimum pause time
  3082.     is 20 seconds, the maximum pause time is 50 seconds.
  3083. 108.An alias cannot call *itself* anymore (except indirectly by
  3084.     calling another alias which calls it).
  3085. 109.Improved editbox processing routine slightly: now processes
  3086.     text entered into it even if another window is active or
  3087.     on top of it.
  3088. 110.Added /close -icfgms [nick1] [nickN] which closes windows of
  3089.     the specified type and nicknames. If no nicknames are given,
  3090.     all windows of the specified type are closed.
  3091.     i = only close inactive windows (doesnt apply to message windows)
  3092.     c = chat
  3093.     f = fserve
  3094.     g = gets
  3095.     m = message windows
  3096.     s = sends
  3097. 111.Removed /closechats, /closefserves, /closedccs commands. These
  3098.     are replaced by the /close command.
  3099. 112.Removed /maxdepth command.
  3100. 113.Added $timestamp identifier returns time in [xx:xx] format.
  3101. 114.Now allows you to enter multiple Ports (separated by commas) for
  3102.     each server. A random port will be picked at each connect.
  3103. 115.Fixed dcc get time-out bug.
  3104. 116.Removed "Show transfer progress as percent" switch, now only
  3105.     displays progress as a percentage.
  3106. 117.Added "Display fileserver warning" switch to dcc options dialog.
  3107. 118.Can now hold down the Shift key when tiling to tile vertically.
  3108. 119.Fixed channel nickname list updating incorrectly with certain
  3109.     combinations of /mode results.
  3110. 120.Now supports the ircd 2.9.1 ^G in a JOIN.
  3111. 121.Now triggers the part event if you close a channel window
  3112.     manually by clicking on the close button.
  3113. 122.The TAB key nickname list now only stores the nicknames of people
  3114.     who sent you normal query/channel messages, not ctcps.
  3115. 123.Fixed /timer bug.
  3116. 124./unset can now use wildcards, so /unset %test* will unset all
  3117.     variables beginning with %test.
  3118. 125./alias now tells you which alias it's adding/removing.
  3119. 126.Fixed gpf bug when low number values are used with time
  3120.     related functions/identifiers.
  3121. 127.Calling an alias from another alias only passes the required
  3122.     parameters and not all parameters.
  3123. 128.Now also handles .chat files which contain tab characters.
  3124. 129.Negative value variables are now handled properly.
  3125. 130.Reorganized identifiers-related code a bit (still in progress).
  3126. 131.Fixed small bug in installation program.
  3127. 132.Added Event beeps on/off switch in event beeps dialog, also
  3128.     added an /ebeeps [on|off] command.
  3129. 133.Fixed MDI channel window listbox/scrollbar display bug.
  3130. 134.Fixed /unset %var1 ... %varN.
  3131. 135.Can now hold down Shift key when clicking "connect" toolbar
  3132.     button to force mIRC to connect to last server and port
  3133.     again, instead of picking a new server or port.
  3134. 136.Fixed /return bug.
  3135.  
  3136. 06/07/96 - mIRC v4.52
  3137.  
  3138. Fixes/Additions:
  3139. 1.Fixed UTC permanently.
  3140. 2.Fixed invalid ctcp replies causing a gpf.
  3141. 3.Fixed /play bug.
  3142. 4.Fixed scrollbars not being set properly in some windows
  3143.   when they first open.
  3144. 5.Changed method of adding Icons to program manager
  3145.   in Installation program.
  3146. 6.Fixed bug in Installation program when installing into
  3147.   directory names with spaces in them.
  3148. 7.Fixed the COMMAND DDE topic to work better with certain
  3149.   types of poked commands.
  3150. 8.Fixed bug with Popup menus when using { } brackets to
  3151.   enclose commands in different level menu items.
  3152. 9.Fixed channels folder bug not allowing you to join a
  3153.   channel unless it was first added to the list.
  3154. 10.In COMMANDS, $parm1 now refers to the actual COMMAND.
  3155. 11.Server notices are now only displayed in status window.
  3156. 12.Added $address(nickname,type) which scans the internal
  3157.    address list and returns a users address if it's found.
  3158. 13.Added $logdir, $getdir, $wavedir, $mircdir which return
  3159.    current directory paths for each location.
  3160. 14.Identifiers in remote/popup commands which call aliases
  3161.    are now evaluated before the alias is called.
  3162. 15.Fixed ON NOTIFY not being triggered by notify event.
  3163. 16.mIRC will no longer allow the DO ctcp command to execute
  3164.    at or below the default user level.
  3165. 17.Now allows /group, /enable, and /disable commands to be
  3166.    used with the RAW section.
  3167. 18.Changed description of Protect option which said it worked
  3168.    with addresses.. it can only work with nicknames.
  3169. 19.Added $lf = chr(10) linefeed and $cr = chr(13) return.
  3170. 20.Added $lof(filename) which returns the size in bytes of
  3171.    the specified file.
  3172. 21.Added $pos(string,substring) which returns the position
  3173.    of substring in string.
  3174. 22.Fixed bug in remote when parsing { } brackets, was miscounting
  3175.    and skipping definitions.
  3176. 23.Made remote routines less strict in the type of format
  3177.    they expect in definitions. eg. the :> redirection.
  3178. 24.The channels.txt file now does not store channels that
  3179.    were excluded in the "Hide" parameters section.
  3180. 25.Added $send(N) and $get(N) which return currently open
  3181.    send/get windows.
  3182. 26.Fixed $chat(N) so it only returns the nickname of the user.
  3183. 27.Now allows multiple channel names as variables, eg:
  3184.  
  3185.    1:ON JOIN:%chan1,#mIRC,%chan2:etc...
  3186.  
  3187.    Or you can do:
  3188.  
  3189.    1:ON JOIN:%channels:etc...
  3190.  
  3191.    Where %channels is a list of channels separated by commas.
  3192.    You can't *combine* these though.
  3193. 28.Added $mask(address,type) which returns the address
  3194.    with the specified mask.
  3195. 29.Identifiers are now passed correctly when calling an alias
  3196.    from another alias.
  3197. 30.Added command line parameter -ppassword for use with the
  3198.    -jchannel parameter. Specifies password to join channel.
  3199. 31.Now supports the PASSWORD parameter in .chat files for
  3200.    joining a channel with a password.
  3201. 32.Added ON CHATOPEN, CHATCLOSE, SERVOPEN, SERVCLOSE events.
  3202.  
  3203.    1:ON CHATOPEN:/commands...
  3204.  
  3205. 33.Added /flushini <filename> which flushes the ini file to
  3206.    disk if it is currently being cached.
  3207. 34.Added /closedccs, /closechats, and /closefserves, which
  3208.    close all inactive send/get, chat, and fserve windows.
  3209. 35.Added $nopath(filename) identifier which returns only
  3210.    the filename with no path.
  3211. 36.Fixed $$ not working when used in $$1 $$2 .. $$N.
  3212. 37.Added $replace(string,substring,replacement)
  3213.    and $remove(string,substring).
  3214. 38.Speeded up processing of identifiers and commands.
  3215. 39.Speeded up display of info in /links window.
  3216. 40.Fixed NT bug... it didn't like low-level assembly routines.
  3217. 41.Fixed +v/-v mode display in channel nicknames listbox.
  3218. 42.The default /list setting for minimum number of people
  3219.    on a channel has changed from zero to four.
  3220. 43.Using /halt to prevent certain EVENTs from being displayed
  3221.    has been removed. It worked, but the order of display of
  3222.    information became non-intuitive and confusing. Will find
  3223.    a better way to do this for the next version.
  3224. 44.Added $result identifier which stores the result of
  3225.    a /return <result>. The result can be a number between
  3226.    0 and 30,000.
  3227.  
  3228. 30/06/96 - mIRC v4.5
  3229.  
  3230. Fixes/Additions:
  3231. 1.Major improvement of code in many places. mIRC
  3232.   now processes many things faster.
  3233. 2.Fixed possible bug with invalid nicknames being
  3234.   added to nick list on a channel.
  3235. 3.Fixed a bug in DDE routines which caused a GPF if
  3236.   external applications were too slow at processing
  3237.   DDE messages.
  3238. 4.Rewrote remote routines, they now look much less
  3239.   like spaghetti and work better.
  3240. 5.Can now use [ and ] evaluation brackets to control
  3241.   the order of evaluation of identifiers. Identifiers
  3242.   within brackets will be evaluated first, from left
  3243.   to right. You can nest brackets. This allows you to
  3244.   evaluate things any way you like...
  3245.  
  3246.   /notice $nick " $+ [ $read [ -s + [ $parm1 ] ] c:\text\note.txt ] $+ "
  3247.   /say % [ $+ [ $1 ] ]
  3248.  
  3249.   Definitions without evaluation brackets are evaluated
  3250.   the same way as before, though I've also improved the
  3251.   normal evaluation method slightly.
  3252. 6.Fixed small $read bug.
  3253. 7.Can now use server addresses in User list in remote.
  3254. 8.Added MDI options dialog to the Window menu which
  3255.   allows you to specify for each individual window if
  3256.   you want it opened as an MDI or as an independent
  3257.   desktop window.
  3258. 9.Standardised command error reply to: * /command: <message>
  3259. 10.Can now use delete key to delete URLs in URL window
  3260.    and Insert key to add a new url.
  3261. 11.Can now use Control-Tab to step through the different
  3262.    tabs in the setup and options dialogs.
  3263. 12.Wrote a setup program which allows you to install mIRC
  3264.    in a directory of your choice, creates backups of your
  3265.    current files, validates the zipped files to make sure
  3266.    they're not corrupted, and adds icons to the program
  3267.    manager for you.
  3268. 13.Improved DCC Send file dialog, can now select more than
  3269.    nine files at a time to dcc send.
  3270. 14.Fixed scrollbar sometimes not being positioned properly
  3271.    in certain windows.
  3272. 15.Added /titlebar command which allows you to change the text
  3273.    in the titlebar on the fly.
  3274. 16.Added protect list to options dialog, now works
  3275.    exactly like auto-op command, can specify channels
  3276.    for each nick.
  3277. 17.DCC Send/Get/Chat are now fully dynamically allocated
  3278.    structures ie. there is no limit on the number of DCCs.
  3279.    This speeds up dcc send/get processing a lot. This also
  3280.    fixes a few small bugs related to the way the older
  3281.    structures were being used.
  3282. 18.Improved the DCC Send/Get transfer windows, they now
  3283.    give information such as time taken, estimated time
  3284.    for transfer, characters per second, etc., and a
  3285.    progress bar.
  3286. 19.Window sizes for Chat/Server/Send/Get windows are now
  3287.    saved seperately for each type of window.
  3288. 20.Added ON BAN remote event, works like ON OP.
  3289.  
  3290.    5:ON BAN:#tree:/mode $chan -b $banmask
  3291.  
  3292. 21.Added option to Links window popup menu which lets you
  3293.    switch between displaying links as plain text or
  3294.    in a listbox.
  3295. 22.Wildcard routine now allows ? character to match any
  3296.    single character, the * is used as normal to match
  3297.    multiple characters. This affects matching text in
  3298.    ON TEXT, etc. as well as user addresses. Also fixed a
  3299.    small bug that was causing mismatches in certain cases.
  3300. 23.Now allows multiple channels in a remote event
  3301.    definition:
  3302.  
  3303.    1:ON OP:#moo,#help,#test:/notice ...
  3304.  
  3305. 24.Now allows %variables to be used in the text and
  3306.    channel positions of an event definition:
  3307.  
  3308.    1:ON TEXT:%text:%channel:/notice etc ...
  3309.  
  3310.    You can also use %variables for ctcp command names:
  3311.  
  3312.    1:%variable:/notice etc...
  3313.  
  3314. 25.Added a RAW section to the remote which catches NUMERIC
  3315.    events. This has it's own separate editbox because if
  3316.    mIRC had to scan your whole remote events definitions
  3317.    for each numeric event, things would slow down to a
  3318.    crawl.
  3319.  
  3320.    322:*mirc*:/echo 2 $parms
  3321.  
  3322.    This would print all lines which have the word "mirc"
  3323.    in them when you do a channels /list (this is a pretty
  3324.    intensive test).
  3325.  
  3326. 26.Fixed bug with notify list not being updated correctly
  3327.    when a user changed nicknames.
  3328. 27.For remote events and ctcp commands you can now prevent
  3329.    the normal text associated with that command from being
  3330.    displayed by using the /halt command.
  3331.  
  3332.    1:ON JOIN:#mIRC:/echo 3 #mirc [Joins $nick] | /halt
  3333.  
  3334.    So from now on when anyone joins channel #mIRC, only
  3335.    that text is displayed in the channel.
  3336.  
  3337.    Be warned: you can use this to prevent query windows
  3338.    from opening, plus other things which mIRC usually
  3339.    does for an event (though nothing critical).
  3340. 28.Window structures are now fully dynamically allocated
  3341.    so there is no limit on the number of windows which can
  3342.    be opened. This also speeds up processing quite a bit.
  3343. 29.Now allows alias, popup, and remote definitions like:
  3344.    <prefix definition> {
  3345.      /command1 ...
  3346.      /command2 ...
  3347.      /command3 ...
  3348.    }
  3349.    One line definitions are handled the same as before.
  3350.    The characters { } now have special meaning so you
  3351.    can't use them as normal text anymore.
  3352. 30.Major improvement of memory usage in command parser.
  3353. 31.Added "View" URL option in channels list popup menu
  3354.    which extracts and views a URL immediately.
  3355. 32.Added a /goto command which can be used in { } definitions.
  3356.  
  3357.    /greet {
  3358.      /set %x 0
  3359.      :retry
  3360.      /inc %x
  3361.      /goto %x
  3362.      :2
  3363.      /echo bye!
  3364.      /halt
  3365.      :1
  3366.      /echo hi!
  3367.      /goto retry
  3368.    }
  3369.  
  3370.    You can also use a variable as a goto name, eg.
  3371.  
  3372.    :%jumppoint
  3373.  
  3374.    if you "/set %jumpoint 5" then you can do "/goto 5"
  3375.    and mIRC will evaluate %jumpoint to 5 and jump to it.
  3376.  
  3377. 33.You can now use the /return command to finish processing
  3378.    an alias command and to allow any default processing to
  3379.    continue. eg.
  3380.  
  3381.    1:ON JOIN:#mIRC {
  3382.      /echo 3 #mirc [Joins $nick]
  3383.      /return
  3384.      /echo 3 #mirc I'm not printed!
  3385.    }
  3386.    
  3387. 34.Added "Always On Top" setting to system menu of windows
  3388.    when they are opened as desktop windows.
  3389. 35.Text in status, queries, and channels windows is now
  3390.    rewrapped to fit the window whenever a window is resized
  3391.    or a font is changed.
  3392. 36.Added two new events:
  3393.  
  3394.    1:ON FILESENT:*.txt,*.ini:/echo Sent $filename to $nick ( $+ $address $+ )
  3395.    1:ON FILERCVD:*.txt,*.ini:/echo Received $filename from $nick | /run notepad.exe $filename
  3396.  
  3397.    These only react to successful DCC transers.
  3398. 37.Added /writeini command and $readini identifier which use
  3399.    the built-in ini routines to write/read standard ini files.
  3400.  
  3401.    /writeini <inifile> <section> <item> <value>
  3402.    $readini <inifile> <section> <item>
  3403.  
  3404.    These will allow better control of storage of different
  3405.    types of information into different sections in a file.
  3406. 38.Now allows aliases to call other aliases, or even to call
  3407.    themselves recursively. As a safeguard against infinite
  3408.    loops, the default maximum recurse depth is set at 10. This
  3409.    can be changed with the /maxdepth command. The minimum
  3410.    depth allowed is 1 (aliases can't call other aliases) and
  3411.    the maximum is 100. Calling aliases from within aliases
  3412.    uses quite a bit of memory, so this might cause problems
  3413.    in certain situations where memory is low etc.
  3414. 39.The /links window now has the save buffer option in the
  3415.    system menu.
  3416. 40.Now supports Drag-and-drop files onto channel, channel nick
  3417.    listbox, query/chat, and notify windows. Can define aliases
  3418.    for each type of dropped file, as well as different aliases
  3419.    if the Shift key is pressed when the file is dropped. See
  3420.    Drag-drop tab in options dialog.
  3421. 41.The /set /unset /inc /dec commands now default to not
  3422.    displaying information unless called directly from the
  3423.    command line. To force them to display info, you can use
  3424.    the [-s] switch eg. /set -s %x 1
  3425. 42.Improved the copy routine slightly... if lines being copied
  3426.    originally belonged to the same line, then they are combined
  3427.    instead of separated. If you want to force mIRC to copy text
  3428.    exactly as it appears in the window then hold down the SHIFT
  3429.    key when you do the mark/copy.
  3430. 43.In remote, instead of using the * prefix for commands to
  3431.    be performed only when you're an Op, you can now use the @
  3432.    sign. Both are handled, but I will only specify the @ in
  3433.    the documentation since it makes more sense.
  3434. 44.Increased maximum items for popup menus from 300 to 600.
  3435. 45.Now ignores any mirc.ini in the windows directory and uses
  3436.    the mirc.ini in the current mirc.exe path.
  3437. 46.Invalid CTCP messages are not replied to anymore.
  3438. 47.Fixed a small time-out bug related to dcc send/get/chat.
  3439. 48.New Identifiers:
  3440.  
  3441.    $abs(N) returns the absolute value of number N.
  3442.    $chr(N) returns the character with ascii number N.
  3443.    $asc(C) returns the ascii number of the character C.
  3444.  
  3445.    $len(text) returns the length of "text".
  3446.  
  3447.    $upper(text) returns "text" in uppercase.
  3448.    $lower(text) returns "text" in lowercase.
  3449.  
  3450.    $left(N,text) returns N left characters.
  3451.    $right(N,text) returns N right characters.
  3452.    $mid(S,N,text) returns N characters starting at S.
  3453.    $str(N,text) returns "text" repeated N times.
  3454.  
  3455.    $token(N,C,text) return Nth token separated by character C
  3456.                     (C is the ascii number of a character)
  3457.  
  3458.    $lines(file) return number of lines in specified file.
  3459.  
  3460.    $nick(N,#) returns Nth nickname on channel #.
  3461.    $snick(N,#) returns Nth selected nickname on channel #.
  3462.    $opnick(N,#) returns Nth Op nickname on channel #.
  3463.    $nopnick(N,#) returns Nth non-Op nickname on channel #.
  3464.  
  3465.    $channel(N) returns the Nth channel that you are on.
  3466.    $query(N) returns the Nth query window you have open.
  3467.    $chat(N) returns the Nth dcc chat window you have open.
  3468.  
  3469.    $notify(N) returns the Nth notify nick currently on IRC.
  3470.  
  3471.    For the above identifiers you can specify N as 0 (zero)
  3472.    to get the total number of nicks/channels/etc. for that
  3473.    identifier.
  3474.  
  3475.    $snotify   returns notify nick currently selected in
  3476.               notify list box.
  3477.  
  3478.    $level(address) finds a matching address in the remote
  3479.                    users list and returns its levels.
  3480.  
  3481.    $away returns the value $true or $false.
  3482.  
  3483.    Identifiers/variables can be placed inside the brackets.
  3484.  
  3485.    Example: /echo $right(3,$left($len(goats),ToMooOrNotToMoo))
  3486.  
  3487. 49.Added a simple /if statement...
  3488.  
  3489.    /if v1 operator v2 { ... }
  3490.    /elseif v1 operator v2 { ... }
  3491.    /else { ... }
  3492.  
  3493.    Example:
  3494.  
  3495.    if (((%x == 2) || (%y >= 3)) && ($1 == $parm1)) { echo match1! }
  3496.    else if ($len(%input) == 5) { echo match2! }
  3497.    else echo no match!
  3498.  
  3499.    If/elseif/else can all be nested inside each other. You
  3500.    should use () and {} brackets to make sure that you're
  3501.    terms are evaluated correctly though you don't *have* to
  3502.    use them.
  3503.  
  3504.    Using brackets also speeds up processing quite a bit since
  3505.    mIRC then knows exactly what it has to evaluate.
  3506.  
  3507.    Available comparisons:
  3508.  
  3509.    ==    equal to
  3510.    !=    not equal to
  3511.    <     less than
  3512.    >     larger than
  3513.    >=    larger than or equal to
  3514.    <=    smaller than or equal to
  3515.  
  3516.    //    is a multiple of
  3517.    \\    is not a multiple of
  3518.  
  3519.    isin  string v1 is in string v2
  3520.    iswm  wildcard string v1 matches string v2
  3521.  
  3522.    ison  nickname v1 is on channel v2
  3523.    isop  nickname v1 is an op on channel v2
  3524.  
  3525.    isnum number v1 is a number in the range v2
  3526.          which is in the form n1-n2 (v2 optional)
  3527.  
  3528.    ischan if v1 is a channel which you are on.
  3529.  
  3530.    isauto  if v1 is a user in your auto-op list for
  3531.            channel v2 (v2 optional)
  3532.  
  3533.    isignore if v1 is a user in your ignore list with the
  3534.             ignore switch v2 (v2 optional)
  3535.  
  3536.    isprotect if v1 is a user in your protect list for
  3537.              channel v2 (v2 optional)
  3538.  
  3539.    isnotify if v1 is a user in your notify list.
  3540.  
  3541.    To negate the above you can prefix them with an !
  3542.    exclamation mark.
  3543. 50.In all definitions, you do not need to specify the
  3544.    / command character any more for commands since it
  3545.    is really only needed when typing commands into the
  3546.    editbox. This also means you don't need to specify
  3547.    the / when defining aliases, etc. See 51.
  3548. 51.Variables or identifiers that don't evaluate to a value
  3549.    now return the value $null so they can be used in the
  3550.    if statement for checking etc. eg.
  3551.  
  3552.    listops {
  3553.      echo 4 * Listing Ops on #
  3554.      set %i 1
  3555.      :next
  3556.      set %nick $nick(%i,#)
  3557.      if %nick == $null goto done
  3558.      if %nick isop # echo 3 %nick is an Op!
  3559.      inc %i
  3560.      goto next
  3561.      :done
  3562.      echo 4 * End of Ops list
  3563.    }
  3564.  
  3565. 52.When entering text in an editbox you can now hold down
  3566.    the CONTROL key when pressing Enter and the text will be
  3567.    sent as plain text even if it begins with a command
  3568.    character. This will also work when you paste text into
  3569.    the editbox.
  3570. 53.Text in Alias, Popup, and Remote ediboxes is now auto-
  3571.    indented when { } brackets are encountered.
  3572. 54.Enlarged DCC Chat dialog to make it easier to use.
  3573. 55.You can now use an = (equal sign) to assign values to
  3574.    variables.
  3575.  
  3576.    %x = 5 + 1
  3577.    %x = 5 - %y
  3578.    %x = %x * 2
  3579.    %x = %z / $2
  3580.    %x = %x % 3
  3581.  
  3582.    Can only perform a single operation in an assignment
  3583.    at this time. You can also still do /set %x 5 + 1.
  3584. 56.Added $ctime identifier which returns total number of
  3585.    seconds elapsed since 00:00:00 GMT, January 1, 1970. This
  3586.    can be used with PING to find out how many seconds it took.
  3587. 57.Added ON CTCPREPLY to listen for replies to ctcps. eg.:
  3588.  
  3589.    1:ON CTCPREPLY:PING* {
  3590.      if ($parm2 == $null) echo [ $+ $nick PING reply]
  3591.      else {
  3592.        %pt = $ctime - $parm2
  3593.        if (%pt < 0) set %pt 0
  3594.        echo [ $+ $nick PING reply] %pt seconds
  3595.      }
  3596.      halt
  3597.    }
  3598.  
  3599. 58.Identifer $active returns the full name of the currently
  3600.    active window.
  3601. 59.Added Font button to alias, popup, and remote dialogs
  3602. 60.mIRC now automatically gets your web browsers path and
  3603.    name from the registry if it's there.
  3604. 61.Channels list is now saved to a file "channels.txt" and the
  3605.    channels list dialog now has "Apply" and "Get List" buttons.
  3606.    If "Get List" is pressed then a list is read from the server,
  3607.    if "Apply" is pressed then the latest list is used whether in
  3608.    the channels listbox or in the "channels.txt" file. The date
  3609.    time and server name are also stored in this file.
  3610. 62.Added "Save to file" item in channels list popup menu which
  3611.    allows you to save the currently displayed list to a file.
  3612. 63.Added "PORT" item to DDE which returns the current irc
  3613.    server port you are using.
  3614. 64.If userid in ident server is empty then mIRC assumes you're
  3615.    a new user and automatically fills in the userid from the
  3616.    email address you entered and turns on the ident server.
  3617. 65.Can now use the /quote command to do the same thing as /raw.
  3618. 66.Now supports server-side filtering on UNDERNET channels for
  3619.    the minimum and maximum number of users on a channel. This
  3620.    means that you will only receive a list of channels which
  3621.    match your choices for these two criteria.
  3622. 67.Can now use Alt-J to pop up the channels folder dialog.
  3623. 68.Speeded up display of Channel nicknames listbox. This actually
  3624.    affects quite a few other things in mIRC since the channels
  3625.    listbox was being used to store the nicknames for each channel.
  3626.    Now the nicknames are stored internally. Any command or
  3627.    function that involves checking/using nicknames is now far
  3628.    faster than before.
  3629. 69.Now sounds an event beep when a chat that you initiated
  3630.    makes a connection.
  3631. 70.Can now set a string variable to an empty string with "".
  3632.    eg. set %name ""  or  %s = ""
  3633. 71.Text in the alias/popup/remote dialogs is now displayed
  3634.    quickly.
  3635. 72.The Wait cursor is now used in more places to give a
  3636.    better indication of when mIRC is busy doing something.
  3637. 73.Can now select multiple files in the Log File listbox
  3638.    to make deleting files easier.
  3639. 74.For $read and /play you no longer need to specify the
  3640.    number of lines in a file on the first line of the file.
  3641.    If you do, mIRC will use the number and will work faster,
  3642.    if you don't mIRC will count the lines itself.
  3643. 75.Can now use Control-Break to break out of a currently
  3644.    executing alias in case it's in an infinite loop, etc.
  3645. 76.mIRC now defaults to using aliases.ini, popups.ini, and
  3646.    remote.ini files if these files aren't specified in mirc.ini,
  3647.    and if these sections aren't found in mirc.ini. If these
  3648.    files don't exist, mIRC will create them.
  3649. 77.Added /alias command which allows you to add and remove
  3650.    aliases from the aliases list. Only works for *single line*
  3651.    aliases.
  3652. 78.Colour now works in DCC Chats.
  3653. 79.Speeded up Tab display in setup and options dialogs.
  3654. 80.Fixed Editbox bug when pressing enter and text isn't sent.
  3655. 81.DDE Server now defaults to ON with service name MIRC.
  3656. 82.Added "CONNECT" DDE topic, which connects you to a server and
  3657.    joins a channel. The data format is: irc.funet.fi,6667,#mIRC,1
  3658.    where the last digit is a 1 or 0 indicating whether you want
  3659.    mIRC to be activated or not. This is an XTYP_POKE.
  3660. 83.Converted some routines to assembly to increase speed.
  3661. 84.Added $asctime() which converts the value returned by $ctime
  3662.    or a PING into a full date in text format.
  3663. 85.Added support for ctcp UTC.
  3664. 86.Now ignores DCC-related ctcps sent to a channel.
  3665. 87.Shift-F1 now pops up the keyword search dialog for the help file.
  3666.  
  3667. 27/04/96 - mIRC v4.1 (final bugfix release)
  3668.  
  3669. Fixes/Additions:
  3670. 1.Fixed /sound being limited to eight character
  3671.   channel/nick names.
  3672. 2.Fixed mirc.ini file being corrupted in
  3673.   certain situation.
  3674. 3.Fixed servers sorting bug in setup dialog.
  3675. 4.Added /links window which displays a list
  3676.   of all servers in the network and allows
  3677.   easy connecting, etc.
  3678. 5.Fixed character | bug in nicknames/userids.
  3679. 6.Fixed small ON CHAT bug.
  3680. 7.Fixed DCC Get minimize button not remembering
  3681.   setting.
  3682. 8.Fixed $ bug.
  3683. 9.Fixed icon highlighting bug.
  3684. 10.Fixed bug that was intermittently affecting
  3685.    various commands.
  3686. 11.Fixed /ctcp with "dcc" in nickname bug.
  3687. 12.reFixed Beep.
  3688. 13.Fixed not replying to server PING bug.
  3689. 14.Fixed /unset command not working in an alias.
  3690. 15.Now saves window buffer to ".log" instead
  3691.    of a ".txt" file.
  3692. 16.Added Log file listbox and View/Delete log
  3693.    to Logging options dialog.
  3694. 17.Now displays in the status bar the *actual*
  3695.    address of the server you connect to.
  3696. 18.Improved context sensitive F1 help key to
  3697.    work with more dialogs.
  3698. 19.Fixed small identd and finger bug.
  3699. 20.Added Fileserver warning dialog to warn
  3700.    new users.
  3701. 21.Added $hfile identifier which is like the $file
  3702.    dialog except it lists files horizontally.
  3703. 22.Fixed fileserver "read" command bug.
  3704. 23.Added option to display identd requests.
  3705. 24.Improved mark/copy text routine a bit.
  3706. 25.Remodelled about dialog.
  3707. 26.Fixed socks firewall access.
  3708. 27.Added $++ identifier which works the same as
  3709.    the $+ identifier but does the concatenation
  3710.    after the previous item has been evaluated, so
  3711.    something like this works now:
  3712.      /say " $+ $read c:\test.txt $++ "
  3713. 28.Auto-join on invite now ignores invites to
  3714.    channel 0. (/join 0 makes you part all channels,
  3715.    seems to be an irc server feature).
  3716. 29.Finger window is restored if it is minimized
  3717.    when you try to do a finger.
  3718. 30.Changed /list command so you don't have to prefix
  3719.    the wildcard text with a #. eg. /list help
  3720.    and /list *help* is turned into /list help
  3721. 31.Now displays /whois Idle time in hours/minutes/
  3722.    seconds format instead of just seconds.
  3723. 32.Clicking on "Arrange Icons" now places icons
  3724.    behind open windows when arranging them.
  3725. 33.Now shows both server name and Port number
  3726.    when connecting.
  3727. 34.Status window default height is now larger.
  3728. 35.Now handles "erroneous nickname" better.
  3729. 36.If no directory is specified in the wave filename
  3730.    for the /wavplay command, it now defaults to the
  3731.    wave directory specified in the Sound Requests
  3732.    options dialog.
  3733. 37.Other things.
  3734.  
  3735. 20/03/96 - mIRC v4.0 (final version)
  3736.  
  3737. Fixes/Additions:
  3738. 1.Fixed standard editbox popup menu under 95 not
  3739.   being displayed on a right mouse-click.
  3740. 2.Fixed problem with /ctcp to a user with "dcc"
  3741.   in nickname.
  3742. 3./query command pops an existing window to the
  3743.   front if it's hidden.
  3744. 4.Fixed "parameter dialog" popping up bug.
  3745. 5.Fixed Channel Dialog gpf bug if kicked while
  3746.   dialog still open.
  3747. 6.Dynamic help menu now displays a list of .hlp files
  3748.   in mIRC's directory, as well as the readme.txt,
  3749.   versions.txt, and update.txt files, for quick
  3750.   access. Also adds internal aliases that match
  3751.   these filenames, so if you have "winsock.hlp" in
  3752.   the help menu you can type /winsock <topic>. The
  3753.   menu is always updated before it is displayed.
  3754. 7.[removed]
  3755. 8.Added "play wave" options to event beeps section.
  3756. 9.Now remembers DDE settings across sessions,
  3757.   added to "Servers" section in options dialog.
  3758. 10.Added "Popup notify window on connect" option.
  3759. 11.Added new configurable menu which allows you to
  3760.    add a menu to the main menu bar. This menu has
  3761.    the functionality of both the main, query,
  3762.    and nickname popup menus, and allows you to
  3763.    define commands that work in different types
  3764.    of windows.
  3765. 12.Can now test for and prevent SOUND ctcp's
  3766.    in the remote.
  3767. 13.Fixed channel list "Hide" parameters being
  3768.    erased in certain situations.
  3769. 14.Modularized Tab dialog routines so now they're
  3770.    "completely" independent of the rest of the code.
  3771. 15.Improved setup dialog/server selection:
  3772.    a) Added "group" definition to servers. When sorting
  3773.       the servers list this groups servers with the
  3774.       same group name together.
  3775.    b) Added "connection retry" options. One second
  3776.       delay inbetween connect retries.
  3777.    c) Can select multiple servers to connect to.
  3778.    d) Can do "/server groupname" which will cycle through
  3779.       all servers of group "groupname" when trying to connect.
  3780.  
  3781.    NOTE:
  3782.    When using the 16bit mIRC, winsock will "freeze" sometimes
  3783.    when cancelling a connection. This is because winsock has
  3784.    to timeout... as far as I know, mIRC can do nothing about
  3785.    this since it is built-in to winsock, so even if mIRC
  3786.    cancels a connection, winsock still waits for 10 seconds
  3787.    *anyway* before completing the cancellation. This might
  3788.    result in other problems.
  3789.  
  3790. 16.Added "Popup channel folder on connect" option.
  3791. 17.Now capitalizes the first word in a ctcp message.
  3792. 18.Notify:
  3793.    a) Now has it's own window in options dialog.
  3794.    b) Number of nicks is unlimited.
  3795.    c) Allows little notes for each nickname.
  3796. 19.Added /commands [on|off], turns remote commands on/off.
  3797.    /events [on|off] turns only events on/off, and
  3798.    /remote [on|off] now turns both commands and events on/off.
  3799. 20.Added other beep/close options to dcc options dialog.
  3800. 21.Fixed $parms bug, was only storing first 256 chars.
  3801. 22.Added "Place ? marked urls at top of list" option in url options.
  3802. 23.Can now do "/ignore -auN", which unignores the
  3803.    specified address after N seconds. Can now also do,
  3804.    /ignore -apcnti, where p=private,c=channel,n=notice,
  3805.    t=ctcp,i=invite.
  3806. 24.Can now enter auto-op addresses with channels,
  3807.    eg. nick!user@address,#mirc,#mircplus
  3808. 25.All /dde commands are now buffered and sent at intervals
  3809.    specified by the DDE delay option.
  3810. 26.Added /clearall command which clears buffers of all
  3811.    status, channel, and private windows.
  3812. 27.Now warns you if you try to quit mIRC when there are
  3813.    DCC Transfers in progress.
  3814. 28.[removed]
  3815. 29./links command results are now displayed in a coloured
  3816.    tree fashion to make it more readable (?)
  3817. 30.Added "pop up setup dialog on startup" option.
  3818. 31.Improved speed of text display slightly.
  3819. 32.Fixed /rlevel not removing levels in certain situations.
  3820. 33.Added -s<text> option to /write command, scans file for a
  3821.    line beginning with <text> and writes to it.
  3822. 34.[removed]
  3823. 35.Added /groups [-e|d] command which lists all, enabled,
  3824.    and disabled groups in remote definitions.
  3825. 36.Can now use #$?#="etc." which will ask for a channel
  3826.    name if you try to use the command in a non-channel
  3827.    window, otherwise it uses the channel name of the
  3828.    currently active channel window.
  3829. 37.Command parsing routine completely rewritten, much
  3830.    more robust and evaluates identifiers etc. more
  3831.    intelligently now. However, because of increased
  3832.    processing/checking etc. this routine is now slower
  3833.    than the older routine.
  3834. 38.Moved Ident server options to setup dialog.
  3835. 39./speak command requests are now also placed
  3836.    in delayed DDE queue.
  3837. 40.Added variable support:
  3838.    /set [-q] <%var) [value]
  3839.    /unset [-q] <%var> [%var2] ... [%varN]
  3840.    /unsetall
  3841.    /inc [-q] <%var> [value]
  3842.    /dec [-q] <%var> [value]
  3843.    Can be edited in Variables section in remote dialog.
  3844. 41.Iconized Notify and Url windows are now highlighted
  3845.    whenever their contents change.
  3846. 42.Notify and URL toolbar buttons are now also highlighted
  3847.    if either the window isn't open or isn't active.
  3848. 43.Fixed /ctcp nick VER bug.
  3849. 44.Fixed beeping bug where mIRC wasn't beeping properly
  3850.    for some users.
  3851. 45./sound now doesn't require you to specify a message.
  3852. 46.Added $level which represents users level in remote.
  3853. 47.Added /remove <filename> which deletes the specified file.
  3854. 48.Added $cd which represents users current directory
  3855.    in a fileserver session (Used in ON SERV event).
  3856. 49.Specifying a nickname in the finger dialog now works
  3857.    the same way as /finger <nickname>.
  3858. 50.Can now use /nick while not connected to server:
  3859.    /nick <nickname> [alternate]
  3860. 51.Fixed bug in resolving dns addresses.
  3861. 52.Fixed /finger not resolving for some users.
  3862. 53./auto and /ignore now *add* an address by default,
  3863.    to remove an address you can use the -r switch.
  3864.    ie. they do not toggle anymore.
  3865. 54.Added Firewall option, doesn't allow DCC's through
  3866.    a firewall yet though.
  3867. 55.Added "IP method" option for users with different
  3868.    winsock setups.
  3869. 56.Fixed DCC Sending a file with the same name as users
  3870.    nickname (would result in an error message).
  3871. 57.Fixed URL sorting in url window.
  3872. 58.Now tests to see if dcc send filename is a system device,
  3873.    if so dcc send is ignored.
  3874. 59.Fixed & characters in editboxes in options dialog
  3875.    being messed up.
  3876. 60.Fixed disappearing ini and temp files not being removed (?)
  3877. 61.Fixed "read" in fileserver allowing read access to files
  3878.    outside home directory.
  3879. 62.Fixed occasional "notice" gpf.
  3880. 63.Fixed ctcp TIME missing trailing ^A.
  3881. 64.Fixed Status window saving/reset not working.
  3882. 65 Can now specify -sgroupname on the command line.
  3883. 66.Other bits and pieces.
  3884.  
  3885. 06/01/96 - mIRC v3.92
  3886.  
  3887. Fixes/Additions:
  3888. 1.Fixed /sound gpf bug.
  3889. 2.Fixed security bug in remote.
  3890. 3.Fixed gpf bug on windows opening due to old
  3891.   window pos/size format in mirc.ini.
  3892. 4.Changed fingers storage method in mirc.ini.
  3893. 5.Improved Channels List dialog.
  3894. 6.Popups are now fully allocated dynamically.
  3895. 7.Changed $file identifier to display only files,
  3896.   can now use $dir to display both directories
  3897.   and files.
  3898. 8.Added /font command which pops up the font
  3899.   dialog.
  3900. 9.Added "Extract URL" menu item to channels list
  3901.   popup menu, which extracts a URL from a channels
  3902.   topic and puts it in the URL list.
  3903. 10.DCC Send "percent" info is now updated when
  3904.    an Ack is received, not when a packet is sent.
  3905. 11.Fixed $parms not working with $read.
  3906. 12.Speeded up tabs display in options dialog slightly.
  3907. 13.Small improvements in DDE response speed.
  3908. 14.Function key aliases can now execute several
  3909.    commands by using the | command seperator.
  3910. 15.Fixed DCC gpf problem (?)
  3911. 16.Fixed $read not closing files in certain situations.
  3912. 17.When entering text in an editbox mIRC now beeps
  3913.    when you are within 30 characters of the maximum
  3914.    allowed line length.
  3915. 18.mIRC now works with the three major WWW Browsers.
  3916. 19.Fixed '=' prefix processing bug in remote.
  3917.  
  3918. 28/12/95 - mIRC v3.9
  3919.  
  3920. Fixes/Additions:
  3921. 1.Fixed the /join KEY bug.
  3922. 2.Add -q switch to /raw which makes the /raw command
  3923.   work "quietly", not printing out what it's sending.
  3924. 3.Fixed channel folder dialog not remembering
  3925.   added/deleted channels when pressing OK.
  3926. 4.Now /ignores invites as well.
  3927. 5.Fixed the remote DO command.
  3928. 6.Can now handle &channels, fully supported in aliases,
  3929.   popups, and remote definitions.
  3930. 7.Redecorated. Tending towards simple and uncluttered
  3931.   menus and interface.
  3932. 8.Removed font dialog, can now change a font only from
  3933.   a windows system menu.
  3934. 9.Can now do /me or /action in dcc chat windows.
  3935. 10.The 32bit under 95 now saves logs and buffers using
  3936.    the full length filename.
  3937. 11.ON TEXT etc. now allow wild card matches using
  3938.    multiple * in the match text.
  3939.  
  3940.    NOTE: the text matching routine in ON TEXT etc.
  3941.    doesn't use the = sign anymore, as it's now redundant.
  3942.  
  3943. 12.Found bugs in the wildcard matching routine while
  3944.    making ON TEXT work with it. Fixed.
  3945. 13.Made Tabs in options dialog more 95-ish. The bold
  3946.    font is still there though, sorry, I like it!
  3947. 14.mIRC now does NOT reply to unknown ctcp messages,
  3948.    it just prints them in your window as usual and
  3949.    then ignores them (as per the RFC).
  3950. 15.Aliases now work better when called from remote
  3951.    definitions.
  3952. 16.Fixed -l# switch in play command.
  3953. 17.Improved positioning of various dialogs.
  3954. 18.DALnet URL catching on joining a channel now works.
  3955. 19.Nicks in notify list are no longer forced to lowercase.
  3956. 20./save can now be used in an alias with | separators.
  3957. 21.Added -stext option to $read, which scans the specified
  3958.    file for a line beginning with the specified text.
  3959. 22./pop delay is now randomly *close* to the number you
  3960.    specify as a delay.
  3961. 23.Fixed /server N (specifying server number).
  3962. 24.Fixed window bug possibly related to dcc gpfs.
  3963. 25.Added -u# switch to /ban command which specifies delay
  3964.    time before unbanning the specified ban. Minimum delay
  3965.    time is 10 seconds. If no number is specified, it defaults
  3966.    to 30 seconds. eg. /ban -u15 nick
  3967. 26./fingering a nick now only adds the nick's address to the
  3968.    fingered addresses list, not the users whole irc address.
  3969. 27.Now allows an unlimited number of /timers.
  3970. 28.Fixed ini specification on command line.
  3971. 29.Improved dynamic memory allocation in various places.
  3972. 30.Added notify list window. Can use the toolbar notify button
  3973.    or /notify [-sh] to show/hide the window. Please note that
  3974.    there is a minimum window width under 95 that I haven't
  3975.    been able to override.
  3976. 31.Address returned by IAL was sometimes invalid. Fixed.
  3977. 32.Added [-ar] switches to /notify, /protect, /ignore,
  3978.    which forces the command to -add or -remove a nick
  3979.    instead of toggling it.
  3980. 33.Added $site identifier for remote addresses.
  3981.    eg. for khaled@mardam.demon.co.uk
  3982.    $site = mardam.demon.co.uk
  3983. 34.Now allows /sound in dcc chats.
  3984. 35.Added minimal DDE support, as well /dde command and
  3985.    a $dde identifier, to be expanded. See DDE section in
  3986.    help file for description
  3987. 36.Added "Edit" button for editing finger file in options
  3988.    dialog.
  3989. 37.Can now access popup menus in the notify, URL, and channels
  3990.    list window through the keyboard. Pressing RETURN performs
  3991.    a "double-click", pressing SPACE pops up the popup menu.
  3992. 38.Added Alt-N for notify and Alt-U for URL windows.
  3993. 39./msg command now by default doesn't switch to the
  3994.    window you're sending a message to unless you specify
  3995.    the [-s] switch. eg. /msg -s hiya!
  3996. 40.Added /timestamp [on|off] command.
  3997. 41.Added /partall command which parts all the channels
  3998.    you're currently on.
  3999. 42.Added "Minimize DCC get window" option.
  4000. 43.Added $adate (for US style month/day/year),
  4001.    and $fulldate which spells it all out.
  4002. 44.Added a "time to activate" option to the /timer
  4003.    command, eg. /timer1 11:30 1 1 /say It's now 11:30am
  4004. 45.Fixed "filename" in quotes with no spaces bug.
  4005. 46.Fixed using $?="text" identifier.
  4006. 47.Added $file identifier, eg. in a popup menu item:
  4007.    Play Wave:/wavplay $file="Select a Wave!" c:\waves\*.wav
  4008. 48.Fixed disappearing aliases/popups/remote bug, where
  4009.    filenames for each of these were being reset to the
  4010.    mirc.ini file.
  4011. 49.Added a "/timers off" switch which allows you to turn
  4012.    off all active timers.
  4013. 50.Alt-L now pops up the Channels List dialog.
  4014. 51.Added /disconnect command, hard disconnect from server
  4015.    without a /quit.
  4016. 52.Fixed ON SNOTICE reacting twice to server notices.
  4017. 53.Fixed/Improved other bits and pieces.
  4018.  
  4019. 25/11/95 - mIRC v3.8
  4020.  
  4021. Fixes/Additions:
  4022. 1.Added option to show invites in active window.
  4023. 2.Fixed $! bug.
  4024. 3.Added option to auto-resume existing files.
  4025. 4.Fixed /echo with invalid parameters gpfing.
  4026. 5.Option dialog now remembers it's "view" across
  4027.   sessions.
  4028. 6.Paused op wasn't clearing a nick from it's list
  4029.   immediately if a nick parted or quit, but had to
  4030.   timeout first.
  4031. 7.Added /speak <text> command which uses monolog
  4032.   to speak the specified text.
  4033. 8.Added /dns <nick/address> which resolves addresses.
  4034.   If mIRC sees a "." in the name you specify it assumes
  4035.   it's an address and tries to resolve it. Otherwise
  4036.   it assumes it's a nickname and does a /whois to
  4037.   find the users address and then looks it up. If you
  4038.   give it an IP address, it looks up the host name.
  4039. 9.Removed small users window in remote dialog, now
  4040.   using one big window for users, commands, and events.
  4041. 10.The Add Dialog has been discontinued. Check out the
  4042.    alias, popup, and remote dialogs for the improvement.
  4043.  
  4044.    IT IS *HIGHLY* RECOMMENDED THAT THE ALIAS, POPUP,
  4045.    AND REMOTE SECTIONS BE SAVED SEPERATE FROM THE
  4046.    MAIN MIRC.INI FILE FROM NOW ON. THE MIRC.INI
  4047.    CAN'T HANDLE THE STORAGE OF LARGE AMOUNTS OF
  4048.    INFORMATION AS REQUIRED BY THE ALIAS, POPUP,
  4049.    AND REMOTE SECTIONS.
  4050.  
  4051. 11.Finally fixed DCC Send/Get windows sometimes
  4052.    not auto-closing at end of transfer (?)
  4053. 12.Right-clicking in a non-active window will now
  4054.    bring it to the top and make it active.
  4055. 13.Fixed socket error message when running second
  4056.    copy of mIRC (didn't actually affect anything).
  4057. 14.For new users, mIRC no longer copies the mirc.ini
  4058.    to the windows directory but leaves it and uses it
  4059.    in the same directory as the EXE. However, if it
  4060.    finds an mirc.ini in the windows directory it will
  4061.    use it (to remain compatible with older users).
  4062. 15.Small fixes relating to Function keys.
  4063. 16.Can now use /load -apuce <file.ini> or
  4064.    /save -apuce <file.ini> to load and save aliases,
  4065.    popups, and remote sections from the command line.
  4066.    NOTE: You can only refer to one section at a time,
  4067.    so you can't do /load -ap some.ini.
  4068. 17.All memory in the parsing and remote routines is
  4069.    now allocated dynamically.
  4070. 18.Added ignore options to dcc send/chat in the dcc
  4071.    options dialog. Can also use /sreq and /creq
  4072.    (send request and chat request) with the parameters
  4073.    [ ask | auto | ignore] from the command line.
  4074. 19.Added "ON CHAT:text:/msg ..." and ON SERV events to
  4075.    scan text in dcc chat windows and fileserver windows.
  4076. 20.Added command line option to connect to a server and
  4077.    join channels which is more of a standard WWW link
  4078.    definition: //server:port/#channel,#channel
  4079. 21.Fixed GPF problem for some users when quitting mIRC (?)
  4080. 22.Added /flush [levels] command. This clears the remote user
  4081.    list of nicknames that are no longer valid. For each nick
  4082.    in the user list that matches the specified levels mIRC
  4083.    checks to see if that nick is on any of the channels that
  4084.    you are currently on. If not, the nick definition is removed
  4085.    from the user list. If you do not specify [levels] then
  4086.    mIRC clears all nicks from the user list that don't exist
  4087.    on channels you are on.
  4088. 23.Added "me" prefix to remote definitions, eg.:
  4089.    me:1:ON JOIN:/msg etc...
  4090.    This limits a command definition to reacting only to
  4091.    events caused by your client. This is useful in case you
  4092.    use Bots which have the same address as you.
  4093. 24.The address in the Finger dialog now defaults to
  4094.    the last address which was fingered.
  4095. 25.The /play command has been improved in a major way, 
  4096.    it can now queue requests (see the help file!)
  4097. 26.Fixed bug with highlighting in query windows.
  4098. 27.Added Finger server (must be set up in a certain
  4099.    way, see the help file on how to do this).
  4100. 28.Added ON SNOTICE event, which listens for server
  4101.    notices and can filter them ie. prevent them from
  4102.    being displayed.
  4103. 29.Remodelled the setup dialog. Can now also store
  4104.    an unlimited number of servers.
  4105. 30.If /finger sees a "." in the parameter you give it, it
  4106.    will assume it's an address and will finger it, otherwise
  4107.    it will assume it's a nickname and will do a /whois on the
  4108.    nick to find their address and use that for the finger.
  4109. 31.Added option to change tooltip delay.
  4110. 32.Split the "Beep on window message" option into two...
  4111.    "Beep on channel message" and "Beep on query message".
  4112. 33.Fixed the notify bug which would result in mIRC telling
  4113.    you all the people on your notify list are on... then
  4114.    off... then on... then off...
  4115. 34.Simplified /timer code and fixed a small bug in it.
  4116. 35.Command line window buffer has increased to 30 lines.
  4117. 36.Now catches server numeric 328 for URL description
  4118.    when joining a channel on DALnet (they might not have
  4119.    implemented this yet).
  4120. 37.Fixed toolbar buttons colours when the default system
  4121.    colours are changed.
  4122. 38.The 32bit mIRC can now dcc send/get LFN's with spaces
  4123.    in them. Unfortunately, other clients won't be able to
  4124.    receive these properly! See the "DCC Send" section in
  4125.    the help file which explains the problem.
  4126.    You can also do: /dcc send nickname "this is a.text file"
  4127. 39.Added -nnick1,nick2 command line option which sets
  4128.    your nicks to these values.
  4129. 40.Overhaul of irc and parsing routines, simplified and
  4130.    speeded up.
  4131. 41.Added [on | off | close] to /url command to turn on/off
  4132.    catching urls and to close the URL window.
  4133. 42.Added option "Show modes in channel".
  4134. 43.Now gives the reason why you can't join a channel.
  4135. 44.If you have "rejoin channel when kicked" turned on
  4136.    and you are kicked, mIRC will keep the channel
  4137.    window open while it tries to rejoin and will only
  4138.    close it if it can't.
  4139. 45.If a /play filename doesn't have a directory spec. it
  4140.    defaults to the mirc.exe directory.
  4141. 46.Added a flexibile /write command which writes lines
  4142.    to a file.
  4143. 47.Added "Show queries in active channel window" which
  4144.    shows private messages from other users in a channel
  4145.    window without opening a query window.
  4146. 48.Added "TAB" key putting "/msg nickname" into the editbox
  4147.    where "nickname" is the nick of the last person who
  4148.    messaged you. If you press TAB repeatedly it cycles
  4149.    through the nicks of the last five people who messaged
  4150.    you.
  4151. 49.Now shows who set the topic and at what time when you
  4152.    join a channel on Undernet and DALnet.
  4153. 50.Fixed small bug with the /sound command not checking
  4154.    properly if a sound file exists.
  4155. 51.The Options dialog now uses Tabs. I had trouble using
  4156.    existing TabDialog DLL's, so I coded my own Tab
  4157.    display routines.
  4158. 52.Fixed /channel dialog bug which would occur if you
  4159.    typed /channel repeatedly while it was in the middle
  4160.    of retrieving the channel info.
  4161. 53.Fixed a problem with /whois replies, the format of
  4162.    the reply has changed and is hopefully clearer now.
  4163. 54.Can now also define Shift and Control Function key
  4164.    definitions.
  4165.  
  4166. 24/10/95 - mIRC v3.72
  4167.  
  4168. Fixes/Additions:
  4169. 1.Fixed $parms not being passed in a redirection.
  4170. 2.Can now /play to any channel/nick without needing
  4171.   to have that window already open.
  4172. 3.Added -ttopic option to /play which looks for the
  4173.   specified [topic] in a text file and plays it to
  4174.   the specified nick/channel.
  4175. 4.Added $pnick identifier which refers to the nick/channel
  4176.   which is currently being played to, so you can use it
  4177.   in /played commands.
  4178. 5.Allows #$parmN to force a parameter to be a channel.
  4179. 6.Fixed DCC Resume filesize bug.
  4180. 7.Added option to show notifies in active window.
  4181. 8.Completely reorganized the Options dialog as it was
  4182.   too crowded and it was getting harder to add new options.
  4183.   Now divided into sections, and also incorporates the
  4184.   options in the extras, url, sounds, and ident dialogs.
  4185.   The menus and toolbar buttons have been re-organized
  4186.   accordingly.
  4187. 9.Fixed QUIT bug when exiting mIRC while still connected.
  4188.   It was sending a part instead of a quit to the server.
  4189. 10.Fixed /timer not releasing it's memory in certain
  4190.    situations.
  4191. 11.Fixed positioning of : in some raw commands.
  4192. 12.Fixed setting of focus to windows.
  4193. 13.Added option to dump joins/parts to status window.
  4194. 14.Now shows DCC transfers percentage/size at head
  4195.    of window title for win95 users.
  4196. 15.Messages from irc ops of the form $address or
  4197.    #address are now displayed in the server window
  4198.    in pretty purple as opposed to opening up a query
  4199.    window.
  4200. 16.Added "clear list" button to dcc chat dialog (the
  4201.    DCC Send dialog uses the same list).
  4202. 17.The /pop delay value can be up to 15 seconds now.
  4203. 18.The weird DCC Send dialog bug was fixed (?)
  4204. 19.Improved copy/paste routine memory allocation.
  4205. 20.Fixed /sound with invalid parameters gpfing.
  4206. 21.Fixed some toolbar colours not being displayed
  4207.    correctly for some buttons.
  4208. 22.Number of channels in channel list window is now
  4209.    shown at beginning of title.
  4210. 23.Text printed with the /echo command is now wrapped.
  4211. 24.Added $r(v1,v2) identifier, returns random number
  4212.    or letter between v1 and v2.
  4213. 25.Fixed Ident server time-out bug.
  4214.  
  4215. 12/10/95 - mIRC v3.7
  4216.  
  4217. Fixes/Additions:
  4218. 1.An *iconified* channel list window is not restored
  4219.   if a /list is done, instead it's icon is placed above
  4220.   current windows (without focus) for easy access.
  4221. 2.The Join Channel dialog can now handle multiple
  4222.   selections.
  4223. 3.The /timer can now work with aliases again.
  4224. 4.Can now prevent an identifier from being evaluated
  4225.   the first time through the alias routine by prefixing
  4226.   it with a ! for example: $!read, $!url, $!me, etc.
  4227.   This allows you to use it in a /timer command if you
  4228.   want the identifier to be re-evaluated every time.
  4229. 5.Fixed /channel dialog bug and improved memory
  4230.   allocation for the ban list.
  4231. 6.Fixed bug in status window sizing.
  4232. 7.Fixed Timer dialog bug, when selecting cancel
  4233.   timer wasn't being reset correctly.
  4234. 8.Improved grouping of switches in options dialog.
  4235. 9.Fixed "disconnected" bug while trying to connect
  4236.   to another server if already connected to one.
  4237. 10.Cleaned up popup menu routines.
  4238. 11.Major improvement in robustness of input,
  4239.    general irc, and remote routines.
  4240.  
  4241.             BACKUP YOUR MIRC.INI FILE(S)
  4242.  
  4243. 12.Wrote my own read and write INI routines for parts of
  4244.    the mirc.ini file since the standard INI routines
  4245.    were too slow. Loading and saving is almost instant now.
  4246.  
  4247. 13.Fixed windows not being saved/closed properly on exit.
  4248. 14./play now works when used in remote commands.
  4249. 15.Added /echo command which prints text in the specified
  4250.    window (for debugging purposes).
  4251. 16.Now using 0x04L in dialog definitions so that
  4252.    3D dialogs under win95 are automatic.
  4253. 17.Can now do "/server N" where N is the Nth server
  4254.    in the server list.
  4255. 18.Fixed font selections not being saved correctly.
  4256. 19.Added URL catcher window which automatically catches
  4257.    URLs from text in channels etc. and stores them in
  4258.    a listbox. You can then send a URL to your WWW browser
  4259.    directly through mIRC. Type /url [-d] to open the window.
  4260.    Use -d to clear all ? marked items before showing the list.
  4261. 20.If a nick in the notify list is prefixed with a + sign
  4262.    a /whois is done on it on a notify.
  4263. 21.Added sounds dialog and a new /sound command which
  4264.    allows multiple users on a channel to hear sounds at
  4265.    the same time (assuming they have the same wave files).
  4266.    format: /sound [nick/channel] <file.wav> <message>
  4267. 22.Fixed problem with % in channel names (and other things).
  4268. 23.Fixed channel dialog "Key already set" bug.
  4269. 24.Added $url identifier which references the currently
  4270.    active URL in your WWW browser.
  4271. 25.Added option in extras dialog to redefine command char.
  4272. 26.Now automatically sets cursor to last edited window in
  4273.    remote and popup dialogs.
  4274.  
  4275.          *** NOTE NOTE NOTE IMPORTANT CHANGE ***
  4276.  
  4277. 27.Now uses a different format for commands/events:
  4278.    Old format: 1:PING:/notice *1:$nick hi there
  4279.    New format: 1:PING:/notice $nick hi there
  4280.    This greatly simplifies processing, the routines
  4281.    are now probably more than twice as fast as before.
  4282.    mIRC will automatically detect and convert old format
  4283.    definitions on startup (and when /add is used).
  4284.  
  4285. 28.mIRC now maintains an internal list of nick!user@address
  4286.    for all users that are on the same *channels* as you. Whenever
  4287.    a /guser, /ruser, or /ban is issued, the internal list is
  4288.    searched first to find the nick's address. If no match is
  4289.    found, the normal /whois stuff is done.
  4290. 29.Now opens log files in shared mode.
  4291. 30.The nickname in the DCC Send dialog now defaults to
  4292.    the last nick to which a file was sent.
  4293. 31.Added $snicks which returns a list of the selected
  4294.    nicks in the current channel listbox. The list is
  4295.    in the form: nick1,...,nickN, so you can only use it
  4296.    in commands which take multiple nicks.
  4297. 32.Greatly improved/simplified address matching routine.
  4298. 33.Can now do /ignore <nick> [type] which looks
  4299.    up the specified nick's address by doing a /whois,
  4300.    same as the /auser, /ban, etc. commands.
  4301. 34.DCC Get dialog now allows you to specify a different
  4302.    directory for the incoming file.
  4303. 35.In the setup dialog, a server is highlighted after
  4304.    it is added to the server list.
  4305. 36.The nickname in the DCC Chat dialog now defaults to
  4306.    the last nick that was chatted to.
  4307. 37.Aliases can now be called from popup, remote, timer,
  4308.    play, and any other definitions. You can now also call
  4309.    several aliases on one line seperated by a | like normal
  4310.    commands. eg. 1:HELP:/help1 $nick | /help2 $nick
  4311.    (Aliases still can't call other aliases).
  4312. 38.Can now have up to 30 timers, also improved memory
  4313.    allocation for timers.
  4314. 39.Fixed bugs with the /add function.
  4315. 40.Fixed Clipboard missing last character bug (?)
  4316. 41.Default directories for the file/dir dialogs
  4317.    weren't being set correctly.
  4318. 42.The /notify command was checking twice instead
  4319.    of only once for nicks.
  4320. 43.The /timer command now also remembers the parameter
  4321.    line that was around when the /timer was issued.
  4322. 44.The 32bit mIRC should now handle LFNs okay.
  4323. 45.Can now do level comparison for ON KICK, ON OP,
  4324.    and ON DEOP, prefix a line with <,>,<=,>=,<>,=
  4325.    compares levels of eg. kicker and kicked and only
  4326.    executes definition if true.
  4327. 46.Attempted improvement and cleaning up of server
  4328.    oriented commands and their replies.
  4329. 47."signon time" in a /whois on the undernet and dalnet
  4330.    is now shown correctly.
  4331. 48.Can now specify a server on the command line
  4332.    eg. -sirc.server.addr:6667
  4333.    and mirc will connect to that server on startup.
  4334.    (You can combine this with the -j parameter to
  4335.    force it to join specific channels too).
  4336.  
  4337. 13/09/95 - released mIRC v3.64 patch
  4338.  
  4339. 1.Fixes the *1-3 type bug.
  4340.  
  4341. 11/09/95 - mIRC v3.64
  4342.  
  4343. Fixes/Additions:
  4344. 1.Fixed Local Host and IP address bug, added options
  4345.   in the setup dialog. Now works for any combination
  4346.   of requirements for people with different types of
  4347.   internet connections (see Setup in mirc.hlp!)
  4348. 2.$read command improved so you can specify
  4349.   a line number with [-l#]. For example:
  4350.   /silly /say $read -l5 silly.txt
  4351.   This will read line 5 of silly.txt.
  4352. 3.Now using "Common Dialogs" for file/directory selection,
  4353.   as well as for the DCC Send dialog (Long filenames
  4354.   are NOT yet supported).
  4355. 4.Optimized Remote routines - should be faster now.
  4356. 5.Can now use $read in remote definitions. For example:
  4357.   1:TEST:/notice *1:$nick I said " $+ $read c:\langs\mirc\test.txt $+ "
  4358. 6.Can now store up to 50 IRC server addresses in Setup dialog.
  4359.   Storage format in mirc.ini has changed, but will still read
  4360.   the old format.
  4361. 7.Finger button now pops up a red flag while finger is busy.
  4362.   The flag disappears when finger has been completed.
  4363. 8.Bug with Maximized mIRC window fixed.
  4364. 9.Finger and Timer dialogs now popup under their
  4365.   respective buttons.
  4366. 10.Added "Channels Folder" button which allows you to join
  4367.    a channel as well as maintain a list of your favourite channels.
  4368. 11.Added "List Channels" button which pops up the List
  4369.    parameters dialog, allowing you to quickly list channels.
  4370. 12.Fixed NT GPF bug when using toolbar.
  4371. 13.Added -j<#channel> command line option. For example:
  4372.    mirc.exe -j#mirc,#friendly,#etc
  4373.    The specified channels will be joined on connect. You
  4374.    MUST have an mirc.ini with the "Connect on startup" option
  4375.    selected.
  4376. 14.Fixed another bug with using * to begin a non-parameter
  4377.    identifier. eg. *mardam.demon* in aliases/etc.
  4378.  
  4379. 15.The /auser /guser and /ruser commands can now handle multiple
  4380.    levels. They have only been extended, so they are still
  4381.    compatible with your previous formats.
  4382.  
  4383.    /auser [-a] <level(s)> <nick | address>
  4384.    /guser [-a] <level(s)> <nick> [type]
  4385.    /ruser [level(s)] <nick> [type]
  4386.  
  4387.    For /auser /guser, the default is to replace any existing
  4388.    user with the specified levels (as usual). The [-a] option
  4389.    means add the specified level(s) to an existing users levels.
  4390.  
  4391.    The /ruser command removes the specified levels from an
  4392.    existing user. If all levels are removed for a user, the
  4393.    user is removed.
  4394.  
  4395.    See the Remote section in the Help file!
  4396.  
  4397. 16.Can now do /mode # +oooo nick1 nick2 nick3 nick4
  4398. 17./play can now be used in a remote/event definition.
  4399.  
  4400. 18.Extended the /rlevel command to also work with multiple
  4401.    levels.
  4402.  
  4403.    /rlevel [-r] <level(s)>
  4404.  
  4405.    If the [-r] is NOT specified, it works as usual. If
  4406.    the [-r] IS specified, the specified level(s) are removed
  4407.    from users that have them. If a user's levels are ALL
  4408.    removed, the user is removed.
  4409.  
  4410. 19.Fixed bug with Green box being drawn around iconized
  4411.    window in response to wrong messages.
  4412. 20.Fixed several bugs in /play with using -r and -l.
  4413.    The format has changed slightly to:
  4414.  
  4415.    /play [-crl#] <filename> [delay]
  4416.  
  4417.    This now allows you to specify a delay for -r and -l,
  4418.    You must now specify the line number like this:
  4419.  
  4420.    /play -l24 file.txt 1000
  4421.  
  4422. 21.Text colours are now ok when using > 256 colour setup.
  4423.  
  4424. 31/08/95 - mIRC v3.6
  4425.  
  4426. Fixes/Additions:
  4427. 1.Highlight Box around an Icon now turns green if a highlighted
  4428.   word is spoken in a window.
  4429. 2.Fixed Ping Pong bug which was preventing lines from being
  4430.   sent properly to the server.
  4431. 3.Fixed Editbox/Colours bug in Extras dialog.
  4432. 4.Inserting blank lines in Remote/events/aliases between
  4433.   commands would lead to loss of following definitions.
  4434. 5.Channel list window would clear if you disconnected and then
  4435.   connected again.
  4436. 6.Aliases, Remote Users, Commands, and Events definitions are now unlimited.
  4437.   ie. you can have as many as you want, however the limitation is the
  4438.   size of the editbox (around 30k?).
  4439. 7.Fixed font dialog bug when tabbing with cursor keys.
  4440. 8.Popups are still limited to 300 menuitems for each popup menu.
  4441. 9.Max. length of a line in aliases, remote, and popups is approx. 600 chars.
  4442.   Same applies to lines in the Options dialog.
  4443. 10.Now allows a non-op to change topic in channel dialog.
  4444. 11.Fixed :) bug.
  4445. 12.Fixed /auser /guser bug.
  4446. 13.Fixed /channel dialog title bug.
  4447. 14.Added a simple NON-configurable toolbar with tooltips.
  4448.    A Configurable toolbar would take a lot of work, so I probably
  4449.    won't get around to adding it (so don't ask! :)
  4450. 15.Fixed ctcp PING reply missing a Ctrl-A at the end (?)
  4451. 16.Specifying a /who *146.219* numerical address would mess up because
  4452.    the *1 is a parameter specifier. mIRC now checks to see if there is
  4453.    a . in the number, and if so it doesnt try to expand it.
  4454. 17./play command can now play single lines randomly picked from
  4455.    a file (a specific line can also be specified). The format is:
  4456.    /play [-crl] [channel/nick] <filename> [delay/linenumber]
  4457.    Using -r means pick a line randomly, using -l means pick
  4458.    a specific line specified by linenumber. The first line in the
  4459.    file MUST specify the number of lines in the file. Any *1 $1 etc.
  4460.    identifiers CANNOT be used in the played line.
  4461. 18.Added $read identifier which picks a line randomly from a file.
  4462.    eg. /say $read c:\funny.txt
  4463.        /kick # $1 $read c:\kicks.txt
  4464.    The first line in the file MUST specify the number of lines
  4465.    in the file. $read will insert ANY text, even commands with
  4466.    identifiers, and these will work like normal commands.
  4467. 19.Added Fast Send checkbox to DCC Send dialog.
  4468. 20.Fixed scrolling keys in Channel list and finger windows.
  4469. 21.Made Font list longer in font dialog.
  4470. 22.Added "auto-join on invite" option to options dialog. An
  4471.    auto-joined channel is initially minimized (this might not
  4472.    always work for various reasons...)
  4473. 23.Added Function key support F1 to F12. Define in the alias
  4474.    window like a normal alias for example:
  4475.    /F1 /say Hello!
  4476.    /F5 /query $1   (for use on nick listbox in channel window)
  4477. 24.Font width measurement for copy/paste wasn't correct for
  4478.    certain types of fonts.
  4479. 25.Fixed problem with minimized windows being sized wrongly.
  4480. 26.Fixed /channel bug. Now times out after 30 seconds, at
  4481.    which point another /channel can be issued. BUT if the old
  4482.    /channel command is replied to, your status window will fill
  4483.    up with ban list information for that channel. No way around
  4484.    this I'm afraid!
  4485.  
  4486. 13/08/95 - mIRC v3.51 (minor update)
  4487.  
  4488. Fixes/Additions:
  4489. 1.Fixed garbage character output bug.
  4490. 2.mIRC16 wasn't recognizing version reply from Win95.
  4491. 3.Making mIRC active with a click wasn't setting the focus
  4492.   to the active window correctly.
  4493. 4.Fixed security bug in the fileserver.
  4494. 7.Fixed $day bug.
  4495. 8.Removes unused bold/italic/etc. characters from lines.
  4496. 9.Fixed ON MODE bug with +/-k.
  4497. 10.Fixed GPF bug in on mode/servermode.
  4498. 11.Fixed Reset bug, wasn't resizing small windows properly.
  4499. 12.mIRC wasn't outputting to the status window if it was
  4500.    starting out maximized.
  4501. 13.The /auser, /guser, /ruser, /enable, and /disable commands
  4502.    now do NOT save changes immediately to the INI file when
  4503.    they are used. Remote information is now saved either on
  4504.    exiting mIRC, or if the remote dialog is opened/closed.
  4505. 14.Now uses the ctl3d dialogs as default. The -d is ignored,
  4506.    but you can now use -n to disable the 3d dialogs.
  4507. 15.Complete dialog interface improvements (for mook ;)
  4508. 16.Commands using $* were not processing commands following them.
  4509. 17.Fixed socket() initialization bug in various routines.
  4510. 18.Improved how mIRC uses/gets your local hostname and ip address.
  4511. 19.Fixed fileserver dirinfo.srv bug.
  4512.  
  4513. 07/08/95 - mIRC v3.5
  4514.  
  4515. Fixes/Additions:
  4516. 1.Using IP address of a server now works...!
  4517. 2.A ctcp ACCEPT/RESUME now doesn't look at the filename
  4518.   to make a match but only at the port number.
  4519. 3.Fixed perform option being executed after every MOTD.
  4520. 4.Notify on initial connect is now done just before Perform option.
  4521. 5.Fixed bug in displaying wrong Server Name in titlebar after
  4522.   changing server name in setup.
  4523. 6.Scrollback buffer wasn't freeing lines properly.
  4524. 7.Added $time, $day, and $date as parameter types.
  4525. 8.Prefixing a remote event with '*' means it should only
  4526.   be performed if you have Ops on the event channel.
  4527. 9.Optimized Text Copy routine - now faster/smoother.
  4528. 10.Fixed divide by zero GPF in /pop routine.
  4529. 11.Modified Op status checking routine.
  4530. 12.Added a font dialog.
  4531. 13.Width of user listbox in channel is now measured properly to
  4532.    take account of fixed/variable width fonts.
  4533. 14.Improved mode-change handling routine.
  4534. 15.ON ACTION now works for actions (same structure as ON TEXT).
  4535. 16.Using $* improperly would result in a GPF.
  4536. 17.The "Always get IP address on connect" wasn't working.
  4537. 18.A /me now cannot be sent without a message.
  4538. 19.Cleaned up several routines, removed potential GPFs & other problems.
  4539.    (most of which were detected while compiling the 32-bit version)
  4540. 20.Double-clicking on a servername in Setup dialog is same as
  4541.    selecting Connect.
  4542. 21.Now available in a 32-bit version (with optional air-conditioning).
  4543. 22.Added /wavplay <sound.wav> command.
  4544. 23.Two bugs in Getting IP address routines were fixed.
  4545. 24.Fixed unknown mode oo bug.
  4546. 25.The ON OP/SERVEROP/DEOP were noticing only the first opped nick.
  4547. 26.Address as returned by a /whois now has an @ sign.
  4548. 27.Added $cb parameter, which refers to the first 256 characters
  4549.    of current clipboard contents.
  4550. 28.The /flood command now inhibits only specific types of replies to
  4551.    the server eg. replies to Remote/events/ctcp (basically, replies
  4552.    triggered by other users).
  4553. 29.Made random delay auto-op an option in the options dialog.
  4554. 30.A user in the remote user list can now have multiple access levels:
  4555.    5,=10,=15,=17:*!*@mardam.demon.co.uk
  4556.    1) The first level in the list is treated normally and can be anything.
  4557.    2) The remaining levels are treated as = levels (even if you dont put the
  4558.       = infront of them).
  4559. 31.Finger window popup menu now shows the last 5 fingered addresses
  4560.    for quick selection.
  4561. 32.Now prevents Channel list window being closed while a listing is being made.
  4562. 33.The mode change checking routines have been improved.
  4563. 34.Cleaned up/Improved popup menu positioning routine.
  4564. 35.Added /rlevel <level> command which removes all users with the specified
  4565.    access level from the remote user list.
  4566. 36.Fixed problem with extra spaces being appended to sent lines.
  4567. 37./omsg and /onotice can now take an optional channel argument.
  4568.    eg. /omsg [#channel] <message>
  4569. 38.Windows opening in mIRC are now not given focus if mIRC is not the
  4570.    active application.
  4571. 39.Text in remote dialog is displayed more quickly now.
  4572. 40./ignore now also ignores all notices. This means you can't do ctcp on
  4573.    any person you ignore since a reply to a ctcp is a notice.
  4574. 41.Added $server, $ip, and $host as identifiers.
  4575. 42.Can now define groups of commands/events in the remote:
  4576.    #2 start
  4577.    1:ON JOIN:...
  4578.    1:ON TEXT:...
  4579.    #2 end
  4580.    You can use /enable #2 or /disable #2 to enable/disable group #2.
  4581.    A disabled group is ignored by the remote.
  4582.    You cannot have groups within groups.
  4583. 43.Now shows User mode in status window title.
  4584. 44.The READ command in the fileserver now does paging (default of 20 lines)
  4585.    and prompts user whether to continue listing or to stop. User can specify
  4586.    optional paging size with: read [-numberoflines] <file.txt>
  4587. 45.The READ fileserver command now also allows reading of any file.
  4588. 46.Control-Home/End now moves to top/bottom of window text buffer.
  4589.    Control-Page Up/Down moves up/down line-by-line.    
  4590. 47.Can now do /help <commandname> for most commands mirc knows.
  4591. 48.Each window now has a 20 line command history buffer, use Cursor Up/Down
  4592.    in single-line editbox, or Control-Up/Down in multi-line editbox.
  4593. 49.Protect-list bug fixed.
  4594. 50./ruser nick! now removes any address beginning with nick! in the
  4595.    user list.
  4596. 51.Can now handle multiple /ban and /guser commands one after the other.
  4597. 52.Can now also specify *N1-N2 or $parmN1-N2. For a horrible example, see:
  4598.    1:TEST:/notice $1 *1 *2-6 *9:$nick $parms $parm1 $parm1* $parm3-5 $parm4-9
  4599. 53:Optimized text display routines.
  4600. 54.Fixed the undernet /uwho X GPF.
  4601. 55.Fixed % problem with actions.
  4602. 56.Improved output of /finger <address> routine, now expands tabs and
  4603.    inserts empty lines in the correct places.
  4604. 57.Fixed GPF bug in handling of KILLs.
  4605. 58.Added a crude ON MODE/SERVERMODE to react to a *channel* mode change.
  4606.    1!:ON MODE:#mirc:-spmi+lktn 20 mykey:/notice *1:$nick Illegal mode change!
  4607.    When someone changes the channel mode, mIRC enforces the above
  4608.    channel mode instead, and sends the user a notice.
  4609. 59.Now removes redundant spaces from lines in the Options dialog.
  4610. 60.Fixed disappearing popups/commands/events problem.
  4611. 61.Improved /ruser command so that it can work like /ban and /guser.
  4612.    /ruser <nick> [type]   if you do NOT specify a type, then it works
  4613.    as usual and removes the specified nick from the user list. If you
  4614.    DO specify a type, it looks up the users address and removes that
  4615.    address from the user list.
  4616. 62.Now correctly initiates a DCC CHAT using 'chat' as opposed to
  4617.    the originators name.
  4618. 63.Improved Channel List Window Popup menu. Added a dialog which
  4619.    allows you to respecify the list parameters to relist the window
  4620.    without having to do a relist from the server.
  4621. 64.Fixed "Error sending data" at end of transfer with fast send turned on.
  4622.  
  4623. 29/06/95 - mIRC v3.42 (minor update)
  4624.  
  4625. Fixes/Additions:
  4626. 1.Fixed Beeping saving/loading beep settings using only nickname
  4627.   and not the whole line in 'DCC Chat with krejt'.
  4628. 2.The Local Host name can now be changed while online.
  4629. 3.The /ban command did not allow processing of following commands.
  4630. 4.Fixed 'Enter' bug in single-line editbox (?).
  4631. 5.If "Show quits in channel" wasn't checked, user would not be
  4632.   removed from channel namelist when user quits.
  4633. 6.Unbanning in the /channel dialog now unbans 3 users at a time
  4634.   in one mode command instead of one user at a time.
  4635. 7.Added Options->Auto-Op random pausing (up to 7 seconds).
  4636. 8.Minimized get icon now shows nickname.
  4637. 9.Fixed server ports being reset to 6667.
  4638. 10.Fixed the /msg =nickname GPF bug.
  4639. 11.Added * to beginning of username in /ban addresses.
  4640. 12.Changed /finger method slightly.
  4641. 13.Added /pop <delay> [#channel] <nickname> command which performs
  4642.    a paused op on the specified user within a random number of seconds.
  4643. 14.A DCC Chat window is only given focus on connection if it is
  4644.    the active window, otherwise it just beeps once.
  4645. 15.Can now do /help <topic>.
  4646. 16.Fileserver was ignoring <max gets> parameter and limited users to
  4647.    get only one file at a time.
  4648. 17.Optimized routine for handling mode changes.
  4649. 18.Fixed ON NOTICE bug.
  4650. 19.Fixed /uwho (is operator) bug and /uwho ctcp bug.
  4651. 20.Fileserver: if file has no extension then '.' is automatically
  4652.    added to user get request filename.
  4653. 21.Improved voiced/opped display of nicks but still when a user is
  4654.    deopped and has a voice, things mess up.
  4655. 22.Now automatically shortens your nicknames to the maximum length
  4656.    allowed by the server you connect to.
  4657. 23.Fixed bug with /ban after using the /auser command.
  4658. 24.Rewrite of INI reading routines in the hope of fixing GPF's
  4659.    and other weird problems that are being caused by this.
  4660. 25.Changed timing of Misc->Options->perform commands, now sends
  4661.    commands right after end of MOTD.
  4662.  
  4663. 21/06/95 - mIRC v3.3, v3.4
  4664.  
  4665. Fixes/Additions:
  4666. 1.Fixed line splitting in single line editbox.
  4667. 2./describe now displays as a normal action if you are on
  4668.   the channel that you are sending to.
  4669. 3.Can now do 1!:ON TEXT:etc... which means this command should not
  4670.   react to any events caused by me.
  4671. 4.Added alternative join/part/quit format option.
  4672. 5.Fixed :! GPF.
  4673. 6.Fixed $opnick problem.
  4674. 7.Directories are now sorted in DCC Send dialog.
  4675. 8.Can now specify directory for mirc.ini file on command line.
  4676. 9.Notify routine now checks for a blank line!
  4677. 10.Server name is now shown in status window title bar.
  4678. 11.Fixed $parms not being passed on with a :> directive.
  4679. 12.Added /add [-apuce] filename.ini and /save filename.ini
  4680.    which load in alias, popups, and remote user, command, and event sections from
  4681.    the specified ini file. The /save saves all of these five sections to the
  4682.    specified ini file.
  4683. 13.Added $me as an alias parameter which refers to your nickname.
  4684. 14.Added option to append text to application title bar.
  4685. 15.Can use ; or REM to comment out lines in the remote/event sections.
  4686. 16.Now connects even if unable to get your local host name but was still able to
  4687.    get your ip address (should have done this a long time ago!).
  4688. 17.Added a /raw command which sends any parameters you supply directly to the server.
  4689.    You MUST know the correct RAW format to use this command.
  4690. 18.Added /omsg and /onotice commands which send a message to all channel operators
  4691.    on the current channel. eg. /omsg Hello there!  These are limited to users with Op status.
  4692. 19.Can now specify max. number of lines in scrollback buffer.
  4693. 20.Fixed bug in the /auto, /notify, /ignore, and /protect storage routines.
  4694. 21.Can now minimize a window quickly by pressing the ESCape key (option).
  4695. 22.Added /timer1 to /timer9 commands in the format:
  4696.    /timerN <repetitions> <delay in seconds> <commands to be performed>
  4697.    eg. /timer1 30 /ame is AWAY!
  4698. 23.Status window can now remember minimized/maximized position.
  4699. 24.DCC Chat window is now not minimized if it is initiated by you.
  4700. 25.Added crude /flood control, format: /flood <numberoflines> <seconds> <pausetime>.
  4701.    Prevents mIRC from sending any lines to the server if it has sent too
  4702.    many lines in a specified number of seconds. These lines are NOT stored,
  4703.    they are lost.
  4704. 26.Fixed problem with $ followed by letters not being displayed. eg. $SHELL
  4705.    ($ followed by a number is always assumed to be a parameter).
  4706. 27.Added: +2:ON JOIN:etc... the + limits this command to only level 2 users.
  4707. 28.Added Select File/Directory dialog to Add, Extras, and DCC Options dialogs.
  4708. 29.Fixed weird DCC-related bug in input routine...?
  4709. 30.Added ON SERVEROP event eg. 1:ON SERVEROP:#:/msg *1:$me $opnick was opped by $nick
  4710.    where $nick refers to the server that did the opping.
  4711. 31.Added /closemsg <nickname> command to close message windows with a certain nickname.
  4712. 32.Fixed USER not enough parameters problems.
  4713. 33.Each window now stores it's own previous line (using /).
  4714.    Using / brings back last line typed in current window.
  4715.    and /! brings back last line typed in any window.
  4716. 34.Finger server now uses different method to do a finger which might solve
  4717.    problems some people were having.
  4718. 35.Can now use either the IP address or the Hostname of an IRC server.
  4719. 36.DCC Send icon now shows nickname.
  4720. 37.Added option "Reconnect on disconnection".
  4721. 38./help now brings up mirc.hlp file irc commands section.
  4722. 39.Now removes strange characters from users name when logging.
  4723. 40.Can now use $parm1* just like the $1* parameter.
  4724. 41.Fixed /uwho "is operator" bug.
  4725. 42.Windows can be resized to a smaller size.
  4726. 43.Fixed DO problem.
  4727. 44.Quit in a channel now just shows nickname and quit message.
  4728. 45./join #this_is_a_test_of_brigs_bug has been fixed.
  4729.    But there's still a limit of how long a channel name can be!
  4730. 46.Fixed buildup of %'s when recalling previous line.
  4731. 47.Added -c switch to /play command to allow playing of commands.
  4732. 48.If resizing window and you're at the bottom of the buffer
  4733.    it stays at the bottom after the resizing.
  4734. 49.Fixed problem with silent disconnections (i think).
  4735. 50.Quit now uses a default message of (Leaving).
  4736. 51.Fixed occasional window text not being updated?
  4737. 52.Added Beeping option to Chat/Channel/Query window system menus which
  4738.    overrides Options "Beep on Message" setting. Each window remembers
  4739.    it's beeping setting.
  4740. 53.Added ON NOTIFY event. eg. 1:ON NOTIFY:/msg *1:$me $nick is on IRC!
  4741. 54.Added /log on/off command for logging windows to file.
  4742. 55.Added $+ parameter which means append the next parameter without
  4743.    inserting a space before it.
  4744. 57.Fixed /stats problem.
  4745. 58.Fixed 1:*:! problem.
  4746. 59.Added /fserve <nickname> <maxgets> <homedirectory> <welcome.txt> for fileserver.
  4747. 60.Fileserver improvements:
  4748.    1) now sends 30 second timeout warning to idle user.
  4749.    2) Directories are now listed horizontally in wide listing.
  4750.    3) If user does ls -4 and then does ls the -4 is remembered.
  4751.    4) Can do ls -[k|b] for listing in K's or bytes.
  4752.    5) Greatly improved fserve routines.
  4753.    6) Prevents a user having more than one fileserver session open.
  4754.    7) Directories/files are now sorted.
  4755. 61.Greatly improved dynamic memory allocation.
  4756. 62.Made change to the ON TEXT event. The search text should now be
  4757.    specified in the following manner: eg. 1:ON TEXT:text:#mirc:/msg *1:etc...
  4758.    where text is:
  4759.    =text   - if user said only this word
  4760.    text*   - if user started line with this word
  4761.    *text   - if user ended line with this word
  4762.    *text* or text  - if user said this word anywhere
  4763. 63.Added 5:ON OP:= which means that any level 5 or higher users will not get a
  4764.    reaction from a lower level ON OP when they are opped. Works with other
  4765.    events and remote definitions as well.
  4766. 64.Cleaned up/optimized/rewrote many many routines.
  4767. 65.Fixed GPF when window is closed while popupmenu is up.
  4768. 66.Fixed "Unable to send query to server" problem(?)
  4769. 67.Fixed /auser /ruser being lost if Cancel pressed in remote dialog.
  4770. 68.Can now select a maximum of 9 files to send in dcc send dialog.
  4771.    Also added a minimize option to minimize all dcc send windows.
  4772. 69.Fixed bugs in INI reading routines.
  4773. 70.Added /guser <level> <nick> [type] command which does the same thing
  4774.    as /auser but does a /whois on the specified nickname first and then
  4775.    adds their address to the remote user list.
  4776. 71.Remote DCC Send window closes if other user closes connection.
  4777. 72.If a DCC Get window is waiting for a resume acknowledgement and
  4778.    times out then the window is closed.
  4779. 73.Speeded up text update in windows significantly.
  4780. 74.Added /exit command which forces mIRC to closedown.
  4781. 75.Now removes directory prefix from a DCC Get file.
  4782. 76.Major DCC Send improvements.
  4783. 77.Added /fsend [on|off] an experimental fast dcc send option.
  4784. 78.Added /ulist which lists users in the remote list with specific access levels.
  4785. 79.Fixed /oper command.
  4786. 80.Changed /ban types (1 to 4). Also /ban with no type bans the
  4787.    whole address with no wildcards. Banning an IP address now adds
  4788.    a wildcard to the last ip number.
  4789. 81.Added/Fixed other things I forgot to write down...
  4790.  
  4791. 2/05/95 - mIRC v3.2
  4792.  
  4793. Fixes/Additions:
  4794. 1. GPF on join to undernet fixed.
  4795. 2. GPF on joining channel with too long a topic fixed.
  4796. 3. Added title specification to parameter box, eg.: /j /join $?="Enter channel name:"
  4797. 4. Can now use Page Up/Down keys to scroll through buffer.
  4798. 5. Fixed spaced out /who result.
  4799. 6. Now cannot prevent the standard ctcp version reply being given.
  4800. 7. Can now build as many levels of popup menus as required.
  4801. 8. Added Query/Chat popup menu.
  4802. 9. Added extra double-click options.
  4803. 10.Added auto-close send window option.
  4804. 11.A remote send window now closes if other party crashes/cancels get.
  4805. 12.Idle time wasnt working in single-line edit box.
  4806. 13.Sockets weren't being closed properly.
  4807. 14.Fixed problem with directory and slash.
  4808. 15.added /channel command for channel central (only works in a channel).
  4809. 16.Added ability to view/change topic in Channel Central.
  4810. 17.Editboxes thinned down for Win95.
  4811. 18.Changed dialog borders to reflect standard practise.
  4812. 19.Added ... to menu items to reflect standard practise.
  4813. 20.GPF on nick collision fixed??
  4814. 21.Timer now updates in the timer window when online.
  4815. 22.Can now do both  /ban nickname  or   /ban #channel nickname
  4816. 23.Complete rewrite of editbox routine. Can now paste properly.
  4817. 24.Added "You are Op/Not Op" to channel central window.
  4818. 25.Fixed problem in win95 with title disappearing when window is minimized.
  4819. 26.Fixed remote :*: responding to an action command. (oops :)
  4820. 27./server with no parameters connects to the last specified server.
  4821. 28.Fixed problem with | alias seperator placed after a *1 *2 etc.
  4822. 29.Fixed problem with DO remote command.
  4823. 30.Remote can now handle commas etc. stuck to identifiers eg.
  4824.    1:WHOAMI:/notice *1:$nick You are $nick, your address is $address.
  4825. 31.Added #$ parameter type. Prefixes the parameter with a #.
  4826.    cannot be used in a multi-command. eg #$* but can do #?1="Say what?"
  4827. 32.Added $! parameter type. Refers to the last line you entered in
  4828.    the entry parameter window.
  4829. 33.Added /amsg and /ame which do an All channel message and All channel action.
  4830. 34.Last used server in the Setup window is moved to top of list.
  4831. 35.If mirc.ini is not found in windows dir but found in current dir then it is
  4832.    automatically copied to windows dir without asking user.
  4833. 36.Added "Fast Ack" in DCC Opts window for non-compliant winsocks.
  4834. 37.Dialogs are now positioned a little higher in Win95 above menu bar at bottom of screen.
  4835. 38.Now allows leading spaces in text to channel/query/chat windows.
  4836. 39.Fixed problem with cursor not showing in editbox??
  4837. 40.Iconized Win95 windows do not flash anymore but are drawn highlighted with
  4838.    a red rectangle.
  4839. 41.Addresses must now be standard form eg. *!*khaled@mardam.demon.co.uk
  4840. 42.Can now do /dcc send <nickname> <file1> <file2> <file3> ... <fileN>
  4841. 43.Added /beep <number> <delay> command.
  4842. 44.Fixed GPF bug with malformed DCC Send requests.
  4843. 45.Added simple Event handler to remote section.
  4844. 46.Other bits I can't remember...
  4845.  
  4846. 23/04/95 - mIRC v3.1
  4847.  
  4848. Fixes/Additions:
  4849. 1. Added /ctcp $* performs command on all parameters.
  4850. 2. Remembers if main window was iconized.
  4851. 3. Added "finger" popup for finger window.
  4852. 4. Fixed mistake in graphics routine. Update is now faster.
  4853. 5. Windows open up in a more "windows" like fashion now.
  4854. 6. User listbox now lists all people on large channels.
  4855. 7. Using main menus under certain setups wasn't working properly.
  4856. 8. Cancel away on keypress now ONLY cancels if you say
  4857.    something in a channel or a query.
  4858. 9. Fixed finger client so can finger VMS hosts etc.
  4859. 10.Added new user warning about mirc.ini file.
  4860. 11.Can now do aliases such as: /laugh /me laughs at $1's joke
  4861. 12.Added timeout to chat/get confirm dialog.
  4862. 13.DCC sessions now show only a nickname.
  4863. 14.USER login to IRC was working but not correct.
  4864. 16.Improved Editbox: Can now enter multiple lines with a paste
  4865.    and they will be sent correctly.
  4866. 17.Fixed Auto-Op wild-card routine.
  4867. 18.Fixed beeping when windows are maximized & windows don't scroll.
  4868. 19.Fixed small bug in /join command, now allows key.
  4869. 20.Notify now tells you if no one in your list is on IRC.
  4870. 21.Added User info window as the command /uwho <nickname>.
  4871. 22.Internal reorganization and cleaning up.
  4872. 23.PASS password to server was incorrect.
  4873. 24.Added /msg =nickname for dcc chat.
  4874. 25.Added /play command.
  4875. 26.Added /describe command.
  4876. 27.Major improvement of screen update, speed has more than doubled.
  4877. 28.Added option to use windows colours.
  4878. 29.DCC Send by remote is automatically minimized.
  4879. 30.Now tries three different ways to get local host and ip address.
  4880. 31.Red rectangle is drawn around icons of windows with pending messages.
  4881.    For Windows 95 the iconized window flashes instead.
  4882. 32.Now changed so that can have only ONE chat session with the same user.
  4883. 33.If user replies to a /dcc chat request by initiating another dcc
  4884.    chat then mIRC treats this as an acceptance of it's own request.
  4885. 34.You can now ignore addresses as well as nicks.
  4886. 35.Remote DCC's close windows automatically on finish.
  4887. 36.Added DCC timeout options.
  4888. 37.Added #string parameter to /list command.
  4889. 38.Fixed problem with moderated channels and +nicknames.
  4890.  
  4891. 26/03/95 - mIRC v2.8c etc...
  4892.  
  4893. Fixes/Additions:
  4894. 1. Added wild cards for auto-op.
  4895. 2. If a user changes nicks while in a query to you and they are on
  4896.    the same channel as you, mIRC uses the nickname change notification
  4897.    to update the query window name so you can keep talking to the person.
  4898. 3. When a query is received and it is iconized, the icon is placed
  4899.    above all other windows so you can see it.
  4900. 4. Scroll bars have been made a standard size and moved a little bit to
  4901.    make them look neater.
  4902. 5. ban command now has 4 levels of ban. eg. /ban <nickname> <number>
  4903.    where <number> is a value 0 to 3.
  4904. 6. The /server command can now take Port and Password parameters.
  4905.    for example, /server irc.server.co.uk 6667 password
  4906. 7. Added "Use Dedicated Message Window" option. private messages go
  4907.    only to this window.
  4908. 8. "Notices" work more intelligently now and will appear in a channel
  4909.    window if sent by someone on that channel. Otherwise they are sent
  4910.    to the status window as usual.
  4911. 9. mIRC now listens for identd requests and replies using the
  4912.    userid part of your email address as a UNIX system.
  4913. 10.Font and Window position can now be saved for the Message Window
  4914.    and logging/saving to proper filename now.
  4915. 11.Was GPFing on a nick collision. Oops :)
  4916. 12.Added channel modes to ban list routine. Much more useful now!
  4917. 13.Added context-sensitive F1 help key.
  4918. 14.Added new alias parameter type.
  4919.    $$ = parameter MUST be filled. If it is not filled, command is not executed.
  4920.    Before, /whois $1 was executed even if no parameter was given.
  4921.    Now, /whois $$1 will only be executed if you supply a parameter.
  4922. 15.Can now also do  $$?1  or $?1  which means, try to fill this
  4923.    value with parameter one if it exists. If parameter one doesnt exist,
  4924.    ask for it.
  4925. 16.Fixed problem with copy/paste routine. MUCH faster now.
  4926. 17.Fixed font problem with text not showing in Editbox when in windows
  4927.    screen with large font setting.
  4928. 18.Added DCC Resume capability. non-standard.
  4929. 19.Allows multiple select in ban list.
  4930. 20.Fixed dialog positioning when in different screen modes.
  4931. 21.Added option to prefix own messages with own nick.
  4932. 22.Would crash if popup menu definition was incomplete. fixed.
  4933. 23.Double-click in a query window does a /whois.
  4934. 24.Added small popup menu to channel list window.
  4935.  
  4936. 21/03/95 - mIRC v2.8b (not released)
  4937.  
  4938. Fixes/Additions:
  4939. 1. the % character can now be used.
  4940. 2. help file had a few mistakes in it.
  4941. 3. a /msg results in outgoing message being shown
  4942.    in the correct window.
  4943. 4. added option "Beep on message while in buffer".
  4944. 5. /hug /me *hugs* $1 now works.
  4945. 6. allow /query etc commands in dcc chat window.
  4946. 7. problems handling /msg and other commands.
  4947. 8. dissallow changing nickname and alternate in setup when online.
  4948. 9. log files werent being closed properly.
  4949. 11.enlarged Popup menus window.
  4950. 12.refined appearance of /msg /notice/ etc. commands.
  4951. 13.aliases had a bug or three.
  4952. 14.added [x] minimize to auto-accept chat request.
  4953. 15.ctcp ping seconds working properly now.
  4954. 16.query window sometimes opened up VERY small due to saving
  4955.    window size while it was iconized.
  4956. 17.Changed query/chat windows so that only one default font
  4957.    is saved.
  4958. 18.Changed "beeping" method to minimize number of beeps.
  4959. 19.File logging was messed up.
  4960. 20.Speeded up display of popupmenu definitions in popup dialog.
  4961. 21.text wrapping wasn't taking notice of mid variable.
  4962. 22.changed minimum window size depending on whether it
  4963.    is a channel or not.
  4964. 23.now remembers default size for channel windows.
  4965. 24.fixed problem with previous-line routine.
  4966. 25.added /dcc packetsize command. All memory for DCC Send/Get
  4967.    sessions now allocated dynamically.
  4968. 26.when a window is maximized, widths weren't set properly for
  4969.    any other windows beneath it.
  4970.  
  4971. 18/03/95 - mIRC v2.7a
  4972.  
  4973. Fixes/Additions:
  4974. 1. Changed dblclk ban list routine again.
  4975. 2. Variable assignment was wrong in open window routine.
  4976.    Caused windows to behave strangely and crash.
  4977. 3. Changed query & msg commands. /msg does not open a
  4978.    window, /query does.
  4979. 4. Added beeping on query & notice options.
  4980. 5. The INI filename specified on the command line was not
  4981.    working for some mIRC functions.
  4982. 6. DCC sessions were not being closed properly, ie. files
  4983.    in some cases would be left open.
  4984. 7. Cosmetic changes - moved some options to extras dialog
  4985.    and other stuff.
  4986. 8. Invite command wasn't working properly.
  4987. 9. Corrected mistakes in the mirc.ini file.
  4988. 10.Query window size wasn't being saved.
  4989. 11.mIRC wasn't closing all DCC connections on quit.
  4990. 12.Now prevents duplicate server entries in setup dialog.
  4991. 13.Some windows are now more intuitively centered on opening.
  4992. 14.Now shows number of channels as they are being listed.
  4993. 15.Some windows were opening only in the top left corner.
  4994.    Window positioning is hopefully better now.
  4995. 16.QUIT and AWAY commands weren't setting message properly.
  4996. 17.Added /LEAVE (like /PART. command for compatibility.
  4997. 18.Again changed optimization switches in compiler. Previous
  4998.    settings caused more problems than I thought...
  4999. 19.Can now open mutiple DCC Chat sessions with the same person.
  5000. 20.Option to show Quits in channel window.
  5001. 21.now shows /msgs that you send.
  5002. 22.when doing a "reset position" window is placed neatly inside
  5003.    main window even if saved position was outside it.
  5004. 23.Changed /protect etc. to work using on and off.
  5005. 34.Added option to highlight own messages.
  5006. 25.Aliases with a * in them weren't working properly.
  5007. 26.About dialog now disappears on keypress.
  5008. 27.Can now continue DCC chats if disconnected from IRC.
  5009. 28.After disconnection, on reconnect to IRC, only channel windows
  5010.    are closed. All other windows remain open.
  5011. 29./SERVER command now works. (can use in popup menus!)
  5012. 30.Bugs in file handling routines.
  5013. 31.Bug in Channels list routine.
  5014. 32.Iconify query window option.
  5015. 33.beeps if message in channel and you are not at bottom of buffer.
  5016. 34.Added whois option on a query.
  5017. 35.If talking in query window and person logs off IRC,
  5018.    informs you nick is invalid *in* query window.
  5019. 36.when not at bottom of buffer and a channel message
  5020.    is printed, highlighting for copy/paste now stays on.
  5021. 37.Enlarged alias window.
  5022. 38.Alias window now shows number of aliases entered.
  5023.  
  5024. Possible Bugs/Annoyances:
  5025. 1. Text in window sometimes goes blank or isn't updated properly.
  5026. 2. Text sometimes prints over the scrollbar slightly.
  5027. 3. Multiple DCC sends/gets might not work properly.
  5028.  
  5029. 13/03/95 - mIRC v2.6b (a dud version - was unstable)
  5030.  
  5031. Fixes/Additions:
  5032. 1. Finger routine wasn't being cancelled properly.
  5033. 2. Now allows user to enter their own IP address.
  5034. 3. Certain windows would beep on closing (definitely fixed now!)
  5035. 4. Routine for printing text in window majorly optimized and cleaned up.
  5036. 5. Listbox popup menu would popup even if a user wasn't selected.
  5037. 6. Cleaned up the retrieve ban list routine.
  5038. 7. Winsock startup routine wasn't being initialized properly.
  5039. 8. Copy/Paste routine has changed. No longer need to press the shift key.
  5040. 9. QUIT wasn't appending quit message.
  5041. 10.Child windows were being positioned outside main window.
  5042. 11.Spotted and fixed oh so sneaky bug in word wrap routine.
  5043. 12.DCC Send/Get Directories default to same directory as mirc.exe.
  5044. 13.Can now specify directory for logs and buffer saves.
  5045. 14.Mode change with multiple settings wasn't working.
  5046. 15.Can now specify on the command line the name of the .ini file to
  5047.    use. Default name is "mirc.ini". This means you can have different
  5048.    .ini files for different nets.
  5049. 16.Added /! command, recalls previous command.
  5050. 17.Cleaned up the help file, made IRC commands section readable.
  5051. 18.Now compiling with different optimization switches. This
  5052.    automatically fixed around 5 "bugs" !!!
  5053.  
  5054. 08/03/95 - mIRC v2.5a
  5055.  
  5056. Fixes/Additions:
  5057. 1. added "always retrieve local host" option for people who have
  5058.    dynamic IP addresses!
  5059. 2. channel mode in title is permanently on. not an option anymore.
  5060. 3. Added ctcp USERINFO command for compatibility. However, it returns
  5061.    the same information as a ctcp finger command.
  5062. 4. moved some options to different windows were they made more sense.
  5063. 5. added /finger and /auto commands.
  5064. 6. fixed problem with releasing memory... popup menus weren't
  5065.    being freed properly so mIRC would lose as much memory as
  5066.    the size of the popup menus defined by the user. With the
  5067.    mirc.ini that comes with the program, this turned out to be
  5068.    3k+ of system resources everytime the program is run.
  5069. 7. the MODE for channel mode changes gets messy when lots of
  5070.    mode changes occur. cleaned it up.
  5071. 8. Window names in Window menu would not switch to the correct
  5072.    window when selected.
  5073. 9. Text buffers for windows were not being freed properly.
  5074. 10.Can now set the default font for the status/finger/list windows
  5075.    from their system menu. Only the DCC Send/Get windows have to
  5076.    be set from the font dialog window.
  5077. 11.added auto-log option for channels and query/dcc chat.
  5078. 12.Commands such as /finger and /run can now be used off-line.
  5079. 13.Corrected some mistakes in the mirc.ini file.
  5080.  
  5081. 05/03/95 - mIRC v2.4a
  5082.  
  5083. Fixes/Additions:
  5084. 1. major update of window handling - made more robust.
  5085. 2. notify would keep notifying even if it was still waiting
  5086.    for previous notify to be returned by server.
  5087. 3. popup menu positioning was incorrect in some situations.
  5088.  
  5089. 02/03/95 - mIRC v2.3a
  5090.  
  5091. Fixes/Additions:
  5092. 1. dcc get received file okay but closed connection too early.
  5093. 2. dcc send/get/chat were re-initiating arrays too early,
  5094.    didn't cause problems but made the program beep everytime you
  5095.    closed a window because the array was empty.
  5096. 3. some debug information was being printed! Arrrrgh! forgot to
  5097.    turn off the debug switch in the first release.
  5098. 4. updated help file with description of previously coded but
  5099.    forgotten items.
  5100. 5. In dcc get, if sender client did not specify size of file
  5101.    (which it should!. then mIRC said the size was zero bytes.
  5102.    Now it just says [unknown].
  5103. 6. highlighting now works properly.
  5104. 7. ".." previous directory wasnt showing up in dcc send dialog.
  5105. 8. the channel listbox wasnt adding/removing nicks properly.
  5106. 9. double-click for ban list. clicking twice only in the SAME
  5107.    place now brings ban list up.
  5108. 10.added option to display file size instead of percent complete
  5109.    in DCC send/get transfers.
  5110. 11.fixed timer display: wasnt displaying timer after nick change.
  5111. 12.adds "/nick " to editbox if both nicks collide on login.
  5112. 13.dcc send/get had problems with packet size. fixed.
  5113. 14.other cosmetic changes.
  5114.  
  5115. 28/02/95 - mIRC v2.1a
  5116.  
  5117. First public release.
  5118.  
  5119.