This is an "I'm really sorry" fixes release: * Contrary to what I've said previously, erroneous nickname still caused endless loop when loggin-on. * When receiving chat messages or something, Vim would cause this error: "Usage: VIBUF::Append(vimbuf, lnum, @lines)".
New maps and some fixes. * Maps: "r" / "R". They do just the opposite of "q" / "Q": reconnect to disconnected servers. * When someone tried to contact (query) you but with different case, the message was totally discarded. * When you tried to logon with erroneous nickname, it resulted in endless loop. * Port number was not reused when reconnecting manually with command "/server" (i.e., without arg), failing to reconnect if it was other than the default 6667. * Global commands (e.g. "/gquit") could not be executed on disconnected servers. * Window resizing ("<C-L>") should perform a bit better now. * Added tips for opening hidden buffers.
* VimIRC now uses stacks for putting messages. You'll notice the efficiency of it especially when updating channels-lists. * Some multi-key commands ("<C-W>t", etc.) weren't handled properly. * User mode couldn't be set after auto-reconnecting servers (after disconnect). * You can now omit your nick or the current channel for the command "/MODE". E.g.: Entering "/MODE +w" on a non-channel buffer will set the specified mode on you. * Added abbrev: "/MO[DE]" * The manner of beeping has become a bit modest.
Some trivial fixes (I'm only listing a few): * For some unknown reason (to me), cursor position could not be restored sometimes when re-opening hidden channels. The issue itself might still remain for the time being. * Nick and command windows could embarrassingly remain open after parting channels with "q" key, for some event-related reason.
This contains rather big improvements: * Messages can now be received even while offline (i.e., out of the main-loop). Note that you have to move cursor around periodically for this functionality to be triggered. The same applies to the next item. * Timer-related functions (displaying the current time, auto-pinging to keep alive, etc.) will be executed while offline, too. * Fix on normal mode commands: "@" commands ("@:" etc.) weren't implemented; two-key commands ("f", "t", etc.) could not accept count.
Trivial fixes release: * Window configuration could get corrupted if you received server messages when the server buffer was hidden and the channels-list was open. * While typing count for a normal mode command, entering two consecutive zeros nullified the entire input. * While offline, count for normal mode commands (i.e., maps) could not be handled. * Really trivial, but "<C-W><C-P>" now opens the previous channel ABOVE the current window, which you would find more intuitive. * When opening hidden channels, cursor was moved to the bottom, which was bad for grasping the flow of conversation. * "/PART"ing channels with some particular multibyte characters could fail.
* Commands "<C-N>" / "<C-P>" now accepts count: "3<C-N>" opens the third next channel or server as seen on the info-bar from the current one. * Also, commands starting with "<C-W>" can now accept count before and/or after it. * Nicks window could become empty for some unknown reason. I still don't know why, but tried to fix it. * Hitting "i" after key-prompt could result in insert mode on a non-command buffer.
* Nick window could be embarrassingly left open, if you sent/received query message while on a buffer other than the chat buffer. * Command "/ACTION" didn't work as described in the help message. Let me replace the command with "/DES[CRIBE]". * Added a small new command "/WHOA[MI]". Might be useful when you forgot who you were after changing nicks several times. * Changed abbrev: "/T[OPIC]" => "/TO[PIC]", "/MS[G]" => "/M[SG]" * Added abbrev: "/T[IME]", "/WH[O]", "/WHOI[S]"
* Many IRC commands are made abbreviatable, e.g.: "/server" can now be typed as "/s". See Tip 8 for more. * Could not obtain your host address (required when doing DCC sessions) upon logon, if you logged in with a nick containing some special characters. * statusline message was inappropriate for chat buffers. * Cursor scrolled to the bottom when you executed "/list", which was not what I intended. * Made "/help" message not to disappear automatically.
* If you logged in servers with nick longer than what they accept, VimIRC failed to recognize you as the user. * It is now possible to open, internally or externally, IRC server-like strings by hitting "<CR>" / "<C-CR>" / "<S-CR>" on them. * Channel-like strings in buffers other than channels-list are also made accessible with "<CR>" etc..
Some fixes on normal-mode commands: * If you hit special keys after "<C-W>" or number, you could get stuck. * When keys like "jk" were typed fast, the second key could not be processed. * If you (casually) kept pressing "<CR>" for a few seconds, the same URL was opened many many times.
* "auto-join"ing could fail if you logged in multiple servers simultaneously. * DCC-chat buffers were not treated as such. * Subtle fixes/improvements have been done on buffer/window manipulation (closing command window quietly, etc.).
Design change, and new commands: * Abolished multi-window mode, which was the default mode, but wasn't very useful. Therefore, "g:vimirc_winmode" has no meaning now. (The original design was done because I couldn't think of any way to update hidden buffers. The problem was solved long time ago.) * Instead of the above, added a new command prefix "SPLIT". Prepend it to commands such as "/JOIN", "/LIST", like this: "/split join #chan". See Tip 6 & 7 for more. * Added normal-mode commands: "<C-W><C-N>", "<C-W><C-P>". They do the same thing as "<C-N>" and "<C-P>" (walking through channels), with windows split open.
Small fixes release: * Pressing <F1> caused an error. * When closing channels etc., newly active one sometimes didn't get highlighted properly. * Key prompts could not accept key after special keys such as "<S-CR>" were hit. * (single-window mode) Hitting "<C-W><CR>" / "<C-CR>" / "<S-CR>" on channels list now opens the channel in a new window.
This contains an important fix: * Nicks including "_" or "|" were not considered to be nicks, which could lead to various troubles/misbehaviors. * (single-window mode) Hitting "<C-W><CR>" on the info-bar opened the specified channel etc. in a new window, but with bad window configuration.
* "/help" wasn't working. * Added a timeout feature to the "hit any key" prompt. Prompts with rotating cursor automatically disappear after a few seconds if you give no response to them. (This might save you from getting disconnected from servers.) * (GUI) When hiding Vim cursor, attributes such as underline still remained, which was annoying.
* Added a small new feature to "autojoin". If you wish to display list of channels upon logon, add the word "list" to g:vimirc_autojoin. See the doc for detail. * Special-key commands preceded by count ("10<BS>" etc.) could not be executed. * Forgot to map "ZZ" and "ZQ" to VimIRC's quit function. * Quit keys could direct the quit command to a wrong server.
Important fixes for normal mode key-handling issues. * Added a `shocmd' functionality for multi-key commands. This might prevent that you get stuck in a pending mode without noticing it, being unable to get new messages. * Added several normal commands I've forgotten to do (",", "''", etc.). * Added new quit commands: "ZZ" and "ZQ". (Equivalent to "q" and "Q" respectively.) * Special keys ("<BS>" etc.) are now safely handled (I should have read ":h getchar()" much earlier).
Sorry for updating so often. As always, I've introduced a new problem to the previous release. * (Main-loop issue) Pressing the same key for a long time (well, less than a dozen seconds) could make Vim to crash. * (Ditto) Pressing "<F1>" opened Vim's help file, which was not what I expected. * Made Vim's cursor invisible while you are online. The Annoying blinks now totally disappear (GUI only).
* Hitting keys such as "<C-CR>" while in VimIRC's main-loop caused endless recursion (E132). * Re-sorted key-handling order slightly, to achieve faster movement of motion commands. (I'm not sure I did well.) * Added some error-handling, so as not to get thrown out of the loop for simple errors (e.g., pattern not found).
This is a bug fix release, with some minor improvements: * Undefined subroutine (&find_channel) was called. This caused several misbehaviours including the one below. * (single window) Highlights in the info-bar couldn't be cleared after bringing hidden channels (with new messages) to the foreground. * (single window) Attempts to highlight the current channel/server in the info-bar, so that you can easily locate where you are in (see the 3rd screenshot).
Fixes for the following items: * Paste commands (p and P) have been disabled in command buffers by mistake. * Single-window mode: channels-list didn't show up in the info-bar. * DCC chat: Multibyte (Japanese) characters had not been decoded.
This is a buf fix release, with a tiny new command: * Command: "/UNSET option". Clears the current setting of an option. * In the previous release, maps for the key "<CR>" were made invalid on some types of buffers. * Hitting "i" after hit-any-key prompt to (re)enter the command mode resulted in a strange, non-insert mode. * Slightly changed the behavior of "i". It now opens a new input line when typed on an already open command buffer (formerly it left the cursor on the same line, which wasn't very useful). * Removed the command "/SEARCH", which was not meaningful and had been made available probably by accident. The functionality itself is available as a normal mode search command (/ or ?).
Minor fix, and an experimental new feature. * Hitting <CR> near a URL-like string may open it with external web browser. The relevant option is "vimirc_browser". See the doc for detail. This is not much tested. Feel free to notify me of any errors/misbehaviours you encounter with this feature.
Several minor fixes/improvements: * (GUI) File selector dialog now pops up for DCC SEND. Omit filename argument to use this feature, when executing from the command buffer (see "/dcc help" for syntax). * Tries to fix the annoying window scrolling you might have suffered when opening command buffers.
I've added authenticated logon feature (apparently most users won't need this, only for completeness). You can specify password for servers in any of the following ways: 1. (on Vim's command line) :VimIRC -p password 2. (in VimIRC's command buffer) /server irc.server.com password 3. (in .vimrc) let vimirc_pass = 'password' or 'password1@server1,...'
* Due to the previous (0.8.11) change to argument handling, "/[G]AWAY" and "/[G]QUIT" commands have been made to treat arguments (comment) improperly, resulting in awaying impossibility etc.. * I've made channels lists to be cached by default. The variable "vimirc_listexpire", defaulting to a week, defines the longevity of them. See the doc in the source for detail. * Added a window-size restoration functionality. Hit <C-L> in normal mode when any window has got a bad width/height.
* The previous (0.8.10) fix with the main-loop issue seems to have introduced another one: you would have no way re-entering the loop if you had been gotten out of it by Vim errors, which shouldn't normally happen though. * As in Vim, key pressed after the 'Hit any key to continue' prompt will now be utilized as a normal mode command. * Added a mechanism of argument expansion, which currently expands only '%', into the current channel. See Tip 5 in the source for usage.
In a recent update, I introduced a bug which could cause some difficulty in getting out of the main-loop (for writing messages etc.). This has been fixed, I hope. Also, sending multiple messages at a time is now made possible. See Tip 3 in the source.
Again, several tiny fixes/improvements: * VimIRCQuit didn't actually quit when executed from inside VimIRC's main-loop. * Operations (typing <CR>) on nicks window could have been directed to other servers erroneously. * Repetitive normal mode commands (such as jjjjjjjjj) might now work slightly faster (unnoticeably perhaps). * Chat windows now have nicks window. * etc.