2008-11-19 Andy Stewart * erc.el (erc-header-line-uses-tabbar-p): New option that makes tabbar mode usable with ERC if set to non-nil. (erc-update-mode-line-buffer): Use it. 2008-11-19 Glenn Morris * erc-compat.el (help-function-arglist): Autoload it. 2008-10-03 Michael Olson * erc-dcc.el (english): Increase size heading by two places. (erc-dcc-byte-count): Move higher. (erc-dcc-do-LIST-command): Use erc-dcc-byte-count to get accurate count. Coerce byte total to floating point before performing computation, otherwise division will truncate to 0. (erc-dcc-append-contents): Update erc-dcc-byte-count. (erc-dcc-get-filter): Don't update erc-dcc-byte-count, because that will give incorrect size totals. Instead, figure out how much we have by summing byte count and current buffer size. (erc-dcc-get-sentinel): Don't update erc-dcc-byte-count. 2008-10-01 Michael Olson * erc-dcc.el (erc-pack-int): Make sure returned string is within 4 bytes. Always return a 4-byte string, so that we conform to the CTCP spec. (erc-most-positive-int-bytes): New constant representing the number of bytes that most-positive-fixnum can be stored in. (erc-most-positive-int-msb): New constant representing the contents of the most significant byte of most-positive-fixnum. (erc-unpack-int): Make sure that the integer we get back can be represented in Emacs. (erc-dcc-do-CLOSE-command): Update docstring. Don't use the line variable. Try to disambiguate between type and nick when only one is provided. Validate both type and nick arguments. Allow matching by just nick. (erc-dcc-append-contents): Set inhibit-read-only to t. Prevent auto-compression from triggering when we write the contents to a file. (erc-dcc-get-file): Prevent auto-compression from triggering when we truncate a file. 2008-07-27 Dan Nicolaescu * erc.el: Remove code for Carbon. 2008-06-07 Glenn Morris * erc-autoaway.el, erc-ibuffer.el, erc-menu.el: * erc-stamp.el, erc.el: Remove unnecessary eval-when-compiles. 2008-05-30 Diane Murray * erc-backend.el (328): New response handler. * erc.el (english): Add 328 to catalog. 2008-05-29 Diane Murray * erc-services.el (erc-nickserv-alist): Update REGEXP and SUCCESS-REGEXP for freenode. 2008-05-05 Juanma Barranquero * erc-goodies.el (erc-noncommands-list, noncommands) (erc-control-characters, erc-interpret-controls-p) (erc-interpret-mirc-color): Fix typos in docstrings. (erc-controls-highlight): Reflow docstring. 2008-04-26 Johan Bockgård * erc.el (erc-put-text-properties): Don't use mapcar*. (erc-display-line-1): Fix argument order in call to erc-put-text-properties. 2008-04-14 Michael Olson * erc.el (erc-remove-text-properties-region): Disable this command by default. Thanks to e1f for the suggestion. 2008-02-20 Michael Olson * erc.el (erc-notice-face): Fix this face for Emacs 21 users. 2008-02-05 Juanma Barranquero * erc.el (erc-valid-nick-regexp): * erc-button.el (erc-button-syntax-table): * erc-match.el (erc-match-syntax-table): Replace `legal' with `valid'. 2008-02-04 Jeremy Maitin-Shepard * erc.el (erc-cmd-QUERY): Bind the value of `erc-auto-query' to `erc-query-display' rather than `erc-join-buffer'. This fixes a bug where the value of erc-auto-query was being ignored. 2008-01-31 Michael Olson * erc-dcc.el (erc-dcc-do-GET-command, erc-dcc-do-SEND-command): Improve docstring. If FILE argument is split into multiple arguments, re-join them into a single string, separated by a space. This fixes an issue where the user wants to send or receive a file with spaces in its name. It is assumed that no one will try sending or receiving a file with multiple consecutive spaces in its name, otherwise this fix will fail. * erc.el (erc-mode-map): Add binding for C-c C-x to erc-quit-server, since rcirc.el binds its quit command in a similar manner. Thanks to Jari Aalto for the suggestion. 2008-01-28 Diane Murray * erc-list-old.el (list-old): Define module as list-old, not list. This fixes a bug where an unknown module error would occur when starting ERC and using the list-old module. * erc-track.el (erc-track-find-face): If no choice was found return nil to use the default mode-line faces. 2008-01-26 Michael Olson * erc.el (erc-version-string): Release ERC 5.3. * Makefile (VERSION): Update. (EXTRAS): Remove erc-list.el after all, because this is mainly for users of the version that comes with Emacs, and they will have erc-list.el by Emacs 23. (MISC): Add ChangeLog.07. (elpa): Fix build issue. Add proper version to erc-pkg.el. * README.extras: Mention Emacs 23. * erc-pkg.el: Make the version string a template. * erc.texi (Obtaining ERC): Update extras URLs for 5.3. (Development): Write instructions for git, and remove those for Arch. (History): Mention the switch to git. 2008-01-25 Michael Olson * NEWS: Update. * erc-goodies.el (keep-place): New module which keeps your place in unvisited ERC buffers when new messages arrive. This is mostly taken from Johan Bockgård's init file. (erc-noncommands-list): Move to correct place. * erc-networks.el: Add a module definition. * erc-services.el (erc-nickserv-identify-mode): Force-enable the networks module, because we need it to set erc-network for us. * erc-track.el (erc-track-faces-normal-list): Indicate in the docstring that this variable can be set to nil. * erc.el: On second thought, don't load erc-networks. Just enable the networks module by default. (erc-modules): Add option for keep-place and networks. Enable networks by default. (erc-version-string): Make release candidate 1 available. 2008-01-24 Michael Olson * erc.el: Load erc-networks.el so that functions get access to the `erc-network-name' function. * erc-track.el (erc-track-faces-normal-list): Add erc-dangerous-host-face. (erc-track-exclude-types): Add 333 and 353 to the default list of things to ignore, and explain what they are in the docstring. 2008-01-23 Michael Olson * erc-track.el (erc-track-faces-priority-list): Move erc-nick-default-face higher, so that it can be used for the activity indication effect. Add erc-current-nick-face, erc-pal-face, erc-dangerous-host-face, and erc-fool-face by themselves. (erc-track-faces-normal-list): New option that contains a list of faces to consider "normal". (erc-track-position-in-mode-line): Minor docfix. (erc-track-find-face): Use erc-track-faces-normal-list to produce a sort of blinking activity effect. 2008-01-22 Michael Olson * erc-button.el (erc-button-add-nickname-buttons): When in a channel buffer, only look at nicks from the current channel. Thanks to e1f for the report. 2008-01-21 Michael Olson * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): Remove, since we can use the default `assert' function without it causing us any problems, even in Emacs 21. Thanks to bojohan for the suggestion. * erc-goodies.el (move-to-prompt): Use the "XEmacs" method instead, because the [remap ...] method interferes with delete-selection-mode. (erc-move-to-prompt): Rename from erc-move-to-prompt-xemacs. Deactivate mark and call push-mark before moving point. Thanks to bojohan for the suggestion. (erc-move-to-prompt-setup): Rename from erc-move-to-prompt-init-xemacs. * erc-track.el (erc-track-faces-priority-list): Replace erc-button with '(erc-button erc-default-face) so that we only care about buttons that are part of normal text. Adjust customization type to handle this case. Make erc-nick-default-face a list. Handle pals, fools, current nick, and dangerous hosts. (erc-track-find-face): Simplify. Adapt for list of faces case. (erc-faces-in): Don't deflate lists of faces. Add them as-is. (erc-track-face-priority): Use equal instead of eq. 2008-01-20 Michael Olson * erc-goodies.el (erc-move-to-prompt, erc-move-to-prompt-xemacs): Fix off-by-one error that caused the point to move when placed at the beginning of some already-typed text. Thanks to e1f for the report. * erc-dcc.el, erc-xdcc.el: Add simple module definitions. * erc.el (erc-modules): Add dcc and xdcc. 2008-01-19 Michael Olson * erc-bbdb.el (erc-bbdb-insinuate-and-show-entry): Work around bug in XEmacs 21.4 that throws an error when the first argument to run-at-time is nil. * erc-button.el (button): Undo XEmacs-specific change to all ERC buffers when module is removed. (erc-button-setup): Rename from erc-button-add-keys, and move XEmacs-specific stuff here. * erc-goodies.el (erc-unmorse): Improve regexp for detecting morse. Deal with the morse style that has "/ " at the end of every letter. (erc-imenu-setup): New function that sets up Imenu support. Add it instead of a lambda form to erc-mode-hook. (scrolltobottom): Remove erc-scroll-to-bottom from all ERC buffers when module is removed. Activate the functionality in all ERC buffers when the module is activated, rather than leaving it up to the user. (move-to-prompt): New module that moves to the ERC prompt if a user tries to type elsewhere in the buffer, and then inserts their keystrokes there. This is mostly taken from Johan Bockgård's init file. (erc-move-to-prompt): New function that implements this. (erc-move-to-prompt-xemacs): New function that implements this for XEmacs. (erc-move-to-prompt-init-xemacs): New function to perform the extra initialization step needed for XEmacs. * erc-page.el, erc-replace.el: Fix header and footer. * erc-track.el (erc-track-minor-mode-maybe): Take an optional buffer arg so that we can put this in erc-connect-pre-hook. If given this argument, include it in the check to determine whether to activate erc-track-minor-mode. (track): Add erc-track-minor-mode-maybe to erc-connect-pre-hook, so that we can use it as soon as a connection is attempted. * erc.el (erc-format-network, erc-format-target-and/or-network): Use erc-network-name function instead, and check to see whether that function is bound. This fixes an error in process filter for people who did not have erc-services or erc-networks loaded. (erc-modules): Add move-to-prompt module and enable it by default. Thanks to e1f for the suggestion. 2008-01-18 Michael Olson * Makefile (EXTRAS): Include erc-list-old.el. * erc-dcc.el (erc-dcc-verbose): Rename from erc-verbose-dcc. (erc-pack-int): Rewrite to not depend on a count argument. (erc-unpack-int): Rewrite to remove 4-character limitation. (erc-dcc-server): Call set-process-coding-system and set-process-filter-multibyte so that the contents get sent out without modification. (erc-dcc-send-filter): Don't take a substring -- just pass the whole string to erc-unpack-int. (erc-dcc-receive-cache): New option that indicates the number of bytes to let the receive buffer grow before flushing it. (erc-dcc-file-name): New buffer-local variable to keep track of the filename of the currently-received file. (erc-dcc-get-file): Disable undo for a speed increase. Set erc-dcc-file-name. Truncate the file before writing to it. (erc-dcc-append-contents): New function to append the contents of a buffer to a file and then erase the contents of the buffer. (erc-dcc-get-filter): Flush buffer contents after exceeding erc-dcc-receive-cache. This allows large files to be downloaded without storing the whole thing in memory. (erc-dcc-get-sentinel): Flush any remaining contents before closing. No need to save buffer. (erc-dcc-listen-host): New option that determines which IP address to listen on. (erc-dcc-public-host): New option that determines which IP address to advertise when sending a file. This is useful for people who are on a local subnet. Together, these two options replace erc-dcc-host. * erc.el (erc-mode-line-format): Add %N and %S. %N is the name of the network, and %S is much like %s but with the network name trumping the server name. Default to "%S %a". Thanks to e1f for the suggestion. (erc-format-network): New function that formats the network name. (erc-format-target-and/or-network): New function that formats both the network name and target, falling back on the server name if the network name is not available. (erc-update-mode-line-buffer): Add the new format spec items. 2008-01-17 Michael Olson * erc.el (erc-join-buffer): Improve documentation. (erc-query-display): New option indicating how to display a query buffer that is made by using the /QUERY command. The default is to display the query in a new window. (erc-cmd-QUERY): Use it. Improve docstring. (erc-auto-query): Default this to 'window-noselect instead, because I've already seen bug reports about new users thinking that ERC didn't display their test messages. Improve customization type. (erc-notice-face): Make this work with XEmacs. (erc-join-buffer): Mention 'buffer in docstring. Improve customization type. * erc-dcc.el (erc-dcc-send-sentinel): Better handle case where elt is nil, in order to avoid an error. Thanks to Brent Goodrick for the initial patch. (erc-dcc-display-send): New function split from erc-dcc-send-hook. (erc-dcc-send-connect-hook): Use it -- we don't like lambda forms in hooks. (erc-dcc-send-filter): Display byte count if the client confirmed too much, and kill the buffer. Otherwise a DoS might be possible by making Emacs run out of RAM. * erc-backend.el (erc-server-connect): Detect early on whether the connection attempt has failed in order to avoid confusing error messages. * erc-networks.el (erc-server-alist): Add Rizon network. * erc-services.el (erc-nickserv-passwords): Add Rizon to options. (erc-nickserv-alist): Add support for Rizon. * erc-track.el (erc-track-find-face): Don't let buttons in notices trump default text. Use catch/throw. Default to first element of FACES is nothing is found. * erc-xdcc.el: Add local variables for proper indentation setup. 2008-01-15 Michael Olson * erc-backend.el (erc-server-coding-system): Docfix. (erc-coding-system-for-target): Pass the `target' argument along as the first and only argument. It's not good to just depend on a dynamic binding. 2008-01-10 Michael Olson * erc-backend.el (321, 322): Split message-displaying parts into new functions, which are added to each response's respective hook. This makes them easier to disable. * erc-list.el: New file from Tom Tromey. Use erc-propertize instead of propertize. Require 'erc. (list): New module definition. Remove message-displaying functions for 321 and 322 response handlers when enabling the module, and restore them when disabling. As a sanity check, remove the erc-list-handle-322 function when disabling the module. (erc-list-handle-322): Handle the case where we run the LIST command, but do not go through the normal steps. (erc-cmd-LIST): Add docstring. Strip initial space from line if it is non-nil. Use make-local-variable to silence compiler warning. Capture current buffer and pass it to erc-list-install-322-handler. (erc-list-install-322-handler): Take server-buffer argument, so that we are certain of being in the right buffer. Use 4th argument to add-hook, so that erc-server-322-functions is only modified in one buffer. * erc-list-old.el: Renamed from old erc-list.el. * erc.el (erc-modules): Add list-old. (erc-set-topic): Handle case where there are no newlines in the existing topic, which happens when /LIST is run. (erc-notice-face): If we have less than 88 colors, make this blue. Otherwise the text will be pink in a tty, which looks dreadful. Thanks to e1f for the report. (erc-remove-parsed-property): New option that determines whether to remove the erc-parsed property after displaying a message. This should have the effect of making ERC take up less memory. (erc-display-line-1): Use it. 2008-01-04 Stefan Monnier * erc-ibuffer.el (erc-channel-modes): Pass mode-name through format-mode-line 2007-12-16 Diane Murray * erc-services.el (erc-nickserv-alist): Removed autodetect regexp, added identified regexp for OFTC. (erc-nickserv-identification-autodetect): Make sure success-regex is non-nil. (erc-nickserv-identify-autodetect): Make sure identify-regex is non-nil. Doc fix. 2007-12-13 Diane Murray * erc-backend.el (PRIVMSG, QUIT, TOPIC, WALLOPS, 376, 004, 221) (312, 315, 319, 330, 331, 333, 367, 368, 391, 405, 406, 412) (421, 432, 433, 437, 442, 461, 474, 477, 482, 431): Doc fix. 2007-12-09 Michael Olson * erc-services.el (erc-nickserv-alist): Fix regexps for GRnet. 2007-12-09 Giorgos Keramidas (tiny change) * erc-backend.el, erc.el: Parse 275 (secure connection) responses. * erc-services.el: Add identification hooks for GRnet, the Greek IRC network . 2007-12-08 David Kastrup * erc-stamp.el (erc-echo-timestamp): * erc-lang.el (language): * erc-backend.el (erc-server-connect): Fix buggy call to `message'. 2007-12-07 Theresa O'Connor * erc-services.el: Provide a hook that runs when nickserv confirms that the user has successfully identified. (services, erc-nickserv-identify-mode): Add and remove erc-nickserv-identification-autodetect from erc-server-NOTICE-functions. (erc-nickserv-alist): Add SUCCESS-REGEXP to each entry. (erc-nickserv-alist-identified-regexp) (erc-nickserv-identification-autodetect): New functions. (erc-nickserv-identified-hook): New hook. 2007-12-06 Deepak Goel * erc-match.el (erc-add-entry-to-list): Fix buggy call to `error'. 2007-12-01 Glenn Morris * erc-backend.el (erc-server-send-ping): Move after definition of erc-server-send. 2007-11-29 Giorgos Keramidas (tiny change) * erc-backend.el, erc.el: Parse 307 (nick has identified) responses. 2007-11-15 Juanma Barranquero * erc.el (erc-open): * erc-backend.el (define-erc-response-handler): * erc-log.el (log): * erc-match.el (erc-log-matches): Fix typos in docstrings. 2007-11-11 Michael Olson * erc-autoaway.el (erc-autoaway-possibly-set-away): * erc-netsplit.el (erc-netsplit-timer): * erc-notify.el (erc-notify-timer): * erc-track.el (erc-user-is-active): Only run if we have successfully established a connection to the server and have logged in. I suspect that sending messages too soon may make some IRC servers not respond well, particularly when the network connection is iffy or subject to traffic-shaping. 2007-11-01 Michael Olson * erc-compat.el (erc-set-write-file-functions): New compatibility function to set the write hooks appropriately. * erc-log.el (erc-log-setup-logging): Use erc-set-write-file-functions. This fixes a byte-compiler warning. * erc-stamp.el: Silence byte-compiler warning about erc-fill-column. * erc.el (erc-with-all-buffers-of-server): Bind the result of mapcar to a variable in order to silence a byte-compiler warning. 2007-10-29 Michael Olson * erc-ibuffer.el (erc-modified-channels-alist): Use eval-when-compile, and explain why we are doing this. 2007-10-25 Dan Nicolaescu * erc-ibuffer.el (erc-modified-channels-alist): Pacify byte-compiler. 2007-10-13 Glenn Morris * erc-track.el (erc-modified-channels-update): Use mapc rather than mapcar. 2007-10-12 Diane Murray * erc.el (erc-join-channel): Prompt for channel key if C-u or another prefix-arg was typed. * NEWS: Noted this change. 2007-10-07 Michael Olson * erc.el (erc-cmd-ME'S): New command that handles the case where someone types "/me's". It concatenates the text " 's" to the beginning of the input and then sends the result like a normal "/me" command. (erc-command-regexp): Permit single-quote character. 2007-09-30 Aidan Kehoe (tiny change) * erc-log.el (erc-save-buffer-in-logs): Prevent spurious warnings when looking at a log file and concurrently saving to it. 2007-09-18 Exal de Jesus Garcia Carrillo (tiny change) * erc.texi (Special-Features): Fix small typo. 2007-09-16 Michael Olson * erc-track.el (erc-track-switch-direction): Mention erc-track-faces-priority-list. Thanks to Leo for the suggestion. 2007-09-11 Exal de Jesus Garcia Carrillo (tiny change) * erc-sound.el: Fix typo in setting up instructions. 2007-09-10 Michael Olson * Makefile (elpa): Copy dir template rather than echoing a few lines. The reason for this is that the ELPA package for ERC was getting a corrupt dir entry. * dir-template: Template for the ELPA dir file. 2007-09-08 Michael Olson * erc-log.el (erc-log-filter-function): New option that specifies the function to call for filtering text before writing it to a log file. Thanks to David O'Toole for the suggestion. (erc-save-buffer-in-logs): Use erc-log-filter-function. Make sure we carry along the value of coding-system-for-write, because this could potentially be shadowed by the temporary buffer. * erc.el (erc-version-string): Update to 5.3, development version. 2007-09-07 Glenn Morris * erc.el (erc-toggle-debug-irc-protocol): Fix call to erc-view-mode-enter. 2007-08-08 Glenn Morris * erc-log.el, erc.el: Replace `iff' in doc-strings and comments. 2007-09-03 Michael Olson * erc.el (erc-default-port): Make this an integer value rather than a string. Thanks to Luca Capello for the report. 2007-08-27 Michael Olson * erc.el (erc-cmd-GQUIT): If erc-kill-queries-on-quit is non-nil, kill all query buffers after 4 seconds. 2007-08-16 Michael Olson * NEWS: Add ERC 5.3 changes section, and mention jbms' erc-track compatibility note. * erc-track.el (erc-track-list-changed-hook): Turn this into a customizable option. (erc-track-switch-direction): Add 'importance option. (erc-modified-channels-display): If erc-track-switch-direction is 'importance, call erc-track-sort-by-importance. (erc-track-face-priority): New function that returns a number indicating the position of a face in erc-track-faces-priority-list. (erc-track-sort-by-importance): New function that sorts erc-modified-channels-list according to erc-track-face-priority. (erc-track-get-active-buffer): Make 'oldest a rough opposite of 'importance. 2007-08-14 Jeremy Maitin-Shepard * erc-track.el (erc-track-remove-disconnected-buffers): New variable which controls whether buffers associated with a server that is disconnected should be removed from `erc-modified-channels-alist'. Existing behavior is to unconditionally remove such buffers, which is achieved by setting `erc-track-removed-disconnected-buffers' to t. When set to t, which is the new default value, such buffers remain in the list, which I think is often the desired behavior, since the user may likely wish to find out about activity that occurred in a channel prior to it being disconnected. (erc-track-list-changed-hook): New hook that is run whenever the contents of `erc-modified-channels-alist' changes; it is useful for users such as myself that don't use the default mode-line notification but instead use a separate mechanism (which is tied to my window manager) to provide notification of channel activity. (erc-track-get-buffer-window): New function that acts as a wrapper around `get-buffer-window' that handles the `selected-visible' option of `erc-track-visibility'; previously, the value of `erc-track-visibility' was passed directly to `get-buffer-window', which does not support `selected-visible'; consequently, `selected-visible' was not properly supported. (erc-track-modified-channels): Fix a bug in the logic for removing buffers from the list in certain cases. (erc-track-position-in-mode-line): Add a supported value that specifies that the tracking information should not be added to the mode line at all. The value of nil is used to indicate that the information should not be added at all to the mode line. (erc-track-add-to-mode-line): Check for position eq to t, rather than non-nil. (erc-buffer-visible): Use erc-track-get-buffer-window. (erc-modified-channels-update): Take erc-track-remove-disconnected-buffers into account. (erc-modified-channels-display): Run `erc-track-list-changed-hook'. * erc.el (erc-reuse-frames): New option that determines whether new frames are always created. Defaults to t. This only has an effect when erc-join-buffer is set to 'frame. (erc-setup-buffer): Use it. 2007-08-14 Michael Olson * erc-backend.el (erc-server-reconnect): If the server buffer has been killed, use the current buffer instead. If the current buffer is not an ERC buffer, give an error. This fixes a bug when /reconnect is run from a channel buffer whose server buffer has been deleted. Thanks to jbms for the report. (erc-process-sentinel-1): Take server buffer as an argument, so that we can make sure that it is current. (erc-process-sentinel): Pass buffer to erc-process-sentinel-1. (erc-process-sentinel-2): New function split from erc-process-sentinel-1. If server buffer is deleted during a reconnect attempt, stop trying to reconnect. Fix bug where reconnect was not happening when erc-server-reconnect-attempts was t. Call erc-server-reconnect-p only once each time. If we are instructed to try connecting indefinitely, tell the user that they can stop this by killing the server buffer. Call the process sentinel by means of run-at-time, so that there is time to kill the buffer if need be; this also removes the need for a while loop. Refuse to reconnect again if erc-server-reconnect-timeout is not an number. * erc.el (erc-command-no-process-p): Fix bug: the return value of erc-extract-command-from-line is a list rather than a single symbol. Thanks to jbms for the report. (erc-cmd-RECONNECT): Use simpler logic, and use buffer-live-p rather than bufferp. (erc-send-current-line, erc-display-command, erc-display-msg): Handle case where erc-server-process is nil, so that /reconnect works. 2007-08-12 Michael Olson * erc-identd.el (erc-identd-filter): Instead of sending an EOF character, which now confuses freenode, stop the server process, so that no new connections are accepted, and kill the current client process. 2007-07-29 Michael Olson * erc-list.el: Relicense to GPLv3. Since the file was already licensed under version 2 or later, it turns out that we do not need the permission of all of the authors in order to proceed. 2007-07-13 Michael Olson * erc-goodies.el (erc-get-bg-color-face, erc-get-fg-color-face): Use erc-error rather than message and beep. * erc-sound.el: Indentation fix. * erc.el (erc-command-no-process-p): New function that determines if its argument is an ERC command that can be run when the server process is not alive. (erc-cmd-SET, erc-cmd-CLEAR, erc-cmd-COUNTRY, erc-cmd-HELP) (erc-cmd-LASTLOG, erc-cmd-QUIT, erc-cmd-GQUIT) (erc-cmd-RECONNECT, erc-cmd-SERVER): Denote that these commands can be run even when the server process is not alive. (erc-send-current-line): Call erc-command-no-process-p if the server process is not alive, to determine if we have a command that can be run anyway. Thanks to Tom Tromey for the bug report. (erc-error): New function that either displays a message or throws an error, depending on whether debug-on-error is non-nil. (erc-cmd-SERVER, erc-send-current-line): Use it. 2007-07-10 Michael Olson * Relicense all FSF-assigned code to GPLv3. 2007-06-25 Michael Olson * erc.texi (Options): Fix typo. (Getting Help and Reporting Bugs): Update webpage URL. Make Gmane part more readable. 2007-06-20 Michael Olson * erc-stamp.el (erc-timestamp-format-left): New option that specifies the left timestamp to use for erc-insert-timestamp-left-and-right. (erc-timestamp-format-right): New option that specifies the right timestamp to use for erc-insert-timestamp-left-and-right. (erc-insert-timestamp-function): Change default to erc-insert-timestamp-left-and-right. (erc-insert-away-timestamp-function): Ditto. (erc-timestamp-last-inserted-left) (erc-timestamp-last-inserted-right): New variables to keep track of data for erc-insert-timestamp-left-and-right. (erc-insert-timestamp-left-and-right): New function that places timestamps on both the left and right sides of the screen, but only if each timestamp has changed since it was last computed. Thanks to offby1 for urging me to merge this. * erc.el (erc-open-ssl-stream): Display informative error when ssl.el not found. (erc-tls): New function to connect using tls.el. (erc-open-tls-stream): New function to initiate tls connection. Display informative error when tls.el not found. 2007-06-19 Michael Olson * erc-log.el: Update header with accurate instructions. 2007-06-17 Michael Olson * erc-pkg.el: Update description to match what is currently in ELPA. 2007-06-14 Juanma Barranquero * erc-goodies.el (erc-scroll-to-bottom): Remove redundant check. 2007-06-13 Michael Olson * erc-compat.el (erc-with-selected-window): New compatibility macro that implements `with-selected-window'. * erc-goodies.el (erc-scroll-to-bottom): Use it. This fixes a bug with buffer ordering where ERC buffers would move to the top. Thanks to Ivan Kanis for the patch. 2007-06-10 Michael Olson * erc-log.el (erc-logging-enabled): Fix a bug that occurred when `erc-log-channels-directory' had the name of a function. 2007-06-06 Juanma Barranquero * erc.el (erc-show-channel-key-p, erc-startup-file-list): Fix typo in docstring. 2007-06-03 Michael Olson * erc-compat.el (erc-view-mode-enter): Make this its own function, in order to document what we do, and provide sane fallback behavior. * erc.el (erc-toggle-debug-irc-protocol): Don't pass any arguments to erc-view-mode-enter, since we don't do anything special with the exit function. This fixes a bug with Emacs 21 and Emacs 22. Thanks to Leo for noticing. 2007-05-30 Michael Olson * erc-compat.el (erc-user-emacs-directory): New variable that determines where to find user-specific Emacs settings. For Emacs, this is usually ~/.emacs.d, and for XEmacs this is usually ~/.xemacs. * erc.el (erc-startup-file-list): Use erc-user-emacs-directory. 2007-05-28 Michael Olson * erc-button.el (erc-button-url-regexp): Recognize parentheses as part of URLs. Thanks to Lawrence Mitchell for the fix. 2007-05-26 Michael Olson * erc.texi (Modules): Fix references to completion modules. 2007-05-21 Michael Olson * Makefile (SOURCE): Remove erc-pkg.el. (debclean): New rule to clean old Debian packages of ERC. (debprepare): Don't modify the released tarball, but copy it as the .orig.tar.gz file. (debrelease, debrevision): Remove. (debinstall): New target that copies the generated Debian file to a distro-specific location. (deb): New rule that chains together the stages in building a Debian package. (EXTRAS): Add erc-nicklist.el, since it is not release-quality. (extras): Copy images directory. * erc-nicklist.el (erc-nicklist-icons-directory): Use locate-library to find the "images" directory. This should be more failsafe. Thanks to Tom Tromey for the idea. 2007-05-19 Michael Olson * Makefile (ELPA): New variable that contains the location of my local ELPA repository. (elpa): New rule that makes an ELPA package for ERC. 2007-04-19 Michael Olson * erc.el (erc-parse-prefix): New function that retrieves the PREFIX server parameter from the current server and returns an alist of prefix type to prefix character. (erc-channel-receive-names): Use `erc-parse-prefix' to determine whether the first character of a nick is a prefix character or not. This should fix a bug reported by bromine about needing to type "%" first to complete nicks of people who are "hops" on Slashnet. This should also support for very exotic IRC server setups, if any exist. (erc-update-current-channel-member): Indentation. 2007-04-15 Michael Olson * erc-log.el (erc-generate-log-file-name-function): Docfix. Mention how to deal with the case for putting log files in different directories. Change a customization type from `symbol' to `function'. (erc-log-channels-directory): Allow this to contain a function name, which is called with the same args as in `erc-generate-log-file-name-function'. Thanks to andrewy for the report and use case. (erc-current-logfile): Detect if `erc-log-channels-directory' is a function and call it with arguments if so. 2007-04-12 Michael Olson * erc-backend.el (define-erc-response-handler): Mention that hook processing stops when the function returns non-nil. This should help avoid a nasty "gotcha" when making custom functions. Thanks to John Sullivan for the report. 2007-04-08 Diane Murray * erc-nicklist.el (erc-nicklist-voiced-position): Fixed customization mismatch. 2007-04-01 Michael Olson * erc.el (erc-version-string): Release ERC 5.2. * erc-auto.in, erc-chess.el, erc-list.el, erc-speak.el: * erc-viper.el: Update copyright notices. * erc.texi: Make Emacs Lisp source code in this document essentially public domain. Update version to 5.2. (Obtaining ERC): Mention extras tarball. (Releases): Mention local GNU mirror. (Sample Configuration): Remove notice. * FOR-RELEASE (5.3): Add item for erc-nicklist. Mark NEWS as done. Mark extras tarball as done. * Makefile (VERSION): Increment to 5.2. (TESTING): Remove. (EXTRAS): New variable containing the contents of our "Emacs 22 extras" tarball. (SOURCE): Remove $(TESTING). (MISC): Add COPYING and ChangeLog.06. Fix ChangeLog.NNNN -> ChangeLog.NN. (release): Use $(SNAPDIR) instead of erc-$(VERSION). (extras): New rule which implements the building of the extras tarball. (upload-extras): New rule to upload the extras tarball. It's yucky to replicate upload, but oh well. (DISTRIBUTOR): New variable used to differentiate between building packages for Ubuntu and Debian. (debrelease, debrevision): Use it. (debbuild): Run linda in addition to lintian. * NEWS: Mention extras tarball. Note which files have been renamed. Note that erc-list is enabled by default, except in Emacs 22. * README.extras: New file which serves as a README for the extras tarball. 2007-03-31 Michael Olson * NEWS: Update for the 5.2 release. * FOR-RELEASE: Finish up 5.2 manual item. Add documentation item for 5.3. * erc.texi (Sample Session): Flesh out. Mention #erc. (Modules): Defer to 5.3 release. (Advanced Usage): Move Sample Configuration chapter ahead of unfinished chapters. (Sample Configuration): Write. (Options): Mention how to see available ERC options. Defer to 5.3 release. (Tips and Tricks): Remove, since it seems better to just include tips and tricks in the sample configuration, commented out. * erc-bbdb.el (erc-bbdb-search-name-and-create): Make prompt more informative about how to skip merging. (erc-bbdb-insinuate-and-show-entry-1): Move contents of erc-bbdb-insinuate-and-show-entry here. (erc-bbdb-insinuate-and-show-entry): Run erc-bbdb-insinuate-and-show-entry-1 "outside" of the calling function, so that we can avoid triggering a process-filter error if the user hits C-g. 2007-03-30 Michael Olson * FOR-RELEASE: Solve C-c C-SPC keybinding dilemma. * erc-autoaway.el (erc-autoaway-idle-method): Use `if' rather than `cond' and `set' rather than `set-default'. * erc-log.el: Avoid compiler warning by requiring erc-network during compilation. (erc-generate-log-file-name-function): Add tag to each option. Add erc-generate-log-file-name-network. (erc-generate-log-file-name-network): New function which generates a log file name that uses network name rather than server name, when possible. * erc-track.el (track): Assimilate track-when-inactive module, since there's no need to have two modules in one file -- an option will do. Remove track-modified-channels alias. Call erc-track-minor-mode-maybe, and tear down the minor mode when disabling. (erc-track-when-inactive): New option which determines whether to track visible buffers when inactive. The default is not to do so. (erc-track-visibility): Mention erc-track-when-inactive. (erc-buffer-visible): Use erc-track-when-inactive. (erc-track-enable-keybindings): New option which determines whether to enable the global-level tracking keybindings. The default is to do so, unless they would override another binding, in which case we prompt the user about it. (erc-track-minor-mode-map): Move global keybindings here. (erc-track-minor-mode): New minor mode which only enables the keybindings and does nothing else. (erc-track-minor-mode-maybe): New function which starts erc-track-minor-mode, but only if it hasn't already been started, an ERC buffer exists, and the user OK's it, depending on the value of `erc-track-enable-keybindings'. (erc-track-switch-buffer): Display a message if someone calls this without first enabling erc-track-mode. 2007-03-17 Michael Olson * erc.texi (Development): Mention ErcDevelopment page on emacswiki. (Getting Started): Mention ~/.emacs.d/.ercrc.el and the Customize interface. (Sample Session): New section that has a very rough draft for a sample ERC session. (Special Features): New section that explains some of the special features of ERC. Taken from ErcFeatures on emacswiki, with enhancements. 2007-03-12 Diane Murray * erc-autoaway.el (erc-autoaway-idle-method): When setting the new value, disable and re-enable `erc-autoaway-mode' only if it was already enabled. This fixes a bug where autoaway was enabled just by loading the file. 2007-03-10 Diane Murray * erc-capab.el: Added more information to the Usage section. (erc-capab-identify-prefix): Doc fix. (erc-capab-identify-unidentified): New face. (290): Removed. Definition moved to erc-backend.el. (erc-capab-identify-send-messages): Renamed from `erc-capab-send-identify-messages'. (erc-capab-identify-setup): Use it. (erc-capab-identify-get-unidentified-nickname): Renamed from `erc-capab-get-unidentified-nickname'. (erc-capab-identify-add-prefix): Use it. Use `erc-capab-identify-unidentified' as the face. * erc-backend.el (290): Moved here from erc-capab.el. * erc.el (erc-select): Added an autoload cookie. (erc-message-type-member, erc-restore-text-properties): Use `erc-get-parsed-vector'. (erc-auto-query): Set the default to 'bury since many new users expect private messages from others to be in dedicated query buffers, not the server buffer. (erc-common-server-suffixes): Use "freenode" for freenode.net, not "OPN". Added oftc.net. * NEWS: Added note about erc-auto-query's new default setting. 2007-03-03 Michael Olson * erc.el (erc-open, erc): Docfixes. 2007-03-02 Michael Olson * FOR-RELEASE: Make section for 5.3 release and move erc-backend cleanup there. Awaiting discussion before doing other things. Add tasks for merging filename changes from the 5.2 release branch, and for making a tarball of modules not in Emacs 22. Add item to remind me to update NEWS. Mark backtab entry as done. * erc-button.el (button): Add call to `erc-button-add-keys'. (erc-button-keys-added): New variable tracking whether we've added the keys yet. (erc-button-add-keys): New function that adds the key to erc-mode-map. * erc.texi: Change version to 5.2 (pre-release). 2007-02-15 Michael Olson * CREDITS: Update. * erc-backend.el (erc-server-send-ping-interval): Change to use a default of 30 seconds. Improve customize interface. (erc-server-send-ping-timeout): New option that determines when to consider a connection stalled and restart it. The default is after 120 seconds. (erc-server-send-ping): Use erc-server-send-ping-timeout instead of erc-server-send-ping-interval. If erc-server-send-ping-timeout is nil, do not ever kill and restart a hung IRC process. * erc.el (erc-modules): Include the name of the module in its description. This should make it easier for people to find and enable a particular module. 2007-02-15 Vivek Dasmohapatra * erc.el (erc-cmd-RECONNECT): Kill old process if it is still alive. (erc-message-english-PART): Properly escape "%" characters in reason. * erc-backend.el (erc-server-reconnecting): New variable that is set when the user requests a reconnect, but the old process is still alive. This forces the reconnect to work even though the process is killed manually during reconnect. (erc-server-connect): Initialize it. (erc-server-reconnect-p): Use it. (erc-process-sentinel-1): Set it to nil after the first reconnect attempt. 2007-02-07 Diane Murray * erc-menu.el (erc-menu-definition): Fixed so that the separator is between "Current channel" and "Pals, fools and other keywords", not at the bottom of the "Current channel" submenu. 2007-01-25 Diane Murray * erc-networks.el (erc-server-alist): Removed SSL server for now since `erc-server-select' doesn't know to use `erc-ssl'. * erc-networks.el (erc-server-alist, erc-networks-alist): Added definitions for oftc.net. * erc-services.el (erc-nickserv-alist): Fixed OFTC message regexp. 2007-01-22 Michael Olson * erc-backend.el (erc-server-error-occurred): New variable that indicates when an error has been signaled by the server. This should fix an infinite reconnect bug when giving some servers a bogus :full-name. Thanks to Angelina Carlton for the report. (erc-server-connect): Initialize erc-server-error-occurred. (erc-server-reconnect-p): Use it. (ERROR): Set it. * erc-services.el (erc-nickserv-alist): Alphabetize and add Ars and QuakeNet. Standardize look of entries. Fix type mismatch error in customize interface. (erc-nickserv-passwords): Alphabetize and add missing entries from erc-nickserv-alist. 2007-01-21 Michael Olson * erc.el (erc-header-line-format): Document how to disable the header line, and add a customization type for it. Also, make the changes take effect immediately. 2007-01-19 Michael Olson * erc.texi (Modules): Document new menu module. Thanks to Leo for noticing. 2007-01-16 Diane Murray * erc-stamp.el (erc-insert-timestamp-left): Fixed so that the whitespace string filler is hidden correctly when timestamps are hidden. (erc-toggle-timestamps): New function to use instead of `erc-show-timestamps' and `erc-hide-timestamps'. * erc.el (erc-restore-text-properties): Moved here from erc-fill.el since it could be useful in general. * erc-fill.el (erc-restore-text-properties): Removed. 2007-01-13 Michael Olson * erc.el (erc-command-regexp): New variable that is used to match a command. (erc-send-input): Use it. This fixes a bug where paths -- "/usr/bin/foo", for example -- were being displayed as commands, but still sent correctly. (erc-extract-command-from-line): Use it. * erc.texi (Modules): Document erc-capab-identify. 2007-01-11 Diane Murray * erc.el (erc-find-parsed-property): Moved here from erc-track.el since it can be useful in general. * erc-track.el (erc-find-parsed-property): Removed. * erc-capab.el (erc-capab-find-parsed): Removed. (erc-capab-identify-add-prefix): Use `erc-find-parsed-property'. * erc.el (erc-open): Run `erc-before-connect' hook here. This makes sure the hook always gets called before a connection is made, as some functions, like `erc-handle-irc-url', use `erc-open' instead of `erc'. (erc): Removed `erc-before-connect' hook. * erc-menu.el (erc-menu-definition): Put items specific to channels in a "Current channel" submenu. * erc-backend.el (321, 323): Display channel list in server buffer when not using the channel list module. * erc.el: Updated copyright years. (erc-version-string): Set to 5.2 (devel). (erc-format-lag-time): Fixed to work when `erc-server-lag' is nil. (erc-update-mode-line-buffer): Set the header face. 2007-01-11 Michael Olson * erc-bbdb.el (erc-bbdb-popup-type): Fix customization type and documentation. * erc-services.el (erc-nickserv-identify-mode): Improve documentation for nick-change option and move higher to fix compiler warning. Avoid a recursive load error. (erc-nickserv-alist): Add simple entry for BitlBee, to avoid "NickServ is AWAY: User is offline" error. Oddly enough, bitlbee was smart enough to recognize that as an authentication request and log in regardless, which is why I didn't notice this earlier. (erc-nickserv-alist-sender, erc-nickserv-alist-regexp) (erc-nickserv-alist-nickserv, erc-nickserv-alist-ident-keyword) (erc-nickserv-alist-use-nick-p) (erc-nickserv-alist-ident-command): New accessors for erc-nickserv-alist. Using nth is unwieldy. (erc-nickserv-identify-autodetect) (erc-nickserv-identify-on-connect) (erc-nickserv-identify-on-nick-change, erc-nickserv-identify): Use the new accessors. 2007-01-11 Diane Murray * NEWS: Added note for `erc-my-nick-face'. Fixed capab-identify wording. 2007-01-10 Diane Murray * erc.el (erc-mode-line-format): Added %l to documentation. (erc-header-line-format): Removed "[IRC]". Use the new %l replacement character. Doc fix. (erc-format-channel-modes): Removed lag code. Removed parentheses from mode string. (erc-format-lag-time): New function. (erc-update-mode-line-buffer): Use it. 2007-01-10 Michael Olson * erc.el: Fix typo in url-irc-function instructions. 2007-01-09 Michael Olson * erc.el (erc-system-name): New option that determines the system name to use when logging in. The default is to figure this out by calling `system-name'. (erc-login): Use it. 2007-01-07 Michael Olson * erc.el (erc-modules): Add the menu module. This should fix a bug with incorrect ERC submenus being displayed. * erc-menu.el: Turn this into a module. (erc-menu-add, erc-menu-remove): New functions that add and remove the ERC menu. 2006-12-28 Michael Olson * erc-list.el: Change header to mention that this is part of ERC, rather than GNU Emacs. * erc-networks.el (erc-server-alist): Add Ars OpenIRC and LinuxChix networks. Thanks to Angelina Carlton for mentioning them. Properly escape periods in Konfido.Net and Kewl.Org. (erc-networks-alist): Add entries for Ars and LinuxChix, though the latter does not actually provide an announced network name. * erc-services.el (erc-nickserv-identify-mode): Add 'both method, which waits for a NickServ message if the network supports it, otherwise sends the password after connecting. (erc-nickserv-identify-mode): Default to 'both. (erc-nickserv-passwords): Add OFTC and Azzurra to custom options. (erc-nickserv-alist): Indentation fix. (erc-nickserv-identify-on-connect) (erc-nickserv-identify-on-nick-change): Handle 'both method. 2006-12-28 Leo Liu (tiny change) * erc.el (erc-iswitchb): Wrap body in unwind-protect so that hitting C-g does not leave iswitchb-mode on. 2006-12-27 Michael Olson * erc.el (erc-cmd-RECONNECT): New command that calls erc-server-reconnect. * erc-backend.el (erc-server-reconnect-count): New server variable that keeps track of reconnection attempts. (erc-server-reconnect-attempts): New option that determines the number of reconnection attempts that ERC will make per server. (erc-server-reconnect-timeout): New option that determines the amount of time, in seconds, that ERC will wait between successive reconnect attempts. (erc-server-reconnect): New function that reestablishes the current IRC connection. Move some commands from erc-process-sentinel-1 here. (erc-process-sentinel-1): If we have been disconnected, loop until we either reconnect or run out of attempts. (erc-server-reconnect-p): Move higher and make this a defsubst, since I'm worried about the current buffer changing from underneath us. Implement limit of number of reconnect attempts.. * erc.texi (Getting Started): Update for /RECONNECT command. 2006-12-26 Michael Olson * erc.el (erc-open): Restore old point correctly, or at least get closer to doing so than before. 2006-12-13 Leo Liu (tiny change) * erc.el (erc-iswitchb): Temporarily enable iswitchb mode if it isn't active already, instead of leaving it on. 2006-12-10 Juanma Barranquero * erc-ezbounce.el (erc-ezb-init-session-list): Doc fix. 2006-12-08 Michael Olson * erc.el: Re-evaluate contributions from a contributor, and found them under 15 lines of non-obvious code, so it is safe to remove the copyright notice. (erc-modules): Remove list module. * erc-list.el: Remove, since a contributor who has not completed their assignment has contributed significantly more than 15 lines of code to this file. 2006-11-28 Juanma Barranquero * erc.el (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Simplify. (erc-prompt-for-channel-key, erc-ignore-reply-list, erc-send-post-hook) (erc-active-buffer, erc-join-buffer, erc-frame-alist, erc-with-buffer) (erc-modules, erc-display-message-highlight, erc-process-input-line) (erc-cmd-HELP, erc-server-hooks, erc-echo-notice-in-user-buffers) (erc-format-my-nick, erc-echo-notice-in-user-and-target-buffers) (erc-echo-notice-in-first-user-buffer, erc-connection-established) (erc-update-user-nick, erc-update-channel-member, erc-highlight-notice) (erc-command-symbol, erc-add-query, erc-process-script-line) (erc-determine-parameters, erc-client-info, erc-popup-input-buffer): (erc-script-echo): Fix typos in docstrings. (erc-channel-user-op-p, erc-channel-user-voice-p, erc-startup-file-list) (define-erc-module, erc-once-with-server-event) (erc-once-with-server-event-global, erc-debug-irc-protocol) (erc-log-irc-protocol, erc-cmd-LOAD, erc-update-user) (erc-update-current-channel-member, erc-load-script): (erc-mode-line-away-status-format): Doc fixes. 2006-11-20 Andrea Russo (tiny change) * erc-dcc.el (erc-dcc-chat-setup): Initialize `erc-input-marker' before calling `erc-display-prompt'. 2006-11-24 Juanma Barranquero * erc.el (erc-after-connect, erc-open-ssl-stream) (erc-display-line-1, erc-display-line): * erc-backend.el (005): Fix space/tab mixup in docstrings. 2006-11-20 Michael Olson * erc.el (erc-version-string): Call this Version 5.2 stable pre-release, since it diverges slightly from our 5.2 branch, in that unstable features are not included. (erc-update-modules): Display better error message when module not found. 2006-11-12 Michael Olson * erc-log.el: Save all log buffers when Emacs exits, in case someone ignores the warning about open processes. Remove the advice code in the commentary. (erc-save-query-buffers): Docfix. (erc-log-save-all-buffers): New function that saves all ERC buffers to logs. (erc-current-logfile): Fix bug in filename selection, where the current buffer was erroneously being preferred over the given buffer. 2006-11-08 Michael Olson * erc.el (erc-string-to-port): Avoid error when a numerical port is passed. Thanks to Zekeriya KOÇ for the report. 2006-11-08 Łukasz Demianiuk (tiny change) * erc.el (erc-header-line): Fix typo. 2006-11-06 Juanma Barranquero * erc-dcc.el (erc-dcc-send-file): Fix typo in error message. * erc.el (read-passwd): * erc-autoaway.el (erc-autoaway-reestablish-idletimer): * erc-truncate.el (truncate): Fix typo in docstring. 2006-10-21 Michael Olson * erc.el (erc-iswitchb): Fix bug when hitting C-c C-b without first loading iswitchb. Thanks to Leo for the report. 2006-10-10 Michael Olson * erc.el (erc-default-port): Make the default be 6667 instead of ircd. since Mac OS X apparently has problems with looking up that port name. * erc-backend.el (353): Receive names after displaying the initial message, instead of before. 2006-10-05 Diane Murray * erc.el (erc-my-nick-face): New face. (erc): Use FULL-NAME argument, not `erc-user-full-name'. This fixes a bug where the :full-name argument passed to the function was not respected. (erc-format-my-nick): Use `erc-my-nick-face'. This should help make it easier to find messages you sent in conversations when `erc-show-my-nick' is non-nil. (erc-compute-server): Doc fix. 2006-10-01 John J Foerch (tiny change) * erc-stamp.el (erc-insert-timestamp-right): Exclude the newline from the erc-timestamp field. 2006-09-11 Michael Olson * erc-nicklist.el (erc-nicklist-insert-contents): Add missing parenthesis. Thanks to Stephan Stahl for the report. 2006-09-10 Eric Hanchrow * erc.el (erc-cmd-IGNORE): Prompt user if this might be a regexp instead of a single user. 2006-09-10 Michael Olson * erc.el (erc-generate-new-buffer-name): If this is a server buffer and a process exists already, create a new buffer. (erc-open): If the IRC session was continued, restore the old point. Thanks to Stephan Stahl for the report. (erc-member-ignore-case): Coding style tweak. (erc-cmd-UNIGNORE): Quote the user before comparison. If we don't find the user listed verbatim, try to match them against the list using string-match. In this case, prompt as to whether the regexp should be removed. (erc-ignored-user-p): Remove CL-ism. * erc-autoaway.el (erc-autoaway-possibly-set-away): Check to see whether we are already away. * erc-menu.el: Fix potential compiler warning. 2006-09-07 Diane Murray * erc.el: Updated Commentary and URL. (erc-iswitchb, erc-display-line, erc-set-modes, erc-update-modes) (erc-arrange-session-in-multiple-windows): No need to check if `erc-server-process' is bound. (erc-server-buffer-live-p): Doc fix. (erc-part-from-channel): Don't use any initial contents at prompt. (erc-format-nick, erc-format-@nick): Doc fix. Use `when'. (s367): Fixed to support only banmask and channel which is the standard. Also, there's no reason to add a message to each banned user entry trying to persuade the user to use /banlist instead of /mode #channel +b. That part of the message was a little confusing, anyways. (s367-set-by): New catalog entry. The user who set the ban and the time of ban seem to be specific to only certain servers such as freenode. * erc-autoaway.el (erc-autoaway-idletimer): Doc fix. * erc-backend.el (erc-server-process-alive): No need to check if `erc-server-process' is bound. (367): Use s367 or s367-set-by where appropriate. * erc-compat.el: Fixed URL. * erc-dcc.el: Updated copyright years. Added Usage section. Changed supported Emacs version number from 21.3.50 to 22 in Commentary. * erc-ibuffer.el (erc-server-name, erc-target, erc-away): No need to check if `erc-server-process' is bound. * erc-nicklist.el: Added to the Commentary section an explanation that `erc-nicklist-quit' should be called from within the nicklist buffer. Set file coding to utf-8 so a contributor's name is displayed correctly. (erc-nicklist-icons-directory): Use customize type directory instead of string. (erc-nicklist-insert-contents): Set bbdb-nick to an empty string if it wasn't found. This fixes a bug where an error would occur when using `string=' on bbdb-nick if it was nil. * erc-replace.el: Removed URL from file information since it doesn't exist. * erc-sound.el: Updated copyright years. Fixed Commentary and added Usage section. (define-erc-module): Add and remove `erc-ctcp-query-SOUND' to `erc-ctcp-query-SOUND-hook' here. Removed the keybinding definitions. (erc-play-sound, erc-default-sound, erc-cmd-SOUND) (erc-ctcp-query-SOUND): Doc fix. (erc-play-command): Removed, not necessary anymore. (erc-ctcp-query-SOUND-hook): Set to nil as default. Moved up higher in code, added docstring. (erc-play-sound): Use `play-sound-file'. It exists in GNU Emacs as well since version 21 or earlier. Removed commented-out older version of function. * NEWS: Fixed formatting, added channel tracking change. 2006-09-03 Diane Murray * erc.el: M-x erc RET can now be used to start ERC. (erc-open): Renamed from `erc'. (erc-before-connect): Change erc-select to erc. (erc): Renamed from `erc-select'. Use `erc-open'. (erc-select): Defined as alias of `erc'. (erc-ssl): Renamed from `erc-select-ssl'. Use `erc'. (erc-select-ssl): Defined as alias of `erc-ssl'. (erc-cmd-SERVER): Use `erc'. (erc-query, erc-handle-irc-url): Use `erc-open'. * erc-backend.el (erc-process-sentinel-1, JOIN): Use `erc-open'. * erc-menu.el (erc-menu-definition): Use `erc'. * erc-networks.el: Updated copyright years. (erc-server-select): Use keyword arguments when calling `erc'. * erc.texi (Getting Started, Connecting): Changed erc-select to erc. * README: Changed erc-select to erc. * NEWS: Added note about these changes. * FOR-RELEASE: Marked this item as done. 2006-08-21 Diane Murray * erc-track.el (erc-track-mode-line-mouse-face): New variable. (erc-make-mode-line-buffer-name): Add help-echo and mouse-face properties to channel name. 2006-08-20 Michael Olson * erc-identd.el (erc-identd): New customization group. (erc-identd-port): New option that specifies the port to use if none is given as an argument to erc-identd-start. (identd): Place erc-identd-quickstart in erc-connect-pre-hook instead of erc-identd-start so that we deal with the different meaning of the first argument. (erc-identd-start): Use erc-identd-port. (erc-identd-quickstart): New function that ignores any arguments and calls erc-identd-start. * erc.el (erc-with-server-buffer): New macro that switches to the current ERC server buffer and runs some code. If no server buffer is available, return nil. This is a useful way to access variables in the server buffer. (erc-get-server-user, erc-add-server-user) (erc-remove-server-user, erc-change-user-nickname) (erc-get-server-nickname-list, erc-get-server-nickname-alist) (erc-ison-p, erc-active-buffer, erc-cmd-IGNORE) (erc-cmd-UNIGNORE, erc-cmd-IDLE, erc-cmd-NICK, erc-cmd-BANLIST) (erc-cmd-MASSUNBAN, erc-nickname-in-use, erc-ignored-user-p) (erc-format-channel-modes): Use it. (erc-once-with-server-event, erc-once-with-server-event-global) (erc-with-buffer, erc-with-all-buffers-of-server): Use make-symbol instead of gensym. (erc-open-server-buffer-p): New function that returns non-nil if the given buffer is an ERC server buffer that has an open IRC process. (erc-with-buffer): Use buffer-live-p here to set a good example, though it isn't really needed here. (erc-away): Mention erc-away-time. (erc): Don't propagate the erc-away setting, since it makes more sense to access it from the server buffer. Set up the prompt before connecting rather than after. Run erc-connect-pre-hook with the buffer as an argument, instead of no arguments. (erc-cmd-GAWAY): Use erc-open-server-buffer-p instead of erc-server-buffer-p so that only open connections are set away. (erc-cmd-GQUIT): Use erc-open-server-buffer-p. (erc-process-away): Docfix. Don't set erc-away in channel buffers. (erc-set-current-nick): Make this uniform with the style used in erc-current-nick. (erc-away-time): Rename from erc-away-p, since this is no longer a boolean-style predicate. (erc-format-away-status): Use it. (erc-initialize-log-marker): Accept a `buffer' argument. (erc-connect-pre-hook): Docfix. (erc-connection-established): Make sure this runs in the correct buffer. (erc-set-initial-user-mode): Accept a `buffer' argument. * erc-stamp.el (erc-add-timestamp): Use erc-away-time. * erc-spelling.el (erc-spelling-init): Use erc-with-server-buffer. Accept `buffer' argument. (spelling): Call erc-spelling-init with the `buffer' argument. * erc-speedbar.el (erc-speedbar-buttons): Use erc-server-buffer-p. * erc-pcomplete.el (pcomplete/erc-mode/UNIGNORE) (pcomplete-erc-all-nicks): Use erc-with-server-buffer. * erc-notify.el (erc-notify-timer, erc-cmd-NOTIFY): Use erc-with-server-buffer. * erc-networks.el (erc-network, erc-current-network) (erc-network-name): Use erc-with-server-buffer. * erc-netsplit.el (erc-cmd-WHOLEFT): Use erc-with-server-buffer. * erc-match.el (erc-log-matches, erc-log-matches-come-back): Use erc-away-time. * erc-log.el (log): Use erc-away-time. Remove unnecessary check. Pass `buffer' argument to erc-log-setup-logging instead of setting the current buffer. Ditto for erc-log-disable-logging. (erc-log-setup-logging, erc-log-disable-logging): Accept a `buffer' argument. * erc-list.el (erc-chanlist): Use erc-with-server-buffer. * erc-ibuffer.el (erc-away): Use erc-away-time. * erc-dcc.el (erc-dcc-get-filter): Temporarily make the buffer read only instead of permanently doing so. * erc-compat.el (erc-gensym, *erc-sym-counter*): Remove, since Emacs Lisp has make-symbol, which is better. * erc-chess.el (erc-chess-handler, erc-cmd-CHESS): Use erc-with-server-buffer. * erc-capab.el (capab-identify): Only deal with server buffers that have an open IRC process. (erc-capab-identify-add-prefix): Use erc-with-server-buffer. * erc-backend.el (erc-server-connected): Docfix. Recommend the `erc-server-process-alive' function. (erc-coding-system-for-target): Supply a default target if one is not given. (erc-server-send): Simplify slightly. (erc-call-hooks): Use erc-with-server-buffer. (erc-server-connect, erc-server-setup-periodical-ping): Accept `buffer' argument. * erc-autoaway.el (erc-autoaway-reestablish-idletimer): Move higher to avoid an automatic load snafu. (erc-autoaway-some-server-buffer): New function that returns an ERC server buffer with a live connection, or nil otherwise. (erc-autoaway-insinuate-maybe): New function that adds the autoaway reset function to post-command-hook if at least one ERC process is alive. (erc-autoaway-remove-maybe): New function that removes the autoaway reset function from post-command-hook if no ERC process is alive. (autoaway): Don't touch post-command-hook unless an IRC process is already open. Remove our addition to post-command-hook as soon as there are no more IRC processes open. Reset the indicators before connecting to an IRC server, which fixes a bug when re-connecting. (erc-autoaway-reset-idle-user): Call erc-autoaway-remove-maybe if there are no more IRC processes open. (erc-autoaway-set-back): Pick an open IRC process. Accept an argument which is a function call if we can't find one. (erc-autoaway-some-open-server-buffer): New function which returns an ERC server buffer with an open connection and a user that is not away. (erc-autoaway-possibly-set-away, erc-autoaway-set-away): Use it. (erc-autoaway-set-away): Accept a `notest' argument which is used to avoid testing the same thing twice. (erc-autoaway-last-sent-time, erc-autoaway-caused-away): Move higher in file to fix byte-compile warning. 2006-08-20 Diane Murray * erc-backend.el (erc-process-sentinel-1): Doc fix. Let `erc-server-reconnect-p' check all condition cases. (erc-server-reconnect-p): Moved rest of checks from `erc-process-sentinel-1' to here. Now takes an argument, EVENT. 2006-08-14 Diane Murray * erc-menu.el: Updated copyright years. Removed EmacsWiki URL. (erc-menu-definition): Name the menu "ERC" instead of "IRC" to avoid confusion with rcirc and other clients. * erc-backend.el (erc-server-banned): New variable. (erc-server-connect): Set `erc-server-banned' to nil. (erc-process-sentinel-1): Use `erc-server-reconnect-p'. (erc-server-reconnect-p): New function. Return non-nil if the user wants automatic reconnects and if the user has not been banned from the server. This should fix a bug where ERC gets into a loop trying to reconnect with no way to stop it when the user is denied access to the server due to a server ban. It might also help when Tor users are blocked from freenode if freenode servers send the 465 message before disconnecting. (465): Handle "banned from server" error notices. 2006-08-13 Romain Francoise * erc-match.el (erc-log-matches-make-buffer): End `y-or-n-p' prompt with a space. 2006-08-13 Michael Olson * erc-backend.el (erc-server-timed-out): New variable that indicates whether the current connection has timed out due to failure to respond to a ping. (erc-server-send-ping): Set erc-server-timed-out to t. (erc-server-connect): Initialize erc-server-timed-out to nil. (erc-process-sentinel-1): Consult erc-server-timed-out. 2006-08-11 Michael Olson * erc-fill.el (erc-fill): Skip any initial empty lines so that we avoid errors when inserting disconnect messages and other messages that begin with newlines. 2006-08-07 Michael Olson * erc-backend.el (erc-process-sentinel-1): Use erc-display-message in several places instead of inserting text. (erc-process-sentinel): Move to the input-marker before removing the prompt. * erc.el (erc-port): Fix customization options. (erc-display-message): Handle null type explicitly. Previously, this was relying on a chance side-effect. Cosmetic indentation tweak. (english): Add 'finished and 'terminated entries to the catalog. Add initial and terminal newlines to 'disconnected and 'disconnected-noreconnect entries. Avoid long lines. (erc-cmd-QUIT): Bind the current erc-server-process to server-proc. If the IRC server responds quickly, it is possible for the connection to close, and hence server buffer to be killed, if erc-kill-server-buffer-on-quit is non-nil. This avoids that problem. 2006-08-06 Michael Olson * erc-backend.el (erc-server-send-queue): Update from Circe version of this function. (erc-server-ping-timer-alist): New variable that keeps track of ping timers according to their associated server. (erc-server-last-received-time): New variable that specifies the time of the last message we received from the server. This is used to detect hung processes. (erc-server-send-ping): New function that sends a ping to the IRC process corresponding with the given buffer. Split from erc-server-setup-periodical-ping. If the server buffer no longer exists, cancel the timer. If the server process has not given us a message, including PING responses, since the last PING, kill it. This is necessary to deal with some aberrant freenode behavior. Idea taken from rcirc. (erc-server-setup-periodical-ping): Rename from erc-server-setup-periodical-server-ping. (erc-server-filter-function): Use erc-current-time instead of current-time. * erc.el (erc-arrange-session-in-multiple-windows): Fix bug with multi-tty Emacs. (erc-select-startup-file): Fix bug introduced by recent change. (erc-cmd-QUIT): If the IRC process has not terminated itself within 4 seconds of completing our quit-hook, kill it manually. Freenode in particular needs this. (erc-connection-established): Use erc-server-setup-periodical-ping instead of erc-server-setup-periodical-server-ping. 2006-08-05 Michael Olson * erc-log.el (erc-log-standardize-name): New function that returns a filename that is safe for use for a log file. (erc-current-logfile): Use it. * erc.el (erc-startup-file-list): Search in ~/.emacs.d first, since that is a fairly standard directory. (erc-select-startup-file): Re-write to use convert-standard-filename, which will ensure that MS-DOS systems look for the _ercrc.el file. 2006-08-02 Michael Olson * erc.el (erc-version-string): Release ERC 5.1.4. * Makefile, NEWS, erc.texi: Update for the 5.1.4 release. * erc.el (erc-active-buffer): Fix bug that caused messages to go to the wrong buffer. Thanks to offby1 for the report. * erc-backend.el (erc-coding-system-for-target): Handle case where target is nil. Thanks to Kai Fan for the patch. 2006-07-29 Michael Olson * erc-log.el (erc-log-setup-logging): Don't offer to save the buffer. It will be saved automatically killed. Thanks to Johan Bockgård and Tassilo Horn for pointing this out. 2006-07-27 Johan Bockgård * erc.el (define-erc-module): Make find-function and find-variable find the names constructed by `define-erc-module' in Emacs 22. 2006-07-14 Michael Olson * erc-log.el (log): Make sure that we enable logging on already-opened buffers as well, in case the user toggles this module after loading ERC. Also be sure to remove logging ability from all ERC buffers when the module is disabled. (erc-log-setup-logging): Set buffer-file-name to nil rather than the empty string. This should fix some errors that occur when quitting Emacs without first killing all ERC buffers. (erc-log-disable-logging): New function that removes the logging ability from the current buffer. * erc-spelling.el (spelling): Use dolist and buffer-live-p. 2006-07-12 Michael Olson * erc-match.el (erc-log-matches): Bind inhibit-read-only rather than call toggle-read-only. * erc.el (erc-handle-irc-url): Move here from erc-goodies.el and add autoload cookie. 2006-07-09 Michael Olson * erc.el (erc-version-string): Release ERC 5.1.3. * erc.texi: Update for the 5.1.3 release. * erc-autoaway.el (erc-autoaway-set-back): Fix bug after returning from being set automatically away and current buffer is not an ERC buffer. * erc-identd.el: Fix compiler error. * erc.texi (Development): Use @subheading instead of @subsection. (Advanced Usage): Add menu. (Connecting): Fully document how to connect to an IRC server. (Options, Tips and Tricks, Sample Configuration): New unwritten sections. * erc.el (erc-server, erc-port, erc-nick, erc-nick-uniquifier) (erc-user-full-name, erc-password): Docfixes and customization interface tweaks. (erc-try-new-nick-p): Rename from `erc-manual-set-nick-on-bad-nick-p' and invert meaning. (erc-nickname-in-use): Use `erc-try-new-nick-p'. Check the length of `erc-nick-uniquifier', in case someone wants multiple characters. (erc-compute-server, erc-compute-nick, erc-compute-full-name) (erc-compute-port): Docfixes. * erc-log.el (log): Move all add-hook calls here, rather than executing them immediately, and also cause them to be un-hooked when the module is removed. (erc-save-buffer-on-part): Move next to `erc-save-queries-on-quit'. (erc-save-buffer-on-quit, erc-save-queries-on-quit): Default to t. (erc-log-write-after-send, erc-log-write-after-insert): Default to nil. This makes things fast, but reasonably failsafe, by default. 2006-07-08 Michael Olson * erc-log.el (erc-log-insert-log-on-open): Make this nil by default, since most IRC clients don't do this. (erc-log-write-after-send): New option that determines whether the log file will be written to after every sent message. (erc-log-write-after-insert): New option that determines whether the log file will be written to when new text is added to a logged ERC buffer. (log): Use the aforementioned options. * erc.texi (Modules): Document the "completion" module. * erc-pcomplete.el (pcomplete-erc-nicks): Make sure that we don't have a nil element in the list when ignore-self is non-nil. 2006-07-05 Michael Olson * erc.el (erc-modules): Use `set' instead of `set-default', since this setting should never be buffer-local. Add the `page' module to the list. * erc.texi (Modules): Add entries for `list' and `page' modules. Change "spell" to "spelling". (History): Use past tense throughout. 2006-07-02 Michael Olson * erc-backend.el (erc-call-hooks): Fix (stringp nil) error that can happen when doing /PART. * erc.el (erc-quit-reason-various-alist) (erc-part-reason-various-alist): In the example, use "^$" as an example, since "" matches anything. (erc-quit-reason-various, erc-part-reason-various): If no argument is given, and no matches are found, use our default reason instead of "nil". 2006-06-30 Michael Olson * erc.texi (Modules): Mention identd. (Releases): Update mailing list address and download location. (Development): Refactor. Provide updated directions for Arch. Make URLs clickable. (Keystroke Summary): Typo fix. Use more Texinfo syntax. (Getting Started): Give simpler example. We do not need to explicitly load every module. (History): Update. * erc-autoaway.el, erc-join.el, erc-backend.el, erc-bbdb.el: erc-button.el, erc-chess.el, erc-compat.el, erc-hecomplete.el: erc-dcc.el, erc-ezbounce.el, erc-fill.el, erc-ibuffer.el: erc-imenu.el, erc-list.el, erc-log.el, erc-match.el, erc-menu.el: erc-networks.el, erc-netsplit.el, erc-nicklist.el: erc-services.el, erc-pcomplete.el, erc-replace.el, erc-ring.el: erc-speedbar.el, erc-spelling.el, erc-stamp.el, erc-track.el: erc.el: Remove version strings. * erc.el (erc-cmd-SMV): Remove, since we do not have meaningful module versions anymore. (erc-version-modules): Remove, since we do not use this function anymore. (erc-latest-version, erc-ediff-latest-version): Remove, since this was only useful back when ERC consisted of one file. (erc-modules): Add line for identd. (erc-get-channel-mode-from-keypress): Typo fix. * erc-imenu.el: Remove unnecessary lines in header. * erc-goodies.el (erc-handle-irc-url): Docfix. * erc-identd.el: Define an ERC module for this. (erc-identd-start): Don't create a process buffer if possible. Otherwise, use conventional hidden names for process buffers. 2006-06-29 Michael Olson * erc-backend.el (erc-coding-system-for-target): Match case-insensitively. Use a pattern match instead of `assoc', as per the documentation for `erc-encoding-coding-alist'. * erc-track.el (erc-track-shorten-aggressively): Fix typo. 2006-06-27 Michael Olson * erc.el: Update maintainer information and URLs. 2006-06-14 Michael Olson * erc.el (erc-active-buffer): If the active buffer has been deleted, default to the server buffer. (erc-toggle-flood-control): When the user hits C-c C-f, make flood control really toggle, not unconditionally turn off. 2006-06-12 Michael Olson * NEWS: Add items since the 5.1.2 release. * erc-autoaway.el (erc-autoaway-caused-away): New variable that indicates whether the current away status was caused by this module. (erc-autoaway-set-back): Only set back if this module set the user away. (erc-autoaway-set-away): Update `erc-autoaway-caused-away'. (erc-autoaway-reset-indicators): New function that resets some indicators when the user is no longer away. (autoaway): Add the above function to the 305 hook. 2006-06-05 Romain Francoise * erc.texi (History): Fix various typos. 2006-06-04 Michael Olson * erc-autoaway.el (erc-autoaway-idle-method): Move after the definition of the autoaway module. (autoaway): Don't do anything if erc-autoaway-idle-method is unbound. This prevents an error on startup. 2006-06-03 Michael Olson * erc-autoaway.el: Thanks to Mark Plaksin for the ideas and patch. (erc-autoaway-idle-method): Renamed from `erc-autoaway-use-emacs-idle'. We have more than two choices for how to do this, so it's best to make this take symbol values. Improve documentation. Remove warning against Emacs idle-time; the point is moot now that we get user idle time via a different method. Make sure we disable and re-enable the module when changing this value. (autoaway): Conditionalize on the above option. If using the idle timer or user idle methods, don't add anything to the send-completed or server-001 hooks, since it is unnecessary. (erc-autoaway-reestablish-idletimer, erc-autoaway-message): Docfix. (erc-autoaway-idle-seconds): Use erc-autoaway-idle-method. (erc-autoaway-reset-idle-irc): Renamed from `erc-autoaway-reset-idle'. Don't pass line to `erc-autoaway-set-away', since it is not used. (erc-autoaway-reset-idle-user): New function that resets the idle state for user idle time. (erc-autoaway-set-back): Remove line argument, since it is not used. 2006-06-01 Michael Olson * erc.el (erc-buffer-filter): Make sure all buffers returned from this are live. 2006-05-01 Theresa O'Connor * erc-goodies.el (erc-handle-irc-url): New function, suitable as a value for `url-irc-function'. 2006-04-18 Diane Murray * erc-pcomplete.el (pcomplete-erc-nicks): Added new optional argument IGNORE-SELF. If this is non-nil, don't return the user's current nickname. Doc fix. (pcomplete/erc-mode/complete-command): Don't complete the current nickname. 2006-04-05 Diane Murray * erc.el (erc-cmd-SV): Removed the exclamation point. Show the build date as it's shown in `emacs-version'. * erc-capab.el (erc-capab-identify-add-prefix): Insert the prefix with the same face property as the previous character. 2006-04-02 Michael Olson * erc-backend.el, erc-ezbounce.el, erc-join.el, erc-netsplit.el, erc.el: Make sure to include a newline inside of negated classes, so that a newline is not matched. 2006-04-01 Michael Olson * erc-backend.el (erc-server-connect-function): Don't try to detect the existence of the `open-network-stream-nowait' function, since I can't find it in Emacs21, XEmacs21, or Emacs22. 2006-03-27 Michael Olson * erc.texi: Update direntry. Remove unneeded local variables. 2006-03-26 Michael Olson * erc.el (erc-header-line): New face that will be used to colorize the text of the header-line, provided that `erc-header-line-face-method' is non-nil. (erc-prompt-face): Fix formatting. (erc-header-line-face-method): New option that determines the method used for colorizing header-line text. This may be a function, nil, or non-nil. (erc-update-mode-line-buffer): Use the aforementioned option and face to colorize the header-line text, if that is what the user wants. (erc-send-input): If flood control is not activated, don't split the input line. 2006-03-25 Michael Olson * erc.el (erc-cmd-QUOTE): Install patch from Aravind Gottipati that fixes the case where there is no leading whitespace. Only remove the first space character, though. * erc-identd.el (erc-identd-start): Fix a bug by making sure that erc-identd-process is set properly. (erc-identd-start, erc-identd-stop): Add autoload cookies. (erc-identd-start): Pass :host parameter so this works with Emacs 22. 2006-03-09 Diane Murray * erc-button.el (erc-button-keymap): Use rather than for `erc-button-previous' as it is a more standard key binding for this type of function. 2006-02-28 Diane Murray * erc-capab.el: Removed things that were accidentally committed on 2006-02-20. Removed Todo section. (erc-capab-unidentified): Removed. 2006-02-26 Michael Olson * erc-capab.el: Use (eval-when-compile (require 'cl)). (erc-capab-unidentified): Fix compiler warning by specifying group. 2006-02-20 Diane Murray * erc-capab.el (erc-capab-send-identify-messages): Fixed comment to explain thoughts better. `erc-server-parameters' is an associated list when it's set, not a string. 2006-02-19 Michael Olson * erc-capab.el (erc-capab-send-identify-messages): Make sure some parameters are strings before using them. Thanks to Alejandro Benitez for the report. * erc.el (erc-version-string): Release ERC 5.1.2. 2006-02-19 Diane Murray * erc-button.el (erc-button-keymap): Bind `erc-button-previous' to . (erc-button-previous): New function. 2006-02-15 Michael Olson * NEWS: Add category for ERC 5.2. * erc.el (erc): Move to the end of the buffer when a continued session is detected. Thanks to e1f and indio for the report and testing a potential fix. 2006-02-14 Michael Olson * debian/changelog: Prepare a new Debian package. * Makefile (debprepare): New rule that creates an ERC snapshot directory for use in both new Debian releases and revisions for Debian packages. (debrelease, debrevision-mwolson): Use debprepare. * NEWS: Bring up-to-date. * erc-stamp.el (erc-insert-timestamp-right): For now, put timestamps before rather than after erc-fill-column when erc-timestamp-right-column is nil. This way we won't surprise anyone unpleasantly, or so it is hoped. 2006-02-13 Michael Olson * erc-dcc.el: Use (eval-when-compile (require 'cl)). 2006-02-12 Michael Olson * erc-autoaway.el, erc-dcc.el, erc-ezbounce.el, erc-fill.el * erc-goodies.el, erc-hecomplete.el, erc-ibuffer.el, erc-identd.el * erc-imenu.el, erc-join.el, erc-lang.el, erc-list.el, erc-log.el * erc-match.el, erc-menu.el, erc-netsplit.el, erc-networks.el * erc-notify.el, erc-page.el, erc-pcomplete.el, erc-replace.el * erc-ring.el, erc-services.el, erc-sound.el, erc-speedbar.el * erc-spelling.el, erc-track.el, erc-truncate.el, erc-xdcc.el: Add 2006 to copyright years, to comply with the changed guidelines. 2006-02-11 Michael Olson * erc.el (erc-update-modules): Handle erc-capab-identify correctly. Make some requirements shorter, so that it's easier to see why they are needed. * erc-capab.el: Add autoload cookie for capab-identify. (erc-capab-send-identify-messages, erc-capab-identify-activate): Minor whitespace fix in code. * erc-stamp.el (erc-timestamp-use-align-to): Renamed from `erc-timestamp-right-align-by-pixel'. Set the default based on whether we are in Emacs 22, and using X. Improve documentation. (erc-insert-aligned): Remove calculation of offset, since :align-to pos works after all. Unlike the previous solution, this one works when erc-stamp.el is compiled. (erc-insert-timestamp-right): Don't add length of string, and then later remove its displayed width. This puts timestamps after erc-fill-column when erc-timestamp-right-column is nil, rather than before it. It also fixes a subtle bug. Remove use of `current-window', since there is no variable by that name in Emacs21, Emacs22, or XEmacs21 beta. Check to see whether `erc-fill-column' is non-nil before using it. 2006-02-11 Diane Murray * erc-list.el: Define `list' module which sets the alias `erc-cmd-LIST' to `erc-list-channels' when enabled and `erc-list-channels-simple' when disabled. (erc-list-channels): Was `erc-cmd-LIST', renamed. (erc-list-channels-simple): New function. * erc.el (erc-modules): Added `list' to enabled modules. Changed `capab-identify' description. Moved customization options left in source code. * erc-menu.el (erc-menu-definition): Use `erc-list-channels'. * erc-capab.el: Put a little more detail into Usage section. (define-erc-module): Run `erc-capab-identify-setup' in all open server buffers when enabling. (erc-capab-identify-setup): Make PROC and PARSED optional arguments. (erc-capab-identify-add-prefix): Simplified nickname regexp. This should now also match nicknames that are formatted differently than the default. * erc-spelling.el (define-erc-module): Make sure there's a buffer before calling `with-current-buffer'. 2006-02-10 Michael Olson * Makefile (debbuild): Split from debrelease. (debrevision-mwolson): New rule that causes a Debian revision to be built. * erc.el (erc-migrate-modules): Use a better algorithm. Thanks to Johan Bockgård. (erc-modules): Change use of 'pcomplete to 'completion. 2006-02-09 Diane Murray * erc.el (erc-get-parsed-vector, erc-get-parsed-vector-nick) * erc-capab.el: Require erc. (erc-capab-send-identify-messages): Use `erc-server-send'. (erc-capab-identify-remove/set-identified-flag): Use 1 and 0 as the flags so we can also check whether the `erc-identified' text property is there at all. (erc-capab-identify-add-prefix): Use `erc-capab-find-parsed'. This fixes a bug where the prefix wasn't inserted when timestamps are inserted on the right. Tweaked nickname regexp. (erc-capab-find-parsed): New function. (erc-capab-get-unidentified-nickname): Updated to check for 0 flag. Only get nickname if there's a nickuserhost associated with this message. * erc-capab.el: New file. Adds the new module `erc-capab-identify', which allows flagging of unidentified users on servers running an ircd based on dancer - irc.freenode.net, for example. * erc.el (erc-modules): Added `capab-identify' to options. (erc-get-parsed-vector, erc-get-parsed-vector-nick) (erc-get-parsed-vector-type): Moved here from erc-match.el. * erc-match.el (erc-get-parsed-vector, erc-get-parsed-vector-nick) (erc-get-parsed-vector-type): Moved these functions to erc.el since they can be useful outside of the text matching module. * NEWS: Added erc-capab.el. * erc-dcc.el, erc-stamp.el, erc-xdcc.el: Changed "Emacs IRC Client" to "ERC". 2006-02-07 Michael Olson * ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.04, ChangeLog.05: Rename from ChangeLog.NNNN in order to disambiguate the filenames in DOS. * erc-goodies.el: Comment fix. * erc-hecomplete.el: Rename from erc-complete.el. Update commentary. Use define-erc-module so that it's possible to actually use this. (erc-hecomplete): Rename function from `erc-complete'. (erc-hecomplete): Rename group from `erc-old-complete'. Docfix. * erc-join.el: Rename from erc-autojoin.el. * erc-networks.el: Rename from erc-nets.el. * erc-services.el: Rename from erc-nickserv.el. * erc-stamp.el (erc-insert-aligned): Don't take 3rd argument. Use the simpler `indent-to' function when `erc-timestamp-right-align-by-pixel' is nil. (erc-insert-timestamp-right): If the timestamp goes on the following line, don't add timestamp properties to the spaces in front of it. * erc.el (erc-migrate-modules): New function that eases migration of module names. (erc-modules): Call erc-migrate-modules in the :get accessor. (erc-modules, erc-update-modules): Update for new modules names. (erc-cmd-SMV): Remove, since this does not give useful output due to the version strings being removed from ERC modules. 2006-02-05 Michael Olson * erc-spelling.el (erc-spelling-init): If `erc-spelling-dictionaries' is nil, do not set ispell-local-dictionary. Before, it was being set to nil, which was causing a long delay while the ispell process restarted. (erc-spelling-unhighlight-word): New function that removes flyspell properties from a spell-checked word. (erc-spelling-flyspell-verify): Don't spell-check nicks or words that have '/' before them. 2006-02-04 Michael Olson * erc-autojoin.el: Use (eval-when-compile (require 'cl)). * erc-complete.el (erc-nick-completion-exclude-myself) (erc-try-complete-nick): Use better function for getting list of channel users. * erc-goodies.el: Docfix. * erc-stamp.el: Use new arch tagline, since the other one wasn't being treated properly. * erc.el (erc-version-string): Release ERC 5.1.1. 2006-02-03 Zhang Wei * erc.el (erc-version-string): Don't hard-code Emacs version. (erc-version): Use emacs-version. 2006-01-31 Michael Olson * erc-stamp.el: Update copyright years. 2006-01-30 Simon Josefsson * erc.el (erc-open-ssl-stream): Use tls.el. 2006-01-30 Michael Olson * erc-stamp.el (erc-timestamp-right-align-by-pixel): New option that determines whether to use pixel values to align right timestamps. The default is not to do so, since it only works with Emacs22 on X, and even then some people have trouble. (erc-insert-aligned): Use `erc-timestamp-right-align-by-pixel'. 2006-01-29 Michael Olson * ChangeLog, ChangeLog.2005, ChangeLog.2004, ChangeLog.2003, ChangeLog.2002, ChangeLog.2001: Add "See ChangeLog.NNNN" line for earlier changes. Use utf-8 encoding. Fix some accent typos. * erc-speedbar.el (erc-speedbar-buttons): Fix reference to free variable. (erc-speedbar-goto-buffer): Fix compiler warning. * erc-ibuffer.el: Use `define-ibuffer-filter' instead of `ibuffer-define-limiter'. Use `define-ibuffer-column' instead of `ibuffer-define-column'. Require 'ibuf-ext so that the macros work without compiler warnings. * erc.texi (Obtaining ERC, Installation): Note that these sections may be skipped if using the version of ERC that comes with Emacs. 2006-01-29 Theresa O'Connor * erc-viper.el: Remove. Now that ERC is included in Emacs, these work-arounds live in Viper itself. 2006-01-28 Michael Olson * erc-*.el, erc.texi, NEWS: Add Arch taglines as per Emacs guidelines. * erc-*.el: Space out copyright years like the rest of Emacs. Use the Emacs copyright statement. Refer to ourselves as ERC rather than "Emacs IRC Client", since there are now several IRC clients for Emacs. * erc-compat.el (erc-emacs-build-time): Define as a variable. * erc-log.el (erc-log-setup-logging): Use write-file-functions. * erc-ibuffer.el: Require 'erc. * erc-stamp.el (erc-insert-aligned): Only use the special text property when window-system is X. * erc.texi: Adapt for inclusion in Emacs. 2006-01-28 Johan Bockgård * erc.el (erc-format-message): More `cl' breakage; don't use `oddp'. 2006-01-27 Michael Olson * debian/changelog: Update for new release. * debian/control (Description): Update. * debian/rules: Concatenate ChangeLog for 2005. * Makefile (MISC): Include ChangeLog.2005 and erc.texi. (debrelease, release): Copy images directory. * NEWS: Spelling fixes. Add items for recent changes. * erc.el (erc): Move call to erc-update-modules before the call to erc-mode. This should fix a timestamp display issue. (erc-version-string): Release ERC 5.1. 2006-01-26 Michael Olson * erc-stamp.el (erc-insert-aligned): New function that inserts text in an perfectly-aligned way relative to the right margin. It only works well with Emacs22. A sane fallback is provided for other versions of Emacs. (erc-insert-timestamp-right): Use the new function. 2006-01-25 Theresa O'Connor * erc.el (erc-modules): Ensure that `erc-button-mode' gets enabled before `erc-match-mode'. * erc-match.el (match): Append `erc-match-message' to `erc-insert-modify-hook'. 2006-01-25 Michael Olson * FOR-RELEASE: Mark last release requirement as done. * Makefile (realclean, distclean): Remove docs. * erc.texi: Take care of all pre-5.1 items. * erc-backend.el (erc-server-send, erc-server-send-queue): Wrap `process-send-string' in `condition-case' to avoid an error when quitting ERC. * erc-stamp.el (erc-insert-timestamp-right): Try to deal with variable-width characters in the timestamp and on the same line. The latter is a kludge, but it seems to work with most of the input I've thrown at it so far. It's certainly better than going past the end of line consistently when we have variable-width characters on the same line. When `erc-timestamp-intangible' is non-nil, add intangible properties to the whitespace as well, so that hitting does what you'd expect. * erc.el (erc-flood-protect, erc-toggle-flood-control): Update this to only use boolean values for `erc-flood-protect'. Update documentation. (erc-cmd-QUIT): Set the active buffer to be the server buffer, so that any QUIT-related messages go there. (erc): Try to be more clever about reusing channel buffers when automatically re-connecting. Thanks to e1f for noticing. 2006-01-23 Michael Olson * ChangeLog.2005: Remove erroneous line. * FOR-RELEASE: Make that the Makefile tweaking is complete. (NEWS): Mark as done. * Makefile (MANUAL): New option indicating the name of the manual. (PREFIX, ELISPDIR, INFODIR): New options that specify the directories to install lisp code and info manuals to. PREFIX is used only by ELISPDIR and INFODIR. (all): Call `lisp' and create the manual. (lisp): Compile lisp code. (%.info, %.html): New rules that make Info files and HTML files, respectively, from a TexInfo source. (doc): Create both the Info and HTML versions of the manual. This is for the user -- we never call it automatically. (install-info): Install Info files. (install-bin): Install compiled and source Lisp files. (todo): Remove, since it seems pointless. * NEWS: Update. * README: Add Installation instructions. Tweak layout. * erc.texi: Work on some pre-5.1 items. * erc-stamp.el, erc-track.el: Move some functions and options in order to get rid of a few compiler warnings. * erc.el (erc-modules): Enable readonly by default. This will prevent new users from accidentally removing old messages, which could be disconcerting. Also enable stamp by default, since timestamps are a fairly standard feature among IRC clients. * erc-button.el: Munge whitespace. * erc-identd.el (erc-identd-start): Instead of throwing an error, just try to use the obsolete function. 2006-01-22 Michael Olson * erc-backend.el (erc-decode-string-from-target): Make sure that we have a string as an argument. If not, coerce it to the empty string. Hopefully, this will work painlessly around an edge case related to quitting ERC around the same time a message comes in. 2006-01-22 Johan Bockgård * erc-track.el: Use `(eval-when-compile (require 'cl))' (for `case'). Doc fixes. (erc-find-parsed-property): Simplify. (erc-track-get-active-buffer): Fix logic. Simplify. (erc-track-switch-buffer): Remove unused variable `dir'. Simplify. * erc-speak.el: Doc fixes. (erc-speak-region): `propertize' --> `erc-propertize'. * erc-dcc.el (erc-dcc-chat-parse-output): `propertize' --> `erc-propertize'. * erc-button.el (erc-button-add-button): Take erc-fill-prefix into account when wrapping URLs. * erc-bbdb.el (erc-bbdb-elide-display): Doc fix. * erc-backend.el (define-erc-response-handler): Doc fix. 2006-01-22 Michael Olson * erc.el (erc-update-modules): Use `require' instead of `load', but prevent it from causing errors, in order to preserve the previous behavior. 2006-01-21 Michael Olson * FOR-RELEASE (Source): Mark cl task as done. * Makefile (erc-auto.el): Call erc-generate-autoloads rather than generate-autoloads. (erc-auto.el, %.elc): Don't show command, just its output. * NEWS: Add items from 2005-01-01 to 2005-08-13. * debian/copyright (Copyright): Update. * erc-auto.in (erc-generate-autoloads): Rename from generate-autoloads. * erc.el, erc-autoaway.el, erc-backend.el: Use erc-server-process-alive instead of erc-process-alive. * erc.el, erc-backend.el, erc-ezbounce.el, erc-list.el, erc-log.el, erc-match.el, erc-nets.el, erc-netsplit.el, erc-nicklist.el, erc-nickserv.el, erc-notify.el, erc-pcomplete.el: Use (eval-when-compile (require 'cl)), so that compilation doesn't fail. * erc-fill.el, erc-truncate.el: Whitespace munging. * erc.el: Update copyright notice. Remove eval-after-load code. (erc-with-buffer): Docfix. (erc-once-with-server-event, erc-once-with-server-event-global) (erc-with-buffer, erc-with-all-buffers-of-server): Use erc-gensym instead of gensym. (erc-banlist-update): Use erc-delete-if instead of delete-if. (erc): Call `erc-update-modules' here. * erc-backend.el: Require 'erc-compat to minimize compiler warnings. (erc-decode-parsed-server-response): Docfix. (erc-server-process-alive): Move here from erc.el and rename from `erc-process-alive'. (erc-server-send, erc-remove-channel-users): Make sure process is alive before sending data to it. * erc-bbdb.el: Update copyright years. (erc-bbdb-whois): Remove overexuberant comment. * erc-button.el: Require erc-fill, since we make liberal use of `erc-fill-column'. * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): New functions, the latter of which provides an `assert' equivalent. (erc-remove-if-not): New function that provides a simple implementation of `remove-if-not'. (erc-gensym): New function that provides a simple implementation of `gensym'. (erc-delete-if): New function that provides a simple implementation of `delete-if'. (erc-member-if): New function that provides a simple implementation of `member-if'. (field-end): Remove this, since it is unused, and later versions of XEmacs have this function already. (erc-function-arglist): Moved here from erc.el. (erc-delete-dups): New compatibility function for dealing with XEmacs. (erc-subseq): New function copied from cl-extra.el. * erc-dcc.el: Require pcomplete during compilation to avoid compiler warnings. (erc-unpack-int, erc-dcc-send-filter) (erc-dcc-get-filter): Use erc-assert instead of assert. (pcomplete/erc-mode/DCC): Use erc-remove-if-not instead of remove-if-not. * erc-match.el (erc-log-matches): Fix compiler warning. * erc-nicklist.el: Update copyright notice. (erc-nicklist-menu): Change use of caadr to (car (cadr ...)). (erc-nicklist-bitlbee-connected-p): Remove. (erc-nicklist-insert-medium-name-or-icon): Accept channel argument. Use it to determine whether we are on bitlbee. Now that bitlbee names its channel "&bitlbee", this is trivial. (erc-nicklist-insert-contents): Pass channel as specified above. Don't try to determine whether we are on bitlbee here. (erc-nicklist-channel-users-info): Use erc-remove-if-not instead of remove-if-not. (erc-nicklist-search-for-nick): Use erc-member-if instead of member-if. * erc-notify.el (erc-notify-QUIT): Use erc-delete-if with a partially-evaluated lambda expression instead of `delete' and `find'. * erc-track.el: Use erc-assert. (erc-track-modified-channels): Remove use of `return'. (erc-track-modified-channels): Use `cadr' instead of `second', since otherwise we would need yet another eval-when-compile line. 2006-01-19 Michael Olson * erc-backend.el (erc-process-sentinel-1): Remove attempt to detect SIGPIPE, since it doesn't work. 2006-01-10 Diane Murray * erc-spelling.el: Updated copyright years. (define-erc-module): Enable/disable `flyspell-mode' for all open ERC buffers as well. (erc-spelling-dictionaries): Reworded customize description. * erc.el (erc-command-symbol): New function. (erc-extract-command-from-line): Use `erc-command-symbol'. This fixes a bug where "Symbol's function definition is void: erc-cmd-LIST" would be shown after typing /list at the prompt (the command was interned because erc-menu.el uses it and is enabled by default whereas erc-list.el is not). * NEWS: Started a list of renamed variables. * erc.el: Reworded the message sent when defining variable aliases. (erc-command-indicator-face): Doc fix. (erc-modules): Enable the match module by default which makes current nickname highlighting on as the default. * erc-button.el: Updated copyright years. (erc-button): New face. (erc-button-face): Use `erc-button'. (erc-button-nickname-face): New customizable variable. (erc-button-add-nickname-buttons, erc-button-add-buttons-1): Send new argument to `erc-button-add-button'. (erc-button-add-button): Doc fix. Added new argument to function definition, NICK-P. If it's a nickname, use `erc-button-nickname-face', otherwise use `erc-button-face'. This makes channel tracking and buttons work better together when `erc-button-buttonize-nicks' is enabled, since there is a nickname on just about every line. * erc-track.el (erc-track-use-faces): Doc fix. (erc-track-faces-priority-list): Added `erc-button' to list. (erc-track-priority-faces-only): Doc fix. 2006-01-09 Diane Murray * erc-button.el (erc-button-url-regexp): Use `concat' so the regexp is not one long line. (erc-button-alist): Fixed so that customizing works correctly. Reorganized. Removed lambda functions with more than two lines. Doc fix. (erc-button-describe-symbol, erc-button-beats-to-time): New functions. Moved from `erc-button-alist'. 2006-01-07 Michael Olson * erc-backend.el (erc-process-sentinel-1): Don't try to re-open a process if a SIGPIPE occurs. This happens when a new message comes in at the same time a /quit is requested. (erc-process-sentinel): Use string-match rather than string= to do these comparisons. Matching literal newlines makes me nervous. * erc-track.el (erc-track-remove-from-mode-line): Handle case where global-mode-string is not a list. Emacs22 permits this. 2005-11-23 Johan Bockgård * erc.el (erc-cmd-SAY): Strip leading space in input line. 2005-10-29 Michael Olson * FOR-RELEASE: Add stuff that needs to be done before the 5.1 release. Longer-term items can be added to the 5.2 section. * Makefile (SITEFLAG): New variable that indicates what variant of "--site-flag" to use. XEmacs needs "-site-flag". (INSTALLINFO): New variable indicating how we should call install-info when installing documentation. (erc-auto.el, .elc.el): Use $(SITEFLAG). * NEWS: Note that last release was 5.0.4. * erc.texi: Initial and incomplete draft of ERC documentation. Commence collaborate-documentation-hack-mode :^) . 2005-10-29 Diane Murray * erc-ring.el (erc-replace-current-command): Revert last change since it made the prompt disappear when using `erc-next-command' and `erc-previous-command'. 2005-10-28 Michael Olson * erc.el (erc-input-marker): New variable that indicates the position where text from the user begins, after the prompt. (erc-mode-map): Bind to erc-bol, just like C-a. (erc): Initialize erc-input-marker. (erc-display-prompt): Even in case where no prompt is desired by the user, clear the undo buffer and set the input marker. (erc-bol, erc-user-input): Simplify by using erc-input-marker. * erc-pcomplete.el (pcomplete-parse-erc-arguments): Use erc-insert-marker. * erc-ring.el (erc-previous-command) (erc-replace-current-command): Use erc-insert-marker. * erc-spelling.el (erc-spelling-init): Make sure that even Emacs21 obeys erc-spelling-flyspell-verify. (erc-spelling-flyspell-verify): Use erc-input-marker. This should make it considerably faster when switching to a buffer that has seen a lot of activity since last viewed. 2005-10-25 Diane Murray * erc-backend.el (erc-server-version, 004): Re-added setting of `erc-server-version'. It doesn't hurt to set, and it could be used in modules or users' settings. * NEWS: Added descriptions of some new features. 2005-10-20 Diane Murray * erc-match.el (erc-current-nick-highlight-type): Set to `keyword' as default. (erc-beep-match-types): New variable. (erc-text-matched-hook): Doc fix. Added `erc-beep-on-match' to customization options. (erc-beep-on-match): New function. If the MATCH-TYPE is found in `erc-beep-match-types', beep. * erc-compat.el (erc-make-obsolete, erc-make-obsolete-variable): New functions to deal with the difference in the number of arguments accepted by `make-obsolete' and `make-obsolete-variable' in Emacs and XEmacs. * erc.el, erc-nets.el: Use `erc-make-obsolete' and `erc-make-obsolete-variable'. * erc-compat.el (erc-make-obsolete, erc-make-obsolete-variable): Handle `wrong-number-of-arguments' error instead of checking for xemacs feature as future versions of XEmacs might accept three arguments. 2005-10-18 Theresa O'Connor * erc.el: Tell emacs-lisp-mode how to font-lock define-erc-module docstrings. 2005-10-08 Diane Murray * AUTHORS, CREDITS, ChangeLog, ChangeLog.2002, ChangeLog.2004: Updated my email address. 2005-10-06 Michael Olson * erc.el (erc-send-input-line, erc-cmd-KICK, erc-cmd-PART) (erc-cmd-QUIT, erc-cmd-TOPIC, erc-kill-server, erc-kill-channel): Adapt to new TARGET parameter of erc-server-send. * erc-backend.el (erc-server-connect): Don't specify encoding for erc-server-process, since we set this each time we send a line to the server. (erc-encode-string-for-target): Remove. (erc-server-send): Allow TARGET to be specified. This was how it used to be before my more-backend work. Set encoding of server process just before sending text to it. Associate encoding with text if we are using the queue. (erc-server-send-queue): Pull encoding from queue. (erc-message, erc-send-ctcp-message, erc-send-ctcp-notice): Adapt to new TARGET parameter of erc-server-send. 2005-10-05 Michael Olson * erc.el (erc-toggle-debug-irc-protocol): Use erc-view-mode-enter rather than view-mode. * erc-backend.el (erc-encode-string-for-target): If given a nil or empty string, return "". (erc-server-send-queue): XEmacs fix: Use erc-cancel-timer rather than cancel-timer. * erc-compat.el (erc-view-mode-enter): New function that is aliased to the correct way of entering view-mode. * erc-match.el (erc-log-matches-make-buffer): Use erc-view-mode-enter rather than view-mode-enter. 2005-10-05 Theresa O'Connor * erc-backend.el (erc-encode-string-for-target): If str is nil, pass the empty string to erc-encode-coding-string instead, which allows one to /part and /quit without providing a reason again. 2005-10-03 Michael Olson * erc-backend.el (erc-message, erc-send-ctcp-message) (erc-send-ctcp-notice): Encode string for target before sending. * erc.el (erc-cmd-KICK, erc-cmd-PART, erc-cmd-QUIT, erc-cmd-TOPIC) (erc-kill-server, erc-kill-channel): Ditto. 2005-09-05 Johan Bockgård * erc-page.el (erc-ctcp-query-PAGE): (message text) -> (message "%s" text). (erc-cmd-PAGE): Simplify regexp. Put `do-not-parse-args' t. 2005-09-05 Michael Olson * erc.el (erc-flood-limit, erc-flood-limit2): Remove since they are no longer needed. (erc-send-input): Detect whether we want flood control to be active. The previous behavior was to always force the message. (erc-toggle-flood-control): Adapt to new flood control method. No more 'strict. (erc-cmd-SV): Use concat rather than format-time-string. (erc-format-target, erc-format-target-and/or-server): Shorten logic statements. * erc-compat.el (erc-emacs-build-time): Use a string representation rather than trying to coerce a time out of a string on XEmacs. * erc-identd.el (erc-identd-start): Use make-network-process instead of open-network-stream. Error out if this is not defined. * erc-backend.el (erc-send-line): New command that sends a line using flood control, using a callback for display. It isn't used yet. 2005-09-04 Michael Olson * erc.el: Add defvaralias and make-obsolete-variable for erc-default-coding-system. (channel-topic, channel-modes, channel-user-limit, channel-key, invitation, away, channel-list, bad-nick): Rename globally to erc-{name-of-variable}. 2005-09-03 Johan Bockgård * erc.el (erc-message): Simplify regexp. (erc-cmd-DEOP, erc-cmd-OP): Simplify. 2005-08-29 Michael Olson * erc.el: Alias erc-send-command to erc-server-send. ErBot needs this to work without modification. Add defvaralias for erc-process. Make this and the other backwards-compatibility functions and variables be marked obsolete as of ERC 5.1. * erc-backend.el: Add autoload for erc-log macro. (erc-server-connect): Set some variables before defining process handlers. It probably doesn't make any difference. 2005-08-26 Michael Olson * erc.el: Add defvaralias for erc-announced-server-name, since this seems to be widely used. 2005-08-17 Michael Olson * erc.el (erc): Remove unnecessary boundp check. * erc-autoaway.el: Fix compiler warning. * erc-backend.el (erc-server-version): Since this isn't used by any code, and isn't generally useful, remove it. (erc-server-send-queue): Use erc-current-time rather than float-time. (004): Don't set erc-server-version. * erc-dcc.el (erc-dcc-chat-request, erc-dcc-get-parent): Move to fix a compiler warning. * erc-ibuffer.el (erc-server): Remove unnecessary boundp check. * erc-identd.el (erc-identd-start): Use read-string instead of read-input. * erc-imenu.el (erc-unfill-notice): Use a while loop instead of replace-regexp. * erc-nicklist.el: Add conditional dependency on erc-bbdb. (erc-nicklist-insert-contents): Tighten some regexps. * erc-notify.el (erc-notify-list): Docfix. * erc-spelling.el (erc-spelling-dictionaries): Add :type and :group to silence a compiler warning. 2005-08-14 Michael Olson * erc-backend.el (erc-session-server, erc-session-port) (erc-announced-server-name, erc-server-version) (erc-server-parameters): Moved here from erc.el. (erc-server-last-peers): Moved, renamed from last-peers. (erc-server-lag): Moved, renamed from erc-lag. (erc-server-duplicates): Moved, renamed from erc-duplicates. (erc-server-duplicate-timeout): Moved, renamed from erc-duplicate-timeout. (erc-server): New customization group hosting all options from this file. (erc-server-prevent-duplicates): Moved, renamed from erc-prevent-duplicates. (erc-server-duplicate-timeout): Moved, renamed from erc-duplicate-timeout. (erc-server-auto-reconnect, erc-split-line-length) (erc-server-coding-system, erc-encoding-coding-alist) (erc-server-connect-function, erc-server-flood-margin) (erc-server-flood-penalty): Change group to 'erc-server. (erc-server-send-ping-interval): Moved, renamed from erc-ping-interval. (erc-server-ping-handler): Moved, renamed from erc-ping-handler. (erc-server-setup-periodical-server-ping): Moved, renamed from erc-setup-periodical-server-ping. (erc-server-connect): Add to docstring. Move more initialization here. (erc-server-processing-p): Docfix. (erc-server-connect): Use 'raw-text like in the original version. (erc-server-filter-function): Don't reset process coding system. * erc-stamp.el (erc-add-timestamp): If the text at point is invisible, don't insert a timestamp. Thanks to Pascal J. Bourguignon for the suggestion. * erc-match.el (erc-text-matched-hook): Don't hide fools by default, but include it in the available options. 2005-08-13 Michael Olson * erc-*.el: s/erc-send-command/erc-server-send/g. s/erc-process/erc-server-process/g (sort of). Occasional whitespace and indentation fixes. * erc-backend.el: Specify a few local variables for indentation. Take one item off of the TODO list. (erc-server-filter-data): Renamed from erc-previous-read. From circe. (erc-server-processing-p): New variable that indicates when we're currently processing a message. From circe. (erc-split-line-length): New option that gives the maximum line length of a single message. From circe. (erc-default-coding-system): Moved here from erc.el. (erc-split-line): Renamed from erc-split-command and taken from circe. (erc-connect-function, erc-connect, erc-process-sentinel-1) (erc-process-sentinel, erc-flood-exceeded-p, erc-send-command) (erc-message, erc-upcase-first-word, erc-send-ctcp-message) (erc-send-ctcp-notice): Moved here from erc.el. (erc-server-filter-function): Renamed from erc-process-filter. From circe. (erc-server-process): Renamed from `erc-process' and moved here from erc.el. (erc-server-coding-system): Renamed from `erc-default-coding-system'. (erc-encoding-coding-alist): Moved here from erc.el. (erc-server-flood-margin, erc-server-flood-penalty): (erc-server-flood-last-message, erc-server-flood-queue): (erc-server-flood-timer): New options from circe that allow tweaking of flood control. (erc-server-connect-function): Renamed from erc-connect-function. (erc-flood-exceeded-p): Removed. (erc-coding-system-for-target) (erc-encode-string-for-target, erc-decode-string-from-target): Moved here from erc.el (erc-server-send): Renamed from erc-send-command. Adapted from the circe function by the same name. (erc-server-send-queue): New function from circe that implements handling of a flood queue. (erc-server-current-nick): Renamed from current-nick. (erc-server-quitting): Renamed from `quitting'. (erc-server-last-sent-time): Renamed from `last-sent-time'. (erc-server-last-ping-time): Renamed from `last-ping-time'. (erc-server-lines-sent): Renamed from `lines-sent'. (erc-server-auto-reconnect): Renamed from `erc-auto-reconnect'. (erc-server-coding-system): Docfix. (erc-server-connect): Renamed from `erc-connect'. Require SERVER and PORT parameters. Initialize several variables here. Don't set `erc-insert-marker'. Use a per-server coding system via erc-server-default-encoding. * erc.el (erc-version-string): Changed to indicate we are running the `more-backend' branch. (erc-send-single-line): Implement flood control using erc-split-line. (erc-send-input): Move functionality of erc-send-single-line in here. (erc-send-single-line): Assimilated! (erc-display-command, erc-display-msg): Handle display hooks. (erc-auto-reconnect, current-nick, last-sent-time) (last-ping-time, last-ctcp-time, erc-lines-sent, erc-bytes-sent) (quitting): Moved to erc-backend.el. (erc): Docfix. Don't initialize quite so many things here. 2005-08-10 Michael Olson * debian/copyright (Copyright): Remove notices for 4 people, since they didn't contribute legally-significant changes, or have had these changes overwritten. * erc-log.el: Remove copyright notice. * erc.el: Remove 3 copyright notices. 2005-08-09 Michael Olson * debian/changelog: Create 5.0.4-3 package. This doesn't serve any purpose other than to thank Romain Francoise for some advice. * Makefile (debrelease): Allow last upload and extra build options to be specified. 2005-08-08 Michael Olson * debian/changelog: Create 5.0.4-2 package. * debian/control (Uploaders): Add Romain Francoise. (Standards-Version): Update to 3.6.2. (Depends): Add `emacsen'. * debian/scripts/startup.erc (load-path): Minor whitespace fixup. * Makefile (clean): Split target from realclean and make it remove files that aren't packaged in releases. (clean, release): Minor cleanups. (debrelease): Use debuild rather than dpkg-buildpackage since the former calls lintian. Minor cleanups. (debrelease-mwolson): New target that removes old Debian packages, calls debrelease, and copies the resulting package to my dist dir. (upload): New target that automates the process of uploading an ERC release to sourceforge. * erc.el (erc-mode): Use `make-local-variable' instead of `make-variable-buffer-local'. 2005-07-12 Michael Olson * debian/changelog: Build 5.0.4-1. * Makefile (release): Prepare zip file in addition to tarball. * NEWS: Add item for the undo fix. 2005-07-09 Michael Olson * erc-nicklist.el (erc-nicklist-insert-contents): Check erc-announced-name before erc-session-server. Make sure that we can never get a stringp (nil) error. (erc-nicklist-call-erc-command): If given no command, do nothing. This fixes an error that used to occur when a stray mouse click was made outside of the popup window, but on the erc-nicklist menu. * erc-bbdb.el (erc-bbdb-search-name-and-create): Get rid of the infinite input loop when you want to create a new record. Replace most of that with a completing read of existing nicks. If no nick is chosen, create a new John Doe record. The net effect of this is that the old behavior is re-instated, with the addition of one completing read that happens when you do a /whois. 2005-07-09 Johan Bockgård * erc.el (erc-process-input-line): Docfix. (erc-update-mode-line-buffer): Use `erc-propertize' instead of `propertize'. (erc-propertize): Move to erc-compat.el. * erc-compat.el (erc-propertize): Move here from erc.el. Always return a copy of the string (like `propertize' in GNU Emacs). * erc-nicklist.el (erc-nicklist-icons-directory) (erc-nicklist-voiced-position) (erc-nicklist-insert-medium-name-or-icon): Docfix. (erc-nicklist-insert-contents): Simplify. (erc-nicklist-mode-map): Bind RET instead of `return'. Bind `down-mouse-3' instead of `mouse-3'. (erc-nicklist-kbd-cmd-QUERY): Cleanup regexp. (erc-nicklist-channel-users-info): Docfix. Simplify. 2005-07-02 Michael Olson * images: New directory containing the images that are used by erc-nicklist.el. These are from Gaim, and are thought to be available under the terms of the GPL. * erc-bbdb.el: Add local variables section to preserve tabs, since that is the style used throughout this file. Apply patch from Edgar Gonçalves as follows. (erc-bbdb-bitlbee-name-field): New variable that indicates the field name to use for annotating the "displayed name" of a bitlbee contact. (erc-bbdb-irc-highlight-field): Docfix. (erc-bbdb-search-name-and-create): Prompt the user for the name of a contact if none was found. Merge the new entries into the specified contact. If new arg SILENT is non-nil, do not prompt the user for a name or offer to merge the new entry. (erc-bbdb-insinuate-and-show-entry): New arg SILENT is accepted, which is passed on to erc-bbdb-search-name-and-create. (erc-bbdb-whois): Tell erc-bbdb-search-name-and-create to prompt for name if necessary. (erc-bbdb-JOIN, erb-bbdb-NICK): Forbid erc-bbdb-search-name-and-create from prompting for a name. * erc-nicklist.el: Add local variables section to preserve tabs, since that is the style used throughout this file. Apply patch from Edgar Gonçalves as follows. (erc-nicklist-use-icons): New option; if non-nil, display an icon instead of the name of the chat medium. (erc-nicklist-icons-directory): New option indicating the path to the PNG files that are used for chat icons. (erc-nicklist-use-icons): New option indicating whether to put voiced nicks on top, bottom, or not to differentiate them. The default is to put them on the bottom. (erc-nicklist-bitlbee-connected-p): New variable that indicates whether or not we are currently using bitlbee. An attempt will be made to auto-detect the proper value. This is bound in the `erc-nicklist-insert-contents' function. (erc-nicklist-nicklist-images-alist): New variable that maps a host type to its icon. This is set by `erc-nicklist'. (erc-nicklist-insert-medium-name-or-icon): New function that inserts an icon or string that identifies the current host type. (erc-nicklist-search-for-nick): New function that attempts to find a BBDB record that corresponds with this contact given its finger-host. If found, return its bitlbee-nick field. (erc-nicklist-insert-contents): New function that inserts the contents of the nick list, including text properties and images. (erc-nicklist): Populate `erc-nicklist-images-alist'. Move nicklist content generation code to `erc-nicklist-insert-contents'. (erc-nicklist-mode-map): Map C-j to erc-nicklist-kbd-menu and RET to erc-nicklist-kbd-cmd-QUERY. (erc-nicklist-call-erc-command): Make use of `switch-to-buffer-other-window'. (erc-nicklist-cmd-QUERY): New function that opens a query buffer for the given contact. (erc-nicklist-kbd-cmd-QUERY): Ditto; contains most of the code. (erc-nicklist-kbd-menu): New function that shows the nicklist action menu. (erc-nicklist-channel-users-info): Renamed from `erc-nicklist-channel-nicks'. Implement sorting voiced users. 2005-06-29 Johan Bockgård * erc-nickserv.el (erc-nickserv-alist): Fix regexp for Azzurra. 2005-06-26 Michael Olson * erc-autojoin.el (erc-autojoin-add, erc-autojoin-remove): Use `erc-session-server' if `erc-announced-server-name' is nil. This happens when servers don't send a 004 message. * erc.el (erc-quit-server): Ditto. * erc-ibuffer.el (erc-server, erc-server-name): Ditto. * erc-notify.el (erc-notify-JOIN, erc-notify-NICK) (erc-notify-QUIT): Ditto. 2005-06-24 Johan Bockgård * erc.el (erc-default-coding-system) (erc-handle-user-status-change): Docstring fix. (with-erc-channel-buffer): Removed. (erc-ignored-reply-p): Replace `with-erc-channel-buffer' with `erc-with-buffer'. (erc-display-line-1): Fix broken undo. 2005-06-23 Michael Olson * CREDITS: Add entries for Luigi Panzeri and Andreas Schwab. * erc-nickserv.el (erc-nickserv-alist): Add entries for Azzurra and OFTC. Thanks to Luigi Panzeri and Andreas Schwab for providing these. 2005-06-16 Michael Olson * CREDITS: Add John Paul Wallington. * erc.el: Thanks to John Paul Wallington for the following. (erc-nickname-in-use): Use `string-to-number' instead of `string-to-int'. * erc-dcc.el (erc-dcc-handle-ctcp-send) (erc-dcc-handle-ctcp-chat, erc-dcc-get-file) (erc-dcc-chat-accept): Ditto. * erc-identd.el (erc-identd-start): Ditto. 2005-06-16 Johan Bockgård * erc.el (erc-mode-map): Suppress `font-lock-fontify-block' key binding since it destroys face properties. 2005-06-08 Michael Olson * erc.el (erc-cmd-UNIGNORE): Use `erc-member-ignore-case' instead of `member-ignore-case'. Thanks to bpalmer for the heads up. 2005-06-06 Michael Olson * erc.el (erc-modules): Fix a mistake I made when editing this a few days ago. Modes should now be disabled properly. (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Remove unnecessary call to `format'. Thanks to Andreas Schwab for reporting this. * debian/changelog: Close "README file missing" bug. * debian/rules (binary-erc): Install README file. 2005-06-03 Michael Olson * erc.el (erc-with-buffer): Set `lisp-indent-function' so Emacs Lisp mode knows how to indent erc-with-buffer blocks. (with-erc-channel-buffer): Ditto. (erc-with-all-buffers-of-server): Ditto. (erc-modules): Use pcomplete by default, not completion, since erc-complete.el is deprecated. Use `fboundp' instead of `symbol-value' to check for existence of a function before calling it. This was causing an error when untoggling the `completion' option and trying to save via the customize interface. * erc-track.el (erc-modified-channels-update): If a buffer is not currently connected, remove it from the modified channels list. This should fix the problem where residue was left on the mode line after quitting ERC. * erc-list.el (erc-prettify-channel-list): Docfix; thanks to John Paul Wallington for reporting this. 2005-05-31 Michael Olson * debian/changelog: First draft of entries for the 5.0.3 release. * debian/README.Debian: Note that ERC will now install correctly on versions of Emacs or XEmacs that do not have the `format-spec' library. Correct some grammar and prune the content a bit. * debian/scripts/install (emacs20): Remove line since we no longer need to deal with format-spec.el. * NEWS: Add entries for the upcoming 5.0.3 release. * erc.el: Don't require format-spec since this is provided in erc-compat.el now. (erc-process-sentinel, erc-setup-periodical-server-ping): Use `erc-cancel-timer' instead of `cancel-timer'. (erc-version-string): Update to 5.0.3. * erc-autoaway.el (autoaway, erc-autoaway-reestablish-idletimer): Use `erc-cancel-timer' instead of `cancel-timer'. * erc-compat.el (format-spec, format-spec-make): If we cannot load the `format-spec' library, provide versions of these functions. This should keep problems from surfacing with Emacs21 Debian builds. (erc-cancel-timer): New function created to take the place of `cancel-timer' since XEmacs calls it something else. * erc-track.el (erc-modified-channels-update): Accept any number of arguments, which are ignored. This allows it to be run from `erc-disconnected-hook' without extra bother. (track): Add `erc-modified-channels-update' to `erc-disconnected-hook' so that the indicators are removed correctly in some edge cases. (erc-modified-channels-display): Make sure that we never pass nil to the function in `erc-track-shorten-function'. This happens when we have deleted buffers in `erc-modified-channels-alist'. Also, make sure that the buffer has a non-nil short-name before adding it to the string list. This should fix some XEmacs warnings when running /quit with unchecked buffers, as well as get rid of a stray buffer problem (or so it is hoped). 2005-05-31 Johan Bockgård * erc-replace.el, erc-speak.el: Clean up comment formatting. * erc-ring.el (ring, erc-input-ring-index, erc-clear-input-ring): Clean up docstring formatting. 2005-05-30 Johan Bockgård * erc.el (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Delete superfluous arg to `format'. (erc-load-irc-script): Use `insert-file-contents' instead of `insert-file'. Simplify. 2005-05-29 Michael Olson * erc.el (erc-version-string): Move this up so that it is evaluated before the `require' statements. Not a major change. 2005-04-27 Johan Bockgård * erc.el (erc-complete-word): Simplify. 2005-04-27 Michael Olson * Makefile (debrelease): Use a slightly different approach when removing CVS and Arch cruft. * debian/changelog: Update for 5.0.2-1 package. 2005-04-25 Michael Olson * erc-autoaway.el (erc-autoaway-reestablish-idletimer): Move code block higher in file to fix a load failure when using Emacs21. Thanks to Daniel Brockman for the report and fix. 2005-04-24 Adrian Aichner * erc-backend.el (JOIN): save-excursion so that `erc-current-logfile' inserts into the correct channel buffers when using erc-log-insert-log-on-open in combination with autojoin to multiple channels. 2005-04-17 Adrian Aichner * erc-log.el: Remove stray whitespace. * erc.el: Ditto. 2005-04-09 Aidan Kehoe * erc.el: autoload erc-select-read-args, which, because it parses erc-select's args, can be called before erc.el is loaded. 2005-04-07 Theresa O'Connor * erc-viper.el: Remove final newlines from previously-existing ERC buffers. (Minor bug fix.) 2005-04-06 Michael Olson * Makefile (debrelease): Ignore errors from deleting Arch and CVS metadata. 2005-04-05 Michael Olson * ChangeLog, CREDITS, AUTHORS: Correct name and email address of Marcelo Toledo. 2005-04-04 Michael Olson * erc.el (erc-modules): Add entry for spelling module. * erc-spelling.el: Add autoload line. * erc-backend.el: Apply latest non-ascii patch from Kai Fan. (erc-decode-parsed-server-response): Search erc-response.command-args for channel name. Decode the erc-response struct using this channel name as key according to the `erc-encoding-coding-alist'. * erc-track.el: Apply patch from Henrik Enberg. (erc-modified-channels-object): Use optimal amount of whitespace around modified channels indicator. 2005-04-02 Johan Bockgård * erc.el (define-erc-module, erc-with-buffer) (erc-with-all-buffers-of-server, with-erc-channel-buffer): Add edebug-form-spec. * erc-compat.el (erc-define-minor-mode): Ditto. 2005-03-29 Jorgen Schaefer * erc-spelling.el: New file. 2005-03-24 Johan Bockgård * erc-backend.el (define-erc-response-handler): Add `definition-name' property to constructed symbols so that find-function and find-variable will find them. 2005-03-21 Michael Olson * erc-dcc.el, erc-goodies.el, erc-list.el, erc-notify.el, erc-ring.el, erc.el: Copyright assignment occurred. * debian/scripts/install: Make a shell wrapper around the original Makefile and inline the Makefile. The problem is that Debian passes all the Emacs variants at once, rotating them at every invocation of the install script, which happens once per variant. This caused each installation to happen N-1 times more often than it should have. As a result, we need to only deal with the first argument. (ELFILES): Only add format-spec.el if we are compiling for emacs21. Don't filter out erc-compat.el. (SITEFLAG): New variable that indicates that the "nosite" option should look like. (.DEFAULT): Use $(FLAVOUR) instead of $@ for clarity. * debian/rules: Install NEWS file and compress it. * debian/maint/postinst: Be more cautious about configuration step. * debian/copyright (Copyright): Another assignment came in. * debian/control (Standards-Version): Update to a newer version as recommended by lintian. * debian/changelog: Changes made for the Debian package. * debian/README.Debian: Keep only the General Notes section. * NEWS: Move old history items here from debian/README.Debian. * Makefile (SNAPSHOTDATE): Deprecate this option since we hope to release more often. 2005-03-20 Jorgen Schaefer * erc.el (erc-define-catalog, `ctcp-request-to'): Fix typo (%: -> %t:). 2005-03-01 Michael Olson * erc-log.el (erc-save-buffer-in-logs): Replace tabs with spaces in code indentation. 2005-02-28 Michael Olson * erc.el (erc-display-message): Apply corrected patch from Henrik Enberg. 2005-02-27 Michael Olson * erc.el (erc-display-message): Apply patch from Henrik Enberg. Check here to see if a message should be hidden, rather than relying on code in each individual command. (erc-version-string): Add "(CVS)" to the version string for clarity. * erc-backend.el (JOIN, KICK, MODE, NICK, PART, QUIT, TOPIC): Don't check `erc-hide-list' here. * erc-list.el, erc-match.el, erc.el, debian/copyright: Update copyright information as a few more people have assignments registered. 2005-02-06 Michael Olson * erc-backend.el: Apply patch from Kai Fan for non-ASCII character support. (erc-parse-server-response): Add call to `erc-decode-parsed-server-response'. (erc-decode-parsed-server-response): New function that decodes a pre-parsed server response before it can be handled. (PRIVMSG): Comment out call to `erc-decode-string-from-target'. (TOPIC): Ditto. 2005-02-01 Jorgen Schaefer * erc.el (erc-process-sentinel-1): Don't reconnect on connection refused. This error is reported differently when using open-network-stream-nowait. 2005-01-26 Diane Murray * erc.el (erc-cmd-APPENDTOPIC, erc-set-topic): The control character in `channel-topic' was changed to \C-o - replaced \C-c with \C-o so that these functions work as expected again. (erc-get-channel-mode-from-keypress): Doc fix. 2005-01-25 Diane Murray * erc.el, erc-button.el, erc-compat.el, erc-goodies.el, erc-match.el, erc-nets.el, ChangeLog, NEWS: Merged bug fixes made on release_5_0_branch since 5.0.1 release. 2005-01-24 Johan Bockgård * erc.el (erc-input-action): Quote `erc-action-history-list' so that input history actually works. (erc-process-ctcp-query): Fix and simplify logic. (erc-get-channel-mode-from-keypress): Use `C-' string syntax. (erc-load-irc-script-lines): Use `erc-command-indicator' instead of `erc-prompt'. 2005-01-23 Theresa O'Connor * erc-viper.el: Ensure that `viper-comint-mode-hook' runs in buffers whose `erc-mode-hook' has already run when this file is loaded. Explicitly `require' erc.el. 2005-01-22 Theresa O'Connor * erc.el (erc-mode): Remove frobbing of `require-final-newline'. * erc-log.el (erc-save-buffer-in-logs): Remove frobbing of `require-final-newline'. * erc-viper.el: New file. This is where all ERC/Viper compatibility code should live. When and if ERC is bundled with Emacs, some of the hacks in this file should be merged into Viper itself. 2005-01-21 Theresa O'Connor * erc.el (erc-mode): Set `require-final-newline' to nil in ERC buffers. This prevents a Viper misfeature whereby extraneous newlines are inserted into the ERC buffer when switching between viper states. * erc-log.el (erc-save-buffer-in-logs): Bind `require-final-newline' to t when calling `write-region' to ensure that further log entries start on fresh lines. 2005-01-21 Diane Murray * erc-button.el (erc-button-add-face): Reverted my change to the order faces since it had the unwanted effect of putting the button face after all others. (erc-button-face-has-priority): Removed this variable as it is not necessary anymore - it was used to compensate for the above mentioned change. * NEWS: Added the latest fixes. 2005-01-20 Diane Murray * erc-button.el, erc-match.el: (erc-button-syntax-table, erc-match-syntax-table): Added \ as a legal character for nicknames. * erc-nets.el (erc-server-select): Fixed so that only networks with servers found in `erc-server-alist' are available as choices. * erc.el, erc-compat.el, erc-goodies.el: (erc-replace-match-subexpression-in-string): New function. Needed because `replace-match' in XEmacs doesn't replace regular expression subexpressions in strings, only in buffers. (erc-seconds-to-string, erc-controls-interpret): Use the new function. * erc-button.el (erc-button-add-button): Use the `:button-face' key combined with an `erc-mode' local `widget-button-face' set to nil to get the widget overlay face suppressed in XEmacs. 2005-01-19 Francis Litterio * erc-button.el (erc-button-add-face): The face added by this function is more important than the existing text's face, so we now prepend erc-button-face to the list of existing faces when adding a button. To instead append erc-button-face to existing faces, set variable `erc-button-face-has-priority' to nil. (erc-button-face-has-priority): New variable to control how erc-button-add-face adds erc-button-face to existing faces. (erc-button-press-button): Silenced a byte-compiler warning about too few arguments in a call to `error'. 2005-01-19 Diane Murray * NEWS: Added list of 5.0.1 fixes. 2005-01-19 Michael Olson * AUTHORS: Move to format that cscvs can understand. As an added perk, entries line up nicer. * erc.el, erc-fill.el, erc-pcomplete.el, debian/copyright: Merge a few more copyright lines thanks to Alex Schroeder's BBDB file. * Makefile: Change version to correspond with our new scheme. 2005-01-18 Diane Murray * erc-list.el (erc-chanlist-channel-line-regexp): Now matches private channels, the channels `#' and `&', and channels with names including non-ascii characters. (erc-chanlist-join-channel): Don't attempt to join private channels since the channel name is unknown. * erc-goodies.el (erc-make-read-only): Add `rear-nonsticky' property to avoid `Text is read-only' errors during connection. `front-nonsticky' does not exist, changed to `front-sticky'. (erc-controls-interpret, erc-controls-strip): Just work on the string, don't open a temporary buffer. (erc-controls-propertize): Now accepts optional argument STR. 2005-01-17 Michael Olson * Makefile: Version is 5.01, but only in the Makefile. It has not been released yet. * erc-auto.in, erc-autojoin.el, erc-bbdb.el, erc-button.el, erc-chess.el, erc-complete.el, erc-dcc.el, erc-fill.el, erc-goodies.el, erc-ibuffer.el, erc-identd.el, erc-imenu.el, erc-list.el, erc-match.el, erc-menu.el, erc-nets.el, erc-netsplit.el, erc-nickserv.el, erc-notify.el, erc-pcomplete.el, erc-ring.el, erc-speak.el, erc-speedbar.el, erc-stamp.el, erc-track.el, erc-xdcc.el, erc.el, debian/copyright: Update copyright notices. If anyone has signed papers for Emacs in general, merge them with the FSF's entry. 2005-01-16 Diane Murray * erc.el (erc): `erc-set-active-buffer' was being called before `erc-process' was set, so that channels weren't being marked active correctly upon join; fixed. 2005-01-15 Johan Bockgård * erc-backend.el (def-edebug-spec): This macro caused problems (in XEmacs). Use its expansion directly. 2005-01-15 Diane Murray * erc-button.el (erc-button-add-button): Reverted previous change since `:suppress-face' doesn't seem to be checked for a certain face. (erc-button-add-face): FACE is now appended to the `old' face. This should fix the problem of faces being "covered" by `erc-button-face'. 2005-01-14 Diane Murray * erc.el, erc-backend.el (erc-cmd-OPS, erc-cmd-COUNTRY, erc-cmd-NICK, erc-process-ctcp-query, ERROR, PONG, 311, 312, 313, 314, 317, 319, 320, 321, 322, 330, 352): Use catalog entries instead of hard-coded text messages. (english): Added new catalog entries `country', `country-unknown', `ctcp-empty', `ctcp-request-to', `ctcp-too-many', `nick-too-long', `ops', `ops-none', `ERROR', `PONG', `s311', `s312', `s313', `s314', `s317', `s317-on-since', `s319', `s320', `s321', `s322', `s330', and `s352'. (erc-send-current-line): Use `erc-set-active-buffer' (change was lost in previous bug fix). 2005-01-14 Francis Litterio * erc-button.el (erc-button-add-button): Fixed a bug where the overlay created by widget-convert-button has a `face' property that hides the `face' property set on the underlying button text. * erc-goodies.el: Docstring fix. * erc-button.el: Improved docstring for variable erc-button-face. 2005-01-13 Diane Murray * erc-menu.el (erc-menu-definition): "Topic set by channel operator": Small word change. "Identify to NickServ...": Check that we're connected to the server. Added "Save buffer in log" and "Truncate buffer". 2005-01-13 Lawrence Mitchell * erc.el (erc-display-line-1): Widen before we try to insert anything, this makes sure input isn't broken when the buffer is narrowed by the user. (erc-beg-of-input-line): Simplify, just return the position of `erc-insert-marker' or error if does not exist. (erc-send-current-line): Widen before trying to send anything. 2005-01-13 Diane Murray * erc.el, erc-backend.el, erc-list.el: (erc-update-mode-line-buffer): Strip controls characters from `channel-topic' since we add our own control character to it. (TOPIC, 332): Use \C-o instead of \C-c to force an end of IRC control characters as it also ends bold, underline, and inverse - \C-c only ends colors. (erc-chanlist-322): Strip control characters from channel and topic. No need to interpret controls when we're applying overlays to the lines. * erc.el, erc-backend.el, erc-button.el, erc-netsplit.el, erc-nicklist.el: Fixed so that each server has an active buffer. (erc-active-buffer): Now a buffer-local variable. (erc-active-buffer, erc-set-active-buffer): New functions. (erc-display-line, erc-echo-notice-in-active-non-server-buffer, erc-process-away, MODE): Call `erc-active-buffer' to get the active buffer for the current server. (erc, erc-process-sentinel-1, erc-grab-region, erc-input-action, erc-send-current-line, erc-invite-only-mode, erc-toggle-channel-mode, erc-channel-names, MODE, erc-nick-popup, erc-nicklist-call-erc-command): Use `erc-set-active-buffer' to set the active buffer for the current server. (erc-cmd-WHOLEFT): Use 'active as BUFFER in `erc-display-message'. * erc-track.el (erc-track-modified-channels): Server buffers are now treated the same as channels and queries. This means that `erc-track-priority-faces-only', `erc-track-exclude', and `erc-track-exclude-types' now work with server buffers. 2005-01-12 Diane Murray * erc-backend.el (475): Prompt for the channel's key if `erc-prompt-for-channel-key' is non-nil. Send a new JOIN message with the key if a key is provided. * erc.el (erc-command-indicator): Fixed customization choices so that there's no `mismatch' message when nil is the value. 2005-01-11 Michael Olson * erc-bbdb.el (bbdb): Lowercase the name of the module. This fixes a bug which caused an error to occur when trying to enable the module using the customization interface. 2005-01-08 Theresa O'Connor * erc-track.el: Support using faces to indicate channel activity in the modeline under XEmacs. (erc-modified-channels-object): New function. (erc-modified-channels-display): Use it. `erc-modified-channels-string' renamed to `erc-modified-channels-object' (because it's no longer a string on XEmacs). The new function `erc-modified-channels-object' is used to generate updated values for the same-named variable. 2005-01-08 Diane Murray * ChangeLog.2002: Changed instances of my sourceforge username and email address to real name and email. * erc.el (erc-modules): Changed customization tag descriptions, so that they all start with a verb; added new modules to choices. 2005-01-08 Mario Lang * debian/rules: Introduce new variable DOCDIR to simplify stuff a bit. 2005-01-08 Michael Olson * AUTHORS, ChangeLog.2004: Change bpalmer's email address as requested. * CREDITS: Add everyone who is mentioned in the ChangeLogs. * debian/copyright (Copyright): Add last few people. This can now be considered a complete list, as far as CVS entries are concerned. If people have assigned copyright to the FSF, merge them with the entry for the FSF. * debian/README.Debian: Add entry for XEmacs-related change in `erc-track.el'. * erc.el (erc-cmd-MODE): New command that changes or displays the mode for a channel or user. The functionality was present before this change, but there was no documentation for it. * erc-auto.in, erc-*.el: Fully investigate copyright headers and change them appropriately. If a file has been pulled off of erc.el at one time, keep track of copyright from the time of separation, but not before. If a file has been derived from a work outside of erc, keep copyright statements in place. * Makefile (VERSION): Change to 5.0! :^) Congrats on all the great work. I'll wait until hober commits his XEmacs compatibility patch to erc-track.el, and then release. (distclean): Alias for `realclean' target. 2005-01-07 Michael Olson * AUTHORS: Add Marcelo Toledo, who has CVS access to this project. * ChangeLog.2004: Add my name to my one contribution to erc last year. * CREDITS: Add people that were discovered while scouring ChangeLogs. * debian/copyright: Add everyone from `AUTHORS' to Upstream Authors. Anyone who has contributed 15 or more lines of code (according to ChangeLogs) is listed in Copyright section. Accurate years are included. * debian/README.Debian: Paste content of NEWS and reformat slightly. * debian/rules: Concatenate the ChangeLogs during the Debian install process and then gzip them. * Makefile (MISC): Add ChangeLog.yyyy files to list. (ChangeLog): Remove rule since we do not dynamically generate the ChangeLog anymore. * MkChangeLog: Removed since we do not use it to generate the ChangeLog anymore. cvs2cl does a much better job anyway. * NEWS: Use 3rd level heading instead of bullets for lists that contain descriptions. 2005-01-07 Diane Murray * erc-list.el: Require 'sort. (erc-chanlist): Disable undo in the channel list buffer. * erc.el, erc-menu.el: The `IRC' menu is now automatically added to the menu-bar. Add the call to `easy-menu-add' to `erc-mode-hook' when running in XEmacs (without this the menu doesn't appear). * NEWS: Added the information from https://emacswiki.org/cgi-bin/wiki/ErcCvsFeatures and the newer changes which weren't yet documented on that page. 2005-01-06 Hoan Ton-That * erc-log.el (erc-current-logfile): Only downcase the logfile name, not the whole filename. Also expand relative to `erc-log-channels-directory'. (erc-generate-log-file-name-with-date) (erc-generate-log-file-name-short) (erc-generate-log-file-name-long): Don't expand filename, done in `erc-current-logfile'. 2005-01-06 Lawrence Mitchell * NEWS: New file, details user visible changes from version to version. * HACKING (NEWS entries): Mention NEWS file, and what its purpose is. 2005-01-05 Michael Olson * FOR-RELEASE: New file containing the list of release-critical tasks. Feel free to add to it. * debian/rules (binary-erc): Add ChangeLog files. 2005-01-04 Michael Olson * ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004: ChangeLog entries from previous years. * ChangeLog: New file containing ChangeLog entries for the current year. Please update this file manually whenever a change is committed. This is a new policy. * AUTHORS: Add myself to list. Some entries were space-delimited instead of TAB-delimited, and since the latter seemed to be the default, make the other entries conform. * HACKING (ChangeLog Entries): Update section to reflect new policy toward ChangeLog entries, which is that they should be manually updated whenever a change is committed. 2005-01-04 Diane Murray * erc.el (erc-connection-established, erc-login): Update the mode-line. (erc-update-mode-line-buffer): If `erc-current-nick' returns nil, use an empty string for ?n character in format spec. Set `mode-line-process' to ":connecting" while the connection is being established. 2005-01-04 Lawrence Mitchell * AUTHORS: Update list of authors. 2005-01-02 Diane Murray * erc-goodies.el (erc-control-characters): New customization group. (erc-interpret-controls-p): Small fix, addition to documentation. Updated customization to allow 'remove as a value. Use 'erc-control-characters as `:group'. (erc-interpret-mirc-color): Use 'erc-control-characters as `:group'. (erc-beep-p): Updated documentation. Use 'erc-control-characters as `:group'. (define-erc-module irccontrols): Add `erc-controls-highlight' to `erc-insert-modify-hook' and `erc-send-modify-hook' since it changes the text's appearance. (erc-controls-remove-regexp, erc-controls-interpret-regexp): New variables. (erc-controls-highlight): Fixed so that highlighting works even if there is no following control character. Fixed mirc color highlighting; now respecting `erc-interpret-mirc-color'. Fixed a bug where emacs would get stuck in a loop when \C-g was in a message and `erc-beep-p' was set to nil (default setting). 2004-12-29 Francis Litterio * erc-goodies.el (erc-interpret-controls-p): Changed docstring to reflect the new meaning if this is set to 'remove. (erc-controls-interpret): Rephrased docstring to be more accurate. (erc-controls-strip): New function that behaves like the recently-removed erc-strip-controls -- it removes all IRC color and highlighting control characters. (erc-controls-highlight): Changed to support the new 'remove value that variable erc-interpret-controls-p might have. 2004-12-28 Francis Litterio * erc-ibuffer.el, erc-list.el, erc-page.el, erc-speedbar.el: Changed all calls to erc-interpret-controls (which no longer exists) to call erc-controls-interpret (the new name of the same function). 2004-12-28 Francis Litterio * erc-goodies.el (erc-controls-interpret): Added this function to replace the recently-removed erc-interpret-controls. Also added a (require 'erc) to solve a byte-compile problem. 2004-12-28 Francis Litterio * erc.el (erc-controls-interpret): Added this function to replace the recently-removed erc-interpret-controls. 2004-12-27 Jorgen Schaefer * erc-truncate.el (erc-truncate-buffer-to-size): Check for logging even better (via lawrence). 2004-12-26 Jorgen Schaefer * erc-truncate.el (erc-truncate-buffer-to-size): Much saner logging detection (via lawrence). 2004-12-25 Jorgen Schaefer * erc-goodies.el (erc-controls-highlight): Treat single C-c correctly. 2004-12-24 Jorgen Schaefer * erc-goodies.el, erc.el: Deleted IRC control character processing and implemented a sane version in erc-goodies.el as a module. * erc.el (erc-merge-controls, erc-interpret-controls, erc-decode-controls, erc-strip-controls, erc-make-property-list, erc-prepend-properties): Removed. (erc-interpret-controls-p, erc-interpret-mirc-color, erc-bold-face erc-inverse-face, erc-underline-face, fg:erc-color-face0, fg:erc-color-face1, fg:erc-color-face2, fg:erc-color-face3, fg:erc-color-face4, fg:erc-color-face5, fg:erc-color-face6, fg:erc-color-face7, fg:erc-color-face8, fg:erc-color-face9, fg:erc-color-face10, fg:erc-color-face11, fg:erc-color-face2, fg:erc-color-face13, fg:erc-color-face14, fg:erc-color-face15, bg:erc-color-face1, bg:erc-color-face2, bg:erc-color-face3, bg:erc-color-face4, bg:erc-color-face5, bg:erc-color-face6, bg:erc-color-face7, bg:erc-color-face8, bg:erc-color-face9, bg:erc-color-face10, bg:erc-color-face11, bg:erc-color-face2, bg:erc-color-face13, bg:erc-color-face14, bg:erc-color-face15, erc-get-bg-color-face, erc-get-fg-color-face, erc-toggle-interpret-controls): Moved. * erc-goodies.el (erc-beep-p, irccontrols, erc-controls-highlight, erc-controls-propertize): New. 2004-12-24 Jorgen Schaefer * erc-goodies.el, erc.el: The Small Extraction of Stuff[tm] commit. Moved some functions from erc.el to erc-goodies.el, and transformed them to erc modules in the process. - imenu autoload stuff moved. I don't know why it is here at all. - Moved: scroll-to-bottom, make-read-only, distinguish-noncommands, smiley, unmorse, erc-occur (the last isn't a module, but still moved) (erc-input-line-position, erc-add-scroll-to-bottom, erc-scroll-to-bottom, erc-make-read-only, erc-noncommands-list, erc-send-distinguish-noncommands, erc-smiley, erc-unmorse, erc-occur): Moved from erc.el to erc-goodies.el. (smiley): Module moved from erc.el to erc-goodies.el. (scrolltobottom, readonly, noncommands, unmorse): New modules. 2004-12-20 Diane Murray * erc.el (erc-format-away-status): Use `a', not `away' - that's why it's there. (erc-update-mode-line-buffer): The values of `mode-line-process' and `mode-line-buffer-identification' are normally lists. Conform. 2004-12-18 Jorgen Schaefer * erc.el (erc-process-ctcp-query, erc-process-ctcp-reply): Display message in the active window, not the server window. 2004-12-16 Theresa O'Connor * erc-track.el (erc-track-position-in-mode-line): Check for 'erc-track-mode variable with boundp. From Adrian Aichner . 2004-12-16 Jorgen Schaefer * erc.el (erc-upcase-first-word): New function. The old way used in erc-send-ctcp-message would eat consecutive whitespace etc. (erc-send-ctcp-message, erc-send-ctcp-notice): Use it. 2004-12-15 Theresa O'Connor * erc.el (erc-send-ctcp-message): Fix braino with my previous patch. It always helps to C-x C-s before `cvs commit'. 2004-12-15 Theresa O'Connor * erc.el (erc-send-ctcp-message): Only upcase the ctcp command, and not the entire message. Brian Palmer's change of 2004-12-12 had broken /me. Shouting is bad! :) 2004-12-14 Diane Murray * erc-nets.el (erc-networks-alist): Change undernet to Undernet as is used in `erc-server-alist', so that completion works when using `erc-server-select'. This should fix Debian bug #282003 (erc: cannot connect to Undernet). 2004-12-14 Diane Murray * erc-backend.el (def-edebug-spec): Only run this if 'edebug is available. 2004-12-14 Diane Murray * erc.el: The last change to `erc-mode-line-format' introduced a bug in XEmacs - it can't handle the #(" "...) strings at all. The following changes fix the bug and simplify the mode-line handling considerably. (erc-mode-line-format): Now defined as a string which will be formatted using `format-spec' and take the place of `mode-line-buffer-identification' in the mode line. (erc-header-line-format): Now defined as a string to be formatted using `format-spec'. (erc-prepare-mode-line-format): Removed. (erc-format-target, erc-format-target-and/or-server, erc-format-away-status, erc-format-channel-modes): New functions. Basically the old `erc-prepare-mode-line-format' split apart. (erc-update-mode-line-buffer): Set `mode-line-buffer-identification' to the formatted `erc-mode-line-format', set `mode-line-process' to ": CLOSED" if the connection has been terminated, and set `header-line-format' (if it is bound) to the formatted `erc-header-line-format', then do a `force-mode-line-update'. 2004-12-12 Diane Murray * erc.el (erc-modules): Disable modules removed with `customize'. (erc-update-modules): Try to give a more descriptive error message. 2004-12-12 Diane Murray * erc-complete.el, erc.el, erc-list.el, erc-nets.el, * erc-nicklist.el, erc-pcomplete.el, erc-replace.el, erc-speak.el, * erc-truncate.el (erc-buffers, erc-coding-systems, erc-display, erc-mode-line-and-header, erc-ignore, erc-query, erc-quit-and-part, erc-paranoia, erc-scripts, erc-old-complete, erc-list, erc-networks, erc-nicklist, erc-pcomplete, erc-replace, erc-truncate): New customization groups. (erc-join-buffer, erc-frame-alist, erc-frame-dedicated-flag, erc-reuse-buffers): Use 'erc-buffers as `:group'. (erc-default-coding-system, erc-encoding-coding-alist): Use 'erc-coding-systems as `:group'. (erc-hide-prompt, erc-show-my-nick, erc-prompt, erc-input-line-position, erc-command-indicator, erc-notice-prefix, erc-notice-highlight-type, erc-interpret-controls-p, erc-interpret-mirc-color, erc-minibuffer-notice, erc-format-nick-function): Use 'erc-display as `:group'. (erc-mode-line-format, erc-header-line-format, erc-header-line-uses-help-echo-p, erc-common-server-suffixes, erc-mode-line-away-status-format): Use 'erc-mode-line-and-header as `:group'. (erc-hide-list, erc-ignore-list, erc-ignore-reply-list, erc-minibuffer-ignored): Use 'erc-ignore as `:group'. (erc-auto-query, erc-query-on-unjoined-chan-privmsg, erc-format-query-as-channel-p): Use 'erc-query as `:group'. (erc-kill-buffer-on-part, erc-kill-queries-on-quit, erc-kill-server-buffer-on-quit, erc-quit-reason-various-alist, erc-part-reason-various-alist, erc-quit-reason, erc-part-reason): Use 'erc-quit-and-part as `:group'. (erc-verbose-server-ping, erc-paranoid, erc-disable-ctcp-replies, erc-anonymous-login, erc-show-channel-key-p): Use 'erc-paranoia as `:group'. (erc-startup-file-list, erc-script-path, erc-script-echo): Use 'erc-scripts as `:group'. (erc-nick-completion, erc-nick-completion-ignore-case, erc-nick-completion-postfix): Use 'erc-old-complete as `:group'. (erc-chanlist-progress-message, erc-no-list-networks, erc-chanlist-frame-parameters, erc-chanlist-hide-modeline, erc-chanlist-mode-hook): Use 'erc-list as `:group'. (erc-server-alist, erc-networks-alist): Use 'erc-networks as `:group'. (erc-settings): Use `defvar' instead of `defcustom' since this is only a draft which doesn't work. (erc-nicklist-window-size): Use 'erc-nicklist as `:group'. (erc-pcomplete-nick-postfix, erc-pcomplete-order-nickname-completions): Use 'erc-pcomplete as `:group'. (erc-replace-alist): Use 'erc-replace as `:group'. (erc-speak-filter-timestamp): Use 'erc-speak as `:group'. (erc-max-buffer-size): Use 'erc-truncate as `:group'. 2004-12-12 Jorgen Schaefer * erc.el (erc-scroll-to-bottom): Go to the end of the buffer before recentering. This allows editing multiple lines more conveniently in CVS Emacs. This also undos a change by antifuchs who said this goto-char would mess up redisplay. Extensive testing couldn't reproduce that problem. 2004-12-12 Brian Palmer * erc.el (erc-send-ctcp-message): upcase the ctcp message (so that version becomes VERSION, for example). (erc-iswitchb): Make the argument optional in non-interactive invocation, so erc-iswitchb can be substituted directly for iswitchb in code. 2004-12-11 Diane Murray * erc-track.el (erc-track-position-in-mode-line): Allow for the fact that `erc-track-mode' isn't bound when file is loaded. 2004-12-11 Diane Murray * erc-track.el (erc-track-position-in-mode-line): New customizable variable. (erc-track-remove-from-mode-line): New function. Remove `erc-modified-channels-string' from the mode-line. (erc-track-add-to-mode-line): New function. Add `erc-modified-channels-string' to the mode-line using the value of `erc-track-position-in-mode-line' to determine whether to add it to the beginning or the end of `mode-line-modes' (only available with GNU Emacs versions above 21.3) or to the end of `global-mode-string'. (erc-track-mode, erc-track-when-inactive-mode): Use the new functions. 2004-12-11 Jorgen Schaefer * erc.el (erc-cmd-BANLIST): Use (buffer-name) and not (erc-default-target) for the buffer name - buffer names are case sensitive. 2004-12-11 Brian Palmer * erc.el (erc-message-type): Added the message "MODE" to the known erc-message-type widget, so that (for example) people can tell erc-track-exclude-types to ignore mode changes. The others tag also needed to be made an inline list, so that it's merged with the given constants, instead of being inserted as a list. 2004-12-10 Jorgen Schaefer * erc-track.el, erc.el: Update to get ERC look nicely in CVS Emacs. * erc.el (erc-mode-line-format): When on CVS emacs, use the new format. * erc-track.el (track module): When on CVS emacs, modify mode-line-modes instead of global-mode-string. The latter is way to far too the right. 2004-11-18 Mario Lang * Makefile, debian/changelog: debian release 20041118-1 2004-11-03 Diane Murray * erc-button.el (erc-button-buttonize-nicks): Set default value to `t'. Updated documentation and customization `:type' to reflect usage. 2004-10-29 Johan Bockgård * AUTHORS: Added self. 2004-10-17 Diane Murray * erc-list.el: Added local variables for this file. (erc-list-version): New. (erc-cmd-LIST): Take &rest rather than &optional arguments, as was done in revision 1.21. Allow for input when called interactively. (erc-prettify-channel-list, erc-chanlist-toggle-sort-state): Use `unless' instead of when not. 2004-10-17 Diane Murray * erc-backend.el (erc-handle-unknown-server-response): Fixed so that the contents are only shown once. (MOTD): Display lines in the server buffer if it's the first MOTD sent upon connection. This is to avoid the problem of having the MOTD of one server showing up in another server's buffer if it took a while to get connected. (004): Fixed to show the user modes and channel modes correctly. (303): Now displays the nicknames returned by ISON instead of the user's nickname. (367, 368): Moved up into 300's section of the code. Added documentation. Use `multiple-value-bind' to set variables in 367. (391): Fixed so that the server name is shown correctly. 2004-10-17 Diane Murray * erc.el (erc-process-sentinel): Use CPROC instead of `erc-process' in debug message. Should fix a bug where an error saying "Buffer *scratch* has no process" would occur when disconnected. (erc-cmd-SV): Check for X toolkit after checking for more specific features. (erc--kill-server): Set `quitting' to non-nil so that we don't automatically reconnect. 2004-10-05 Jorgen Schaefer * erc.el (erc-ignored-user-p): Don't require regexes to match the beginning. 2004-09-11 Jorgen Schaefer * erc.el: group erc: Moved to 'applications (patch by bojohan) 2004-09-08 Jorgen Schaefer * erc-button.el (erc-button-remove-old-buttons): Remove 'keymap not 'local-map. 2004-09-03 Jorgen Schaefer * erc-backend.el: JOIN response handler: Typo fix of the last commit. 2004-09-03 Jorgen Schaefer * erc-backend.el: JOIN response handler: Run `erc-join-hook' without arguments as specified in the docstring. 2004-08-27 Jorgen Schaefer * erc.el (erc-send-current-line): Removed unused variable SENTP. 2004-08-19 Jorgen Schaefer * erc.el: ERC-SEND-COMPLETED-HOOK used to be run when the prompt was already displayed. We restore this behavior (thanks to bojohan and TerryP for noticing). We also fix the docstring of ERC-SEND-COMPLETED-HOOK, since the hook is (and used to be) called even if nothing was sent to the server. (erc-send-completed-hook): Fixed docstring. (erc-send-current-line): Add incantation for erc-send-completed-hook. (erc-send-input): Remove incantation for erc-send-completed-hook. 2004-08-18 Jorgen Schaefer * erc-backend.el: response-handler 368: Use s368, not s367. 2004-08-17 Jorgen Schaefer * erc.el (erc-scroll-to-bottom): Don't scroll when we're not connected anymore. 2004-08-17 Jorgen Schaefer * erc-backend.el, erc.el: Handle /mode #emacs b output without errors and such. First, handle unknown format specs gracefully (that is, give a useful error). Then, provide handlers for the banlist replies. * erc-backend.el: New handler for 367 and 368. Removed from default handler. * erc.el: Provide english catalog for s367 and s368. (erc-format-message): Give an error message when we don't find an entry. 2004-08-17 Jorgen Schaefer * erc-fill.el: erc-fill-variable could be confused about really long nicks. We put an upper limit on the length of the fill prefix. (erc-fill-variable): Adjust fill-prefix. erc-fill-variable-maximum-indentation: New variable. 2004-08-17 Francis Litterio * erc.el (erc-send-input): Fixed a bug where this function referenced variable "input" instead of variable "str". 2004-08-16 Francis Litterio * erc-list.el (erc-chanlist-highlight-line): Fixed a bug where this function failed to set the correct face for highlighting the current line. 2004-08-14 Jorgen Schaefer * erc-fill.el (erc-fill-variable): Don't fuck up when the looking-at didn't work. 2004-08-14 Jorgen Schaefer * erc.el (erc-send-single-line): Call the hooks to change the appearance for something only if we actually inserted something, doh. (erc-display-command): Display the prompt outside of the area that set the text properties on. 2004-08-14 Jorgen Schaefer * erc.el: Refactored erc-send-current-line. This should fix some dormant bugs, and make the whole thing actually readable. Yay. Some changes in behavior were made. Whitespace at the end of lines sent is not removed anymore, but that shouldn't bother anyone. Additionally, errors in commands or hooks shouldn't prevent the prompt from showing up again now. (erc-parse-current-line): Removed. (erc-send-current-line): Refactored. (erc-send-input): New function. (erc-send-single-line): New function. (erc-display-command): New function. (erc-display-msg): New function. (erc-user-input): New function. 2004-08-13 Jorgen Schaefer * erc.el (erc-cmd-SERVER): Use newer keyword call interface to erc-select, and handle the error if it can't resolve the host. 2004-08-11 Jorgen Schaefer * erc-backend.el, erc.el: erc-backend.el (404 response handler): New function. We now support "cannot send to channel". * erc.el (erc-define-catalog call): Added s404. (erc-ctcp-ECHO-reply, erc-ctcp-CLIENTINFO-reply, erc-ctcp-FINGER-reply, erc-ctcp-PING-reply, erc-ctcp-TIME-reply, erc-ctcp-VERSION-reply): Display reply in the active window, not the server window. 2004-08-10 Jorgen Schaefer * erc.el (erc-with-all-buffers-of-server): Actually make it left to right, doh. 2004-08-10 Jorgen Schaefer * erc.el (erc-with-all-buffers-of-server): Evaluate left-to-right so we don't surprise a user. 2004-08-10 Jorgen Schaefer * erc.el (erc-process-input-line): Parentophobia! Another paren-fix. 2004-08-10 Jorgen Schaefer * erc-backend.el: PRIVMSG NOTICE response handler: Killed one paren too much. Poor paren. Got resurrected. 2004-08-10 Jorgen Schaefer * erc-track.el: Make server buffers showing up in the mode line optional. Thanks to Daniel Knapp on the EmacsWiki for this patch. erc-track-exclude-server-buffer: New variable. (erc-track-modified-channels): Return a server buffer only if erc-track-exclude-server-buffer is nil. 2004-08-10 Jorgen Schaefer * erc.el (erc-cmd-DESCRIBE): Don't parse arguments. 2004-08-10 Jorgen Schaefer * erc-truncate.el (erc-truncate-buffer-to-size): Use erc-insert-marker, not (point-max), to decide the length of the buffer. A long input line shouldn't make the buffer smaller. 2004-08-10 Jorgen Schaefer * erc-macs.el, erc-members.el: The change to hashes for channel members has been made some time ago. Clean up the various tries to do this in the past. * erc-macs.el, erc-members.el: Removed. 2004-08-10 Jorgen Schaefer * erc-backend.el, erc-ibuffer.el, erc-members.el, erc.el: Nothing big changed here. Really. Uhm, maybe the info-buffers are gone or so. Can't really remember. Don't worry, nothing important is missing. erc-speedbar.el looks nice btw, did you know? Adjusted various places in erc.el, erc-backend.el, erc-ibuffer.el and erc-members.el - too numerous to list here, sorry. * erc.el: erc-use-info-buffers: Removed. erc-info-mode-map: Removed. (erc-info-mode): Removed. (erc-find-channel-info-buffer): Removed. (erc-update-channel-info-buffer): Removed. (erc-update-channel-info-buffers): Removed. * erc-members.el: erc-update-member renamed to erc-update-channel-member for better clarity. 2004-08-10 Jorgen Schaefer * erc.el: This change improves the help output on a bogus command invocation. We display the command as it would be typed by the user, not as it is seen by Emacs. (erc-get-arglist): Is now called erc-function-arglist, and returns now an arglist without the enclosing parens. (erc-command-name): New function. (erc-process-input-line): Pass the command name, not the function name. 2004-08-10 Jorgen Schaefer * erc.el (erc-process-input-line): Fix bug when the command doesn't have an arglist or no documentation. Thanks bojohan again :) 2004-08-10 Jorgen Schaefer * erc-match.el (erc-add-entry-to-list), (erc-remove-entry-from-list): Update docstring, a TEST argument is not given. 2004-08-10 Jorgen Schaefer * erc.el (erc-with-buffer): Really fix this docstring. 2004-08-10 Jorgen Schaefer * erc.el (erc-with-buffer): Fix double evaluation in macro, and fix docstring. 2004-08-10 Brian Palmer * erc.el (erc-cmd-JOIN): Use erc-member-ignore-case instead of member-ignore-case. 2004-08-09 Johan Bockgård * erc-backend.el: Define an "Edebug specification" for the `define-erc-response-handler' macro. This means that one can step through response handlers defined by this macro with edebug. Maybe more macros would benefit from this? 2004-08-09 Johan Bockgård * erc-pcomplete.el (pcomplete/erc-mode/CTCP): New function. Completion for the /CTCP command. (erc-pcomplete-ctcp-commands): New variable. List of ctcp commands. 2004-08-09 Johan Bockgård * erc-list.el: Clean up docstrings. (erc-prettify-channel-list): Extend properties to cover the entire line, including the newline, to make it look better. (erc-chanlist-highlight-line): Ditto. (erc-chanlist-mode-hook): Make it a defcustom. 2004-08-09 Jorgen Schaefer * erc.el (erc-compute-full-name): Typo fix, should be full-name, not name. 2004-08-09 Jorgen Schaefer * erc.el (erc): Setup the buffer to be shown in a window at the end of this function. This enables 'window-noselect to work properly. (erc, erc-send-current-line): Fix some goto-char/open-line/goto-char to goto-char/insert. 2004-08-08 Jorgen Schaefer * erc.el (erc-parse-user): Live with bogus info from bouncers. 2004-07-31 Brian Palmer * erc.el (erc-select): Change the docstring to reflect the new arguments; include the arguments in the docstring for non-cvs emacs. Change the parameters to call erc-compute-* instead of using the erc-* variables directly. (erc-compute-server): Made argument optional. (erc-compute-nick): ditto. (erc-compute-full-name): ditto. (erc-compute-port): ditto. 2004-07-30 Francis Litterio * erc.el (erc-cmd-BANLIST): Fixed a bug where channel-banlist was not reset to nil before fetching an updated banlist from the server. 2004-07-30 Francis Litterio * erc.el (erc-cmd-BANLIST): Fixed a bug where the 'received-from-server property on variable channel-banlist was not being reset to nil. This fixes the symptom where one types /BANLIST and sees "No bans for channel: #whatever" when you know there are bans. 2004-07-23 Brian Palmer * erc.el (erc-select-read-args): Use erc-compute-nick to calculate the default nickname 2004-07-20 Brian Palmer * erc.el (erc-process-sentinel-1): New function. This is an auxiliary function refactored out of erc-process-sentinel to decide a server buffer's fate (whether it should be killed, and whether erc should attempt to auto-reconnect). Michael Olson helped with this. (erc-kill-server-buffer-on-quit): New variable. Used in erc-process-sentinel-1 to decide whether to kill a server buffer when the user quit normally. (erc-process-sentinel): Auxiliary function erc-process-sentinel-1 split out. The function body has `with-current-buffer' wrapped around it, to ensure separation of messages if multiple connections were being made. Use `if' instead of `cond' in places where the decision is binary. The last (useless, since the server connection is closed) prompt in the server buffer is removed. Color "erc terminated" and "erc finished" messages with erc-error-face. Mark the buffer unmodified so that, if not killed automatically, the user is not prompted to save it. 2004-07-16 Brian Palmer * erc.el (erc-select-read-args): New function. Prompts the user for arguments to pass to erc-select and erc-select-ssl. (erc-select): Use (erc-select-read-args) when called interactively to get its arguments. When non-interactively, use keyword arguments. (erc-select-ssl): Ditto. (erc-compute-port): New function. Parallel to erc-compute-server, but comes up with a default value for an IRC server's port. 2004-07-16 Jorgen Schaefer * erc-match.el (erc-match-message): Quote the current nickname. 2004-07-12 Brian Palmer * erc-list.el (erc-chanlist-mode): Remove explicit invocation of erc-chanlist-mode-hook, since it's automatically invoked by define-derived-mode 2004-07-03 Jorgen Schaefer * erc-match.el (erc-match-current-nick-p): Quote current nick for regexp parsing. 2004-06-27 Johan Bockgård * erc-nickserv.el (erc-nickserv-identify-mode): Fix erroneous parentheses in call to `completing-read'. 2004-06-23 Alex Schroeder * Makefile (release): Depend on autoloads, and copy erc-auto.el into the tarball. 2004-06-14 Francis Litterio * erc.el (erc-log-irc-protocol): Fixed minor bug where each line received from a server was logged as two lines (one with text and one blank). 2004-06-08 Brian Palmer * erc-list.el (erc-chanlist-frame-parameters): Made customizable. (erc-chanlist-header-face): Changed to use defface with some reasonable defaults instead of make-face, and removed the associated -face variable. (erc-chanlist-odd-line-face): Ditto. (erc-chanlist-even-line-face): Ditto. (erc-chanlist-highlight-face): New variable. Holds a face used for highlighting the current line. (erc-cmd-LIST): Use erc-member-ignore-case instead of member-ignore-case. (erc-chanlist-post-command-hook): Change to move the highlight overlay instead of refontifying the entire buffer. (erc-chanlist-dehighlight-line): Added to detach the highlight overlay from the buffer. 2004-05-31 Jorgen Schaefer * erc.el: erc-mode-line-format: Add column numbers. 2004-05-31 Adrian Aichner * erc-autojoin.el: Typo fix. * erc-dcc.el (erc-dcc-do-GET-command): Use expand-file-name. (erc-dcc-get-file): XEmacs set-buffer-multibyte compatibility. * erc-log.el: Append `erc-log-setup-logging' to `erc-connect-pre-hook' so that `erc-initialize-log-marker' is run first (markers are needed by `erc-log-setup-logging'). (erc-enable-logging): Docstring fix. (erc-log-setup-logging): Move `erc-log-insert-log-on-open' to (1- (point-max)) when doing `erc-log-insert-log-on-open'. Modified version of a patch by Lawrence Mitchell. (erc-log-all-but-server-buffers): Do `save-excursion' as well. (erc-current-logfile): Pass buffer name as target argument to `erc-generate-log-file-name-function' if `erc-default-target' is nil. (erc-generate-log-file-name-with-date): Use expand-file-name. (erc-generate-log-file-name-short): Ditto. (erc-save-buffer-in-logs): Do `save-excursion' and test whether erc-last-saved-position is a marker. * erc-members.el: Avoid miscompiling macro `erc-log' and `with-erc-channel-buffer' by requiring 'erc at compile time. * erc-sound.el: Use expand-file-name. * erc.el (erc-debug-log-file): Ditto. (erc-find-file): Ditto. 2004-05-26 Francis Litterio * erc.el, erc-backend.el (erc-cmd-BANLIST): Added a missing "'" that was preventing /BANLIST from working. In erc-backend.el, added server response handler for 367 and 368 responses to get /BANLIST working. 2004-05-26 Francis Litterio * erc.el: Removed an eval-when-compile that was preventing the byte-compiled version of this file from loading. 2004-05-26 Francis Litterio * erc.el: Undid part of my last change. I suspect it was wrong. 2004-05-26 Francis Litterio * erc.el: Silenced several byte-compiler warnings. 2004-05-26 Francis Litterio * erc.el (erc-log-irc-protocol): Fixed problem where this function misformatted IRC protocol text if multiple lines were received from the server at one time. 2004-05-25 Francis Litterio * erc.el (erc-toggle-debug-irc-protocol): Cosmetic changes to the informational text in the *erc-protocol* buffer. 2004-05-24 Francis Litterio * erc.el (erc-log-irc-protocol, erc-process-filter): Now the lines inserted in the *erc-protocol* buffer are prefixed with the name of the network to/from which the data is going/coming. This makes reading the *erc-protocol* buffer much easier when connected to multiple networks. 2004-05-23 Jeremy Bertram Maitin-Shepard * erc-backend.el: Fixes server message parsing so that command arguments specified after the colon are not treated specially. All arguments are added to the `command-args' field, and the `contents' points to the last element in the `command-args' list. This allows ERC to connect to networks such as Undernet. Although keeping `contents' allows many of the response handlers to continue to work as-is, many other are probably broken by this patch. 2004-05-20 Lawrence Mitchell * HACKING: Add comment that C-c C-a can be useful if you write ChangeLog entries using Emacs' standard functions. 2004-05-17 Diane Murray * erc-speedbar.el: Ignore errors when attempting to require dframe (there are a couple implementations of speedbar, one of which uses of dframe). (erc-speedbar-version): New. (erc-speedbar-goto-buffer): Use dframe functions if dframe is available. 2004-05-17 Diane Murray * erc-autojoin.el: Added local variables for this file. (erc-autojoin-add): The channel name is in `erc-response.contents'. 2004-05-17 Mario Lang * erc-log.el: Don't autoload a define-key statement, erc-mode-map might not be known yet 2004-05-16 Lawrence Mitchell * erc-backend.el (erc-parse-server-response): Revert to original `erc-parse-line-from-server' version, since new version breaks for a number of edge cases. 2004-05-14 Diane Murray * erc-backend.el (erc-handle-unknown-server-response): New function. Added to `erc-default-server-functions'. Display unknown responses to the user. (221): Don't show nickname in modes list. (254): Fixed to use 's254. (303): Added docstring. (315, 318, 323, 369): Ignored responses grouped together. (391): New. (406, 432): Use ?n, not ?c in `erc-display-message'. (431, 445, 446, 451, 462, 463, 464, 465, 481, 483, 485, 491, 501, 502): All error responses with no arguments grouped together. 2004-05-14 Diane Murray * erc.el (erc-message-type-member): Use `erc-response.command'. `erc-track-exclude-types' should be respected again. (erc-cmd-TIME): Fixed to work with and without server given as argument. (erc-define-catalog): Added, s391, s431, s445, s446, s451, s462, s463, s464, s465, s483, s484, s485, s491, s501, s502. 2004-05-14 Lawrence Mitchell * HACKING: Typo fix. 2004-05-14 Lawrence Mitchell * Makefile (erc-auto.el): Pass -f flag to rm so that we don't fail if erc-auto.elc doesn't exist. 2004-05-14 Lawrence Mitchell * erc-backend.el (erc-with-buffer): Autoload. (erc-parse-server-response): XEmacs' `replace-match' only replaces subexpressions when operating on buffers, not strings, work around it. (461): Command with invalid arguments is `second', not `third'. 2004-05-14 Diane Murray * erc-notify.el (erc-notify-NICK): Use `erc-response.contents' to get nickname. 2004-05-13 Lawrence Mitchell * erc-track.el: Indentation fixes. (track-when-inactive): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. 2004-05-13 Lawrence Mitchell * erc-notify.el (notify): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. (erc-notify-timer, erc-notify-JOIN, erc-notify-NICK) (erc-notify-QUIT): Use new accessors for PARSED argument. 2004-05-13 Lawrence Mitchell * erc-nickserv.el (services, erc-nickserv-identify-mode): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. (erc-nickserv-identify-autodetect): Use new accessors for PARSED argument. 2004-05-13 Lawrence Mitchell * erc-netsplit.el (netsplit): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. (erc-netsplit-JOIN, erc-netsplit-MODE, erc-netsplit-QUIT): Use new accessors for PARSED argument. 2004-05-13 Lawrence Mitchell * erc-nets.el: Use `erc-server-FOO-functions', not `erc-server-FOO-hook. 2004-05-13 Lawrence Mitchell * erc-menu.el (erc-menu-definition): Only allow listing of channels if `erc-cmd-LIST' is fboundp. 2004-05-13 Lawrence Mitchell * erc-match.el: Use `erc-server-FOO-functions', not `erc-server-FOO-hook. (erc-get-parsed-vector-nick, erc-get-parsed-vector-type): Use new accessors for PARSED argument. 2004-05-13 Lawrence Mitchell * erc-list.el (erc-chanlist, erc-chanlist-322): Use new accessors for PARSED argument. Use `erc-server-FOO-functions', not `erc-server-FOO-hook. 2004-05-13 Lawrence Mitchell * erc-ezbounce.el (erc-ezb-notice-autodetect): Use new accessors for PARSED argument. (erc-ezb-initialize): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. 2004-05-13 Lawrence Mitchell * erc-dcc.el: Use `erc-server-FOO-functions', not `erc-server-FOO-hook. (erc-dcc-no-such-nick): Use new accessors for PARSED argument. 2004-05-13 Lawrence Mitchell * erc-bbdb.el (erc-bbdb-whois, erc-bbdb-JOIN, erc-bbdb-NICK): Use new accessors for PARSED argument. (BBDB): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. 2004-05-13 Lawrence Mitchell * erc-autojoin.el (autojoin): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. (erc-autojoin-add, erc-autojoin-remove): Use new accessors for PARSED argument. 2004-05-13 Lawrence Mitchell * erc-autoaway.el (autoaway): Use `erc-server-FOO-functions', not `erc-server-FOO-hook. 2004-05-13 Lawrence Mitchell * erc.el (erc-backend): Require. (erc-disconnected-hook, erc-join-hook, erc-quit-hook) (erc-part-hook, erc-kick-hook): Docstring fix, we now use `erc-server-FOO-functions', rather than `erc-server-FOO-hook'. (erc-event-to-hook-name, erc-event-to-hook): Remove. (erc-once-with-server-event) (erc-once-with-server-event-global): Use `erc-get-hook' (erc-process-filter): Use `erc-parse-server-response'. (erc-cmd-IDLE, erc-cmd-BANLIST, erc-cmd-MASSUNBAN): New accessors for PARSED argument. Rename all `erc-server-FOO-hook' to `erc-server-FOO-functions'. (erc-server-364-hook, erc-server-365-hook, erc-server-367-hook) (erc-server-368-hook, erc-server-KILL-hook) (erc-server-PONG-hook, erc-server-200-hook, erc-server-201-hook) (erc-server-202-hook, erc-server-203-hook, erc-server-204-hook) (erc-server-205-hook, erc-server-206-hook, erc-server-208-hook) (erc-server-209-hook, erc-server-211-hook, erc-server-212-hook) (erc-server-213-hook, erc-server-214-hook, erc-server-215-hook) (erc-server-216-hook, erc-server-217-hook, erc-server-218-hook) (erc-server-219-hook, erc-server-241-hook, erc-server-242-hook) (erc-server-243-hook, erc-server-244-hook, erc-server-249-hook) (erc-server-261-hook, erc-server-262-hook, erc-server-302-hook) (erc-server-323-hook, erc-server-342-hook, erc-server-351-hook) (erc-server-381-hook, erc-server-382-hook, erc-server-391-hook) (erc-server-392-hook, erc-server-393-hook, erc-server-394-hook) (erc-server-395-hook, erc-server-402-hook, erc-server-404-hook) (erc-server-407-hook, erc-server-409-hook, erc-server-411-hook) (erc-server-413-hook, erc-server-414-hook, erc-server-415-hook) (erc-server-422-hook, erc-server-423-hook, erc-server-424-hook) (erc-server-431-hook, erc-server-436-hook, erc-server-437-hook) (erc-server-441-hook, erc-server-443-hook, erc-server-444-hook) (erc-server-445-hook, erc-server-446-hook, erc-server-451-hook) (erc-server-462-hook, erc-server-463-hook, erc-server-464-hook) (erc-server-465-hook, erc-server-467-hook, erc-server-471-hook) (erc-server-472-hook, erc-server-473-hook, erc-server-483-hook) (erc-server-491-hook, erc-server-502-hook): Remove. (erc-call-hooks, erc-parse-line-from-server): Remove (erc-server-hook-list): Remove. Remove top-level call too. (erc-server-ERROR, erc-server-INVITE, erc-server-JOIN) (erc-server-KICK, erc-server-MODE, erc-server-NICK) (erc-server-PART, erc-server-PING, erc-server-PONG) (erc-server-PRIVMSG-or-NOTICE, erc-server-QUIT) (erc-server-TOPIC, erc-server-WALLOPS, erc-server-001) (erc-server-004, erc-server-005, erc-server-221, erc-server-252) (erc-server-253, erc-server-254, erc-server-301, erc-server-303) (erc-server-305, erc-server-306, erc-server-311-or-314) (erc-server-312, erc-server-313, erc-server-317, erc-server-319) (erc-server-320, erc-server-321, erc-server-322, erc-server-324) (erc-server-329, erc-server-330, erc-server-331, erc-server-332) (erc-server-333, erc-server-341, erc-server-352, erc-server-353) (erc-server-366, erc-server-MOTD, erc-server-379) (erc-server-401, erc-server-403, erc-server-405, erc-server-406) (erc-server-412, erc-server-421, erc-server-432, erc-server-433) (erc-server-437, erc-server-442, erc-server-461, erc-server-474) (erc-server-475, erc-server-477, erc-server-481, erc-server-482) (erc-server-501): Move to erc-backend.el (erc-auto-query, erc-banlist-store, erc-banlist-finished) (erc-banlist-update, erc-connection-established) (erc-process-ctcp-query, erc-display-server-message): Use new accessors for PARSED argument. 2004-05-13 Lawrence Mitchell * erc-backend.el (erc-parse-server-response) (erc-handle-parsed-server-response, erc-get-hook) (define-erc-response-handler): New functions. (erc-response): New struct for server responses. (erc-server-responses): New variable. (erc-call-hooks): Move from erc.el and rework. (ERROR, INVITE, JOIN, KICK, MODE, NICK, PART, PING, PONG) (PRIVMSG, NOTICE, QUIT, TOPIC, WALLOPS, 001, MOTD, 376, 004) (252, 253, 254, 250, 301, 303, 305, 306, 311, 312, 313, 315) (317, 318, 319, 320, 321, 322, 324, 329, 330, 331, 332, 333) (341, 352, 353, 366, 369, 379, 401, 403, 405, 406, 412, 421) (432, 433, 437, 442, 461, 474, 477, 481, 482, 501, 323, 221) (002, 003, 371, 372, 374, 375, 422, 251, 255, 256, 257, 258) (259, 265, 266, 377, 378, 314, 475, 364, 365, 367, 368, 381) (382, 391, 392, 393, 394, 395, 200, 201, 202, 203, 204, 205) (206, 208, 209, 211, 212, 213, 214, 215, 216, 217, 218, 219) (241, 242, 243, 244, 249, 261, 262, 302, 342, 351, 402, 404) (407, 409, 411, 413, 414, 415, 423, 424, 431, 436, 441, 443) (444, 445, 446, 451, 462, 463, 464, 465, 467, 471, 472, 473) (483, 491, 502, 005, KILL): Move from erc.el and rework using `define-erc-response-handler' and erc-response struct. 2004-05-12 Diane Murray * erc.el: A few bug fixes to avoid errors after disconnect, including the "Selecting deleted buffer" bug. (erc-channel-user-op-p, erc-channel-user-voice-p): Make sure NICK is non-nil (`erc-current-nick' can return nil). (erc-server-buffer): Make sure the buffer isn't a #. (erc-server-buffer-live-p): New function. (erc-display-line, erc-join-channel, erc-prepare-mode-line-format, erc-away-p): Use `erc-server-buffer-live-p' to make sure process buffer exists. (erc-send-current-line): If there is no server buffer, let the user know. 2004-05-12 Diane Murray * erc.el, erc-log.el: C-c C-l keybinding now defined in erc-log.el. (erc-log-version): New. (erc-cmd-JOIN): Fix applied for bug where /join -invite causes errors when there's no `invitation'. 2004-05-11 Diane Murray * erc.el (erc-cmd-JOIN): Make sure `chnl' is non-nil before trying to join anything (chnl is not set if /join -invite is used but there's no `invitation'). 2004-05-10 Diane Murray * erc-log.el: Define C-c C-l keybinding outside of `erc-log-mode', making it available all the time; autoload definition. (erc-log-version): New. 2004-05-09 Diane Murray * AUTHORS, CREDITS, Makefile, erc-autoaway.el, erc-autojoin.el, erc-button.el, erc-chess.el, erc-dcc.el, erc-ezbounce.el, erc-fill.el, erc-ibuffer.el, erc-imenu.el, erc-lang.el, erc-list.el, erc-log.el, erc-macs.el, erc-match.el, erc-members.el, erc-menu.el, erc-nets.el, erc-netsplit.el, erc-nickserv.el, erc-notify.el, erc-page.el, erc-ring.el, erc-speak.el, erc-speedbar.el, erc-stamp.el, erc-track.el, erc-truncate.el, erc-xdcc.el, erc.el: Applied all relevant bug fixes and code cleanup made between the time of the ERC_4_0_RELEASE tag until now. 2004-05-09 Diane Murray * erc-menu.el: Updated copyright years. 2004-05-09 Lawrence Mitchell * erc.el (erc-update-channel-info-buffer): Correct bug in sorting of channel users. Tiny change from Andreas Schwab . 2004-05-09 Lawrence Mitchell * erc-fill.el (erc-fill-variable): Fix docstring. 2004-05-09 Lawrence Mitchell * erc-button.el (erc-button-add-button): Use 'keymap text-property, rather than 'local-map, since it's cross-emacs compatible. Pass :mouse-down-action into `widget-convert-button' as 'erc-button-click-button, to make XEmacs happy. Replace bogus reference to erc-widget-press-button with erc-button-press-button. (erc-button-click-button): New (ignored) first argument, to make XEmacs behave when pressing buttons. (erc-button-press-button): New (ignored) &rest argument. 2004-05-09 Adrian Aichner * erc-log.el (erc-conditional-save-buffer): Fix docstring reference to erc-save-queries-on-quit. (erc-conditional-save-queries): Ditto. 2004-05-06 Diane Murray * erc-speedbar.el: Updated copyright years. Added local variables for this file; fixed indenting. (erc-speedbar): New group. (erc-speedbar-sort-users-type): New variable. (erc-speedbar-buttons): Handle query buffers (fixes a bug where an error would be thrown if the current buffer was a query). Ignore unknown buffers. (erc-speedbar-expand-channel): Show limit and key with channel modes. Sort users according to `erc-speedbar-sort-users-type'. (erc-speedbar-insert-user): Fixed bug where only nicks with more info were being listed, and those were shown twice. (erc-speedbar-goto-buffer): Don't use dframe functions, as dframe isn't available with the default speedbar. 2004-05-06 Diane Murray * erc.el (erc-sort-channel-users-alphabetically): New function. (erc-server-412, erc-server-432, erc-server-475): New functions. (erc-server-412-hook, erc-server-432-hook, erc-server-475-hook): Use them. (erc-server-401, erc-server-403, erc-server-405) (erc-server-421, erc-server-474, erc-server-481): Use catalog messages. (erc-define-catalog): Added s401, s403, s405, s412, s421, s432, s474, s475, and s481. 2004-05-06 Diane Murray * erc-nickserv.el: Added documentation to Commentary, Usage. Removed `outline-mode' from file local variables. (erc-services-mode): Use `erc-nickserv-identify-mode' to add hooks. (erc-nickserv-identify-mode): New function. (erc-nickserv-identify-mode): New variable. (erc-prompt-for-nickserv-password, erc-nickserv-passwords): Changed docstring. (erc-nickserv-identify-autodetect): Use `erc-nickserv-call-identify-function'. Docstring change. (erc-nickserv-identify-on-connect, erc-nickserv-identify-on-nick-change, erc-nickserv-call-identify-function): New functions. (erc-nickserv-identify): PASSWORD is not optional. Autoload function. 2004-05-05 Diane Murray * erc.el (erc-join-hook, erc-quit-hook, erc-part-hook, erc-kick-hook, erc-connect-pre-hook): Now customizable. (erc-nick-changed-functions): New hook. (erc-server-NICK): Run `erc-nick-changed-functions' with the arguments NEW-NICK and OLD-NICK. (erc-channel-user-voice-p, erc-channel-user-voice-p): Shortened docstring. 2004-05-05 Lawrence Mitchell * HACKING: New section on function/variable naming and coding conventions. 2004-05-05 Lawrence Mitchell * erc.el (erc-wash-quit-reason): Quote regexp special characters in NICK, LOGIN and HOST. 2004-05-04 Diane Murray * erc.el (erc-server-parameters): Typo fix in docstring. (erc-input-line-position): `:type' is now a choice between integer and nil. (erc-mode-map): Bind `erc-get-channel-mode-from-keypress' to C-c C-o instead of C-c RET (C-c C-m). (erc-cmd-GQUIT): Use REASON as argument when calling `erc-cmd-QUIT'. 2004-05-03 Lawrence Mitchell * erc-nicklist.el: Initial version. 2004-04-28 Diane Murray * erc-menu.el: Added local variables for file, fixed indenting. (erc-menu-version): New variable. (erc-menu-definition): "List channels": New. "Join channel": Use `erc-connected' as test. "Start a query": New. "List channel operators": New. "Input action": Moved up. "Set topic": Fixed test so it's only active in channels. "Leave this channel": Moved down. "Track hidden channel buffers": Removed. "Enable/Disable ERC Modules": New. 2004-04-28 Diane Murray * erc.el (erc-mode-map): Removed binding for `erc-save-buffer-in-logs' (moved to erc-log.el). (erc-cmd-QUERY, erc-cmd-OPS): Now interactive. 2004-04-28 Diane Murray * erc-log.el: Added local variables for this file. (erc-log-channels-directory): Added directory as a choice in `:type'. (define-erc-module): Define and undefine key binding (C-c C-l) for `erc-save-buffer-in-logs' here. 2004-04-28 Diane Murray * erc-nets.el: Added local variables for this file. (erc-networks-alist): Fixed `:type' to work better in customization. 2004-04-28 Diane Murray * erc-match.el: Added local variables for file. (erc-keywords): Use `list' instead of `cons' in `:type'. Fixes bug where mismatch was shown in customization. (erc-current-nick-highlight-type): Escape parentheses in docstring. Added keyword, nick-or-keyword as options in `:type'. 2004-04-28 Diane Murray * erc-stamp.el: Added local variables for file. (erc-away-timestamp-format): Allow nil as a choice in `:type'. (erc-timestamp-intangible): Changed `:type' to boolean. (erc-timestamp-right-column): Added `:group' and `:type'. 2004-04-28 Diane Murray * erc.el (erc-modules): Added bbdb, log, match, sound, and stamp as `:type' options; changed documentation for autojoin, fill, pcomplete, track. (erc-prompt-for-channel-key): New variable. (erc-join-channel): Only prompt for key if `erc-prompt-for-channel-key' is non-nil. (erc-format-my-nick): New function. (erc-send-message, erc-send-current-line): Use it. 2004-04-24 Johan Bockgård * erc-track.el (erc-track-modified-channels): Fix indentation. 2004-04-24 Johan Bockgård * erc-match.el (erc-hide-fools): Docstring fix. (erc-log-matches-types-alist): Added `current-nick' to valid choices. 2004-04-20 Diane Murray * erc-page.el, erc-ezbounce.el, erc-speak.el, erc-match.el, erc-track.el (erc-ezbounce, erc-page, erc-speak): Groups defined. (erc-match, erc-track): `erc' is parent group. (erc-ezb-regexp, erc-ezb-login-alist): Added `:group'. 2004-04-20 Jorgen Schaefer * erc-fill.el: Fixed erc-fill-static so it breaks the lines at the right column and respects timestamps. Patch by Simon Siegler (erc-fill-static): Major rewrite and split up into some functions. (erc-count-lines): Removed. (erc-fill-regarding-timestamp): New function. (erc-timestamp-offset): New function. (erc-restore-text-properties): New function. (erc-fill-variable): Respect leftbound timestamp. This is still broken if someone has both erc-timestamp-only-if-changed-flag set and erc-insert-timestamp-function set to 'erc-insert-timestamp-left, but otherwise it works now. 2004-04-20 Diane Murray * erc.el (erc-cmd-SV): Show features gtk, mac-carbon, multi-tty. Fixed so that arguments fit the format (build date was not being shown). 2004-04-19 Lawrence Mitchell * erc.el (erc-update-channel-topic): Error if `channel-topic' is unbound. Remove %-sign substitution. (erc-update-mode-line-buffer): Escape %-signs in `channel-topic' here. 2004-04-19 Diane Murray * erc.el (erc-send-action, erc-ctcp-query-ACTION, erc-ctcp-reply-ECHO-hook): Let `erc-display-message-highlight' propertize the message. (erc-display-message-highlight): Allow for any erc-TYPE-face. (erc-cmd-JOIN): Display error message instead of throwing an error if there's no `invitation'. (erc-cmd-PART): Allow for no reason if channel is provided. Fixes bug where user would part the current channel with the other channel's name as reason when no reason was given. (erc-server-vectors, erc-debug-missing-hooks): Added docstring. (erc-server-JOIN): Moved `erc-join-hook' to JOIN-you section. `erc-join-hook' called by `run-hook-with-args', sending the ARGS `chnl' and the channel's buffer. Changed an instance of if without else to when. (erc-server-477): New function. (erc-server-477-hook): Use `erc-server-477'. (erc-define-catalog): Added `no-invitation'. 2004-04-14 Diane Murray * erc-nickserv.el: Local variables for file added. (erc-nickserv-passwords): Customization: Network symbols updated to reflect `erc-nickserv-alist'. Allow user to type in network symbol. (erc-nickserv-alist): Now customizable variable. 2004-04-09 Diane Murray * erc-autoaway.el (erc-autoaway-reset-idletime): Make sure `line' is a string to avoid errors upon startup. 2004-04-06 Diane Murray * erc-autoaway.el (erc-autoaway-version): New variable. (erc-auto-discard-away): Updated docstring. (erc-autoaway-no-auto-back-regexp): New variable. (erc-autoaway-reset-idletime): Use it. Hopefully a better solution which allows for aliases to "/away" and any other text that the user wants to ignore when `erc-auto-discard-away' is non-nil. 2004-04-06 Diane Murray * erc-autoaway.el (erc-autoaway-reset-idletime): Forgot /gaway in regexp. 2004-04-06 Diane Murray * erc-autoaway.el (erc-autoaway-reset-idletime): If the user sends an "/away" command, don't call `erc-autoaway-set-back', fixes bug where ERC would send "/away" when user was already away and sent an "/away reason". Changed `l' to `line' for better understanding. (erc-autoaway-set-back): Changed `l' to `line' for better understanding. 2004-04-05 Diane Murray * erc.el (erc-set-channel-key): Now able to remove key. (erc-set-channel-limit): Now able to remove limit. (erc-get-channel-mode-from-keypress): Fixed docstring. 2004-04-04 Diane Murray * erc.el (erc-join-channel): Allow for optional channel key. (erc-set-modes): Need to set `channel-key' to nil in case of mode changes during split. (erc-show-channel-key-p): New variable. (erc-prepare-mode-line-format): Only show key if `erc-show-channel-key-p' is non-nil. 2004-04-04 Diane Murray * erc.el (channel-key): New variable. (erc-update-channel-key): New function. (erc-set-modes, erc-parse-modes, erc-update-modes, erc, erc-update-channel-info-buffer): Deal with channel keys. (erc-prepare-mode-line-format): Show channel key in header-line. (erc-server-NICK): Show nick change in server buffer as well. (erc, erc-send-command, erc-banlist-store, erc-banlist-update, erc-load-irc-script-lines, erc-arrange-session-in-multiple-windows, erc-handle-login, erc-find-channel-info-buffer): Changed when not to unless. (erc-server-MODE): Changed if without else to when. 2004-03-27 Adrian Aichner * erc.el (erc-cmd-BANLIST): Use `truncate-string-to-width' instead of `truncate-string' alias. (erc-nickname-in-use): Ditto. 2004-03-27 Francis Litterio * erc-list.el (erc-cmd-list): Fixed error caused by erc-cmd-LIST passing a non-sequence to erc-chanlist. 2004-03-22 Jeremy Bertram Maitin-Shepard * erc.el: Add new hook `erc-join-hook', which is run when we join a channel. 2004-03-22 Jeremy Bertram Maitin-Shepard * erc.el: Replaced existing notice user notification system and the configuration options, which consisted of `erc-echo-notices-in-minibuffer-flag' and `erc-echo-notices-in-current-buffer' with two new hooks, `erc-echo-notice-hook' and `erc-echo-notice-always-hook'. When user notification is needed, `erc-echo-notice-always-hook' is first run using `run-hook-with-args', then `erc-echo-notice-hook' is run using `run-hook-with-args-until-success'. In addition to these hooks, a large number of functions, which are described in the documentation strings of those hooks, were added which can be used to achieve a large variety of different behaviors. The current default behavior, which is identical to the existing default behavior, is for `erc-echo-notice-always-hook' to be set to `(erc-echo-notice-in-default-buffer). 2004-03-21 Diane Murray * erc-track.el (erc-modified-channels-display): Added a space before opening bracket. 2004-03-21 Diane Murray * erc.el (erc-format-query-as-channel-p): New variable. (erc-server-PRIVMSG-or-NOTICE): If `erc-format-query-as-channel-p' is nil, messages in the query buffer are formatted like private messages. (erc-server-252-hook, erc-server-253-hook, erc-server-254-hook, erc-server-256-hook, erc-server-257-hook, erc-server-258-hook, erc-server-259-hook, erc-server-371-hook, erc-server-372-hook, erc-server-374-hook, erc-server-374-hook, erc-server-442-hook, erc-server-477-hook): Removed, now defined in `erc-server-hook-list'. (erc-display-server-message): New function. (erc-server-252, erc-server-253, erc-server-254, erc-server-442): New functions. (erc-server-hook-list): Added 250, 256, 257, 258, 259, 265, 266, 377, 378, 477 - using `erc-display-server-message'. 251, 255 now use `erc-display-server-message'. Added 252, 253, 254, 442 - using respective erc-server-* functions. 371, 372, 374, 375 now defined here. (erc-define-catalog): Added s252, s253, s254, s442. (erc-server-001, erc-server-004, erc-server-005): Fixed documentation. 2004-03-20 Diane Murray * erc-stamp.el: Commentary: Changed `erc-stamp-mode' to `erc-timestamp-mode'. (erc-insert-timestamp-left): Use `erc-timestamp-face' on filler spaces as well. 2004-03-19 Diane Murray * erc.el (erc-send-action): Use `erc-input-face'. (erc-display-message-highlight): If the requested highlighting type doesn't match, just display the string with no highlighting and warn about it with `erc-log'. (erc-cmd-JOIN): If user is already on the requested channel, switch to that channel's buffer. (erc-ctcp-query-ACTION): Use `erc-action-face' for nick as well. (erc-header-line-use-help-echo-p): New variable. (erc-update-mode-line-buffer): Use `help-echo' for header-line if `erc-header-line-use-help-echo-p' is non-nil. 2004-03-18 Adrian Aichner * erc-nets.el: Use two arguments version of `make-obsolete', if third argument is not supported (for XEmacs). 2004-03-18 Andreas Fuchs * CREDITS: added CREDITS entry for Adrian Aichner 2004-03-18 Andreas Fuchs * erc-xdcc.el, erc.el, erc-autoaway.el, erc-autojoin.el, erc-button.el, erc-dcc.el, erc-ezbounce.el, erc-imenu.el, erc-list.el, erc-log.el, erc-match.el, erc-members.el, erc-menu.el, erc-netsplit.el, erc-notify.el, erc-speedbar.el, erc-stamp.el, erc-track.el, erc-truncate.el: (erc-coding-sytem-for-target): Removed. (erc-coding-system-for-target): New. (erc-autoaway-use-emacs-idle): Typo fix. (erc-auto-set-away): Ditto. (erc-auto-discard-away): Ditto. (autojoin): Ditto. (erc-button-alist): Ditto. (erc-dcc-auto-masks): Ditto. (erc-dcc-chat-send-input-line): Ditto. (erc-ezb-get-login): Ditto. (erc-unfill-notice): Ditto. (erc-save-buffer-in-logs): Ditto. (match): Ditto. (erc-log-matches-types-alist): Ditto. (erc-match-directed-at-fool-p): Ditto. (erc-match-message): Ditto. (erc-update-member): Ditto. (erc-ignored-reply-p): Ditto. (erc-menu-definition): Ditto. (erc-netsplit-QUIT): Ditto. (erc-notify-list): Ditto. (erc-speedbar-update-channel): Ditto. (erc-speedbar-item-info): Ditto. (erc-stamp): Ditto. (erc-timestamp-intangible): Ditto. (erc-add-timestamp): Ditto. (erc-timestamp-only-if-changed-flag): Ditto. (erc-show-timestamps): Ditto. (erc-track-priority-faces-only): Ditto. (erc-modified-channels-alist): Ditto. (erc-unique-substrings): Ditto. (erc-find-parsed-property): Ditto. (erc-track-switch-direction): Ditto. (erc-truncate-buffer-to-size): Ditto. (erc-xdcc): Ditto. (erc-auto-reconnect): Ditto. (erc-startup-file-list): Ditto. (erc-once-with-server-event): Ditto. (erc-once-with-server-event-global): Ditto. (erc-mode): Ditto. (erc-generate-new-buffer-name): Ditto. (erc): Ditto. (erc-open-ssl-stream): Ditto. (erc-default-coding-system): Ditto. (erc-encode-string-for-target): Ditto. (erc-decode-string-from-target): Ditto. (erc-scroll-to-bottom): Ditto. (erc-decode-controls): Ditto. (erc-channel-members-changed-hook): Ditto. (erc-put-text-property): Ditto. (erc-add-default-channel): Ditto. 2004-03-17 Diane Murray * erc.el (erc-process-sentinel): Cancel ping timer upon disconnect. (erc-cmd-PART): Use same regexp as `erc-cmd-QUIT' when no #channel is provided. (erc-nick-uniquifier, erc-manual-set-nick-on-bad-nick-p): `:group' was missing, added. (erc-part-reason-zippy, erc-part-reason-zippy): Removed FIXME comments. I see no problem allowing typed in reasons. 2004-03-16 Diane Murray * erc-stamp.el (erc-insert-timestamp-left): Added support for `erc-timestamp-only-if-changed-flag' and added docstring. (erc-timestamp-only-if-changed-flag): Updated documentation. 2004-03-13 Francis Litterio * erc-nets.el (erc-network-name): No longer marked as obsolete. Why was this function made obsolete? There is no other function that performs this task. Some of us use these functions in our personal ERC configs. 2004-03-12 Lawrence Mitchell * erc.el (erc-buffer-filter): Use `with-current-buffer'. (erc-process-input-line): Append newline to documentation. Fixes a bug whereby the prompt would be put on the same line as the output. (erc-cmd-GQUIT): Only try and send QUIT if the process is alive. 2004-03-12 Lawrence Mitchell * erc-log.el: Only add top-level hooks if `erc-enable-logging' is non-nil. 2004-03-10 Damien Elmes * erc-nets.el: From Adrian Aichner (adrian /at/ xemacs /dot/ org) * erc-nets.el: XEmacs make-obsolete only takes two arguments. 2004-03-10 Diane Murray * erc-nets.el (erc-determine-network): Use `erc-session-server' if `erc-announced-server' is nil to avoid error if server does not send 004 (RPL_MYINFO) message. 2004-03-10 Lawrence Mitchell * erc-nets.el (erc-server-alistm erc-settings): Use lowercase "freenode", as in `erc-networks-alist'. 2004-03-10 Lawrence Mitchell * erc-nickserv.el (erc-nickserv-alist): Use lowercase "freenode", as in `erc-networks-alist'. 2004-03-10 Lawrence Mitchell * erc-dcc.el (pcomplete/erc-mode/DCC): Append "send" as a list. 2004-03-10 Francis Litterio * erc-nets.el (erc-networks-alist): Changed "Freenode" to "freenode". 2004-03-10 Francis Litterio * erc-list.el (erc-cmd-LIST): Improved the docstring. Made message to user more accurate depending on whether a single channel is being listed or not. 2004-03-10 Lawrence Mitchell * erc-nets.el (erc-determine-network): Make matching logic simpler (suggested by Damian Elmes). (erc-current-network, erc-network-name): Add `make-obsolete' form. (erc-set-network-name): Indentation fix. (erc-ports-list): Add docstring. Rework function body to use `nconc'. 2004-03-09 Diane Murray * erc-list.el, erc-notify.el (require 'erc-nets): Added. 2004-03-08 Diane Murray * erc.el (erc-network-name): Function definition moved to erc-nets.el. The functions `erc-determine-network' and `erc-network' in erc-nets.el do what this did before. Deprecated. Use (erc-network) instead. 2004-03-08 Diane Murray * erc-nickserv.el: Changed copyright notice. Now require erc-nets. erc-nets.el now takes care of network-related functions and variables. (erc-nickserv-alist): Changed network symbols to match those in `erc-networks-alist' in erc-nets.el. (erc-nickserv-identify-autodetect): Use `erc-network'. (erc-nickserv-identify): Use `erc-network'. Changed wording for interactive use, now shows current nick. (erc-networks): Removed. Use `erc-networks-alist' as defined in erc-nets.el. (erc-current-network): Function definition moved to erc-nets.el. The functions `erc-determine-network' and `erc-network' in erc-nets.el do what this did before. Deprecated. Use (erc-network) instead. 2004-03-08 Diane Murray * erc-nets.el: Added commentary, `erc-nets-version'. (erc-server-alist): Changed Brasnet to BRASnet. (erc-networks-alist): All networks (except EFnet and IRCnet) now have a MATCHER. (erc-network): New variable. (erc-determine-network): New function. Determine the network the user is on. Use the server parameter NETWORK, if provided, else parse the server name and search for a match (regexp and loop by wencem) in `erc-networks-alist'. Return the name of the network or "Unknown" as a symbol. (erc-network): New function. Returns value of `erc-network'. Use this when the current buffer is not the server process buffer. (erc-current-network): Returns the value of `erc-network' as expected by users who used the function as it was defined in erc-nickserv.el. Deprecated. (erc-network-name): Returns the value of `erc-network' as expected by users who used the function as it was defined in erc.el. Deprecated. (erc-set-network-name): New function. Added to `erc-server-375-hook' and `erc-server-422-hook'. (erc-unset-network-name): New function. Added to `erc-disconnected-hook'. (erc-server-select): Small documentation word change. 2004-03-07 Diane Murray * AUTHORS, CREDITS: disumu info updated 2004-03-06 Lawrence Mitchell * erc-list.el (erc-cmd-LIST): Take &rest rather than &optional arguments. (erc-chanlist): Construct correct LIST command from list of channels. 2004-03-06 Lawrence Mitchell * erc.el (erc-update-mode-line-buffer): Add 'help-echo property to header-line text. This allows header lines longer than the width of the current window to be seen. 2004-03-06 Jorgen Schaefer * erc-match.el (erc-match-directed-at-fool-p): Also check for "FOOL, " 2004-03-06 Jorgen Schaefer * erc-match.el (erc-match-message): Only use nick-or-keyword if we're matching our nick. 2004-03-06 Jorgen Schaefer * erc-match.el: The highlight type for the current nickname can now also be 'nick-or-keyword, to highlight the nick of the sender if that is available, but fall back to highlighting your nickname in the whole message otherwise. (erc-current-nick-highlight-type): Adapted docstring accordingly. (erc-match-message): Added new condition. Also added some comments to this monster of a function. 2004-03-06 Jorgen Schaefer * erc.el (erc-is-valid-nick-p): Don't check for length less or equal to 9. 2004-03-06 Damien Elmes * erc-nickserv.el (erc-current-network): the last change resulted in this function failing when a network identifies itself as anything other than var.netname.com, so for instance 'vic.au.austnet.org' fails. This version is only a marginal improvement over the original, but if we want to be more flexible we'll probably have to do the iteration ourselves instead of using assoc. 2004-03-05 Diane Murray * erc.el: Added erc-server-001 which runs when the server sends its welcome message. It sets the current-nick to reflect the server's settings. This fixes a bug where nicks that were too long and got truncated by the server were still set to the old value. (nickname-in-use): If user wants to try again manually, let user know that the nick is taken. If not, go through erc-default-nicks until none are left, and then try one last time with erc-nick-uniquifier. If it's still a bad-nick, make the user change nick manually. When applying uniquifier, use NICKLEN if it's in the server parameters, otherwise use what RFC 2812 says is the max nick length (9 chars). Added custom variable erc-manual-set-nick-on-bad-nick-p, which is set to nil and erc-nick-change-attempt-count. Reset erc-default-nicks and erc-nick-change-attempt-count when the nick has been changed successfully. This fixes the bug where ERC would get caught in a neverending loop of trying to set the same nick if the nick was too long and the uniquified nick was not available. * added erc-cmd-WHOAMI * added custom variable erc-mode-line-away-status-format, use this instead of the previous hard-coded setting * erc-server-315|318|369-hook defvar lines removed - they're already defined in erc-server-hook-list 2004-03-04 Lawrence Mitchell * HACKING: Initial commit. Some thoughts on coding standards. 2004-03-03 Diane Murray * erc-track.el: added the variable erc-track-priority-faces-only which adds the option to ignore changes in a channel unless there are faces from the erc-track-faces-priority-list in the message options are nil, 'all, or a list of channel name strings 2004-03-01 Diane Murray * erc.el, erc-ibuffer.el, erc-menu.el: Changed erc-is-channel-op and erc-is-channel-voice to erc-channel-user-op-p and erc-channel-user-voice-p to better match erc-channel-user structure (and emacs lisp usage) 2004-03-01 Diane Murray * erc.el, erc-ibuffer.el, erc-menu.el: erc-track-modified-channels-mode is now erc-track-mode 2004-02-29 Diane Murray * erc-match.el: Added 'keyword option to erc-current-nick-highlight-type highlights all instances of current-nick in the message ('nickname option in cvs revisions 1.9 - 1.11 had same effect) 2004-02-28 Jorgen Schaefer * erc-button.el: Add Lisp: prefix for the EmacsWiki Elisp area. (erc-button-alist): Added Lisp: prefix. (erc-emacswiki-lisp-url): New variable. (erc-browse-emacswiki-lisp): New function. 2004-02-27 Lawrence Mitchell * erc.el (erc-get-arglist): Use `substitute-command-keys', rather than hard-coding C-h f for `describe-function'. 2004-02-26 Johan Bockgård * erc-log.el (erc-save-buffer-in-logs): bind `inhibit-read-only' to t around call to `erase-buffer'. 2004-02-23 Theresa O'Connor * erc-chess.el, erc-dcc.el, erc-ezbounce.el, erc-list.el, erc-macs.el, erc-ring.el, erc-stamp.el, erc.el: Normalized buffer local variable creation. 2004-02-17 Lawrence Mitchell * erc.el (erc-scroll-to-bottom, erc-add-scroll-to-bottom): Mention `erc-input-line-position' in docstring. 2004-02-13 Jorgen Schaefer * erc.el (erc-kick-hook): Typo fix. 2004-02-13 Jeremy Bertram Maitin-Shepard * erc.el: Added `erc-kick-hook', which is called when the local user is kicked from a channel. Fixed a bug in `erc-cmd-OPS', such that the command now works. Added `erc-remove-channel-users', in order to fix a number of significant bugs relating to channel parting. 2004-02-12 Jorgen Schaefer * erc.el (erc-display-prompt): Remove last change. This caused a lot of trouble :( 2004-02-12 Jorgen Schaefer * erc.el (erc-display-prompt): Also set 'field property, so C-j works on an empty prompt. 2004-02-12 Lawrence Mitchell * erc.el (erc-update-channel-topic): Ensure that `channel-topic' does not contain any bare format controls. 2004-02-10 Jorgen Schaefer * erc-stamp.el (erc-timestamp-intangible): New variable (user feature request) (erc-format-timestamp): Use erc-timestamp-intangible. 2004-02-07 Jeremy Bertram Maitin-Shepard * erc-button.el: Fixed bug related to nickname buttonizing and text fields due to erc-stamp. 2004-02-07 Jeremy Bertram Maitin-Shepard * CREDITS: Added mention of my change of ERC to use hash tables. 2004-02-07 Jeremy Bertram Maitin-Shepard * AUTHORS: Added myself to the list. 2004-02-05 Lawrence Mitchell * erc.el: From Jeremy Maitin-Shepard : (erc-remove-channel-user): Use `delq' not `delete'. (erc-get-buffer): Pass PROC through to `erc-buffer-filter'. (erc-process-sentinel): Use `erc' rather than `erc-reconnect' for auto-reconnection. 2004-02-02 Lawrence Mitchell * erc.el (erc-buffer-list-with-nick): Apply `erc-downcase' NICK. 2004-01-30 Alex Schroeder * erc.el (erc-get-buffer): Use erc-buffer-filter. 2004-01-30 Johan Bockgård * erc.el: From jbms: (erc-get-channel-nickname-list): New function. (erc-get-server-nickname-list): New function. (erc-get-server-nickname-alist): New function. (erc-get-channel-nickname-alist): New function. 2004-01-30 Johan Bockgård * erc-match.el (erc-add-entry-to-list, erc-remove-entry-from-list): Use `erc-member-ignore-case' to compare entries. (erc-add-pal, erc-add-fool): Fix type bug. Use `erc-get-server-nickname-alist'. 2004-01-29 Johan Bockgård * erc.el: From jbms: Adds xemacs compatibility to hash table channel-members patch. 2004-01-29 Johan Bockgård * erc.el (erc-update-undo-list): Rewritten. Update buffer-undo-list in place. Deal with XEmacsesque entries (extents) in the list. (erc-channel-users): Fix unescaped open-paren in left column in docstring. 2004-01-29 Johan Bockgård * erc-ring.el (erc-replace-current-command): Exclude the prompt from the deleted region and don't redisplay the prompt (because `erc-display-prompt' flushes `buffer-undo-list'). 2004-01-29 Johan Bockgård * erc-match.el (erc-add-entry-to-list): Use `symbol-value' instead of `eval'. 2004-01-28 Jorgen Schaefer * erc.el (erc-kill-buffer-function): maphash was missing an argument. 2004-01-28 Jorgen Schaefer * Makefile, erc-autoaway.el, erc-button.el, erc-ibuffer.el, erc-lang.el, erc-list.el, erc-match.el, erc-menu.el, erc-page.el, erc-pcomplete.el, erc-speedbar.el, erc.el: HUGE change by jbms. This makes channel-members a hash, erc-channel-users. Modified files: Makefile erc-autoaway.el erc-button.el erc-ibuffer.el erc-lang.el erc-list.el erc-match.el erc-menu.el erc-page.el erc-pcomplete.el erc-speedbar.el erc.el The changes are too numerous to document properly. Have fun with the breakage. 2004-01-27 Jorgen Schaefer * erc.el (erc-send-input-line): Add a space to empty lines so the server likes them. 2004-01-25 Jorgen Schaefer * erc.el: erc-send-whitespace-lines: New variable. (erc-send-current-line): Use erc-send-whitespace-lines. Also, removed superfluous test for empty line in the mapc, since the blank line test should find all. I do like to be able to send an empty line when i want to! (erc-send-current-line): Check for point being in input line before checking for blank lines. 2004-01-21 Lawrence Mitchell * erc.el (erc-display-line-1): Move `erc-update-undo-list' outside `save-restriction'. Removing need for temporary variable. (erc-send-current-line): Fix bug introduced by last change, remove complement in blank line regexp. 2004-01-20 Lawrence Mitchell * erc.el (erc-update-undo-list): Add logic to catch the case when `buffer-undo-list' is t, indentation cleanup. (erc-send-current-line): Reverse logic for matching blank lines. 2004-01-20 Lawrence Mitchell * erc.el (erc-input-line-position): New variable. If non-nil, specifies the argument to `recenter' in `erc-scroll-to-bottom'. (erc-scroll-to-bottom): Use it. 2004-01-20 Lawrence Mitchell * erc.el: From Johan Bockgård : (erc-update-undo-list): New function. Update `buffer-undo-list' so that calling `undo' in an ERC buffer doesn't mess up the existing text. (erc-display-line-1): Use it. 2004-01-19 Lawrence Mitchell * erc.el (erc-beg-of-input-line): Use `forward-line' rather than `beginning-of-line'. Docstring fix. (erc-end-of-input-line): Docstring fix. 2004-01-13 Jorgen Schaefer * erc.el (erc-display-prompt): Remove the undo list after displaying the prompt, so the user can't undo ERC changes, which breaks some stuff anyways. This way the user can still undo his editing, but not ours. 2004-01-12 Jorgen Schaefer * erc.el (erc-scroll-to-bottom): Should recenter on the bottom line, not the second-to-last one. 2004-01-12 Lawrence Mitchell * erc.el (erc-bol): Fix bug introduced in my changes from 2004-01-11. 2004-01-12 Lawrence Mitchell * erc.el: From Brian Palmer (erc-cmd-JOIN): Use `erc-member-ignore-case', rather than `member-ignore-case'. 2004-01-12 Jorgen Schaefer * erc.el: There was an inconsistency where the values of op and voice in channel-names could be 'on or 'off after an update, t and nil before. The intended version was to have t or nil, so i fixed it to do so. (channel-names): Updated docstring. (erc-update-current-channel-member): Clarified docstring, fixed so it sets t or nil on an update as well, not only on an add. (erc-cmd-OPS): Updated not to check for 'on (the only function that did this!) 2004-01-12 Lawrence Mitchell * erc.el (erc-part-reason-various-alist, erc-update-mode-line-buffer): Fix docstring 2004-01-11 Lawrence Mitchell * erc.el (erc-update-mode-line): Fix typo. 2004-01-11 Lawrence Mitchell * erc.el (erc-prompt-interactive-input): Removed. (erc-display-prompt): Removed `erc-prompt-interactive-input' option. (erc-interactive-input-map): Removed. Major docstring fixes. 2004-01-07 Francis Litterio * erc.el (erc-cmd-OPS): Added this function. (erc-cmd-IDLE): Switched from using erc-display-message-highlight to erc-make-notice. 2004-01-07 Francis Litterio * erc-list.el (erc-cmd-LIST): Switched from using erc-display-message-highlight to erc-make-notice. 2004-01-07 Francis Litterio * erc.el (erc-once-with-server-event): Added a sentence to the docstring. Now returns the uninterned symbol that is added to the server hook. (erc-cmd-IDLE): Changed to use erc-once-with-server-event instead of erc-once-with-server-event-global. 2004-01-06 Francis Litterio * erc-list.el (erc-chanlist-hide-modeline): New variable. (erc-chanlist): Now displays message as a notice. Also hides the modeline if erc-chanlist-hide-modeline is non-nil. 2004-01-05 Francis Litterio * erc.el (erc-server-PRIVMSG-or-NOTICE): Now nicks appear as in query buffers, instead of as *nick*. 2004-01-03 Francis Litterio * erc.el (erc-once-with-server-event-global): Changed to return the uninterned symbol that it creates. (erc-cmd-LIST): Changed to clean up hooks that don't run. 2004-01-03 Francis Litterio * erc-pcomplete.el (pcomplete/erc-mode/IDLE): Added to support new /IDLE command. 2004-01-03 Francis Litterio * erc.el (erc-once-with-server-event-global): New function. Like erc-once-with-server-event, except it modifies the global value of the event hook. (erc-cmd-IDLE): New function. Implements the new /IDLE command. Usage: /IDLE NICK (erc-seconds-to-string): New function. Converts a number of seconds to an English phrase. 2004-01-02 Francis Litterio * erc-list.el: Added variable erc-chanlist-mode-hook. 2003-12-30 Francis Litterio * erc.el(erc-cmd-HELP): Changed to prefer giving help for erc-cmd-* functions over similarly-named Elisp functions (e.g., erc-cmd-LIST vs. list). 2003-12-28 Francis Litterio * erc.el(erc-query-buffer-p): Added this function. 2003-12-28 Jorgen Schaefer * erc.el(erc-cmd-SV): Use erc-emacs-build-time. * erc-compat.el: erc-emacs-build-time: New variable. * erc.el(erc-cmd-SAY): Reintroduced the feature where the spaces between "/SAY" and the rest of the line were being sent with the message. 2003-12-28 Francis Litterio * erc.el(erc-server-buffer-p): Fixed a bug where this function sometimes would return nil when it should return t. 2003-12-27 Francis Litterio * erc.el(erc-generate-new-buffer-name): Really fixed a bug where ERC would reuse a connected server buffer when erc-reuse-buffers is non-nil. (erc-cmd-JOIN): Now we tell the user when he attempts to join the same channel twice on the same server. * erc.el(erc-generate-new-buffer-name): Fixed a bug where ERC would reuse a connected server buffer when erc-reuse-buffers is non-nil. * erc.el(erc-cmd-SAY): Fixed a bug where the spaces between "/SAY" and the rest of the line were being sent with the message. * erc-list.el: Fixed another typo. * erc-list.el: Fixed a typo. * erc-list.el: Added text to the top of the channel list buffer describing the keybinding for function erc-chanlist-join-channel. * erc-list.el: Minor appearance changes. No functional change. * erc-list.el: Implemented function erc-chanlist-join-channel. Added variable erc-chanlist-channel-line-regexp. Got rid of function erc-chanlist-pre-command-hook. Changed the logic for how channel lines are highlighted. 2003-12-26 Francis Litterio * erc-list.el: Removed a bunch of unused code. No semantic change. * erc-list.el: Added lots of functionality. 2003-12-15 Mario Lang * erc-track.el, erc.el: New custom type erc-message-type, use it in erc-hide-list and erc-track-exclude-types 2003-12-14 Alex Schroeder * erc-track.el(track-when-inactive): New module. (erc-track-visibility): New option. (erc-buffer-activity): New variable. (erc-buffer-activity-timeout): New variable. (erc-user-is-active): New function. (erc-buffer-visible): New function. (erc-modified-channels-update): Replace get-buffer-window call with call to erc-buffer-visible. (erc-track-modified-channels): Ditto. 2003-12-14 Lawrence Mitchell * erc-track.el(erc-modified-channels-update): Force update of modeline. Makes sure that the tracked channels disappear in other buffers too. 2003-12-06 Lawrence Mitchell * erc.el(define-erc-module): New optional argument LOCAL-P. If non-nil, then mode will be created as buffer-local rather than a global mode. (erc-cmd-CTCP): Fix indentation from last commit. * erc-compat.el(erc-define-minor-mode): Deal with :global and :group keywords. * erc-nickserv.el(erc-current-network): Make server regex more permissive. * erc.el(erc-cmd-CTCP): Don't add a space to end of command when ARGS are empty. This fixes a bug whereby requests of the form "VERSION " were being sent, and ignored. 2003-11-27 Lawrence Mitchell * erc-log.el: From Adrian Aichner * erc-log.el (erc-log-file-coding-system): Use 'binary coding-system under XEmacs (instead of 'emacs-mule). * erc-log.el (erc-w32-invalid-file-characters): Removed as no longer needed. * erc-log.el (erc-generate-log-file-name-long): Use `convert-standard-filename', which exists in XEmacs too. 2003-11-16 Mario Lang * erc-identd.el: Code provided by johnw, thanks! 2003-11-09 Lawrence Mitchell * erc.el(erc-latest-version): Clean up docstring. Remove requirement for w3, wrap REQUIRE statement in IGNORE-ERRORS. Update viewcvs url to correct location. (erc-ediff-latest-version): Make sure that we find the uncompiled erc.el, error if not. 2003-11-07 Mario Lang * erc.el: Add more info to /sv 2003-11-06 Francis Litterio * erc.el: Added optional argument BUFFER to erc-server-buffer-p. 2003-11-04 Mario Lang * AUTHORS: Add sachac 2003-11-02 Lawrence Mitchell * erc.el(erc-server-366): chnl is 4th element of parsed, not fifth. (erc-channel-end-receiving-names): Pass correct number of arguments to delete-if-not. * erc.el(erc-update-current-channel-member): Use erc-downcase when comparing nick entries. Cleanup indentation. 2003-11-01 Lawrence Mitchell * erc-sound.el: Added a (provide 'erc-sound) line. * erc.el(erc-cmd-NAMES): send to TGT, not CHANNEL. 2003-10-29 Sandra Jean Chua * erc-pcomplete.el, erc.el, CREDITS: Merged Jeremy Maitin-Shepard's patch for time-sensitive nick completion. 2003-10-27 Mario Lang * Makefile, debian/changelog: New Debian package 4.0.cvs.20031027 2003-10-25 Mario Lang * erc.el: Fix typo tuncate->truncate 2003-10-24 Mario Lang * erc-dcc.el: From Stephan Stahl : (erc-dcc-send-block): Kill buffer if transfer completed correctly. 2003-10-22 Mario Lang * erc-track.el(erc-track-disable): Do not deactivate all advices for `switch-to-buffer', just disable the erc specific one. (Bug#217022). 2003-10-18 Lawrence Mitchell * erc-log.el(erc-log-file-coding-system): New variable. (erc-save-buffer-in-logs): Use it. 2003-10-17 Mario Lang * erc.el(erc-interpret-mirc-color): New boolean defcustom * erc.el: Do not use -nowait on darwin (thanks johnw) 2003-10-15 Lawrence Mitchell * erc.el(define-erc-module): Set erc-FOO-mode appropriately in erc-FOO-enable and erc-FOO-disable. 2003-10-12 Jorgen Schaefer * erc-autoaway.el(erc-mode): Reset idletime on connect. Fixes an annoying bug which flooded the server with always on reconnect. (erc-autoway-reset-idletime): Accept optional args so we can hook it onto erc-server-001-hook. 2003-10-10 Mario Lang * erc.el(erc-hide-list): Add a nice defcustom type 2003-10-08 Mario Lang * Makefile, debian/changelog, debian/control: Debian snapshot 20031008 * erc-speedbar.el: Patch from Eric M. Ludlam : - (erc-install-speedbar-variables): Add functions list (needs new speedbar?) - (erc-speedbar-buttons): Add doc. Clear the buffer - (erc-speedbar-sort-channel-members): New function. - (erc-speedbar-expand-channel): Call new sort function. Change some visuals. - (erc-speedbar-insert-user): Change some visuals based on channel data. - (erc-speedbar-line-text, erc-speedbar-item-info): New functions Add proper elisp file header. 2003-10-02 Lawrence Mitchell * erc-match.el(erc-match-syntax-table): New variable. (erc-match-current-nick-p): Use it. * erc.el(erc-quit-reason-zippy, erc-part-reason-zippy): Use `erc-replace-regexp-in-string' rather than `replace-regexp-in-string'. (erc-command-indicator-face): New face, used to show commands if `erc-hide-prompt' is nil and `erc-command-indicator' is non-nil. (erc-command-indicator): Clean up doc-string. (erc-display-prompt): New optional argument FACE, use this rather than `erc-prompt-face' to fontify the prompt if non-nil. (erc-send-current-line): Pass in `erc-command-indicator-face' to `erc-display-prompt'. * erc-compat.el(erc-replace-regexp-in-string): New function. Alias for `replace-regexp-in-string' on Emacs 21. Argument massaging for `replace-in-string' for XEmacs. 2003-09-28 Jorgen Schaefer * erc.el(erc-keywords): Removed. Wasn't used by anything. 2003-09-25 Lawrence Mitchell * erc.el: ERC-HIDE-PROMPT: add custom group ERC-COMMAND-INDICATOR: new variable. ERC-COMMAND-INDICATOR: new function. ERC-DISPLAY-PROMPT: new argument, PROMPT, used to override default prompt. ERC-SEND-CURRENT-LINE: pass ERC-COMMAND-INDICATOR to ERC-DISPLAY-PROMPT. 2003-09-24 Jorgen Schaefer * erc.el(erc-parse-line-from-server): Ignore empty lines as required by RFC. 2003-09-17 Mario Lang * erc.el: Add lag time calculation 2003-09-13 Mario Lang * Makefile, debian/README.Debian, debian/changelog: New debian release * erc-notify.el: Call erc-notify-install-message-catalogs on load, not on module init * erc.el(erc-update-modules): Use `load' instead of `require'. XEmacs appears to have the NOERROR arg only sometimes... Strange * erc.el: No fboundp if we have a defvar * erc.el: Properly defvar erc-ping-handler 2003-09-11 Damien Elmes * erc.el(erc-setup-periodical-server-ping): check if erc-ping-handler is bound before referencing it 2003-09-10 Mario Lang * erc.el(erc-cmd-NICK): Warn about exceeded NICKLEN if we know it. * erc.el: Make erc-server-PONG obey erc-verbose-server-ping. Cancel old `erc-ping-handler' timer when restablishing connection in the same buffer. * debian/changelog, Makefile: New debian snapshot * erc-dcc.el, erc-xdcc.el: Use new function erc-dcc-file-to-name to convert spaces to underscores * erc-xdcc.el: Add autoload for erc-xdcc-add-file 2003-09-08 Mario Lang * erc-dcc.el: indent fixes and copyright update * erc.el: erc-send-ping-interval: New defcustom which defaults to 60. Every 60 seconds, we send PING now. This should fix the "connection silently lost" bug. Please test this change extensively, and report problems. 2003-09-07 Alex Schroeder * erc.el(erc-default-coding-system): Test for undecided and utf-8 before setting. 2003-09-01 Mario Lang * erc.el(erc-modules): Add some more symbols to the set * erc.el(erc-modules): Add :greedy t to the set in * erc-dcc.el: More autoloads which make dcc autoload upon ctcp dcc query received. * erc-dcc.el(erc-cmd-DCC): Add Autoload. (pcomplete/erc-mode/DCC): Ditto, makes DCC autoloadable just by using completion. Also only offer "send" if fboundp make-network-process. * erc-autojoin.el: Update copyright * erc-autojoin.el(erc-autojoin-add): Only add the channel if it is not already there. * erc-notify.el: Use `define-erc-module' instead of old `erc-notify-initialize'. Now defines the global minor mode erc-notify-mode, and should also be controllable via `erc-modules' with symbol `notify'. * erc.el(erc-modules): Fix paren-in-column-zero bug in docstring. Add a sort of bogus, but still better :type. Add autojoin and netsplit by default. (erc-update-modules): Don't barf with an error if `require' fails. We can still error out if the mode is not defined. 2003-08-31 Andreas Fuchs * erc.el: * make 353 (NAMES reply) output go into the appropriate channel buffer (if it exists) or into the active erc buffer (if not). 2003-08-29 Marcelo Toledo * erc.el: Added the variable erc-echo-notices-in-current-buffer to make possible display notices in the current buffer (queries to nickserv/chanserv/memoserv). Defaults to nil so nothing changes from what we have today. 2003-08-29 Mario Lang * erc.el: Fix typo in varname which led to a compiler warning * AUTHORS: Added lawrence 2003-08-27 Mario Lang * erc-dcc.el: Set process and file-coding system to 'binary (for Windows) * erc-stamp.el: Rename custom group erc-timestamp to erc-stamp. 2003-08-07 Lawrence Mitchell * erc-fill.el(erc-fill-disable): Remove erc-fill, not erc-fill-static from erc-insert-modify-hook. 2003-08-05 Francis Litterio * erc.el(erc-send-current-line): Now we display the prompt for previously entered commands based on the value of customization variable erc-hide-prompt. This change is closely related to the immediate previous version by wencem. 2003-08-04 Lawrence Mitchell * erc.el(erc-send-current-line): If we're sending a command, don't display the prompt. 2003-08-04 Damien Elmes * erc-track.el: patch from David Edmondson (dme AT dme DOT org) This patch makes button 3 on the erc-track buffer names in the modeline show the selected buffer in another window. It's analogous to button 2 which shows the buffer in the current window. 2003-07-31 Francis Litterio * erc.el(erc-display-line-1): Fixed bad indentation on one line. No semantic change. 2003-07-29 Lawrence Mitchell * erc-match.el: Quote open paren in docstring of erc-text-matched-hook * erc.el: Anchor match only at beginning in erc-ignored-user-p. * erc-button.el: New variable erc-button-wrap-long-urls. Modified erc-button-add-buttons: New optional argument REGEXP. If we're buttonizing a URL and erc-button-wrap-long-urls is non-nil, try and wrap them Modified erc-button-add-buttons-1: Pass regexp to erc-button-add-buttons. 2003-07-28 Francis Litterio * erc.el(erc-network-name): Improved docstring. Removed an unnecessary call to erc-server-buffer. 2003-07-28 Mario Lang * erc.el: By lawrence: (erc-ignored-user-p): Use anchored regexp. (smiley): Fix missing quote in `remove-hook' call. 2003-07-26 Francis Litterio * erc-nets.el, erc-nickserv.el, erc.el: Changed all references to Openprojects into references to Freenode. 2003-07-25 Francis Litterio * erc.el: Now variable erc-debug-irc-protocol is defvar'ed instead of defcustom'ed. Made the docstring clearer too. * erc.el: Fixed a wrong-type-argument error from window-live-p. 2003-07-15 Damien Elmes * erc-log.el(erc-log-setup-logging): set buffer-file-name to "", as (basic-save-buffer) will prompt for a buffer name before invoking hooks. the buffer-file-name will be overridden by (erc-save-buffer-in-logs) anyway - the main danger of doing this is write-file-contents hooks. Let's see if anyone complains. (erc-save-buffer-in-logs): return t, so that further write hooks are not run 2003-07-09 Damien Elmes * erc-dcc.el(erc-dcc-open-network-stream): -nowait still crashes emacs cvs - disable for now 2003-07-02 Francis Litterio * erc.el(erc): Minor docstring modification. 2003-07-01 Damien Elmes * erc-match.el(erc-match-current-nick-p): match only on word boundaries * erc-log.el(erc-log-setup-logging): not sure how this crept in again - make sure we set buffer-file-name to nil, since otherwise it is not possible to open previous correspondence in another buffer while a conversation is open 2003-06-28 Francis Litterio * erc.el(erc-network-name): Now makes some intelligent guesses if the server didn't tell us the network name. 2003-06-28 Alex Schroeder * erc.el(erc-default-coding-system): Use utf-8 as the default encoding for outgoing stuff and undecided as the default for incoming stuff. (erc-coding-sytem-for-target): New. (erc-encode-string-for-target): Use it. (erc-decode-string-from-target): Use it. Removed the flet erc-default-target hack and documented the dynamically bound variable `target' instead. 2003-06-25 Francis Litterio * erc.el(erc-log-irc-protocol): Now we keep point on the bottom line of the window displaying the *erc-protocol* buffer if it is at the end of the *erc-protocol* buffer. * erc.el: Added some text to the docstring for variable erc-debug-irc-protocol. 2003-06-23 Francis Litterio * erc-dcc.el(erc-dcc-auto-mask-p): Fixed a docstring typo that caused a load-time error. * erc-dcc.el(erc-dcc-auto-mask-p): Changed reference to undefined variable erc-dcc-auto-mask-list to erc-dcc-auto-masks. Changed default value of variable erc-dcc-auto-masks to nil and added text to its docstring. * erc-notify.el(erc-notify-timer and erc-notify-QUIT): Added network name to notify_off message. * erc.el(erc-network-name): Now returns the name of the IRC server if the network name cannot be determined. * erc-notify.el(erc-notify-JOIN and erc-notify-NICK): Added argument ?m to call to erc-display-message. * erc-dcc.el(erc-dcc-do-LIST-command): Fixed a bug where I assumed (plist-get elt :type) returns a string -- it really returns a symbol. * erc-notify.el(erc-notify-timer): Now we include the network name in the notify_on message. * erc.el: New function: erc-network-name. Returns the name of the network that the current buffer is associate with. Not every server sends the 005 messages that enable the network name to be known. If the network name is not known, the string "UNKNOWN" is returned. * erc-dcc.el(erc-dcc-chat-setup): Added a comment. Fixed a bug where a DCC CHAT buffer has no prompt when it first appears. * erc-dcc.el(erc-dcc-chat-parse-output): Now a DCC chat buffer displays the nick using erc-nick-default-face just like in a channel buffer. 2003-06-22 Francis Litterio * erc.el(erc-display-prompt): Fixed incorrect indentation. No semantic change. * erc.el(erc-strip-controls): Minor change to regexp that matches IRC color control codes. I was seeing usage as follows: ^C07colored text^C^C04other color. Now we strip a ^C followed by zero, one, or two digits. Before this change, we stripped a ^C followed by one or two digits. * erc-dcc.el(erc-dcc-do-LIST-command): Improved format of output of /DCC LIST. Now the "Size" column for a DCC GET includes the percentage of the file that has been retrieved. (erc-dcc-do-GET-command): Now it works if erc-dcc-default-directory is set. 2003-06-19 Damien Elmes * erc-log.el: * added quickstart information to the comments up the top 2003-06-16 Mario Lang * erc.el: Default to open-network-stream on MS Windows. (thanks lawrence) 2003-06-11 Damien Elmes * erc.el(erc-process-input-line): refactor so that wrong-number-of-arguments is caught when using do-not-parse-args - this lets do-not-parse-args commands display help messages on incorrect syntax in a uniform manner. This no longer raises a bad-syntax error - was this a catch-all to stop a backtrace? Does it belong? (erc-cmd-APPENDTOPIC): the correct way to display help when you want to accept an arbitrary string is to (signal 'wrong-number-of-arguments nil). This fixes a bug where people could not /at topics with a space in them. 2003-06-09 Damien Elmes * erc.el: Re-add the last few changes which weren't merged for some reason. * erc.el(erc-cmd-APPENDTOPIC): show help when given no arguments Patch from MrBump. Fixes problem with erc-set-topic inserting ^C characters into the topic. Also removes dependency on CL. 2003-06-08 Jorgen Schaefer * erc.el: Added comment to explain (eval-after-load "erc" '(erc-update-modules)). 2003-06-01 Mario Lang * erc-pcomplete.el: Add completion for /unignore 2003-05-31 Alex Schroeder * erc-compat.el(erc-encode-coding-string): The default binding, if encode-coding-string was not available, must be a defun that takes multiple arguments. Did that. 2003-05-30 Mario Lang * erc.el: Add handlers for 313 and 330 (by arne@rfc2549.org, thanks) 2003-05-30 Damien Elmes * erc.el: patch from MrBump to make /mode #foo +b work again (erc-cmd-BANLIST only temporarily changes them now) 2003-05-29 Alex Schroeder * erc.el(erc-select): server is now defaulted with erc-compute-server. A few cosmetic fixes. (erc-default-coding-system): Renamed from erc-encoding-default. (erc-encoding-default): Renamed to erc-default-coding-system. (erc-encoding-coding-alist): Documentation updated to cover regexps. (erc-encode-string-for-target): Now considers keys of erc-encoding-coding-alist to be regexps. Rely on erc-compat wrt. MULE support. (erc-decode-string-from-target): New function. (erc-send-current-line): eq -> char-equal fix. (erc-server-TOPIC): topic is now decoded with erc-decode-string-from-target. (erc-parse-line-from-server): Line from server is no longer decoded here. (erc-server-PRIVMSG-or-NOTICE): Message from a user is decoded here, sspec -> sender-spec for clarity. Cosmetic if -> when fix. (erc-server-TOPIC): sspec -> sender-spec (erc-server-WALLOPS): Ditto. * erc-compat.el(erc-decode-coding-string): Now requires coding-system as an argument. 2003-05-15 Mario Lang * erc.el: erc-part|quit-hook is only run on a part|quit directed to our nick, reflect that in the docstring to avoid confusion 2003-05-01 Andreas Fuchs * erc-truncate.el: * erc-truncate-buffer-to-size: use fboundp. Scheme takes its toll... 2003-05-01 Jorgen Schaefer * erc-truncate.el: remove require of erc-log (erc-truncate-buffer-to-size): use erc-save-buffer-in-logs when it's there, else, don't. 2003-04-29 Andreas Fuchs * erc-log.el, erc-truncate.el, erc.el: erc.el: * erc-cmd-QUIT: Remove references to code in erc-log.el, to not force autoloading of erc-log.el * erc-server-PART: ditto. * erc-quit-hook: new hook, run when /quit command is processed. * erc-cmd-QUIT: use it. * erc-part-hook: new hook, run then PART message is processed. * erc-cmd-PART: use it. * erc-connect-pre-hook: new hook, run before connection to IRC server is started. * erc: use it. * erc-max-buffer-size: Move truncation variables and functions to erc-truncate.el * erc-truncate-buffer-on-save: moved to erc-log.el * erc-initialize-log-marker: new function. * erc-log.el: * erc-truncate-buffer-on-save: New defcust here; from erc.el * erc-truncate-buffer-on-save: Put it in group `erc-log' * erc-log-channels-directory: Remove trailing slash from default value. * Add functions to erc-connect-pre-hook, erc-part-hook and erc-quit-hook to avoid getting autoloaded. * erc-truncate.el: * Contains the truncation functions and defcusts from erc.el. * define-erc-module clause added; new erc-truncate-mode. 2003-04-29 Jorgen Schaefer * erc.el(erc): Check whether erc-save-buffer-in-logs is bound, too * erc.el(erc): Check whether erc-logging-enabled is bound before using it - not everyone is using erc-log.el! 2003-04-28 Andreas Fuchs * erc-log.el: * while we're at it, remove the (declare (ignore ignore)) statements. * erc-log.el: * add autoload statement for erc-log-mode/etc. Sorry for the delay. * erc-log.el, erc.el: * erc.el: - move variables and functions to erc-log.el: defgroup `erc-log' defcustom `erc-log-channels-directory' defcustom `erc-log-insert-log-on-open' defcustom `erc-generate-log-file-name-function' defun `erc-save-buffer-in-logs' (autoloads from erc-log.el) defuns `erc-generate-log-file-name-*' defun `erc-current-logfile' defun `erc-logging-enabled' (autoloads from erc-log.el) - erc-truncate-buffer-to-size: fix for double-saving bug when writing out truncated buffer contents. Thanks, lawrence mitchell ! - erc-remove-text-properties-region: Fix case for read-only text. - erc-send-current-line: update insert-marker before calling the hooks. also, wrap (erc-display-prompt) so that it doesn't toggle buffer-modified-p. - erc-interpret-controls: remove /very/ old commented-out function - erc-last-saved-position: make it a marker - erc: use it. * erc-log.el: (thanks, lawrence mitchell !) - Move logging code from erc.el here - define-erc-module log: add; minor mode erc-log-mode is the same as adding the `erc-save-buffer-in-logs' to erc-send-post-hook and `erc-insert-post-hook'. - erc-w32-invalid-file-characters: add. - erc-enable-logging: add. - erc-logging-enabled: use it. - erc-logging-enabled: autoload. - erc-save-buffer-in-logs: fix for truncating saved buffer with read-only text. - erc-save-buffer-in-logs: use erc-last-saved-position. - erc-save-buffer-in-logs: fix saving half-written messages on the prompt when saving the log file. (simply uses erc-insert-marker as an upper bound for saving). 2003-04-27 Damien Elmes * erc.el: erc-modules: added 2003-04-27 Alex Schroeder * Makefile(UNCOMPILED): Added erc-compat.el. (clean): Remove .elc files, too. Patch by Hynek Schlawack 2003-04-22 Damien Elmes * erc-button.el: erc-button-keymap: set the parent keymap to erc-mode-map 2003-04-20 Damien Elmes * erc.el: erc-official-location: shouldn't the official location be the base URL of erc? * erc.el: erc-modules: updated the docstring to make the semantics clearer 2003-04-19 Mario Lang * erc.el: Fix problem where % in NOTICE produced errors (from mmc) 2003-04-18 Damien Elmes * erc.el(erc-toggle-debug-irc-protocol): moved a reference to 'buf' inside the let statement which defines it. it's difficult to tell what the original intentions were here - at the moment the debug window is displayed when toggling either way. * README, erc.el: (erc-update-modules: added a condition in for erc-nickserv -> erc-services * erc-pcomplete.el: - that change to erc-update-modules making it require the modules first means we don't need any special case handling here, so i reverted the previous change * erc.el: - don't require 'erc-auto, since windows users don't have access to make. instead, we handle it in (erc-update-modules) 2003-04-17 Damien Elmes * README, Makefile: Updated Makefile and documentation to reflect the new release * erc.el: - note the previous change also updated the release number to erc 4.0! (erc-connect): fix a bug introduced by the previous release * erc.el: fixed about 20 instances of (message (format ...)) which will break if the format returns a string with %s in it * erc.el: erc-error-face: make it red, not pink * erc-pcomplete.el: since pcomplete is autoloaded via erc-completion-mode, and completion is in erc-modules by default, we remove completion when pcomplete is added * erc.el(define-erc-module): no need for delete, use delq * erc-members.el(erc-nick-channels): (erc-person-channels) takes one arg (erc-format-user): again, they all take an arg * erc.el: - require erc-auto when loading, so the default `erc-modules' can be loaded. this makes erc-auto no longer a convenience but a necessity - all the name of user friendliness. (define-erc-module): the enable and disable routines now update erc-modules accordingly erc-modules: new variable controlling the modules which erc has loaded/will load. when customizing, it will automatically enable modules. it won't automatically disable modules which are removed, yet. (erc-update-modules): enable all modules in `erc-modules' * erc-dcc.el(erc-dcc-open-network-stream): use the -nowait equiv if available erc-dcc-server-port: removed erc-dcc-port-range: allows a range of values, so you can have more than one dcc (erc-dcc-server): support erc-dcc-port-range (erc-dcc-chat): use OCHAT for outgoing chat for now. we need to fix the issues with allowing more than one chat with the same person * erc.el: erc-log-channels: removed; set the directory to start logging (erc-directory-writeable-p): create directory if it doesn't exist, check if it's writable (erc-logging-enabled): don't reference erc-log-channels 2003-04-07 Damien Elmes * erc.el(erc): but when inserting the contents of a previous logfile, use the logfile name, not ""! * erc.el(erc): set buffer-file-name to "", since we have a custom saving function and it's not needed. this enables one to open a log file with previous correspondence, while talking to the person at the same time 2003-03-29 Francis Litterio * erc.el(erc-prepare-mode-line-format): Now strips all text properties from the target before putting it in the mode line. Keeps the mode line looking consistent. (erc-channel-p): Improved docstring. 2003-03-28 Alex Schroeder * erc.el(erc-generate-log-file-name-with-date): New function. (erc-generate-log-file-name-function): Make it available. 2003-03-24 Mario Lang * erc.el: Fix erc-prompt and erc-user-mode custom :type (Closes: #185794) 2003-03-20 Damien Elmes * erc.el: erc-server-hook-list: correct documentation of ordering of (proc parsed) 2003-03-16 Alex Schroeder * erc-track.el(erc-modified-channels-string): Make it a risky-local-variable. 2003-03-16 Jorgen Schaefer * erc-track.el(erc-track-modified-channels): Use (point-min) if we don't find a parsed-property, so it won't error out with nil... 2003-03-16 Damien Elmes * erc-track.el(erc-track-switch-buffer): removed call to erc-modified-channels-update, as this is done correctly on buffer switching in both emacs and xemacs now 2003-03-15 Damien Elmes * erc-track.el(erc-find-parsed-property): simplified a little, so it shouldn't return nil anymore * erc.el: erc-send-post-hook: document narrowing which occurs 2003-03-14 Alex Schroeder * erc-track.el(erc-find-parsed-property): New function. (erc-track-modified-channels): Use it instead of relying on point-min. 2003-03-12 Mario Lang * erc.el: Fix erc-set-topic to accept a channel name as first word 2003-03-11 Jorgen Schaefer * erc-dcc.el: Small patch (<10 lines, also slightly modified by Jorgen Schäfer) from David Spreen to add hostmask-authentication to DCC auto-accept. erc-dcc-auto-mask-list: New variable (erc-dcc-handle-ctcp-send): Check erc-dcc-auto-mask-list (erc-dcc-auto-mask-p): New function erc-dcc-send-request: Docstring now mentions erc-dcc-auto-mask-list 2003-03-10 Francis Litterio * erc-ring.el(erc-clear-input-ring): New function. Erases the contents of the input ring for the current ERC buffer. 2003-03-08 Francis Litterio * erc.el: (erc-display-line-1) and (erc-send-current-line): Now these functions reset erc-insert-this to t as soon as possible after consuming the value of that variable. See the comments in the code for the strange symptom this fixes. (erc-bol): Changed to call point-at-eol instead of line-end-position. This increases XEmacs portability, since XEmacs doesn't have line-end-position. Patch suggested by Scott Evans on the ERC mailing list. 2003-03-04 Damien Elmes * erc.el: banlist*: patch from mrbump to avoid using cl packages 2003-03-04 Francis Litterio * erc.el: Changed erc-noncommands-list from a constant to variable, so that users can add their own erc-cmd-* functions to the list. Improved the docstring too. 2003-03-02 Francis Litterio * erc.el(erc-server-353): Now the output of "/NAMES #channel" appears in the currently active ERC buffer, even if the user is not a member of #channel. * erc.el(erc-cmd-DEOP): Fixed a syntax error: invalid read syntax ")" caused by my last change. 2003-03-01 Francis Litterio * erc.el(erc-cmd-DEOP): Fixed a wrong-type-argument error caused by calling split-string on a list instead of on a string. Removed the call to split-string entirely, because it wasn't needed. * erc.el(erc-cmd-HELP): Changed to use intern-soft instead of intern. Now "/HELP floob" doesn't create a void function symbol erc-cmd-FLOOB. 2003-02-25 Damien Elmes * erc.el(erc-cmd-SERVER): remove erroneous references to line, use server instead 2003-02-23 Francis Litterio * erc.el(erc-toggle-debug-irc-protocol): Fixed a bug where the global value of kill-buffer-hook was being modified instead of the buffer-local value. 2003-02-22 Francis Litterio * erc.el(erc-cmd-KICK): Now supports any number of words in the REASON string. Examples of the /KICK command are: /KICK franl You don't belong here /KICK franl Bye /KICK franl /KICK #channel franl Go away now /KICK #channel franl Bye /KICK #channel franl 2003-02-16 Jorgen Schaefer * erc-stamp.el(erc-insert-timestamp-right): Make the timestamp rear-nonsticky, so C-e works at the beginning of the next line. 2003-02-16 Andreas Fuchs * erc-stamp.el: * s/choose/choice/ in customize options, as kensanata requested. 2003-02-15 Francis Litterio * erc.el(erc-toggle-debug-irc-protocol): Now if the *erc-protocol* buffer is killed, logging is turned off. Prior to this change, the buffer would come back into existence (generally unbeknownst to the user) after being killed. 2003-02-11 Damien Elmes * erc.el(erc-send-current-line): we can't inhibit everything here when not connected, as the user will expect commands like /server still to work. the erc-cmd-handler should recover from errors instead 2003-02-10 Damien Elmes * erc.el: * we now run erc-after-connect on 422 (no motd) messages as well as the motd messages (erc-login): revert the previous change * erc.el(erc-login): register that we're connected 2003-02-10 Mario Lang * erc-members.el: * Provide erc-members * Fix excessive ) * Comment out broken self-tests 2003-02-07 Damien Elmes * erc.el(erc-connect): notify the user we're trying to connect when using asych connections * erc.el(erc-connect): support an asynchronous connection (erc-process-sentinel): ditto * erc-track.el: * advise switch-to-buffer in the case of xemacs, since it doesn't have window-configuration-change-hook * erc.el(erc-send-current-line): if not connected, refuse to send either a message or a command * erc.el: (erc-save-buffer-in-logs): - check for a sensible region before saving the buffer. if the connection process is killed early on, there is not a sensible region to save - don't set buffer-file-name on save. we don't need it, and it means we can now find-file a log while an existing query is open with that user * erc.el(erc-process-input-line): when displaying the help for a function, if no documentation exists, don't fall over (erc-cmd-SAY): new function for quoting lines beginning with / (erc-server-NICK): - fix a bug where the "is now known as" message doesn't appear on newly created /query buffers - when a user changes their nick, update the query to point to the new nick * erc.el(erc-send-current-command): don't reject multi-line commands. since multiline-p is used as the no-command arg to erc-process-current-line, multi-line text is never interpreted as a command. i believe this is the correct behavior - it allows people to post the output of things like df (sans header). if you want to change this, please provide a rationale in the changelog * erc.el(erc-send-current-line): only match the first line when determining if a multi-line command is allowed 2003-02-07 Jorgen Schaefer * erc-bbdb.el(erc-bbdb-highlight-record): Use alternate strings, not character classes to split the nick-field. 2003-02-06 Francis Litterio * erc.el(erc-process-sentinel): Now we set erc-connected to nil every time we disconnect from a server, not just when an unexpected disconnect happens. * erc.el(erc-connected): Removed redundant defvar of this variable. Improved the docstring. (erc-login): Changed to send a correct RFC2812 USER message (see section 3.1.3 of RFC2812 for the documentation of the semantics of each argument of the USER message. 2003-02-02 Damien Elmes * erc.el(erc-cmd-NOTICE): fix from mrbump 2003-01-31 Francis Litterio * erc.el(erc-cmd-JOIN): Now we only send one JOIN command to the server when a channel key is provided. 2003-01-30 Francis Litterio * erc.el(erc-remove-channel-member): Fixed so that it runs erc-channel-members-changed-hook with the channel buffer current, as is documented in the docstring for variable erc-channel-members-changed-hook: "The buffer where the change happened is current while this hook is called." 2003-01-28 Francis Litterio * erc.el: (erc-ignored-user-p),(erc-cmd-IGNORE),(erc-cmd-UNIGNORE): Now nicks are ignored on a per-server basis. Now, erc-ignore-list is only valid in server buffers! Do not reference it in channel buffers. * erc.el(erc-cmd-IGNORE): Now says "Ignore list is empty" if it erc-ignore-list is empty instead of showing an empty list. 2003-01-25 Alex Schroeder * erc-nickserv.el(services): Defined a module 2003-01-25 Jorgen Schaefer * erc.el(erc-process-ctcp-query): Display recipient of CTCP query if it's not our current nick. * erc.el(erc-cmd-WHOIS): Accept an optional second argument SERVER. 2003-01-25 Alex Schroeder * erc-stamp.el(stamp): erc-add-timestamp must always be added with the APPEND parameter -- not only when adding it on the right. 2003-01-24 Alex Schroeder * erc-members.el(erc-channel-members-changed-hook): Obsolete, use erc-members-changed-hook instead. When it is set, add its content to erc-members-changed-hook. (erc-update-channel-member): Obsolete, use erc-update-member instead. Defalias to that effect. (erc-remove-channel-member): New and already obsolete. Use erc-remove-nick-from-channel instead. (erc-update-channel-info-buffer): Obsolete, use ignore instead. Yes, these have to go. (erc-channel-member-to-user-spec): Obsolete, use erc-format-user instead. (erc-format-user): New. (erc-ignored-reply-p): New, use it. * erc-members.el: Further along the way. Any function from erc.el that uses channel-members should end up in this file, rewritten to use erc-members. (erc-person): Call erc-downcase before getting something from the hash. (erc-nick-in-channel): Checking whether erc-process must be used is unnecessary -- this will be done in erc-person. (erc-nick-channels): New. (erc-add-nick-to-channel, erc-update-member): Call erc-downcase before putting something into the hash. (erc-buffer-list-with-nick): New. (erc-format-nick, erc-format-@nick): New, backwards incompatible. Must check for other places that call these! (erc-server-PRIVMSG-or-NOTICE): Use the new version. * erc-compat.el(view-mode-enter): defalias to view-mode, if view-mode-enter is not fboundp and view-mode is -- as is the case in XEmacs. We need view-mode-enter in erc-match.el. 2003-01-23 Francis Litterio * erc.el(erc-default-server-handler): Minor performance improvement: allow the lambda expression to be byte-compiled. 2003-01-23 Damien Elmes * erc.el(erc-cmd-BANLIST): in the absence of a fill-column, use the screen width 2003-01-22 Damien Elmes * erc.el: patch from MrBump to delay fetching the banlist until /bl is run, so we don't fetch it when joining a channel anymore * erc-ring.el: * instead of adjusting hooks when loaded, provide (erc-ring-mode). you'll need to run (erc-ring-mode 1) now to get the ring * (erc-previous-command), (erc-next-command): - check if the ring exists and create it if necessary - don't do anything if the ring is empty * erc-pcomplete.el: Put "how to use" documentation in the comments up the top 2003-01-21 Alex Schroeder * erc-autojoin.el(erc-autojoin-version): New. * erc-autojoin.el(erc-autojoin-add): Added body. (erc-autojoin-remove): Added body. (erc-autojoin): Provide it. 2003-01-21 Damien Elmes * erc.el: erc-cmd-*: removed a bunch of references to force 2003-01-21 Alex Schroeder * erc-autojoin.el(erc-autojoin-channels-alist): More doc. 2003-01-20 Alex Schroeder * erc-autojoin.el: new, based on resolve's mail, and the stuff on the wiki * erc-members.el: new 2003-01-19 Mario Lang * debian/README.Debian, debian/changelog, debian/scripts/install, debian/scripts/startup.erc, Makefile: Prepare for 20030119 debian package * erc-dcc.el: * (erc-decimal-to-ip): Since XEmacs decides that return a completely and utterly wrong number from string-to-number if it is larger than the integer boundary, instead of sanely converting the thing to a float, we now (concat dec ".0"). * erc.el: * (erc-log-irc-protocol): Use erc-propertize, not propertize 2003-01-19 Alex Schroeder * erc-button.el(erc-button-add-buttons): Added regexp-quote for the list case, too. 2003-01-19 Damien Elmes * erc-dcc.el(erc-dcc-member): fix for case where a prop is nil * erc-dcc.el(erc-dcc-member): fix for xemacs's version of plist-member 2003-01-19 Mario Lang * erc-notify.el: Delete empty strings from the ison-list * erc-track.el: * (erc-track-switch-buffer): Call erc-modified-channels-update here. * erc-track.el: * toplevel: require 'erc-match * erc-track.el: * (erc-track-mode): Make autoload interactive * erc-button.el: * (button): Make the autoload interactive * erc.el: * (erc-mode): Comment out the case-table stuff, breaks xemacs * (erc-downcase): Revert. * erc-dcc.el: * (erc-dcc-handle-ctcp-send): Use erc-decimal-to-ip on the ip we get... * erc-speak.el: Eliminate reference to erc-nick-regexp, which no longer exists 2003-01-19 Alex Schroeder * erc-stamp.el(erc-timestamp-right-column): New, default nil. (erc-insert-timestamp-right): Use it, if non-nil. Verbose doc string. 2003-01-18 Jorgen Schaefer * erc.el(erc-downcase): Use the old behavior in non-CVS Emacs. * erc.el(erc-cmd-QUIT): Remove &rest. The correct fix follows. (erc-cmd-GQUIT): Pass "" to erc-cmd-QUIT. (erc-mode): Use the case-table only in CVS Emacs. See comment. * erc.el(erc-cmd-QUIT): make reason optional. * erc.el(erc-cmd-GQUIT): Fixed typo. 2003-01-17 Mario Lang * erc.el: * (erc-current-logfile): call expand-file-name, so that downcase doesn't mess up ~ * erc.el: * (erc-mode): Define a proper case-table. * (erc-downcase): just call downcase for now, let's see if the case-table is portable, if yes, we'll remove all erc-downcase references anyway... * erc-button.el: * (erc-button-add-buttons): regex-quote the nick 2003-01-17 Alex Schroeder * erc-button.el(button): erc-channel-members-changed-hook no longer has erc-recompute-nick-regexp. (erc-button-alist): Use channel-members instead of erc-nick-regexp. (erc-button-add-buttons): Split some code into erc-button-add-buttons-1, and now handle strings, lists, and alists. Regular expressions in lists and alists are enclosed in < and >. (erc-button-add-buttons-1): New. (erc-nick-regexp): Deleted. (erc-recompute-nick-regexp): Deleted. * erc-button.el: Remove require cl again. (erc-mode-map): No longer bind widget-backward and widget-forward. (erc-button-alist): Explain why byte-compiling makes no sense, and remove all calls to byte-compile. (erc-button-keymap): Define it the standard way, without exposing the list nature of the keymap. (erc-button-marker-list): Deleted. (erc-button-add-buttons): Simplify. In particular, create the button using the real callback, instead of using the intermediate erc-button-push, and only store the data as described for erc-button-alist. (erc-button-remove-old-buttons): Simplify. No more list munging. Instead, just remove all the properties that we add in erc-button-add-button. (erc-widget-press-button): Deleted. (erc-button-click-button): New, for mouse clicks. Moves point to where the mouse is, and calls erc-button-push. (erc-button-push): Instead of matching again, just use the erc-callback and erc-data properties at point to do the right thing. (erc-button-entry): Deleted. (erc-button-next): Use error instead of the beep plus message combo. 2003-01-17 Jorgen Schaefer * erc-autoaway.el(erc-autoaway-set-back): Don't pass a force argument to erc-cmd-GAWAY. * erc.el(erc-cmd-AWAY): Removed usage of the force variable. 2003-01-17 Alex Schroeder * erc-button.el(button): erc-recompute-nick-regexp is no longer added to erc-channel-members-changed-hook unconditionally, but only if erc-button-mode is enabled, and if it is disabled, it is removed again. (erc): Require cl for delete-if. (erc-button-remove-old-buttons): Rewrote using delete-if to prevent excessive consing. Having the marker list is still ugly, so another solution needs to be found. 2003-01-17 Jorgen Schaefer * erc.el(erc-banlist-store): Don't assume there's always a setter in the banlist reply. 2003-01-17 Alex Schroeder * erc-button.el(erc-button-url-regexp): Changed regexp according to a suggestion by Max Froumentin . 2003-01-17 Mario Lang * erc.el: fix erc-remove-channel-member again to not error out on nil as first arg... * erc.el: * (erc-occur): New function 2003-01-17 Damien Elmes * erc.el: erc-banlist-*: return nil so further hooks are called * erc.el(erc-server-368): suppress "end of ban list" messages - use /listbans now * erc.el(erc-send-current-line): removed the check for leading whitespace again - the only time we want to prohibit multi-line commands is if / is the first thing on the line (erc-get-arglist): new defun for reading a function's arglist which should work with older copies of emacs. we use help-function-arglist if it's available, though, since that has support for reading subrs, etc * erc.el(erc-cmd-JOIN): fixed (again) * erc.el: * fixed call to erc-cmd-NICK when connecting * support for listing bans and mass unbanning, again thanks to MrBump * erc.el(erc-set-topic): patch from MrBump (Mark Triggs, mst@dishvelled.net) to strip control chars and topic attribution in C-c C-t 2003-01-16 Mario Lang * erc.el: * (erc-remove-channel-member): Do not use delq, modify the list using setcdr like delq does. In theory, this should be way faster since the list doesn't get traverse two times. Measurement didn't show any real difference though :(, this system is flawed for channels with >300 users it seems... Also moved some defcustoms up. 2003-01-16 Brian P Templeton * erc.el: moved misplaced paren 2003-01-16 Damien Elmes * erc.el(erc-cmd-UNIGNORE): reference argument directly - no string matching * erc.el(erc-extract-command-from-line): hmm, thinko in the canonicalization. should be fixed 2003-01-16 Francis Litterio * erc.el(erc-send-current-line): Changed the regexp used to match /COMMANDs so that leading whitespace is taken into account. 2003-01-16 Mario Lang * erc-dcc.el: * (erc-dcc-do-SEND-command): Fix it * erc-ezbounce.el, erc-lang.el: Arglist changes... * erc.el: Various docstring fixes and additions. * erc-notify.el: * (erc-cmd-NOTIFY): Change the function arglist to (&rest args) * erc-netsplit.el: * (erc-cmd-WHOLEFT): Has no args... 2003-01-16 Damien Elmes * erc-fill.el: erc-fill-column: default to 78, so things like docstrings don't get wrapped in an ugly manner 2003-01-16 Mario Lang * erc.el: * (erc-cmd-default): Take a substring, now /mode works again. * (erc-cmd-AWAY): Put do-not-parse-args t * (erc-cmd-GAWAY): Ditto, and fix it. * (erc-cmd-CTCP): Switch to argument system. * (erc-cmd-KICK): Do the same. 2003-01-15 Mario Lang * erc-dcc.el: * (erc-cmd-DCC): Fixed for the new scheme, simplified. * (erc-dcc-do-CHAT-command): Ditto. * (erc-dcc-do-CLOSE-command): Ditto. * (erc-dcc-do-LIST-command): Ditto. 2003-01-15 Damien Elmes * erc.el: erc-error-face: setting a background doesn't work so well with multi-line messages, so we don't. fg color is negotiable ;-) (erc-cmd-QUERY): fixed, new doco, suppress (erc-delete-query) until we fix it (erc-send-current-line): allow multi-line messages provided they don't start with a slash - there's no need to prohibit them if the slash isn't the first character * erc.el: * bad-syntax now reports like incorrect-args * bunch of extra cmds fixed, nick, sv etc. * erc.el(erc-cmd-HELP): fixed (erc-extract-command-from-line): when determining canon-defun, make sure we have a valid symbol (erc-cmd-KICK): fixed * erc.el: * removed duplicate do-no-parse-args properties for the defaliased defuns (erc-process-input-line): show function signature when incorrect args (erc-extract-command-from-line): canonicalize defaliases before extracting plist (erc-cmd-CLEAR): fixed (erc-cmd-UNIGNORE): fixed again * erc.el(erc-cmd-SET): fixed (erc-cmd-UNIGNORE): fixed (erc-process-input-line): report when incorrect arguments are provided to a command, and show the command's docstring * erc.el(erc-cmd-APPENDTOPIC): fixed (erc-process-input-line): more informative error message than 'bad syntax' 2003-01-15 Mario Lang * erc.el: * (erc-cmd-IGNORE): fixed * erc.el: * (erc-cmd-NAMES): fixed * erc.el: * (erc-cmd-CLEARTOPIC): Simplify, fix doc, make interactive 2003-01-15 Damien Elmes * erc.el(erc-cmd-JOIN): correct invite behavior, and document it. 2003-01-15 Mario Lang * erc.el: * (erc-cmd-PART): Put 'do-not-parse-args t 2003-01-15 Damien Elmes * erc.el(erc-cmd-JOIN): new cmd argument syntax (erc-process-input-line): check if (erc-extract-command-from-line) returned a list, and apply if that's the case * erc.el: erc-cmd-*: remove optional force and references to `force' in the code (erc-cmd-AMSG): call erc-trim-string, not trim-string 2003-01-15 Mario Lang * erc.el: * (erc-cmd-CLEARTOPIC): LINE is now ARGS and already parsed. Set erc-cmd-TOPIC to 'do-not-parse-args for now. (comment: I think we should have 'first, so that only first word is parsed... Or we could autodetect erc-channel-p in the parser before that somehow...) * erc.el: * (erc-cmd-OP): LINE is PEOPLE now, and already parsed. * erc-notify.el: * (erc-cmd-NOTIFY): Arg LINE is now ARGS, and already parsed. 2003-01-15 Jorgen Schaefer * erc-stamp.el(erc-insert-timestamp-right): Prefer erc-fill-column to window-width, because on wide screens the timestamp could wander off too far to the right. 2003-01-15 Mario Lang * erc.el: This is the "everything is suddenly broken!" release You know, this is CVS, you can still go back, and wait until the transition is finished, but here is patch one, which basically breaks every command which is typed on the prompt. Hit me, we can still revert, but something needs to be done about this. * (erc-extract-command-from-line): intern-soft the function here. If the function symbol has a property 'do-not-parse-args, operate as before, otherwise, split the arguments prior to calling the command handler. * (erc-process-input-line): Updated to accommodate the change above. * (erc-send-distinguish-noncommands): Ditto. * (erc-cmd-NAMES): Ditto. * (erc-cmd-ME): Put 'do-not-parse-args property. * erc-dcc-list: Renamed * (erc-dcc-member). Treat :nick as either a nick!user@host or nick, do appropriate comparisons, simplified. * (erc-dcc-list-add): New functions various callers of (cons (list ...) erc-dcc-list) updated. Other stuff I'm too bored to document now 2003-01-15 Jorgen Schaefer * erc-stamp.el(erc-insert-timestamp-right): Removed redundant code that overrid the window-width. Now subtracts (length string) from every found indentation positions. 2003-01-14 Mario Lang * erc.el: * (erc-cmd-AMSG): Remove useless call to erc-display-message. * erc-dcc.el: * erc-dcc-chat/send-request: New variables, control how to treat incoming dcc chat or send requests. Can be set to 'ask, which behaves like it did before, 'auto, which accepts automatically, and 'ignore, which ignores those type of requests completely. * (erc-cmd-CREQ): New user-level command. * (erc-cmd-SREQ): Ditto. * erc.el: * (erc-cmd-AMSG). New command. * erc-xdcc.el: * (erc-xdcc): delete empty strings from ARGS * erc-dcc.el: * erc-dcc-ipv4-regexp: New constant * (erc-ip-to-decimal): Use it. * erc-dcc-host:valid-regexp erc-dcc-ipv4-regexp: * erc-dcc-host: :type * (pcomplete/erc-mode/DCC): Add completion for GET and CLOSE. * Some docstring/comment fixes. * erc-stamp.el: * (erc-insert-timestamp-right): Subtract (length string) from POS in any case, otherwise, linewrap occurs. * erc-dcc.el: * Fixed the unibyte-multibyte problem (now a dcc get buffer is (set-buffer-multibyte nil), and saves correctly (tried with 21.3.50)). Thanks to Eli for suggesting it! * Added :start-time plist property/value to GET handling so that we can calculate elapsed-time. * Some (unwind-protect (progn (set-buffer ...) ...)) constructs replaced with (with-current-buffer ...) 2003-01-13 Mario Lang * erc-xdcc.el: * erc-xdcc-help-text: New variable which makes replies to the originator much more flexible. * erc-xdcc-help-format: Removed. * (erc-xdcc-help): Handle the new variable. * (erc-xdcc): Simplified * erc-xdcc.el: * erc-xdcc-handler-alist: New variable. * (erc-xdcc): Move code for list and send sub-commands into * (erc-xdcc-help): New function. * (erc-xdcc-list): New function. * (erc-xdcc-send): New function. 2003-01-12 Jorgen Schaefer * erc.el(erc-server-JOIN): Oops, send MODE command only when *we* joined a channel. * erc.el: Fixing ERCs behavior wrt IRCnet's !channels have a different name for JOIN than in reality (e.g. you can join !forcertest or !!forcertest and really get to !ABCDEforcertest) (erc-cmd-JOIN): Removed erc-send-command MODE. (erc-server-JOIN): Ask for MODE now. 2003-01-12 Damien Elmes * erc-dcc.el: (erc-dcc-get-filter), (erc-dcc-get-file): store size as a string, not an integer. check size > 0 for the case where a size wasn't provided, since string-to-int will return 0 on an empty string 2003-01-12 Mario Lang * erc-dcc.el: * Use RAWFILE arg with find-file-noselect * Fix alist/plist conversion left-over * Add verbose-info about sending blocks. 2003-01-11 Mario Lang * erc-dcc.el: * (pcomplete-erc-mode/DCC): Fixes * erc-xdcc.el: Initial version. * erc-pcomplete.el: * (erc-pcomplete): Fix so that cycle-completion works again. * (pcomplete-parse-erc-arguments): If there is a space after the last word before point, we need to return a "" arg, and it's position. * erc-dcc.el: Fix to pcomplete/erc-mode/DCC * erc-dcc.el: * (pcomplete/erc-mode/DCC): New function * erc-dcc.el: *** empty log message *** * erc-dcc.el: Move code around, just basic changes 2003-01-11 Jorgen Schaefer * erc-stamp.el(erc-insert-timestamp-right): Check whether erc-fill-column is available before using it. Else default to fill-column or if everything else fails, the window width of the current window. For the fill-columns, use them directly as the starting position for the timestamp. 2003-01-11 Andreas Fuchs * erc-stamp.el: erc-insert-timestamp-right: use correct window's window-width. If buffer is not in a window, use erc-fill-column. 2003-01-11 Mario Lang * erc-dcc.el (erc-dcc-do-LIST-command): Fix * erc-dcc.el: * buffer-local variables erc-dcc-sent-marker and erc-dcc-send-confirmed marker removed Keep This info in erc-dcc-member :sent and :confirmed plist values :buffer plist for :type 'SEND removed, since we can get this with (marker-buffer * erc-dcc-send-connect-hook: New hook, defaults to erc-dcc-send-block and erc-dcc-send-connected, which now prints a msg... * erc-dcc.el: * (erc-dcc-chat-accept): Renamed from erc-dcc-chat. Callers updated. * (erc-dcc-chat): Renamed from erc-dcc-chat-request. Callers updated, and interactive form added. * (erc-dcc-server-accept): No longer do any type-specific stuff. * (erc-dcc-chat-sentinel): Call erc-dcc-chat-setup if event is "open from " from here, otherwise call erc-dcc-chat-close. * ( * erc-dcc.el: *** empty log message *** * erc-dcc.el: Moved some functions around. Doc string fixes. "/dcc send nick filename" works now 2003-01-11 Alex Schroeder * erc.el(erc-send-command): Fixed flood protect message. * erc-button.el(erc-button-syntax-table): Make `-' a legal nick constituent. 2003-01-10 Mario Lang * erc-dcc.el: Some more steps toward dcc send. 2003-01-10 Francis Litterio * erc-notify.el(erc-notify-timer): Changed to make it IRC-case-insensitive when comparing nicks. (erc-notify-JOIN): Changed to make it IRC-case-insensitive when comparing nicks. (erc-notify-NICK): Changed to make it IRC-case-insensitive when comparing nicks. (erc-notify-QUIT): Changed to make it IRC-case-insensitive when comparing nicks. (erc-cmd-NOTIFY): Now "/notify -l" lists the nicks on your notify list. Now when you remove a nick from your notify list, you no longer receive a spurious signoff notification for that nick. Changed to make it IRC-case-insensitive when comparing nicks. * erc.el(erc-ison-p): Fixed so it calls erc-member-ignore-case instead of member. * erc.el(erc-member-ignore-case): New function. Just like member-ignore-case, but obeys the IRC protocol case matching rules. 2003-01-10 Damien Elmes * erc-dcc.el: (erc-dcc-do-GET-command), (erc-dcc-get-file): use the plist syntax, this fixes dcc get again 2003-01-10 Jorgen Schaefer * erc.el: erc-complete-functions: New variable. erc-mode-map: Bind \t to 'erc-complete-word erc-complete-word: New function. * erc-pcomplete.el(erc-pcomplete-mode): Use new erc-complete-functions (erc-pcomplete): Check that we're in the input line, else return nil. * erc-button.el(erc-button-mode): Use new erc-complete-functions erc-button-old-tab-command: Removed. (erc-button-next-or-old): Removed (erc-button-next): check that we're not in the input line, else just return nil. 2003-01-10 Mario Lang * erc-dcc.el: cleanup * erc-dcc.el: * (erc-dcc-chat-request): No longer use erc-send-ctcp-message. * erc-dcc.el: * (erc-dcc-no-such-nick): Also call delete-process if we have a peer already * erc-dcc.el: * (erc-dcc-no-such-nick): New function, server event handler for event 401. If we send a CTCP message requesting something dcc related, we set up an entry in erc-dcc-list before sending the request (for the server proc object for listening conns for example). But if that nick does not exist on that server, we now nicely cleanup erc-dcc-list again. 2003-01-09 Mario Lang * erc-dcc.el: Moved code around a bit, and doc fixes * erc-dcc.el: *** empty log message *** * erc-dcc.el: Rename erc-dcc-plist to erc-dcc-list 2003-01-09 Damien Elmes * erc-dcc.el(erc-dcc-server (erc-dcc-chat-setup): use erc's (erc-setup-buffer) to determine how to display new DCC windows (erc-dcc-chat-buffer-killed): buffer-local hook for DCC buffers to close the process (erc-dcc-chat-close): code common to a killed buffer or a disconnection from the other side (erc-dcc-chat-sentinel): use (erc-dcc-chat-close) (erc-dcc-server-accept): use (erc-log) instead of (message) * erc.el: (erc), (erc-setup-buffer): factor out window generation code so DCC can use it too * erc-dcc.el: (erc-dcc-do-CLOSE-command), (erc-dcc-do-LIST-command): work with erc-dcc-plist * erc-dcc.el: erc-dcc-alist: became erc-dcc-plist, so we can more easily grab particular properties dcc catalog: unify use of DCC: and [dcc] (either's fine, but let's be consistent) (erc-dcc-member): takes an arbitrary list of constraints now (erc-dcc-proc-member): removed, as (erc-dcc-member) can be used for this (erc-dcc-do-CHAT-command): use the catalog to show the user what's going on (erc-dcc-chat-server): removed (erc-dcc-server): takes name sentinel and filter arguments, can be used for both send and chat now .. this release means all send/get support is broken until we fix up the things that still expect to be using an alist. this include /dcc list, /dcc close 2003-01-09 Francis Litterio * erc-ring.el(erc-previous-command): If you have a partially typed input line and press M-p, you lose what you typed. Now we save it so you can come back to it. 2003-01-09 Jorgen Schaefer * erc-ring.el(erc-add-to-input-ring): s/nullp/null/ 2003-01-09 Damien Elmes * erc-ring.el(erc-add-to-input-ring): set up the ring if it's not already setup * erc-dcc.el(erc-dcc-member): case insensitive match of nicknames (erc-dcc-do-CHAT-command): echo what we're doing (at least for now) 2003-01-09 Mario Lang * erc-dcc.el: (temporarily) fix erc-process setting... * erc-dcc.el: * (erc-dcc-chat-send-line): Removed * erc.el: Check if target is stringp (we can now also have 'dcc as value...) * erc-dcc.el(erc-dcc-chat-send-input-line): New function, used for erc-send-input-line-function. Use erc-send-current-line now. * erc-dcc.el: evt to elt... * erc-dcc.el: Remove () from a var (how silly!) * erc-dcc.el: * (erc-dcc-get-host): Use format-network-address. * (erc-dcc-host): Change semantic. If erc-dcc-host is set, use it. Otherwise, try to figure out the host by calling erc-dcc-get-host. * (erc-dcc-server-port): New variable. * erc-dcc-chat-log: Renamed to erc-dcc-server-accept * erc-dcc.el(erc-dcc-do-CHAT-command): Change arg of call to erc-dcc-chat-request from elt to nick 2003-01-09 Francis Litterio * erc.el(erc-send-current-line): Now rejects multi-line commands (i.e., lines that start with "/" and contain newlines). 2003-01-09 Jorgen Schaefer * erc-button.el: Functionality to use TAB to jump to the next button: (erc-button-next-or-old): New function. (erc-button-next): New function. erc-button-keymap: added erc-button-next erc-button-old-tab-command: New variable. define-erc-module button: Add and remove 'erc-button-next-or-old as appropriate. 2003-01-09 Francis Litterio * erc.el: New variable: erc-auto-reconnect (defaults to t). If non-nil, ERC will automatically reconnect to a server after an unexpected disconnection. (erc-process-sentinel): Changed to refer to variable erc-auto-reconnect. 2003-01-08 Mario Lang * erc.el: * erc-send-input-line-function: New variable, used for dispatch... 2003-01-08 Damien Elmes * erc-dcc.el(erc-dcc-chat-sentinel): check event type before killing process (erc-dcc-chat-log): new, handles the setup of dcc chats for incoming connections (erc-dcc-chat): use (erc-dcc-chat-setup) (erc-dcc-chat-setup): code common to incoming and outgoing DCC chats (erc-dcc-chat-request): request a DCC chat with another user (erc-dcc-proc-member): locate a member in erc-dcc-alist by process The very first ERC to ERC DCC chat was held between delysid and resolve today! 2003-01-08 Mario Lang * erc-track.el(erc-all-buffer-names): Check for erc-dcc-chat-mode too 2003-01-08 Francis Litterio * erc-ring.el, erc.el(erc-kill-input): Resets erc-input-ring-index to nil, so that invoking this command conceptually puts you after your most recent input in the input history. (erc-previous-command and erc-next-command): Changed so that history movement is more intuitive. Also preserves the blank input line that marks the place after the newest command in the history ring (i.e., you'll see a blank command once every trip around the ring in either direction). 2003-01-08 Mario Lang * erc-dcc.el(erc-dcc-chat): Add docstring Add self-test. Fix error if /dcc chat nick doesn't find the nick 2003-01-08 Francis Litterio * Makefile: Changed so that "make" works correctly under Cygwin. Before this change, the pathname passed to Emacs on the command line under Cygwin had the form "/cygwin/c/...", which prevented emacs from finding the file. Now the pathname has the form "c:/...". This works for any drive letter. 2003-01-08 Mario Lang * erc-button.el: reindent some code, and add TODO to comments * erc-dcc.el: *** empty log message *** * erc-dcc.el: Make dcc-chat-ended a notice Remove now bogus comment 2003-01-08 Damien Elmes * erc-dcc.el(erc-pack-int): from erc-packed-int (erc-unpack-int): new * erc-dcc.el(erc-unpack-str): added 2003-01-08 Mario Lang * erc.el(erc-server-482): New handler, handles KICK reply if you're not channel-op * erc-dcc.el: Document SEND in erc-dcc-alist. Move sproc, parent-proc and file into erc-dcc-alist * erc-dcc.el: stubs * erc-dcc.el(erc-dcc-get-host): Change :iface to :local since Kim committed it now to CVS emacs * erc-dcc.el(erc-dcc-get-host): New function, requires the not-yet-in-CVS-emacs local-address.patch to process.c. Some other minor additions 2003-01-08 Francis Litterio * erc.el(erc-cmd-IGNORE): Now returns t to prevent "Bad syntax" error. (erc-cmd-UNIGNORE): Now returns t to prevent "Bad syntax" error. (erc-server-PRIVMSG-or-NOTICE): Capitalized first word in message to user. * erc.el(erc-scroll-to-bottom): Temporarily bind resize-mini-windows to nil so that users who have it set to a non-nil value will not suffer from premature minibuffer shrinkage due to the below recenter call. I have no idea why this works, but it solves the problem, and has no negative side effects. 2003-01-07 Jorgen Schaefer * erc-dcc.el: erc-dcc-ctcp-query-chat-regexp: The IP is not really an IP, but a number (no . allowed there). (erc-dcc-send-ctcp-string): use let* here to avoid cluttering up the match data. Also, use erc-decimal-to-ip to get the IP. (erc-ip-to-decimal): Removed some pasted ERC timestamps (erc-decimal-to-ip): New function. erc-dcc-chat-mode-map: Return map in the initialization. 2003-01-07 Francis Litterio * erc-match.el(erc-match-fool-p): Changed to call erc-match-directed-at-fool-p instead of erc-directed-at-fool-p. 2003-01-07 Mario Lang * erc-dcc.el(erc-cmd-DCC): Change (cond ... (t nil)) to (when ...) * erc-dcc.el: Use erc-current-nick-p 2003-01-07 Jorgen Schaefer * erc.el: erc-join-buffer: Added 'window-noselect to docstring and :type. erc-auto-query: Added 'window-noselect to :type. (erc): Treat erc-join-buffer being 'window-noselect appropriately. * erc.el(erc-current-nick-p): New function. (erc-nick-equal-p): New function. (erc-already-logged-in), (erc-server-JOIN), (erc-auto-query), (erc-server-PRIVMSG-or-NOTICE): Use erc-current-nick-p. (erc-update-channel-member): Use erc-nick-equal-p. * erc-match.el(erc-match-current-nick-p): Renamed from erc-current-nick-p (erc-match-pal-p): Renamed from erc-pal-p (erc-match-fool-p): Renamed from erc-fool-p (erc-match-keyword-p): Renamed from erc-keyword-p (erc-match-dangerous-host-p): Renamed from erc-dangerous-host-p (erc-match-directed-at-fool-p): Renamed from erc-directed-at-fool-p (erc-match-message): Use erc-match-TYPE-p instead of erc-TYPE-p * erc.el: Support for IRCnets' "nick/channel temporarily unavailable" (erc-nickname-in-use): New function (mostly copied from erc-server-433). (erc-server-433): Use erc-nickname-in-use (erc-server-437): New function. erc-server-hook-list: Added (437 erc-server-437). 2003-01-07 Mario Lang * erc-fill.el: Add autoload cookie * erc-notify.el: Now also pass SERVER argument to signon/off hooks, and provide a erc-notify-signon/off function for echo-area printing * erc-notify.el(erc-notiy-QUIT): Change use of delq to delete, delq does not work with strings 2003-01-06 Jorgen Schaefer * erc.el(erc-ctcp-query-VERSION): v%s -> %s, so we are no longer vVersion... 2003-01-06 Mario Lang * erc.el: Small change to erc-ison-p, and fixme tag 2003-01-06 Francis Litterio * erc.el(erc): Fixed bug where variable "away" would be nil in new channel buffers even if the user is away when joining the channel. (erc-strip-controls): Fixed a bug where erc-strip-controls accidentally removed all text properties from the string. 2003-01-06 Mario Lang * erc-dcc.el: Some stub functions, some code, nothing really works yet * erc.el(erc-ison-p): New function * erc-dcc.el: Some functions which will be needed for dcc send * erc-dcc.el(erc-ip-address-to-decimal): New function, thanks lawrence * erc-dcc.el: Again, simplify code, fix stuff, DCC CHAT works now * erc-dcc.el: Many fixes, chat nearly works now * erc-netsplit.el: Also detect fast netsplit/joins * erc-dcc.el: some more fixes * erc-dcc.el: Fixup stage 1, now dcc get works * erc-dcc.el: make /dcc LIST work * erc-dcc.el: Initial checkin, don't use it! its really far from complete. Hackers: help! * erc-notify.el: New function erc-notify-NICK, and added signon/off hooks which were missing 2003-01-05 Jorgen Schaefer * erc.el(erc-truncate-buffer-to-size): set inhibit-read-only to t for the deletion. This is usually done by the function calling the hook, but not if it's called interactively. Also, rewrote some weird if/if combination. * erc-track.el(erc-track-shortennames): Documentation fix (erc-all-buffers is really erc-all-buffer-names) These changes make server buffers be tracked as well, as there are quite a few interesting things going on there (e.g. CTCP etc.) (erc-all-buffer-names): Check for (eq major-mode 'erc-mode) instead of erc-default-recipients. (erc-track-modified-channels): Don't require a default target (e.g., this-channel being non-nil) 2003-01-03 Damien Elmes * erc.el: erc-auto-query: can now be set to a symbol to control how new messages should be popped up (or not popped up, as the case may be) (erc-query): new function which handles the bulk of what (erc-cmd-QUERY) did previously (erc-cmd-QUERY): use (erc-query) (erc-auto-query): use (erc-query) * erc.el(erc-current-logfile): Downcase result of log generation function, as IRC is case insensitive. Fixes problems where "/query user" results in a different log file to a query from "User". Avoided adding an extra flag to control this behavior - if you think this was the wrong decision, please correct it and I'll remember it for next time. 2002-12-31 Francis Litterio * erc.el(erc-split-command): Removed assignment to free variable "continue". (erc-strip-controls): New function. Takes a string, returns the string with all IRC color/bold/underline/etc. control codes stripped out. (erc-interpret-controls): If variable erc-interpret-controls-p is nil, now uses erc-strip-controls to strip control codes. (erc-ctcp-reply-ECHO): Changed reference and assignment to free variable "s" into reference/assignment to "msg", which appears to be the original author's intent. * erc-list.el(erc-chanlist): Changed to use the new erc-once-with-server-event function instead of the old macro of the same name. * erc-notify.el(erc-notify-timer): Changed to use the new erc-once-with-server-event function instead of the old macro of the same name. Also fixed a bug were variable erc-last-ison was being read from a non-server buffer (thus giving its default value instead of its per-server value). * erc.el(erc-once-with-server-event): This is now a function. It was a macro with a bug (the call to gensym happened at byte-compile-time not macro-call-time). (erc-toggle-debug-irc-protocol): Now [return] is bound to this function in the *erc-protocol* buffer. 2002-12-30 Alex Schroeder * erc-autoaway.el(erc-autoaway-idletimer): Doc, ref. erc-autoaway-use-emacs-idle. (autoaway): Doc, explain different idle definitions. Reestablish the idletimer only when erc-autoaway-use-emacs-idle is non-nil. (erc-auto-set-away): Doc, ref erc-auto-discard-away. (erc-auto-discard-away): Doc, ref erc-auto-set-away. (erc-autoaway-use-emacs-idle): Doc, ref erc-autoaway-mode, and added a note that this feature is currently broken. (erc-autoaway-reestablish-idletimer): Doc. (erc-autoaway-possibly-set-away): Split test such that erc-time-diff is only computed when necessary, add a comment why erc-process-alive is not necessary. (erc-autoaway-set-away): Test for erc-process-alive. 2002-12-29 Alex Schroeder * erc-autoaway.el: Changed the order of defcustoms to avoid errors in the :set property of erc-autoaway-idle-seconds. 2002-12-29 Damien Elmes * erc-track.el: * (erc-track-get-active-buffer): remove superfluous (+ arg 0) 2002-12-29 Alex Schroeder * erc-autoaway.el(erc-autoaway): Moved the defgroup up to the top, before the define-erc-module call. (autoaway): Extended doc. (erc-autoaway-idle-seconds): Use a :set property to handle erc-autoaway-use-emacs-idle. (erc-auto-set-away): Set default to t. Added doc strings where necessary, reformatted doc strings such that the first line can stand on its own. This is important for the output of M-x apropos. 2002-12-28 Jorgen Schaefer * erc-auto.in: added (provide 'erc-auto), which is required for (require 'erc-auto) :) * erc.el(erc-display-prompt): Set the face property of the prompt to everything but the last character. * erc.el(erc-send-current-line): Check whether point is in the input line. If not, just beep and do nothing. 2002-12-28 Alex Schroeder * erc.el(erc-bol): Fixed bug when there is only a prompt, and no property change. * erc.el(erc-display-prompt): Rewrote using a save-excursion and erc-propertize. No longer use a field for the prompt, but a plain text property called erc-prompt. (erc-bol): Use the erc-prompt text property instead of a field. Return point instead of t. (erc-parse-current-line): No need to call point here, then, since erc-bol now returns point. * Makefile: make ChangeLog .PHONY, thus forcing it always to be rebuilt. 2002-12-28 Jorgen Schaefer * erc.el(erc-log-irc-protocol): Removed check whether get-buffer-create returned nil. "The value is never nil", says the docstring. * erc.el: Day Of The Small Changes (erc-display-prompt): Make the prompt 'front-sticky, which prevents it from being modified. It *should* also make end-of-line move to the end of the field (i.e. the end of the prompt) when point is at the beginning of the prompt, but it doesn't. Dunno why. :( 2002-12-27 Francis Litterio * Makefile: Added "-f" to "rm" command in rule for target "realclean". * erc.el: New function: erc-log-irc-protocol. Consolidates nearly duplicate code from functions erc-send-command and erc-process-filter into one function. * erc.el(erc-toggle-debug-irc-protocol): Removed unneeded argument PREFIX and code which referenced it at end of function. (erc-send-command): Now we only append a newline to the logged copy of output protocol text if it doesn't have one. 2002-12-27 Jorgen Schaefer * erc.el(erc-toggle-debug-irc-protocol): Display buffer if it's not shown already, and use view-mode. (erc-toggle-debug-irc-protocol), (erc-send-command), (erc-process-filter): inhibit-only t to insert into the *erc-protocol* buffer (view-mode) 2002-12-27 Francis Litterio * erc.el(erc-mode-map): Removed keybinding for erc-toggle-debug-irc-protocol. (erc-toggle-debug-irc-protocol): Now used erc-make-notice to propertize the face of the enabled/disabled messages in the *erc-protocol* buffer. (erc-send-command): Now outgoing IRC protocol traffic is logged too. * erc.el: Added user-customizable variable erc-debug-irc-protocol. Added function erc-toggle-debug-irc-protocol. (erc-process-filter): Now supports IRC protocol logging. If variable erc-debug-irc-protocol is non-nil, all IRC protocol traffic is appended to buffer *erc-protocol*, which is created if necessary. 2002-12-27 Jorgen Schaefer * erc.el(erc-display-prompt): Don't make the prompt intangible; that didn't make things that much better for the user, but confused ispell, which checked the prompt when it should check the first word 2002-12-27 Alex Schroeder * AUTHORS: fixed resolve's email add * AUTHORS: added damien * erc.el(erc-truncate-buffer-on-save): Removed documentation that described behavior now changed. It used to say "When nil, no buffer is ever truncated." This is no longer true; even when buffers are NOT truncated on save, they can be truncated, eg. by adding erc-truncate-buffer to the hook. (erc-logging-enabled): New function. (erc-current-logfile): New function. (erc): Use erc-logging-enabled and erc-current-logfile. (erc-truncate-buffer-to-size): Rewrote it, and made sure to use a (save-restriction (widen) ...) such that the truncation actually runs in the whole buffer, not in the last message only (as erc-insert-post-hook will do!). This should fix rw's out-of-bounds error. (erc-generate-log-file-name-short): Made all but the BUFFER argument optional. Doc: Mention erc-generate-log-file-name-function. (erc-generate-log-file-name-long): Doc: Mention erc-generate-log-file-name-function. (erc-save-buffer-in-logs): Use erc-logging-enabled and erc-current-logfile. Doc: Mention erc-logging-enabled. (erc-encode-string-for-target): Only do the real work when featurep mule; else just return the string unchanged. 2002-12-27 Damien Elmes * erc.el: erc-encoding-default: check for (coding-system-p) for older emacs versions * erc.el(erc-connect): missing ()s added. "don't commit at 2am" * erc.el(erc-connect): check if (set-process-coding-system) is available before use 2002-12-27 Alex Schroeder * AUTHORS: added franl 2002-12-26 Alex Schroeder * erc-pcomplete.el(pcomplete-parse-erc-arguments): Reworked, and fixed a bug that had caused completions to corrupt preceding text under some circumstances. * erc.el(erc-encoding-default): New. (erc-encode-string-for-target): Use it instead of a hard-coded ctext. (erc-encoding-coding-alist): Doc. 2002-12-26 Francis Litterio * erc.el: Removed fix for bug 658552 recently checked-in, because it doesn't work. * erc.el(erc-kill-buffer-function): Removed check that connection is up before running erc-kill-server-hook hooks. Those hooks should use erc-process-alive to avoid interacting with the process. * erc.el: Fixed erc-send-current-line so it no longer assigns the free variable "s", and it doesn't move point to end-of-buffer in non-ERC buffers. Fixed erc-kill-buffer-function so it doesn't run the erc-kill-server-hook hooks if the server connection is closed. Fixed bug 658552, which is described in detail at https://sourceforge.net/tracker/index.php?func=detail&aid=658552&group_id=30118&atid=398125 2002-12-26 Alex Schroeder * erc.el(erc-cmd-SMV): Bug, now call erc-version-modules. * erc-pcomplete.el(erc-pcomplete-version): New. 2002-12-26 Francis Litterio * erc-pcomplete.el: Fix for bug where you could not complete a nick when there was text following the nick. 2002-12-25 Alex Schroeder * erc.el(erc-already-logged-in): Use erc-process-alive. (erc-prepare-mode-line-format): Use erc-process-alive. (erc-process-alive): Check erc-process for boundp and processp. * erc.el(erc-kill-buffer-function): Do not check whether the process is alive before running the hook, because there might be functions on the hook that need to run even when the process is dead. And function that wants to check this, should use (erc-process-alive). (erc-process-alive): New function. (erc-kill-server): Use it. (erc-kill-channel): Use it. * erc.el(erc-kill-buffer-function): Reverted ignore-error change. ignore-error is dangerous because we might miss bugs in functions on erc-kill-server-hook. * erc.el(erc-kill-buffer-function): Use memq instead of member when checking process-status. Added doc string with references to the other hooks. (erc-kill-server): Only send the command when the erc-process is still alive. This prevents the error: "Process erc-irc.openprojects.net-6667 not running" when killing the buffer after having used /QUIT. 2002-12-24 Jorgen Schaefer * erc.el(erc-server-ERROR): Show the error reason, not only the originating host. * erc.el(erc-kill-buffer-function): (ignore-errors ...) in 'erc-kill-server-hook. When the process for this server does not exist anymore, the hook will cause an error, effectively preventing the buffer from being killed. 2002-12-24 Francis Litterio * erc-notify.el: Fixed erc-notify-timer so that it passes the correct nick to the functions on erc-notify-signoff-hook. 2002-12-24 Alex Schroeder * erc-track.el: Doc * erc-track.el(erc-make-mode-line-buffer-name): Removed a superfluous if construct around erc-track-showcount-string. (erc-track-modified-channels): Use 1+. Plus some doc and comment changes. 2002-12-23 Mario Lang * erc.el: Fix (erc-version) string 2002-12-23 Francis Litterio * erc.el: Removed unnecessary assignment to free-variable "p" in erc-downcase. * erc.el: Now /PART reason strings are generated the same way /QUIT reason strings are generated (see variable erc-part-reason). Also, when a server buffer is killed, a QUIT command is automatically sent to the server. * erc.el: Changed erc-string-no-properties so that it is more efficient. Now it uses set-text-properties instead of creating and deleting a temporary buffer. 2002-12-21 Jorgen Schaefer * erc.el: erc-kill-input: added a check to prevent a (ding) and an error when there's nothing to kill (thanks to Francis Litterio, franl on IRC) 2002-12-21 Mario Lang * erc.el: AWAY notice duplication prevention. erc-prevent-duplicates now set to ("301") by default, and timeout to 60 * erc.el: erc-prevent-duplicates: New variable, see docstring 2002-12-20 Jorgen Schaefer * erc-track.el: erc-track-modified-channels: Use cddr of cell for old-face. cdr of cell is '(1 . face-name), i have no idea why :) 2002-12-20 Damien Elmes * erc.el(erc-current-nick): check the server buffer is active before using Also tabified and cleaned up some trailing whitespace 2002-12-15 Mario Lang * erc-track.el: erc-track-count patch by az 2002-12-14 Damien Elmes * erc.el: last-peers: initialize to a cons. thanks to Francis Litterio for the patch * erc.el: erc-kill-channel-hook, erc-kill-buffer-hook, (erc-kill-channel): both hooks now call erc-save-buffer-in-logs, so that query buffers are saved properly now, and not just channel buffers. 2002-12-13 Alex Schroeder * erc-track.el(erc-unique-channel-names): Fix another #hurd vs. #hurd-bunny bug. * erc-match.el(match): No longer modify erc-send-modify-hook, since it does not work without a parsed text property, anyway. (erc-keywords): Allow cons cells. (erc-remove-entry-from-list): Deal with cons cells. (erc-keyword-p): Ditto. (erc-match-message): Ditto. Moved nil to the beginning of the list, removed :tags for the -type variables: (erc-current-nick-highlight-type): Ditto. (erc-pal-highlight-type): Ditto. (erc-fool-highlight-type): Ditto. (erc-keyword-highlight-type): Ditto. (erc-dangerous-host-highlight-type): Ditto. (erc-log-matches-flag): Moved nil to the beginning. 2002-12-11 Jorgen Schaefer * erc.el: erc-beg-of-input-line: Don't do (goto-char (beginning-of-line)), since beginning-of-line always moves point and returns nil. Thanks to franl on IRC for noting this. * erc-stamp.el: erc-insert-timestamp-left, erc-insert-timestamp-right: Made the timestamp a 'field named 'erc-timestamp. Now end-of-line and beginning-of-line will move over the timestamp. 2002-12-10 Damien Elmes * erc-button.el(erc-button-add-button): make the created button rear-nonsticky, to allow cutting and pasting of buttons without worrying about the button properties being inherited by the text typed afterwards. * erc.el: save logfile when killing buffer 2002-12-09 Alex Schroeder * erc-track.el(erc-modified-channels-display): Reworked. (erc-track-face-more-important-p): Removed. (erc-track-find-face): Return only one face. (erc-track-modified-channels): Reworked. (erc-modified-channels-string): Changed from (BUFFER FACE...) to (BUFFER . FACE) * erc-stamp.el(erc-insert-timestamp-right): Do not assume erc-fill-column is available. 2002-12-09 Jorgen Schaefer * erc.el: erc-ech-notices-in-minibuffer-flag, erc-minibuffer-notice: Clarified the difference in the docstrings. 2002-12-08 Jorgen Schaefer * erc.el: erc-noncommands-list: added erc-cmd-SM and erc-cmd-SMV 2002-12-08 Alex Schroeder * erc.el(erc-cmd-SM): New. (erc-cmd-SMV): New. * erc.el(erc-modes): New. 2002-12-08 Jorgen Schaefer * erc-compat.el: field-end: use (not (fboundp 'field-end)) instead of (featurep 'xemacs) 2002-12-08 Alex Schroeder * erc.el(erc-version-modules): New. 2002-12-08 Mario Lang * debian/changelog, debian/control, debian/scripts/startup.erc: debian release 3.0.cvs.20021208 2002-12-08 Jorgen Schaefer * erc.el(erc-split-command): Do the right thing with CTCPs. 2002-12-08 Mario Lang * erc-stamp.el: Be a bit more functional 2002-12-08 Jorgen Schaefer * erc-compat.el: XEmacs doesn't seem to have field-end, so we provide our own version here. 2002-12-08 Mario Lang * Makefile: Small fixes to debrelease target 2002-12-08 Jorgen Schaefer * erc.el: make-obsolete-variable: xemacs doesn't have the WHEN parameter, remove it. 2002-12-07 Jorgen Schaefer * erc-imenu.el(erc-create-imenu-index): Use (forward-line 0) instead of (beginning-of-line) now, sine the latter ignores fields (used in the prompt). * erc.el: Rewrite of the prompt stuff to use a field named 'erc-prompt: erc-prompt: Removed getter and setter functions. The properties were already set (and overwritten) in erc-display-prompt. (erc-prompt): Add the trailing space here, not all over the code. (erc-display-prompt): Cleaned up a bit. The text-properties now are valid on the whole prompt. Also, made the prompt 'intangible to avoid confused users. (erc-bol): Now use the field 'erc-prompt for finding the prompt (erc-parse-current-line): Cleaned up considerably. Uses (erc-bol) now. (erc-load-irc-script-lines): Adjusted for the new (erc-prompt). (erc-save-buffer-in-logs): Adjusted for the new (erc-prompt). * erc.el: erc-uncontrol-input-line: The comment said "Consider it deprecated", so I removed it now. erc-prompt-interactive-input: Marked obsolete as of previous change. * erc.el: erc-smiley, erc-unmorse: Put at the end to separate it from the important parts of erc.el. 2002-12-07 Alex Schroeder * erc-stamp.el(erc-insert-timestamp-right): New algorithm. 2002-12-07 Jorgen Schaefer * erc.el: last-peers, erc-message: Explained what last-peers is used for. 2002-12-07 Alex Schroeder * erc-page.el(erc-cmd-PAGE): New function. (erc-ctcp-query-PAGE): Use the catalog entry for the message, too. (erc-ctcp-query-PAGE-hook): Added custom type. (erc-page-function): Changed custom type from ... function-item to ... function. As well as doc strings. 2002-12-06 Alex Schroeder * erc-page.el: provide feature at the end 2002-12-06 Brian P Templeton * erc-nickserv.el: Added austnet in erc-nickserv.el (thanks to Damien Elmes ) 2002-12-05 Mario Lang * erc-complete.el: Add autoload cookie * erc-speak.el: Small fix to make proper voice-changes 2002-12-05 Alex Schroeder * erc-lang.el: New 2002-12-03 Jorgen Schaefer * erc.el: erc-mode-map: Put back C-c C-p (PART) and C-c C-q (QUIT) 2002-12-02 Jorgen Schaefer * erc.el: erc-insert-post-hook: Add :options erc-make-read-only, erc-save-buffer-in-logs erc-send-post-hook: Add :options erc-make-read-only * erc.el: erc-insert-hook: Removed ("this hook is obsolescent") erc-insert-post-hook: Added :options '(erc-truncate-buffer) 2002-12-02 Mario Lang * erc.el: Add missing requires 2002-11-29 Jorgen Schaefer * erc.el(erc-quit-reason-normal): Remove v before %s so it's "Version ..." not "vVersion ..." 2002-11-26 Alex Schroeder * erc-compat.el(erc-encode-coding-string): Add second argument coding-system, and for non-mule xemacsen, use a new defun instead of identity. * erc.el: (define-erc-module): Use the appropriate group. (erc-port): Changed custom type. (erc-insert-hook): Custom group changed to erc-hooks. (erc-after-connect): ditto (erc-before-connect): ditto (erc-disconnected-hook): ditto * erc-button.el(erc-button): New group, changed all custom groups from erc to erc-button, but left all erc-faces as-is. * erc-track.el(erc-track): New group, changed all custom groups from erc to erc-track. 2002-11-26 Mario Lang * erc-macs.el: Macros for erc-victim handling. Primary idea is to use setf and some fancy things to get nice syntax. have a look 2002-11-26 Jorgen Schaefer * erc.el: pings, erc-cmd-PING, erc-ctcp-reply-PING, catalog entry CTCP-PING: Cleaned up. Removed buffer-local variable pings which stored a list of all sent CTCP PING requests. Now send our full time with the CTCP PING request and interpret the answer. 2002-11-25 Jorgen Schaefer * erc.el: nick-stk: replaced by the local variable current-nick. 2002-11-25 Alex Schroeder * erc.el(erc-send-command): Use erc-encode-string-for-target. (erc-encode-string-for-target): New. * erc-compat.el(erc-encode-coding-string): Add second argument coding-system, and for non-mule xemacsen, use a new defun instead of identity. * erc-nickserv.el(erc-nickserv-version): New. 2002-11-25 Jorgen Schaefer * Makefile: UNCOMPILED: erc-chess.el depends on chess-network.el, which might not be installed. Don't compile it. * erc.el: erc-mode-map: Added C-a as erc-bol (no reason why it shouldn't be), and removed C-c C-p (part channel) and C-c C-q (quite server) as these are a bit drastic in their consequences and easy to mistype. 2002-11-24 Jorgen Schaefer * erc-track.el: erc-track-faces-priority-list: Extended list * erc.el: channel-members: Updated docstring: We have a VOICE predicate, too. * erc-track.el(erc-unique-substrings): Don't shorten a single channel to "#", but always give at least 2 chars (except when there are no two chars). 2002-11-23 Jorgen Schaefer * erc-nickserv.el: support for BrasNET. Thanks to rw on IRC for the settings. 2002-11-23 Alex Schroeder * erc.el: (erc-default-recipients, erc-session-user-full-name) (nick-stk, pings, erc-announced-server-name, erc-connected) (channel-user-limit, last-peers, invitation, away, channel-list) (last-sent-time, last-ping-time, last-ctcp-time, erc-lines-sent) (erc-bytes-sent, quitting, bad-nick, erc-logged-in) (erc-default-nicks): Defvars. * erc-compat.el: Switched tests to iso-8859-1 instead of latin-1. * erc-compat.el(erc-compat-version): New. 2002-11-22 Alex Schroeder * erc.el(smiley): Smileys are a very small module, now. 2002-11-22 Jorgen Schaefer * erc.el: erc-event-to-hook, erc-event-to-hook-name: eval-and-compile these, since we need them in a macro. ERC now compiles again! * erc-speak.el: erc-minibuffer-privmsg: Removed setting this variable to nil, since it was removed from erc.el. * erc.el(erc-interactive-input-map): Added docstring. (erc-wash-quit-reason): Extended docstring. (erc-server-ERROR): Added docstring. (erc-server-321): buffer-local variable channel-list probably shouldn't be renamed erc-channel-list - removed FIXME. * erc.el: small cleanup. ("was not used anymore" here means "not used in erc/*.el nor in fsbot", thanks to deego for checking that.) erc-minibuffer-privmsg: Removed (was not used anymore) (erc-reformat-command): Removed (was not used anymore) (erc-strip-erc-parsed-property): Removed (was not used anymore) (erc-process-ctcp-response): Removed (replaced by ctcp-query-XXX-hook) (erc-send-paragraph): Removed ("Note that this function is obsolete, erc-send-current-line handles multiline input.") (erc-input-hook): Removed ("This hook is obsolete. See `erc-send-pre-hook', `erc-send-modify-hook' and `erc-send-post-hook' instead.") (erc-message-hook): Removed ("This hook is obsolete. See `erc-server-PRIVMSG-hook' and `erc-server-NOTICE-hook'.") (erc-cmd-default-channel): Removed ("FIXME: no clue what this is supposed to do." - it was supposed to prepend the default channel to a command before sending it. E.g. typing "/FOO now!" would send the IRC command "FOO #mycurrentchannel now!") * erc.el: erc-ctcp-query-PING: Send the whole argument back, not just the first number. This is required for many clients (e.g. irssi, BitchX, ...) which send their ping times in two different numbers for microsecond accuracy. 2002-11-22 Alex Schroeder * erc-track.el(erc-track-shorten-function): Allow nil. 2002-11-21 Alex Schroeder * erc-track.el(erc-unique-channel-names): Fixed bug that appeared if one target name was a substring of another -- eg. #hurd and #hurd-bunny. Added appropriate test. 2002-11-20 Jorgen Schaefer * erc-track.el: erc-unique-channel-names: Don't take a substring of channel that could be longer than the channel, but at most (min (length candidate) (length channel). (thanks to deego for noticing this) 2002-11-19 Mario Lang * erc-notify.el: * (require pcomplete): Only when compiling. 2002-11-19 Jorgen Schaefer * erc-track.el: erc-track-faces-priority-list: New variable, defines what faces will be shown in the modeline. If set to nil, the old behavior ("all") remains. erc-track-face-more-important-p: new function erc-track-find-face: new function 2002-11-19 Alex Schroeder * erc-fill.el(erc-stamp): Require it. * erc-match.el(away): devar for the compiler. * erc-stamp.el(stamp): Moved. * erc.el(erc-version-string): New version. * erc-autoaway.el(erc-autoaway-idletimer): Moved to the front of the file. * erc-auto.in: (generated-autoload-file, command-line-args-left): Added defvar without value to silence byte compiler. * Makefile(realclean): renamed fullclean to realclean. (UNCOMPILED): New list, for erc-bbdb.el, erc-ibuffer.el, erc-speak.el. (SOURCE): Do not compile UNCOMPILED. (release): New target. (ChangeLog): New target. (todo): New target. * erc-complete.el(erc-match): Require it. (hippie-exp): Require it. * erc-ezbounce.el(erc): Require it. * erc-imenu.el(imenu): Require it. * erc-nickserv.el(erc-networks): Moved up. * erc-notify.el(pcomplete): Require it. * erc-replace.el(erc): Require it. * erc-sound.el(sound): Typo -- define-key in erc-mode-map. * erc-speedbar.el(dframe): Require it. (speedbar): Require it. * erc-track.el(erc-default-recipients): devar for the compiler. * README: New file. 2002-11-18 Mario Lang * AUTHORS: File needed for mkChangeLog * mkChangeLog: Original code by mhp 2002-11-18 Alex Schroeder * erc-button.el(erc-button-list): Renamed to erc-list and moved to erc.el. * erc.el(erc-list): New. * erc-track.el(erc-make-mode-line-buffer-name): Simplified. (erc-modified-channels-display): Simplified. Now works with all faces, and fixes the bug that when two faces where used (bold erc-current-nick-face), then no faces was added. * erc-track.el: Lots of new tests. Moved some defuns around in the file. (erc-all-channel-names): Renamed. (erc-all-buffer-names): New name, now include query buffers as well. (erc-modified-channels-update-inside): New variable. (erc-modified-channels-update): Use it to prevent running display if already inside it. This prevented debugging of `erc-modified-channels-display'. (erc-make-mode-line-buffer-name): Moved. (erc-track-shorten-names): Don't test using erc-channel-p as that failed with query buffers. (erc-unique-substrings): Move setq i + 1 to the end of the while loop, so that start is used as a default value instead of start + 1. 2002-11-18 Jorgen Schaefer * erc-track.el: erc-unique-substrings: define this before using it in assert * erc.el: with-erc-channel-buffer: Define *before* using this macro. This hopefully fixes a bug noted on IRC. * erc-notify.el: erc-notify-signon-hook, erc-notify-signoff-hook: New hooks. They're even run when their name suggests! 2002-11-18 Alex Schroeder * erc-list.el: Typo. * erc-speedbar.el: Whitespace only. * erc.el(define-erc-module): Avoid defining an alias if name and alias are the same. * erc-ibuffer.el: URL * erc-imenu.el(erc-imenu-version): New constant. * erc-ibuffer.el(erc-ibuffer-version): New constant. * erc-ibuffer.el: File header, comments. * erc-fill.el(erc-fill-version): New constant. * erc-ezbounce.el(erc-ezb-version): New constant. * erc-complete.el(erc-complete-version): New constant. * erc-chess.el(erc-chess-version): New constant. * erc-chess.el: Whitespace only. * erc-bbdb.el(erc-bbdb-version): Typo. * erc-bbdb.el(erc-bbdb-version): New constant. Lots of whitespace changes. Changes to the header. * erc-track.el(erc-track-shorten-aggressively): Doc. (erc-all-channel-names): New function. (erc-unique-channel-names): New function. (unique-substrings): Renamed. (erc-unique-substrings): New name (unique-substrings-1): Renamed. (erc-unique-substring-1): New name. Added lots of tests. (erc-track-shorten-names): Call erc-unique-channel-names instead * erc-match.el(match): Rewrote a as module. 2002-11-17 Alex Schroeder * erc-netsplit.el(erc-netsplit-version): New. (netsplit): Defined as a module, replacing erc-netsplit-initialize and erc-netsplit-destroy. 2002-11-17 Jorgen Schaefer * erc-track.el(erc-track-switch-buffer): define-erc-module defines erc-track-mode, not erc-track-modified-channels-mode. * erc.el: Variables erc-play-sound, erc-sound-path, erc-default-sound, erc-play-command, erc-ctcp-query-SOUND-hook and functions erc-cmd-SOUND, erc-ctcp-query-SOUND, erc-play-sound, erc-toggle-sound moved to erc-sound.el Variables erc-page-function, erc-ctcp-query-PAGE-hook and function erc-ctcp-query-PAGE moved to erc-page.el * erc-page.el: erc-page.el: New file. CTCP PAGE support for ERC, extracted from erc.el. * erc-sound.el: defin-erc-module: Typo. Autoload should do erc-sound-mode and "erc-sound". * erc-sound.el: erc-sound.el: New file. Contains all the CTCP SOUND stuff from erc.el. * erc.el(erc-process-ctcp-request): Removed (old-style CTCP handling) (erc-join-autogreet): Removed (was broken anyways) 2002-11-17 Alex Schroeder * erc-button.el(erc-button-version): New constant. * erc-button.el(button): rewrote as a module. 2002-11-17 Jorgen Schaefer * erc.el: New functions: (erc-event-to-hook), (erc-event-to-hook-name): Convert an event to the corresponding hook. The latter only returns the name, while the former interns the hook symbol and returns it. 2002-11-17 Alex Schroeder * erc-replace.el: Practically total rewrite. All smiley stuff deleted. * erc-track.el(track): typo. * erc.el(define-erc-module): Doc change. 2002-11-17 Jorgen Schaefer * erc-autoaway.el: Changed to use define-erc-module. * erc.el(define-erc-module): Make the enable/disable functions interactive. * erc.el(erc): Don't use switch-to-buffer when we're in the minibuffer, because that does not work. Use display-buffer instead. This leaves two problems: The point does not advance to the end of the buffer for whatever reason, and after leaving the minibuffer, the new window gets buried. 2002-11-17 Alex Schroeder * erc-stamp.el(stamp): Doc change. * erc-stamp.el(erc-stamp-version): New constant. (stamp): downcase alias name of the mode. * erc.el(define-erc-module): Added defalias option, renamed parameters again. * erc-track.el: erc-track-modified-channels-mode is now only an alias to erc-track-mode. Only erc-track-mode is autoloaded. (track): Rewrote call to define-erc-module. 2002-11-16 Mario Lang * debian/README.Debian: * Spelling fix * erc-fill.el: * Fix autoload definition for erc-fill-mode * debian/control, debian/maint/postinst, debian/maint/prerm: * Remove /usr/doc -> /usr/share/doc link handling * debian/changelog: * Sync with reality * debian/scripts/startup.erc: * Add /usr/share/emacs/site-lisp/erc/ to load-path * (load "erc-auto") * debian/README.Debian: * Info about the changes since last release updated * erc-pcomplete.el: * Fix emacs/xemacs compatibility * debian/scripts/install: * Don't compile erc-compat, fix ELCDIR * debian/control: * Change maintainer field * erc.el: * (defin-erc-module): Renamed argument mode-name to mname because silly byte-compiler thought we were talking about `mode-name'. * Makefile: * Added debrelease target * erc-bbdb.el, erc-pcomplete.el, erc-stamp.el, erc.el: * (define-erc-module): Added mode-name argument. * Converted erc-bbdb, erc-pcomplete and erc-stamp to new macro. * autoload fixes * erc-bbdb.el: * Create a global-minor-mode (i.e., make it a proper erc-module) * erc.el: * (define-erc-module): New defmacro 2002-11-16 Jorgen Schaefer * erc-autoaway.el(erc-autoaway-idle-seconds): t in docstrings should be non-nil 2002-11-16 Alex Schroeder * erc-autoaway.el, erc-button.el, erc-fill.el, erc-match.el, erc-menu.el, erc-ring.el, erc-track.el: Cleanup of file headers: copyright years, GPL mumbo-jumbo, commentaries. * erc-stamp.el(erc-insert-away-timestamp-function): New custom type. (erc-insert-timestamp-function): New custom type. * erc-fill.el(erc-fill-function): Doc, new custom type. (erc-fill-static): Doc. (erc-fill-enable): New function. (erc-fill-disable): New function. (erc-fill-mode): New function. * erc-match.el(erc-match-enable): add-hook for both erc-insert-modify-hook and erc-send-modify-hook. (erc-match-disable): remove-hook for both erc-insert-modify-hook and erc-send-modify-hook. 2002-11-15 Jorgen Schaefer * erc-autoaway.el: - Added a way to use auto-away using emacs idle timers - Renamed erc-set-autoaway to erc-autoaway-possibly-set-away for consistency 2002-11-14 Jorgen Schaefer * erc.el: erc-mode-map: Removed the C-c C-g binding for erc-grab * erc.el: (erc-server-341) Another instance of the channel/chnl problem i didn't see last time 2002-11-14 Alex Schroeder * erc-compat.el(erc-decode-coding-string): typo 2002-11-14 Jorgen Schaefer * erc.el(erc-server-341): variable name should be chnl not channel, as it is used this way in this function, and the other erc-server-[0-9]* use chnl too. * erc-autoaway.el: Set back on all servers, not just the current one, since we're set away on all servers as well. * HISTORY: Fixed typo (ngu.org => gnu.org) * erc-autoaway.el, erc-fill.el, erc.el: erc-autoaway.el: * new file * erc.el: Removed auto-discard-away facility (now included in erc-autoaway.el) (erc-away-p): new function * erc-fill.el (erc-fill-variable): Check whether erc-timestamp-format is bound before using it (erc-fill.el does not require erc-stamp). 2002-11-10 Alex Schroeder * TODO: TODO: moved it to https://www.emacswiki.org/cgi-bin/wiki.pl?ErcTODO * erc.el(with-erc-channel-buffer): Rudimentary doc string. 2002-11-09 Alex Schroeder * erc-button.el(erc-nick-popup-alist): Made a defcustom. * erc-button.el(erc-button-disable): New function. (erc-button-enable): New function, replaces the add-hook calls at top-level. (erc-button-mode): New minor mode. 2002-11-08 Alex Schroeder * erc-button.el(erc-button-entry): Use erc-button-syntax-table. * erc.el, erc-stamp.el: Doc changes. * erc-match.el(erc-match-mode): New function, replacing the add-hook. (erc-match-enable): New function. (erc-match-disable): New function. (erc-current-nick-highlight-type): Changed from 'nickname to 'nick to make it consistent with the others. (erc-match-message): Ditto. * erc-button.el(erc-button-syntax-table): New variable. (erc-button-add-buttons): Use it. 2002-11-06 Mario Lang * erc.el: 1) (bug) ERC pops up a new buffer and window when being messaged from an ignored person. fixed 2) (misfeature) ERC notices the user in the minibuffer when it ignores something - this can get very annoying, since the minibuffer is also visible when not looking at ERC buffers. Added a customizable variable for this, the default is nil. 3) (wishlist) There is no IGNORE or UNIGNORE command. Added. 4) (wishlist) Some IRC clients, notably irssi, allow the user to ignore "replies" to ignored people. A reply is defined as a line starting with "nick:", where nick is the nick of an ignored person. Added that functionality. Done by Jorgen Schaefer 2002-11-02 Alex Schroeder * erc.el(erc-connect): set-process-coding-system to raw-text. 2002-11-01 Brian P Templeton * erc-pcomplete.el, erc-stamp.el, erc-track.el: Fixed more autoloads * erc-compat.el: Added autoload for erc-define-minor-mode 2002-11-01 Mario Lang * erc.el: * (erc-send-command): will break long messages into a bunch of smaller ones, to prevent them from being truncated by the server. The patch also axes some trailing whitespace. :-) 2002-10-31 Alex Schroeder * erc-pcomplete.el(erc-compat): Require. (erc-completion-mode): Use erc-define-minor-mode. * erc-track.el(erc-compat): Require. (erc-track-modified-channels-mode): Use erc-define-minor-mode. * erc-stamp.el(erc-compat): Require. (erc-timestamp-mode): Use erc-define-minor-mode. * erc-compat.el: New file with the code for erc-define-minor-mode, erc-encode-coding-string and erc-decode-coding-string. Essentially all the stuff that cannot be tested for using a simple boundp or fboundp -- eg. because the number of arguments are wrong. * erc.el(erc-compat): Require. (erc-process-coding-system): Moved to erc-compat.el. (erc-connect): Do not set-process-coding-system. (encode-coding-string): Compatibility code moved to erc-compat.el. (decode-coding-string): Compatibility code moved to erc-compat.el. (erc-encode-coding-string): Compatibility code moved to erc-compat.el. (erc-decode-coding-string): Compatibility code moved to erc-compat.el. 2002-10-27 Alex Schroeder * erc.el(erc-display-line-1): Removed call to erc-decode-coding-string. (erc-parse-line-from-server): Added call to erc-decode-coding-string before anything gets parsed at all. (erc-decode-coding-string): Use undecided coding system. 2002-10-24 Sandra Jean Chua * erc-button.el, erc.el: Added LASTLOG command and action for nick-button 2002-10-22 Sandra Jean Chua * erc-pcomplete.el: Fixed nopruning bug, added /MODE channel (mode) [nicks...] completion - mode not completed yet. 2002-10-16 Sandra Jean Chua * erc-pcomplete.el: Fixed 'Hi delysid:' bug in SAY completion after realizing that pcomplete on commands already took care of completing the initial nick: 2002-10-15 Mario Lang * erc-pcomplete.el: update from sachac 2002-10-13 Alex Schroeder * erc.el(erc-emacs-time-to-erc-time): Catch when tm is nil. 2002-10-11 Andreas Fuchs * erc.el: * Fixed `erc-scroll-to-bottom' to scroll to the bottom even when in the middle of a line. Might also fix the Magic ECHAN Bug[tm]. (-: 2002-10-11 Mario Lang * erc-nickserv.el: Fixed erc-networks for the opn->freenode change 2002-10-08 Mario Lang * erc-pcomplete.el: Make erc-completion-mode work interactively with already joined channel buffers * erc-chess.el: Add autoload cookies * erc-notify.el: Add pcomplete support * erc.el: Remove autoload statements, remove autoload cookie from erc-mode and erc-info-mode * erc-fill.el, erc-match.el: add/remove autoload cookies 2002-10-06 Alex Schroeder * erc-pcomplete.el(erc-completion-mode): New global minor mode with autoload cookie. (erc-pcomplete-enable): Renamed erc-pcomplete-initialize. (erc-pcomplete-disable): New function. * erc-complete.el: Doc changes. * erc-stamp.el(erc-stamp-enable): Renamed erc-stamp-initialize. (erc-stamp-disable): Renamed erc-stamp-destroy. (erc-timestamp-mode): Use new names. * erc.el: Removed autoload for erc-complete and erc-track-modified-channels-mode -- the autoload cookie should do that instead. (erc-input-message): Doc string, removed binding for erc-complete. (erc-mode-map): Removed binding for erc-complete. 2002-10-03 Mario Lang * erc-notify.el: New functions erc-notify-JOIN and erc-notify-QUIT to catch some common cases (warning, untested) 2002-10-01 Alex Schroeder * erc-stamp.el(erc-timestamp-mode): New function. Removed call to erc-stamp-initialize at the end. 2002-09-25 Brian P Templeton * erc.el: Added customizable `erc-process-coding-system' variable. 2002-09-22 Brian P Templeton * erc-fill.el: `erc-fill-variable' now does the right thing when `erc-hide-timestamps' is non-nil 2002-09-21 Mario Lang * erc-fill.el: patch from Peter Solodov (note, its slightly broken still 2002-09-05 Mario Lang * erc-pcomplete.el: Added LEAVE as alias for PART 2002-09-04 Mario Lang * erc-pcomplete.el: By sachac (good work!) keep up doing such things 2002-08-31 Mario Lang * erc.el: A fix for Bug#133267: now you can put (erc-save-buffer-in-logs) on erc-insert-post-hook to save *every* incoming message. 2002-08-30 Brian P Templeton * erc.el: Changed default value of erc-common-server-suffixes because of the OPN name change 2002-08-28 Mario Lang * erc-stamp.el: Try to reactivate isearch in xemacs * erc-stamp.el: fixes issues related to comparative emacsology and a silly bug 2002-08-27 Mario Lang * erc.el: New hook erc-send-completed-hook (for robot stuff), changed alexanders email address to reflect reality, little fix to erc-auto-query to get a bit of a speedup 2002-08-22 Mario Lang * erc-button.el: Fixed case-fold-search (thanks sachac), now lambda works in erc-button-alist, added wardwiki+google+symvar+rfc+itime regexps from the wiki 2002-08-19 Mario Lang * erc-button.el: erc-nick-popup-alist: New variable to make erc-nick-popup configurable 2002-08-16 Alex Schroeder * erc-button.el(erc-recompute-nick-regexp): Fixed regexp. * erc-button.el(erc-button-buttonize-nicks): Changed custom type to integer. (erc-button-add-buttons): Moved button removal code to new function. (erc-button-remove-old-buttons): New function. (erc-button-add-button): Removed use of overlays and used erc-button-add-face instead. (erc-button-add-face): New function to merge faces as text properties. This should be much faster when lots of buttons appear. (erc-button-list): New helper function. * erc.el(erc-display-message): Fixed argument list. (erc-display-prompt): Reduced calls to length, use start-open property for XEmacs to prevent a little box of erc-prompt-face at the end of messages other people send. (erc-refresh-channel-members): Fix XEmacs calls to split-string, which may return an empty string at the end of the list. This would cause hangups in erc-button in re-search-forward loops. (erc-get-channel-mode-from-keypress): Replaced control codes with octal escape sequences. 2002-08-14 Mario Lang * erc-button.el: Try to be compatible to XEmacs regexp-opt. (I'm going to quit this job if I find more of those damn differences.) * debian/README.Debian, debian/scripts/install: * Added info to README.Debian * Finished debian/scripts/install 2002-08-13 Mario Lang * debian/scripts/install: First attempt to fix it * debian/README.Debian, debian/changelog, debian/scripts/install: changelog: Changed maintainer and added new entry README.Debian: Re-explained the byte-compile issue scripts/install: Exclude erc-bbdb|chess|ibuffer|speedbar from byte-compiling * erc-track.el: Added C-c C-SPC in addition to C-c C-@ * erc-notify.el: Little docstring change 2002-08-09 Mario Lang * erc-stamp.el: Change one use of set-text-properties to add-text-properties (tnx Lathi) 2002-08-02 Mario Lang * erc-stamp.el: added erc-timestamp-only-if-changed-flag 2002-07-22 Mario Lang * erc.el: Removed timestamp related code and moved into erc-stamp.el * erc-stamp.el: Timestamping code moved out of erc.el. Additional, now we can timestamp either on the left or on the right side 2002-07-16 Mario Lang * erc.el: * Make ctcp ping return its message in the active buffer, instead of the server buffer * Corrected minimal typo in catalog * Added var and variable as alias for /set 2002-07-08 Mario Lang * erc-track.el: * New function erc-track-switch-buffer (by resolve) Bound to C-c C-SPC, enjoy! 2002-07-08 Gergely Nagy * debian/changelog: New snapshot deb * debian/scripts/install: Rewrote in make. Does not byte-compile erc-speak.el at all, and excludes erc-track.el too, if ran for xemacs. * debian/control: Added dependency on make * debian/copyright: Updated copyright info * debian/rules: Use $(wildcard *.el) instead of a hardcoded list 2002-07-03 Diane Murray * erc.el: erc-iswitchb now works correctly if erc-modified-channels-alist is non-nil 2002-07-01 Diane Murray * erc-menu.el: * changed how we check if we should activate "Track hidden channels" and whether it should be selected - fixes a bug XEmacs where whole menu bar does not work if menu is loaded * erc-menu.el: * added "Disconnect from server", only selectable if erc-connected is non-nil * topic is allowed to be set by normal users if channel mode is not +t * add " ..." after description if arguments needed after selecting menu item * only allow selecting of menu points needing a channel if current buffer is a channel buffer - done by testing if channel-members is non-nil * put erc-match functions in new group "Pals, fools and other keywords" * erc.el: * moved definition of erc-show-my-nick to GUI variables section * erc-connected variable now defined with defvar now set in channel and query buffers, was only in server buffer before upon disconnect, set erc-connected to nil in all the server's buffers * added erc-cmd-GQUIT and its alias erc-cmd-GQ - quit all servers at once * added interactive function erc-quit-server, bound to C-c C-q * added erc-server-WALLOPS * added WALLOPS to english catalog, fixed s461 (was showing message twice) * typo fixes, spacing change 2002-06-29 Mario Lang * erc.el: Use pp-to-string in /set (without args) * erc-netsplit.el: Make /set anonymous-lign set erc-anonymous-login, also report which var was set to which val. 2002-06-28 Diane Murray * erc-menu.el: added "Customize ERC" 2002-06-25 Mario Lang * erc.el: New variable: erc-use-info-buffers, defaults to nil. This prevents info-buffers from being created/updated. Set to t if you use :INFO buffers. (by rw) Delete (erc-display-prompt) from reconnect to avoid clutter 2002-06-23 Diane Murray * erc.el: erc-get-channel-mode-from-keypress is now bound to C-c C-m erc-insert-mode-command is taken care of by this function as well 2002-06-21 Mario Lang * erc-track.el: Fixed bug where buffer-names suddenly had text-properties. 2002-06-19 Diane Murray * Makefile: changed erc-auto.el to $(SPECIAL) in make fullclean * Makefile: remove erc-auto.el on make fullclean 2002-06-18 Diane Murray * erc-match.el: fixed spelling error * erc-track.el, erc-match.el: * erc-match.el: highlight current nickname in its own face (inactive by default): - added erc-current-nick-highlight-type, erc-current-nick-face, erc-current-nick-p * erc-track.el: added support for erc-current-nick-face 2002-06-17 Diane Murray * erc.el: * added beginning support for 005 numerics: - added buffer local variable erc-server-parameters - added erc-server-005, which sets erc-server-parameters if the server has used this code to show its parameters 2002-06-16 Diane Murray * erc.el: * bugfix: when pasting lines with blank lines in between, remove the blank lines but send the rest * since we know the command, use it when checking what's in erc-hide-list added check to erc-server-KICK * added some blank lines for better readability 2002-06-16 Alex Schroeder * erc-nickserv.el(erc-nickserv-alist): Fixed typo. 2002-06-15 Alex Schroeder * erc-nickserv.el(erc-networks): Added doc string. (erc-nickserv-alist): Added doc string. 2002-06-14 Diane Murray * erc-ring.el: fixed bug so that the prompt and command always get put at the end of the buffer 2002-06-10 Mario Lang * erc-nickserv.el: Added iip support. Added :type for erc-nickserv-passwords custom. Fixed hook usage. 2002-06-07 Diane Murray * erc-nickserv.el: * added GalaxyNet * erc-nickserv-alist: - sorting networks alphabetically - added two more pieces of information in erc-nickserv-alist: word to use for identification and whether to use the nickname * erc-current-network: - made regex case insensitive, downcase server to match - uses the new information - now uses new variable erc-networks instead of doing checking manually * added variable erc-networks * fixed some indentation, documentation 2002-06-07 Mario Lang * erc.el: Fix for kill-buffer hook stuff 2002-06-06 Mario Lang * erc.el: Added /squery command 2002-06-06 Diane Murray * erc-menu.el: * made group Channel modes - moved change mode and invite only mode to here - added secret, moderated, no external send, topic lock, limit, key * check that user is in a channel buffer and user is a channel operator for all op-related actions * "Identify to nickserv" needs erc-nickserv-identify defined * added "Show ERC version" * erc.el: * added erc-set-channel-limit, erc-set-channel-key, erc-toggle-channel-mode * added erc-get-channel-mode-from-keypress, which is bound to C-c m sends the next character which is typed to one of the 3 new functions - did not remove erc-invite-only-mode and it's key binding in case people are used to it, although it probably should be removed... * in erc-server-MODE: added check if tgt equal to user's nick removed erc-display-line, only using the erc-display-message * added s461 to english catalog * fixed bug where XEmacs would not quit if erc-quit-reason was set to erc-quit-reason-various and assoc-default was not defined 2002-06-04 Andreas Fuchs * erc-ezbounce.el, erc-match.el: * erc-ezbounce.el: Added. Provides support for ezbouncer; automatic login, session management implemented. I've contacted the author about stuff in EZBounce's logging. * erc-match.el: Fixed a stupid mistake where "*** Your new nick is " would trigger an error. 2002-06-04 Diane Murray * erc-nickserv.el, erc.el: * added erc-nickserv.el * moved nickserv identification variables and functions to the new file (require 'erc-nickserv) is now necessary for this to work * erc.el: * results of /COUNTRY now formatted as notice; errors are ignored, fixing bug which made prompt disappear * added undefined-ctcp error message to english catalog * changed some (when (not erc-disable-ctcp-replies) to use unless instead and some if's without else statements to use when or use * CTCP replies now use erc-display-message, formatted as notices * added following to english catalog: - undefined-ctcp - CTCP-CLIENTINFO, CTCP-ECHO, CTCP-FINGER, CTCP-PAGE, CTCP-PING, CTCP-SOUND, CTCP-TIME, CTCP-UNKNOWN, CTCP-VERSION - s303, s305, s306, s353 * split erc-server-305-or-306 into erc-server-305 and erc-server-306 * KICK already had buffer set, using it * erc.el: * erc-format-timestamp now only called from erc-display-message and erc-send-current-line * all instances of erc-display-line with erc-highlight-error changed to use erc-display-message * added following error messages to english catalog: bad-ping-response, bad-syntax, cannot-find-file, cannot-read-file, ctcp-request, flood-ctcp-off, flood-strict-mode, no-default-channel, no-target, variable-not-bound * added following server related messages to english catalog: s324, s329, s331, s332, s333, s341, s406, KICK, KICK-you, KICK-by-you, MODE-nick * ignoring server codes 315, 369 * added erc-server-341, erc-server-406 * channel topic and mode notices displayed in respective channel buffers if they exist * erc-server-KICK: display the message before removing this channel so that we can track the kick * send parsed to erc-ctcp-query-ACTION-hook so that actions can be checked by erc-match * fixed bug where nil was shown if no reason was given by users on /PART 2002-06-03 Diane Murray * erc-match.el: * fixed bug where erc-log-matches produced an error when the value of (erc-default-target) was not a channel * use erc-format-timestamp, if it's non-nil, for %t in erc-log-match-format 2002-06-01 Diane Murray * erc-button.el: * made action case insensitive in erc-nick-popup and added a more descriptive error message 2002-05-30 Brian P Templeton * erc.el: Removed multiple calls of `erc-prompt' in `erc-display-prompt' 2002-05-29 Mario Lang * erc.el: First step timestampkiller cleanup. I'm tired, do the rest tomorrow. * erc.el: New functionality: Catch channel/server buffer kills through kill-buffer-hook. Currently, it only does a PART if you kill a channel buffer. 2002-05-28 Mario Lang * erc.el: defvar'ed some buffer-local variables to make elint at least a bit more happy. Moved comments into docstrings. Changed some instances of member to memq. * erc-track.el, erc.el: * erc.el (erc-message-type-member): New function, used to test for message type. Require erc-parsed text-property. * erc-track.el (erc-track-exclude-types): New variable. Defaults to ("JOIN" "PART") right now for testing, it should eventually set to nil soon again. (erc-track-modified-channels): Use above fun and var to optionally exclude certain message types from channel tracking. 2002-05-28 Diane Murray * CREDITS: added myself, vain as it sounds ;) 2002-05-25 Mario Lang * erc.el: * Some small docstring fixes * (erc-display-line): Now takes also a process object in the buffer argument. Used for easy sending to the server buffer. * Several places: Just pass proc, not (process-buffer proc) 2002-05-24 Mario Lang * erc.el: Mostly docstring fixes/additions * erc-netsplit.el: Doc fixes, and a new netjoin-done message. * erc-fill.el: Doc fixes, erc-fill custom group, autoloads. * erc-netsplit.el: Fix to erc-netsplit-timer. * erc-netsplit.el: Fixed a silly typo * erc-maint.el: is this really necessary? * erc.el: Added new variable erc-hide-list. It affects erc globally right now, and is used to hide certain IRC type messages like JOIN and PART. * Makefile: Doh, I should really test this before checkin :) * Makefile: Silly cut&paste bug fixed * erc-list.el: Added autoload cookie * erc-match.el: Added missing require erc. * erc-notify.el: Autoload cookies and a -initialize function. * erc-chess.el: Added autoload cookies * Makefile: Finally, we have a Makefile. Primarily used for autoload definition generation right now. * erc-auto.in: First version. * erc-track.el: Added autoload cookie * erc-netsplit.el: New module, used to autodetect and hide netsplits. (Untested, no netsplit happened yet :) ) * erc-nets.el: Added some old code I once worked on. Added autoload cookie 2002-05-24 Diane Murray * erc-fill.el: removed reference in documentation to old variable, changed it to the new one * erc.el: * added new function erc-connection-established which is called after receiving end of MOTD (does nothing if it's been called before) * added new hook erc-after-connect which is called from erc-connection-established with the arguments server (the announced server) and nick - which other arguments should be sent?? * added buffer variable erc-connected which is set to t the first time erc-connection-established is called, set to nil again if we've been disconnected * set initial user mode - added custom variable erc-user-mode which can be a string or a function which returns a string - new function erc-set-initial-user-mode gets called from erc-connection-established 2002-05-22 Diane Murray * erc.el: fixed bug where prompt was missing after reconnect 2002-05-21 Diane Murray * erc.el: in erc-nickserv-identify: if network is unknown, just use "Nickserv" * erc.el: * fixed some typos * timestamping - ctcp request messages and replies now have timestamp - timestamps in front of error messages now in timestamp face - added timestamp to more error messages * ctcp reply messages, server ping message updated * added variable erc-verbose-server-ping - check this instead of erc-paranoid * added whowas on no such nick: - added variable erc-whowas-on-nosuchnick - in erc-server-401 do WHOWAS if erc-whowas-on-nosuchnick is non-nil * erc.el: forgot documentation for erc-nickserv-alist * erc.el: NickServ identification changed and enhanced: - erc-nickserv-identify-autodetect now called from erc-server-NOTICE-hook - now possible to identify automatically without prompt: - added custom variables erc-prompt-for-nickserv-password and erc-nickserv-passwords - added erc-nickserv-alist containing the different networks' nickserv details - added function erc-current-network to determine the network symbol - fixed bug where identification on dalnet didn't work, because they now require NickServ@services.dal.net now sends to all NickServ with nick@server where possible 2002-05-17 Diane Murray * erc-fill.el: * filling with erc-fill-variable now works with custom defined fill width: - changed erc-fill-column from defvar to defcustom - in erc-fill-variable: set fill-column to value of erc-fill-column * erc.el: erc.el: * fixed bug where topic wasn't being set when channel name was provided erc-fill.el: * filling with erc-fill-variable now works with custom defined fill width: - changed erc-fill-column from defvar to defcustom - in erc-fill-variable: set fill-column to value of erc-fill-column 2002-05-16 John Wiegley * erc.el: whitespace fix 2002-05-15 Diane Murray * erc.el: * added explanation of empty string working in erc-quit-reason-various-alist * removed the text property from erc-send-message, it caused problems with /SV (as noticed by gbvb on IRC) and is obviously not needed * when receiving a ctcp query, convert type to uppercase to allow for "/ctcp nick time" and not just "/ctcp nick TIME" * timestamp in front of server notices now shown in the timestamp face 2002-05-13 Diane Murray * erc.el: - in erc-format-privmessage: `erc-format-timestamp' added to message after message's text properties are applied so that it doesn't lose its face - /quit without reason now works when `erc-quit-reason' is set to `erc-quit-reason-various' and the empty string "" is defined in `erc-quit-reason-various-alist' 2002-05-13 Andreas Fuchs * erc-bbdb.el: * Applied Drewies patch to pop-up on nick changes when -popup-type is 'visible 2002-05-12 Andreas Fuchs * erc-bbdb.el, erc.el: * erc-bbdb.el: pop up the buffer on /whois when erc-bbdb-popup-type is 'visible * erc.el: fix for empty quit reason problem by drewie. 2002-05-12 Mario Lang * erc.el: disumu nick patch - added erc-show-my-nick (default t) if t, show nickname like if nil, only show a > character before the message - added faces erc-nick-default-face and erc-nick-msg-face - nicknames (channel, msgs, notices) are now in bold face by default - the msg face matches the erc-direct-msg-face color 2002-05-10 Alex Schroeder * erc.el(erc-send-pre-hook): Doc change. * CREDITS: Alexander L. Belikoff is confirmed original author. 2002-05-10 Mario Lang * erc.el: timestamp fix by disumutimestamp fix by disumutimestamp fix by disumutimestamp fix by disumutimestamp fix by disumutimestamp fix by disumutimestamp fix by disumutimestamp fix by disumu 2002-05-09 Mario Lang * erc.el: *** empty log message *** 2002-05-06 Mario Lang * erc.el: New var: erc-echo-notices-in-minibuffer-flag. defaults to t. 2002-05-04 John Wiegley * TODO: *** empty log message *** 2002-05-03 Alex Schroeder * erc.el: Copyright notice, version string updates. 2002-05-02 Alex Schroeder * erc.el: Comment: dme is David Edmondson 2002-05-01 Alex Schroeder * erc.el(erc-warn-about-blank-lines): New option. (erc-send-current-line): Use it. (erc-quit-reason-various-alist): New option. (erc-quit-reason): New option. (erc-quit-reason-normal): New function. (erc-quit-reason-zippy): New function. (erc-quit-reason-various): New function. (erc-cmd-QUIT): Use them. 2002-04-30 Alex Schroeder * erc.el: Version 2.92 * erc.el(erc-send-modify-hook): Default value is nil. 2002-04-27 John Wiegley * erc.el: Don't redisplay the prompt if the ERC buffer is no longer alive. 2002-04-26 John Wiegley * erc.el: Don't call `set-buffer' on old-buf unless the buffer is valid. It's often not when separate frames are being used. 2002-04-23 Mario Lang * erc-button.el: fixed up erc-nick-regexp 2002-04-22 Brian P Templeton * erc.el: `erc-prompt' may now be a function that returns a string (which is used as the prompt). I don't use Customize but I think customization of it may be broken if it's not a string. There is a new `erc-prompt' function that returns the prompt as a string (e.g., returning either the result of `(funcall erc-prompt)' or `erc-prompt'). This allows for dynamic prompts, such as a LispWorks-like prompt, or one containing simply the current channel name. It was requested by Mojo Nichols (nick michols) in #emacs today, 21-Apr-2002; cf. the #emacs logs at * erc.el: fix erc-send-current-line to work on empty lines again (without sending the prompt) Fix C-c C-t to not include the nick/time info (both from antifuchs) * erc-complete.el: Fix for xemacs elt behavior 2002-04-17 John Wiegley * erc-chess.el: Added a missing arg in a call to erc-chess-handler. 2002-04-15 John Wiegley * erc-chess.el: *** empty log message *** 2002-04-14 John Wiegley * erc-chess.el: *** empty log message *** 2002-04-12 John Wiegley * erc-chess.el: *** empty log message *** * erc-chess.el: bug fixes * erc-chess.el: *** empty log message *** 2002-04-12 Mario Lang * erc-chess.el: change order. * erc-chess.el: more fixing. Now, the 'match question works. It sends an accept back. But display popup doesn't work.. * erc-chess.el: fixup (still far from working) 2002-04-11 Mario Lang * erc.el: * Added :options entry for erc-mode-hook (erc-add-scroll-to-bottom) 2002-04-11 John Wiegley * erc.el: remove trailing \n from any sent text * servers.pl, erc-bbdb.el, erc-button.el, erc-chess.el, erc-complete.el, erc-fill.el, erc-ibuffer.el, erc-list.el, erc-match.el, erc-menu.el, erc-nets.el, erc-replace.el, erc-speak.el, erc-speedbar.el, erc-track.el, erc.el: clean whitespace * erc.el: Replaced erc-scroll-to-bottom. 2002-04-11 Mario Lang * erc-track.el: try to fix behavior when used with different frames. 2002-04-09 Mario Lang * erc-chess.el: fixup release, far from ready for real usage, but it appears to work. * erc.el: speed improvements based on elp-instrument-package RET erc- RET results * erc-chess.el: initial version. please test it Get chess.el from johnw's cvs: cvs -d:pserver:anonymous@alice.dynodns.net:/usr/local/cvsroot login cvs -d:pserver:anonymous@alice.dynodns.net:/usr/local/cvsroot co chess (as usual, blank password) Add the resulting dir to your load-path and require erc-chess. Usage: Just do /chess nickname The remote end much use erc, as no other irc client I know of supports this ... See erc-chess-default-display and maybe set it to chess-images or chess-ics1 if you prefer those over chess-plain. Also, see erc-chess-user-full-name to set the name you use in chess games. 2002-04-04 Mario Lang * erc.el: New hackery latenightwise * erc.el: upupadowndowncase 2002-04-04 Gergely Nagy * debian/changelog: Updated for the new snapshot * debian/rules: Install README.Debian into the package * debian/README.Debian: Initial check-in 2002-04-04 Mario Lang * erc.el: Fixed that /me in query buffers ended up in server buffer * erc.el: * Implemented joining +k channels 2002-03-14 Mario Lang * erc.el: New utility function: erc-channel-list minor fix to erc-get-buffer. hopefully that helps shapr 2002-03-12 Mario Lang * erc.el: New /command: /QUOTE for sending directly to the IRC server Removed erc-fill from erc-insert-modify-hook. To activate filling, simply customize that var. 2002-03-09 Brian P Templeton * CREDITS: *** empty log message *** 2002-03-09 Mario Lang * erc-complete.el: New variable: erc-nick-completion-ignore-case. Defaults to t. * erc-track.el: * erc-track-shorten-name-function can now be set to nil to avoid treating of channel names at all. 2002-03-06 Gergely Nagy * debian/changelog, debian/rules: update to new snapshot 2002-03-06 Mario Lang * erc.el: Fixed nasty bug which prevented channel limit from correctly display/handling * erc-track.el: Made shortening code highly customizable. Now, there is the variable erc-track-shorten-function which holds a function which gets called with one argument, CHANNEL-NAMES, which is a list of strings of the channel names. It needs to return a list of strings of the same length with the modified values... * erc-track.el: Added erc-track-shorten-aggressively, default to nil if it is set to t, erc will shorten a bit more. if nil, erc will shorten the name only if it would get shorter than just one char... * erc-speak.el: added iirc to the abbreviation expansion list. * erc-track.el: Added customization variable: erc-track-use-faces. defaults to t. * erc-track.el: *** empty log message *** * erc-track.el: experimental: Added face support to mode-line channel activity tracker. Currently we use the faces used for indicating in the buffer (erc-pal-face for channels with pal activity...) 2002-03-05 Mario Lang * erc-complete.el: * added docfixes (thanks ore) * erc-track.el: Fixed channel-name reduction. thanks again alex. Renamed the vars to erc-track-opt-start and erc-track-opt-cutoff. * erc.el: fixed another silly error * erc-track.el: Implemented channel name shortening. Vars erc-track-cutoff says: all channel names longer than this will be shortened. Var erc-track-minimum-channel-length says: don't make names shorten than this. (Thanks go out to kensanata for the nice unique-substrings utility function). * erc.el 2002-07-15T00:01:34Z!raeburn@raeburn.org: silly typo corrected * erc.el: New variable: erc-common-server-name-suffixes This alist can be used to change the server names displayed in mode-line to a shorter version.. * New function: erc-shorten-server-name (uses var above) * Changed erc-prepare-mode-line to use erc-shorten-server-name. 2002-02-25 Mario Lang * erc.el: CTCP handling rewritten. Seems to work. please test and report probs. 2002-02-24 Mario Lang * erc.el: Fixed emacs20 backward compatibility (new defun/alias: erc-propertize) 2002-02-22 Mario Lang * erc-button.el: *** empty log message *** 2002-02-21 Mario Lang * erc-button.el, erc.el: minor fixup related to read-only prompts and command renaming. 2002-02-21 Andreas Fuchs * erc.el: * modify `erc-remove-text-properties-region' to work. Could even be a little faster now. (-: 2002-02-21 Mario Lang * erc-ring.el: fixed erc-replace-command to behave right when text is read-only. Also, use erc-insert-marker and (point-max) now. * erc.el: * Made erc-prompt read-only * new function: erc-make-read-only. Can be used on erc-insert-post-hook and erc-send-post-hook to ensure read-only buffer text too 2002-02-19 Mario Lang * erc-list.el: added comment to docstring * erc-speak.el: minor updates, use erc-nick-regexp now * erc.el: ensure that erc-timer-hook is called inside the server-buffer. 2002-02-19 Andreas Fuchs * erc-match.el: * Probably fixed the "number-char-or-marker-p: nil" bug. 2002-02-19 Mario Lang * erc-notify.el: Initial release. * erc.el: added #303 handling moved timer and added an arg (erc-current-time) * erc-list.el, erc.el: slightly changed the erc-once-with-server-event macro * erc-button.el: erc-button-alist: doc fix and custom type fix 2002-02-18 Mario Lang * erc-list.el, erc.el: new macro: erc-once-with-server-event erc-list.el: use it * erc-match.el: Minor fix related to hook call method change (-until-seccess now) * erc.el: fixed ctcp behavior abit (with auto-query on) * erc-list.el: ChanList mode. Load it, and type M-x erc-chanlist RET Demonstrates how the new hook system can be nicely used. * erc.el: new hook: erc-default-server-hook. This one gets called if we don't have anything defined for a certain IRC server message. New function: erc-default-server-handler. (used by above hook). New function: erc-debug-missing-hooks: Used by above hook to save a list of unimplemented server messages. New function: erc-server-buffer, erc-server-buffer-p. Various places: use it. Minor fixup. * erc-button.el: fix regexp to not buttonize ~user@host hostnames 2002-02-17 Mario Lang * erc-complete.el, erc.el: Eliminated erc-command-table Upcased the command defuns (erc-cmd-join is now erc-cmd-JOIN) Fixed erc-complete to not require erc-command-table. Implemented erc-cmd-HELP (You have to try that, its too coool!) e.g. /help auto-q fixed autoloads for erc-add-pal and so on to be interactive. 2002-02-17 Andreas Fuchs * erc-match.el: * Fix unfunctional code in `erc-get-parsed-vector-type'. * erc-bbdb.el, erc-button.el, erc-match.el, erc.el: * Be careful: MANY changes ahead. I won't go into too much details. * erc.el, new file erc-match.el: split out all pattern-matching code. * erc.el: removed all defcusts for erc-{...}-highlight-props. They are quite useless, anyway. * moved erc-add-entry-to-list and -remove- over to erc-match. changed their arg list. * erc.el: add autoloads for erc-{add,delete}-{keyword,pal,fool,dangerous-host} * erc.el: erc-server-PRIVMSG-or-NOTICE: - remove all the highlighting crap - add a (when (eq s nil) ...) so that untreated CTCP messages don't get misdisplayed. * erc.el: erc-mark-message: removed this function, it's useless * erc.el: minor bugfixes. * erc-match.el: first checkin. This file now contains all the pattern matching stuff. there is now another defcust group, erc-match, containing all match related stuff (erc-keywords, ...) * erc-match.el: added functionality to log matching lines. Quite customizable, check out the docstring of defun erc-log-matches * erc-match.el: added functionality to make foolish messages invisible/intangible. This could replace erc-ignore-list sometime. it's more powerful right now, anyway. * erc-match.el erc-text-matched-hook: new hook. run when Text matches anything (pal, fool, etc.). * erc-button.el: Make nick buttonization customizable. * erc-button.el: Give nick buttonization a lower priority so that it does not break url buttons. * erc-bbdb.el: Add \n to the separators by which we split nicknames. 2002-02-17 Mario Lang * TODO: Added item 2002-02-17 Brian P Templeton * CREDITS, erc.el: Added invisible timestamp support. 2002-02-16 Gergely Nagy * debian/changelog, debian/rules, debian/scripts/install: updated to new snapshot 2002-02-16 Mario Lang * erc.el: Fixed channel limit format overflow in mode-line display. (Having to use floats if integers are to large is quite strange, isn't it?) * TODO: TODO list created. Add comments and expand it. * erc.el: Fixed bug in query buffer handling (only happened in mixed-case situations) * erc.el: shapr checkdoc patch #1 massive docfixes! yay, keep going! 2002-02-15 Mario Lang * erc.el: various other fixes make s301 a catalog entry 2002-02-15 Andreas Fuchs * erc.el: * erc-server-NICK and erc-server-INVITE: fixed to use `erc-display-message'. These I missed in the first checkin. I didn't say it in the last log message, but please test these. * erc-fill.el, erc.el: * erc.el: updated many functions to use `erc-display-message'. Now, we should go for getting highlighting out of erc-server-PRIVMSG-or-NOTICE. The part I want to attack has been marked. * erc-fill.el: updated static filling to leave the erc-parsed property alone. 2002-02-15 Mario Lang * erc.el: first step, new function: erc-display-message * erc.el: added numreply 379 and 405. * erc.el: stupid typo fixed * erc.el: Finally renamed erc-frame-dedicated-p to erc-frame-dedicated-flag Removed usage of erc-interpret-controls from info buffer drawing (major speedup) Other speedups based on the results from elp. ERC is now about 300%-500% faster in some situations with very full channels!!!!! 2002-02-14 Andreas Fuchs * erc.el: * erc-downcase now downcases {}|^ with []\~ -- 'stolen' from zenirc. * various checkdoc fixes. Just the upper third of the file, but that should help a little, too. (-: Again, if you have any writing skills, take out that dusty keyboard and tap it to the beat of M-x checkdoc! 2002-02-14 Gergely Nagy * erc.el(erc-format-privmessage): fix it, so timestamp-coloring works again (patch from antifuchs) 2002-02-14 Mario Lang * erc.el: Many fixes based on M-x checkdoc RET. If you have write access, and some english knowledge, help document erc too! M-x checkdoc RET, and follow the instructions. * erc-button.el, erc-ibuffer.el: minor fixes * erc.el: Use nreverse instead of reverse. Use eq instead of equal where possible. Rewrote erc-get-buffer to not use find-if (find-if does very deep function-call nesting, which isn't good in a defun which is called so often) 2002-02-13 Mario Lang * erc-button.el, erc.el: In erc.el, new hook: erc-channel-members-changed-hook. erc-button.el: Now highlight all nicknames. uses regexp-opt. 2002-02-04 Mario Lang * erc-nets.el: Database of irc networks. Use erc-server-select to interactively select one. * erc.el: * erc-format-nick-function: New variable. * (erc-format-nick): The default for above var. Just return the nick. * (erc-format-@nick): Prefix NICK with @ or + if OP or VOICE. * Removed erc-track-modified-channels related code and moved into erc-track.el Its auto-loaded now * erc-track.el: Split code from erc.el 2002-02-01 Mario Lang * erc-ibuffer.el: * erc-target now uses erc-port-to-string * servers.pl: Script to convert mircs servers.ini to a elisp salist kind of thing. (development tool, it doesn't help you much as a user) * erc.el: * erc-display-line-buffer: renamed to erc-display-line-1 * erc-port-equal: New function. * erc-normalize-port: Used by erc-port-equal * minor docstring fixes 2002-02-01 Andreas Fuchs * erc.el: * erc-already-logged-in-p: compare ports is more robust now. * erc-button.el: * Add buttonization to erc-send-modify-hook, too 2002-01-31 Mario Lang * erc.el: Use insert-before-markers instead of insert in erc-display-line-buffer This fixed point@column 0 problem and gives us some speedup! yay * erc-ibuffer.el, erc.el: minor fixes * erc.el: * (erc-line-beginning-position): Renamed to erc-beg-of-input-line. * (erc-line-end-position): Renamed to erc-end-of-input-line. * erc-multiline-input-p: Variable removed. * erc.el: Minor docstring fixes (using M-x checkdoc-current-buffer) If you find time, and you are native english speaker, do that too!! * erc.el: fixed macro-invocation 2002-01-31 Andreas Fuchs * erc.el: * erc-with-all-buffers-of-server: use erc-list-buffers * erc-process-away, erc-{save,kill}-query-buffers: use it. * erc-cmd-away-all: new command. Set away/back on all servers. * erc.el: * Fix last multiline bug in erc-send-distinguish-noncommands. 2002-01-31 Mario Lang * erc-ibuffer.el, erc.el: minor fixes 2002-01-30 Mario Lang * erc-ibuffer.el, erc-menu.el, erc-speak.el, erc.el: Renamed erc-track-modified-channels-minor-mode to erc-track-modified-channels-mode (at least, its a bit shorter) Added docstring to erc-server-hooks (through the macro) Minor docfix in obsolete hook 2002-01-30 Andreas Fuchs * erc.el: * erc-send-current-line: fix behavior where buffer changes. * erc-mark-message: fix stupid face bug. highlighting of pals should work now. * erc-ring.el, erc.el: * new hooks: erc-send-pre-hook, erc-send-modify-hook, erc-send-post-hook * erc-send-this: new variable * erc-noncommands-list: new constant. * erc-send-distinguish-noncommands: use it. (First filter function for sending! yay!) * erc-send-current-line: nearly completely rewritten. - now handles multiline input. (yay!) - now uses the three hooks from above. * erc-process-line: new arg, no-command: don't process this line as a command. 2002-01-30 Mario Lang * erc-bbdb.el, erc-button.el, erc-speak.el, erc.el: hook handling rewrite phase 1. 2002-01-30 Andreas Fuchs * erc.el: * Rework erc-server-PRIVMSG-or-NOTICE * New function: erc-is-message-ctcp-p * New function: erc-format-privmessage * New function: erc-mark-message * erc-server-PRIVMSG-or-NOTICE: use them. 2002-01-30 Mario Lang * CREDITS, HISTORY: Initial checkin. 2002-01-29 Andreas Fuchs * erc.el: * erc-put-text-properties: make OBJECT optional * erc-put-text-property: same * erc-server-PRIVMSG-or-NOTICE: use them. * Make erc-display-line-buffer: add the "\n" even when the string would be invisible. * same: make the \n invisible, too (: 2002-01-29 Mario Lang * erc-ibuffer.el, erc.el: Rewrote channel tracking using window-configuration-change-hook instead of defadvices. 2002-01-28 Andreas Fuchs * erc-fill.el, erc.el: * Macro define-erc-highlight-customization: Ease up defining erc-{fool,pal,..}-highlight-props defcusts. * defcusts: - erc-fool-highlight-props - erc-pal-highlight-props - erc-dangerous-host-highlight-props - erc-keyword-highlight-props Customizable to either nil or "Hide message". * erc-string-invisible-p: check for invisible chars in string * erc-display-line-buffer: use it. * erc-put-text-properties: put a list of props into a piece of text. * erc-server-PRIVMSG-or-NOTICE: use it; set appropriate highlight-props for entire incoming message. This set of changes allows you to e.g. auto-ignore fools. 2002-01-28 Mario Lang * erc-ibuffer.el: Added highlight detection support to the Mark column. Now p, k, f, and d indicate pal, keyword, fool and dangerous-host related activity. * erc.el: Highlight tracking finished. All necessary info should now be in erc-modified-channels. * erc.el, erc-ibuffer.el, erc-speedbar.el: Added highlight tracking to track-modified-channels no display code yet, the info is just kept in erc-modified-channels Added erc-modified column to ibuffer speedbar update * erc-ibuffer.el: Added erc-members column * erc-ibuffer.el: *** empty log message *** 2002-01-28 Andreas Fuchs * erc-bbdb.el: * Fix a slight typo. The hook function should be called in erc-server-376-hook (-: 2002-01-28 Mario Lang * erc-ibuffer.el: *** empty log message *** 2002-01-27 Mario Lang * erc-ibuffer.el: Fixup, it sort of works now. Try it * erc-ibuffer.el: Initial version 2002-01-26 Mario Lang * erc.el: *** empty log message *** 2002-01-25 Andreas Fuchs * erc-bbdb.el: * fix two bad things: - fix the "proc trick": pass proc as an arg through ...-insinuate-... to ...-show-entry - hook highlighting into the 376 hook. This one is bound to get called (-: * We now only append to hooks only. * Highlighting of changing records gets updated automatically. 2002-01-25 Mario Lang * erc.el: *** empty log message *** 2002-01-25 Andreas Fuchs * erc-bbdb.el: * nearly complete rewrite of erc-bbdb: - Removed code duplication in erc-bbdb-NICK and -JOIN. - Made erc-bbdb-show-entry more general and intelligent. - erc-bbdb-insinuate-entry is now erc-bbdb-insinuate-and-show-entry (note the different arglist!): - erc-search-name-and-create now creates "John Doe" users if name is not specified. - No sign of "mail" anywhere anymore. It's all finger-host. (-: - erc-bbdb-popup-p is now called erc-bbdb-popup-type. - New customize values: . erc-bbdb-irc-channel-field channel field name . erc-bbdb-irc-highlight-field (see below) . erc-bbdb-auto-create-on-nick-p auto-create record on join * Highlighting based on BBDB is now here! Specify which type of highlighting a person in the BBDB (whose nick you know) and have fun! Read help to erc-bbdb-init-highlighting for details. Changes: - new function erc-bbdb-init-highlighting: gets called on server connect. - new function erc-bbdb-highlight-record: highlights a person's nick names. 2002-01-24 Andreas Fuchs * erc-button.el: * Fix the erc-button-alist regexp for EmacsWiki stuff. delYsid's version is better (-: * erc-button.el: * Added an Ewiki: specifier to the url-regexp. EmacsWiki: EmacsIRCClient tells you should highlight "EmacsWiki: EmacsIRCClient" and allow you to browse to the wiki when the button is activated. * new custom: erc-emacswiki-url. * new function: erc-browse-emacswiki: use it. 2002-01-23 Mario Lang * erc-bbdb.el: erc-bbdb-NICK: Added regexp-quote around fingerhost search. 2002-01-10 Andreas Fuchs * erc.el: * Channel saving/killing on quit from server implemented: - defcust erc-save-queries-on-quit: Save server's channel buffers on quitting from server - defcust erc-kill-queries-on-quit: Kill server's channel buffers on quitting from server - Macro erc-with-all-buffers-of-server: Run a form inside all the server's query buffers - Functions erc-{kill,save}-query-buffers: use it. * Added indent-tabs-mode: t to Local Variables section. 2002-01-07 Andreas Fuchs * erc-replace.el: * fix stupid documentation errors. 2002-01-07 Mario Lang * erc.el: * (toplevel): Revert previous change. This resulted ina recursive load... You have to put (require 'erc-button) into your .emacs for now 2002-01-05 Mario Lang * erc.el: * Added require for erc-button. This is devel. so I need testers :) * erc-button.el: * Added proper file headers (GPL). 2002-01-04 Mario Lang * erc-button.el: * erc-button-alist: Added entry for finger * erc-button.el: * Removed bogus usage of :button-keymap. P Does anyone know what this was supposed to do anyway? * erc-button.el: * Initial version. * This module allows a way of buttonizing text in IRC buffers. Default it is used for URLs, but other things could be added. see if you can find another use, erc-button-alist 2001-12-18 Mario Lang * erc.el: * Added missing 747 numreply (banned) 2001-12-15 Gergely Nagy * debian/scripts/install, debian/rules: updated to 2.1.cvs.20011215-1 * debian/changelog: Debian version 2.1.cvs.20011215-1 2001-12-11 Andreas Fuchs * erc.el: * applied a nicer version of mhp's patch to remove the last prompt from saved logs * erc-replace.el: * Initial checkin 2001-12-11 Mario Lang * erc.el: * fixed bug triggered when reuse-buffer was enabled (the default). Another silly port type problem. Maybe we should unify that once and for all sometimes... 2001-12-10 Mario Lang * erc.el: * erc-message-english: New QUIT and s004 entries. * (erc-save-buffer-on-part): New variable. * (erc-kill-buffer-on-part): New variable. * (erc-server-PART): Use above variables. * (erc-join-channel): Use DEF argument instead of initial input for completing-read. 2001-12-08 Tijs van Bakel * erc.el: added defcustom erc-nick-uniquifier ^ (i prefer _) 2001-12-07 Gergely Nagy * debian/changelog: changelog for version 2.1.cvs.20011208-1 2001-12-07 Tijs van Bakel * erc.el: Added erc-scroll-to-bottom as an erc-insert-hook function. It still bugs a bit, so please test it, thanks 2001-12-07 Mario Lang * erc.el: * Fixed silly bug in erc-server-TOPIC (thanks mhp) * erc-speak.el: * Fix non-greedy matching bug. That one somehow swallowed text * erc.el: Fix Emacs20 problem. For now, we disable erc-track-modified-channels-minor-mode in emacs20 2001-12-07 Andreas Fuchs * erc-fill.el: * Fix another stupid one-off error. This time it really works! (Until I find the next bug. I guess you can hold your breath) (-: 2001-12-06 Andreas Fuchs * erc-fill.el: * Fixed static filling: ** No more \ed (continued on next line) lines anymore ** Fixed bug with previous version where longer lines wouldn't get filled correctly (i.e. at all) 2001-12-06 Gergely Nagy * debian/changelog: changelog for 2.1.cvs.20011206-1 added 2001-12-06 Andreas Fuchs * erc.el: * Don't discard away status when identifying to NickServ * Modify `erc-already-logged-in': check for port, too. * erc-fill.el: * Fix stupid loop non-termination error in erc-fill-static when filling one-line regions. * Make erc-count-lines return meaningful values 2001-12-05 Mario Lang * erc.el: * (erc-process-input): Make ' /command' work for quoting /commands * erc-speak.el: see changelog * erc-fill.el: see erc.el changelog * erc.el: * erc-insert-hook: Changed strategy completely, no start end parameters any more. We narrow-to-region now, that's much cleaner. * rename erc-fill-region to erc-fill and change the autoload ** You'll probably need to restart Emacs 2001-12-04 Mario Lang * erc.el: * (erc-send-current-line): Fixed long outstanding bug. XEmacs users with erc-fill-region on erc-insert-hook knew that one a long time. * erc.el: fix order of attack * erc.el: * macroexpanded define-minor-mode for XEmacs * erc.el: First try to make channel tracking mouse sensitive * erc.el: * More erc-message-format conversion. erc-format-message-english-PART as an example on how to use functions to format message * (erc-format-message): Fallback mechanism to use english catalog if variable is not bound 2001-12-03 Mario Lang * erc.el: * (erc-iswitchb): Rewrite, docfix. Make it use erc-modified-channels as default if available. * erc-menu.el: * Fixage related to erc-track-modified-channels-minor-mode rewrite * erc.el: * (erc-track-modified-channels-minor-mode): Use buffer objects instead of erc-default-target return value for internal state keeping. * erc.el: * Made reconnect behave nicer (erc-process-sentinel) * Rewrote erc-modified-channels-tracking completely. Its now a minor mode (erc-track-modified-channels-minor-mode) It uses a list as internal representation now, so all silly string-parsing related bugs should be gone. Use (erc-track-modified-channels-minor-mode t) now to toggle this functionality. Don't set the erc-track-modified-channels-minor-mode variable yourself, use the toggle function 2001-11-29 Gergely Nagy * debian/changelog: final version 2001-11-29 Mario Lang * erc.el: * (erc-channel-p): Make it work with string and buffer as parameter. buffer. * (erc-format-message): Add a check for functionp. This allows a format-specifier also to be a function name, which gets called with args applied and needs to return the actual format string. * Converted some formats, JOIN, JOIN-you, MODE, ... 2001-11-28 Mario Lang * erc.el: * (erc-prepare-mode-line-format): Added sanity checks to prevent it from having problems with server buffers where the connection failed * erc-bbdb.el: * (erc-bbdb-JOIN): regexp-quote the fingerhost before searching, some people have really strange characters as their user names * erc.el: Remove a stupid debug like (message ...) call 2001-11-28 Gergely Nagy * debian/changelog: draft of 2.1.cvs.20011128-1 * debian/rules: simplify for the all-in-one erc package * debian/control: integrated erc-speak back into erc * debian/maint/conffiles, debian/maint/conffiles.in, debian/maint/postinst, debian/maint/postinst.in, debian/maint/prerm, debian/maint/prerm.in, debian/scripts/install, debian/scripts/install.in, debian/scripts/remove, debian/scripts/remove.in, debian/scripts/startup.erc-speak: since erc-speak is gone, resurrect the static files, and update them to support the latest erc 2001-11-28 Mario Lang * erc.el: * (erc-mode): Shouldn't be interactive. * (erc-info-mode): Ditto. * erc.el: * (erc-server-352): Added hopcount parsing. Added call to erc-update-channel-member to fill in channel-members information on /WHO if the channel is joined. 2001-11-27 Mario Lang * erc-speedbar.el: *** empty log message *** * erc-speedbar.el: * (erc-speedbar-expand-user): New function. Used when more information than just the nick name is available about a dude. * erc.el: * Fixed stupid edit,checkin,save cycle error :) * erc.el: * (erc-generate-log-file-name-default): Renamed to -long Doc fix. * (erc-generate-log-file-name-old): Renamed to -long Doc fix. * (erc-generate-log-file-name-function): Set default to ...-long Doc fixes * erc-speedbar.el: *** empty log message *** 2001-11-26 Mario Lang * erc-speedbar.el: * Integrated channel names list what else do we need to replace info buffers??? please test that code and comment on erc-ehlp, thanks * erc-speedbar.el: * Added erc-speedbar-goto-buffer and therefore enable switching to the buffers from speedbar * erc-speedbar.el: I had to check this in, it works !! sort of,, megaalphagammaversion, first version. test, play, submit ideas/patches 2001-11-26 Gergely Nagy * erc.el(erc-mode): moved erc-last-saved-position here moved buffer naming code from here.. (erc): ...to here (erc-generate-log-file-name-old): only prepend target if it exists made erc-log-insert-log-on-open a defcustom 2001-11-26 Mario Lang * erc.el: * Applied antifuchs/mhp patches, the latest on erc-help, unmodified * New variable: erc-reuse-buffers default to t. * Modified erc-generate-new-buffer-name to use it. it checks if server and port are the same, then one can assume that's the same channel/query target again. 2001-11-23 Mario Lang * erc-bbdb.el: * new function erc-BBDB-NICK to handle nickname annotation on a nick-change event of a known record * erc.el: * Remove erc-rename-buffer, its no longer necessary * Remove erc-autoop-*. it was broken, and needed rewrite anyway * write erc-already-logged-in in terms of erc-buffer-list and make the duplicate login check work again * erc.el: * Fixed stupid typo 2001-11-22 Mario Lang * erc.el: * New local variable, erc-announced-server-name * erc-mode-line-format supports a new symbol, target-and/or-server * The mode-line displays the announced server name now (for autojoin later..., greets Adam) * New macro, erc-server-hook-list for a nice way to define the defcustoms of the erc-server-*-hook's Thanks go to the guy from #emacs who helped with that * erc-fill-region is now autoloaded from erc-fill.el * erc-fill.el implements a new fill method, erc-fill-static (setq erc-fill-function 'erc-fill-static) * Some other things I forgot right now * erc-bbdb.el: *** empty log message *** * erc-fill.el: Initial version. * erc-complete.el: Applied antifuchs patch to make completion work with (string= erc-prompt "") * erc-complete.el: added function erc-nick-completion-exclude-myself you can set erc-nick-completion to 'erc-nick-completion-exclude-myself to use it 2001-11-21 Mario Lang * erc-bbdb.el: * Changed usage of 'finger-host to bbdb-finger-host-field * erc-bbdb.el: * Changed WHOIS to use finger-host instead of net field. * Added 'visible as option to erc-bbdb-popup-p to only pop-up the bbdb buffer if a join happened in a visible buffer on any visible frame. * Added (regexp-quote ...) for nickname search in erc-bbdb-JOIN 2001-11-20 Mario Lang * erc-bbdb.el: * Added JOIN support 2001-11-19 Mario Lang * erc.el: Initial message catalog code. converted erc-action-format usage to use it * erc.el: * erc-play-sound: Added XEmacs related check * erc-bbdb.el: * Initial version, many thanks to Andreas Fuchs * erc.el: * Fixed silly problem with whois/was handling * erc.el: * Renamed prev-rd to erc-previous-read * Removed erc-next-line-add-newlines and s next-line-add-newlines to nil in defun erc by default * erc.el: fixed xemacs compatibility prob with delete, thanks Adam 2001-11-18 Mario Lang * erc.el: numreplies 301 & 461 2001-11-13 Tijs van Bakel * erc.el: Added code for error reply 421 "Unknown command", to test the new server parsing system. This was really easy! Thanks ZenIRC guys & delysid :-) 2001-11-13 Mario Lang * erc.el: * Allow connecting to SSL enabled irc servers. Ugly hack, but it works for now. Be sure to use the numeric irc port 994 so that erc can recognize what you want good example is irc server: ircs.segfault.net port: 994 meet me there, I am still delYsid :) * erc.el: * some more numreply handlers * cleanup in erc-process-away-p * new function erc-display-error-notice * erc.el: * numreply 501 and 221 * erc.el: removed obsolete old hook variables. Your functions may break, but it is easy to hook them up to the new hooks. erc-part-hook: use erc-server-PART-hook instead erc-kick-hook: use erc-server-KICK-hook instead and so on * erc.el: fixed serious bug which cause privmsgs vanishing when erc-auto-query was set to nil * erc.el: cleaned up erc-process-filter * erc.el: * 401 and 320 numreplies implemented * erc.el: * Removed old/now obsolete code * erc.el: * Fixed bug in erc-server-MODE 2001-11-12 Mario Lang * erc.el: fixed it * erc.el: *** We switched over. New server message parsing/handling is running now. Thanks to the zenirc developers for the great ideas I got from the code!!!!! Go and test it, poke at it, bug me on irc about problems * erc.el: *** empty log message *** 2001-11-12 Tijs van Bakel * erc.el: Fixed bug in erc-get-buffer, now channel names are compared in a case-insensitive way. 2001-11-12 Mario Lang * erc.el: erc-server-353 2001-11-12 Tijs van Bakel * erc.el: Fixed docstring for erc-get-buffer. Added erc-process to a lot of calls to erc-get-buffer, so that only the local process is searched. 2001-11-12 Mario Lang * erc.el: * erc-buffer-filter: do it differently * erc.el: ugly but working fix for mhp's query problem * erc.el: * erc-server-PRIVMSG-or-NOTICE Now, all the server word replies are finished. Going to numreplies now * erc.el: * debugging facilities for the transition. C-x 2 C-x o M-x ielm RET erc-server-vectors RET ; to get a list of all server messages currently not handled in the new code. Feel free to pick one and implement it * erc.el: * erc-server-KICK and erc-server-TOPIC. new functions * erc-server-305-or-306 and erc-server-311-or-314 * erc.el: * ported PART and QUIT msgs to the new scheme, many to go. but it is a easy task. does someone wanna try and start with numreplies? * erc.el: * erc-server-JOIN * erc.el: * Ported erc-server-INVITE code * erc.el: * erc-server-ERROR and erc-server-MODE 2001-11-11 Mario Lang * erc.el: * zen * erc.el: * New variable erc-connect-function. * erc.el: * New function erc-channel-p and use it where appropriate * erc.el: * Removed the variable erc-buffer-list completely now * Moved erc-dbuf around a bit * erc.el: * Fix silly change in quit/rename msg handling * erc.el: thanks mhp, fixed * erc.el: * Tijs van Bakel's work from 10th Nov. merged in * My additions to that idea merged in too Basically, this is a major rewrite, if you are scared and want avoid problems, stay at your current version. It seems fairly stable though. That changed? erc-buffer-name handling was completely rewritten, and erc-buffer-list local variable handling removed. Simplifies a lot of code. Poke at it. Read the diff. Report bug/send patches! * erc.el: * Added variable listing when /set is used without args 2001-11-10 Mario Lang * erc.el: * Comment/structure cleanup, removal of unnecessary code * erc.el: only some code beautification * erc-imenu.el: remove add-hook call, that's done in erc.el now for autoloadability * erc.el: * Make erc-imenu autoloadable * erc.el: * The long promised erc-mode-line-format handling rewrite Poke at it, try it, play with it, report bugs * erc.el: some regex-quote fixes, new function erc-cmd-set, and minor things 2001-11-08 Mario Lang * erc.el: * added second timestamp-format (erc-away-timestamp-format) for marking msgs when being away * erc-complete.el: fixed silly defun * erc.el: * Rewrote erc-load-irc-script (simplified) * Removed deprecated code * erc-speak.el: * reflect changes in erc.el * erc.el: * Moved completion related functions into erc-complete.el placed an autoload instead into erc.el. That quite cool, because erc-complete.el only gets loaded when you use TAB first time in erc. * erc-complete.el: _ Initial checkin * erc.el: * New function: erc-chain-hook-with-args * Changed calls to erc-insert-hook to use it 2001-11-07 Mario Lang * erc.el: * Patch from Fabien Penso Make completion case insensitive. try it! its cool * erc.el: * Reduction patch 2 This time, we move the input ring handling into erc-ring.el Remember that you need (require 'erc-ring) in your .emacs to get the input handling as a feature And remember, that you don't need it if you don't use input ring :-) * erc-ring.el: * Initial checkin * erc.el: * The great reduction patch :-) moved relevant function from erc.el to new file erc-menu.el and erc-imenu.el * erc-imenu.el: Initial version * erc-menu.el: * Initial version * erc.el: * wording change suggested by Benjamin Drieu 2001-11-07 Tijs van Bakel * erc.el: Added Emacs version to /SV 2001-11-07 Mario Lang * erc.el: * Hookification patch, read the diff * erc.el: too tired for a changelog :) 2001-11-06 Mario Lang * erc.el: * make erc-cmd-op and erc-cmd-deop take multiple nicknames as argument 2001-11-06 Gergely Nagy * debian/changelog: sync * debian/rules: fixed a typo: PKGDIR, not PKIDR 2001-11-06 Mario Lang * erc.el: * Changed timestamping when away to use erc-timestamp-format and append the timestamp instead of prepending it.. * minor cleanup, s/(if (not /(unless/ and the like 2001-11-06 Tijs van Bakel * erc.el: Fixed OP and DEOP commands to return T. Added SV say-version command. Added erc-send-message utility function, but it's not used everywhere yet. 2001-11-05 Mario Lang * erc.el: stupid delYsid, forgot require 'format-spec. good nite * erc.el: * new variable erc-action-format. Some erc-notice-prefix fixes again * erc.el: * erc-minibuffer-privmsg defaults to t * erc.el: * Small fix in relation to the transition to erc-make-notice 2001-11-05 Tijs van Bakel * erc.el: Renamed erc-message-notices to erc-minibuffer-notice, and renamed erc-prevent-minibuffer-privmsg to erc-minibuffer-privmsg, inverting its functionality * erc.el: Added support for channel names starting with & + and !. Also, many changes partially discussed on the mailing list: * erc.el (cl): Add requirement for cl package. (erc-buffer-list): Make this variable global again. (erc-default-face): Fix typo. (erc-timestamp-face): Add face for timestamps. (erc-join-buffer, erc): Add a 'bury option. (erc-send-action): Add timestamp. (erc-command-table): Add /CLEAR, /DEOP, /OP, /Q. (erc-send-current-line): Add timestamp. (erc-send-current-line): Add call to erc-insert-hook. (erc-cmd-clear): New command to clear buffer contents. (erc-cmd-whois): Fix cut'n'paste-o. (erc-cmd-deop): New command to deop a user. (erc-cmd-op): New command to op a user. (erc-make-notice): Moved a lot of duplicate code here. Perhaps this should also be done for erc-highlight-error. (erc-parse-line-from-server): Now NOTICE will also open a new query, just as PRIVMSG. (erc-parse-line-from-server): Call erc-put-text-property on a channel message/notice first, before concatenating nick and timestamp &c. (erc-message-notices): Add option to display notices in minibuffer. (erc-fill-region): No longer strip spaces in front of incoming messages. (erc-parse-current-line): No longer strip spaces in front of text input by user. Hopefully I didn't break too much :( 2001-11-05 Mario Lang * erc.el: * New function erc-nickserv-identify-autodetect for erc-insert-hook. Added by default currently. * erc.el: * Mini-fix in erc-process-num-reply (= n 353): Added @ as prefix character to make certain channels on opn work again nicely 2001-10-31 Gergely Nagy * debian/changelog: updated to reflect changes * debian/scripts/install.in: moved #PKGFLAG# before -f batch-byte-compile 2001-10-29 Mario Lang * erc.el: Imenu fixed somehow, added IRC services interactive function for identify to NickServ. Read the diff 2001-10-26 Gergely Nagy * debian/changelog: sigh. -2 2001-10-25 Gergely Nagy * debian/changelog: updated to reflect changes * debian/rules: handle conffiles.in too * debian/maint/conffiles.in: new file * debian/maint/conffiles: superseded by conffiles.in * debian/scripts/startup: superseded by startup.erc 2001-10-25 Mario Lang * debian/scripts/startup.erc-speak: * Initial version * debian/scripts/startup.erc: * Added and fixes minimal typo 2001-10-25 Gergely Nagy * debian/changelog: updated to reflect changes * debian/rules: modified to be able to build the erc-speak package too * debian/control: added the new erc-speak package * debian/README.erc-speak, debian/maint/postinst.in, debian/maint/prerm.in, debian/scripts/install.in, debian/scripts/remove.in: new file * debian/maint/postinst, debian/maint/prerm, debian/scripts/install, debian/scripts/remove: removed, superseded by its .in counterpart 2001-10-25 Mario Lang * erc.el: * Fixed some defcustom :type 's * Added erc-before-connect hook which gets called with server port and nick. Use this hook to e.g. setup a tunnel before actually connecting. something like (when (string= server "localhost") ...) 2001-10-24 Mario Lang * erc.el: * Patch by smoke: fix erc-cmd-* commands and add aliases 2001-10-23 Mario Lang * erc-speak.el: * Added a new personality for channel name announcement, This makes streams of flooded channels much easier to listen to, especially if you are on more than one channel simultaneously. * erc.el: * Made the completion postfix customizable through erc-nick-completion-postfix * erc-speak.el, erc.el: * Added erc-prevent-minibuffer-privmsg * erc-speak.el: * Quickish hack to allow exclusion of timestamps from speaking. see erc-speak-filter-timestamps 2001-10-21 Mario Lang * erc-speak.el: * Removed now really obsolete code. Package size reduced by 50% * erc-speak.el: * Very important fix! Now erc-speak is really complete. Messages don't get cut anymore. Be sure to use auditory icons, it's really cool now!!! * erc-speak.el: *** empty log message *** * erc-speak.el: * Major simplification. depends on my 2001-10-21 changes to erc.el. * Things removed, read diff 2001-10-21 Gergely Nagy * debian/changelog: oops, silly typo * debian/changelog, debian/control, debian/copyright, debian/maint/conffiles, debian/maint/postinst, debian/maint/prerm, debian/rules, debian/scripts/install, debian/scripts/remove, debian/scripts/startup: initial check-in 2001-10-21 Mario Lang * erc.el: * Changed erc-insert-hook to get two arguments, START and END of the region which got inserted. CAREFUL! This could break stuff, but it makes the hook much more usable. * erc.el: * Made erc-smiley a new option, currently set to t to showoff this feature. :) 2001-10-20 Mario Lang * erc.el: * Add missing erc-mode-hook variable * Add smiley-support (preliminary test) 2001-10-20 Alex Schroeder * erc.el: Replaced all occurrences of put-text-property with a call to erc-put-text-property. (erc-put-text-property): New function. (erc-tracking-modified-channels): Moved to the front of the file such that it is already defined when the menu is being defined. (erc-modified-channel-string): Ditto. 2001-10-18 Alex Schroeder * erc.el: Removed some commentary. The wiki page is the place to put such information. (erc-fill-prefix): Doc change. (erc-notice-highlight-type): Doc change, now a user option. (erc-pal-highlight-type): Doc change, now a user option. (erc-fool-highlight-type): New option. (erc-keyword-highlight-type): New option. (erc-dangerous-host-highlight-type): New option. (erc-uncontrol-input-line): Doc change. (erc-interpret-controls-p): Doc change, now a user option. (erc-multiline-input): Doc change. (erc-auto-discard-away): Doc change. (erc-pals): Changed from string to regexp. (erc-fools): New option. (erc-keywords): Renamed from erc-highlight-strings. WATCH OUT: Not backwards compatible change! (erc-dangerous-hosts): Renamed from erc-host-danger-highlight. WATCH OUT: Not backwards compatible change! (erc-menu-definition): Added menu entries for fools, keywords and dangerous hosts. (erc-mode-map): Changed keybindings from C-c to various C-c combinations. (erc-dangerous-host-face): Renamed from erc-host-danger-face. WATCH OUT: Not backwards compatible change! (erc-fool-face): New face. (erc-keyword-face): Renamed from erc-highlight-face. WATCH OUT: Not backwards compatible change! (erc-parse-line-from-server): Fixed highlighting in the cases where (equal erc-pal-highlight-type 'all), added code to handle erc-fool-highlight-type, erc-dangerous-host-highlight-type (erc-update-modes): Replaced erc-delete-string with delete. (erc-keywords): Renamed from erc-highlight-strings, handle erc-keyword-highlight-type. (erc-delete-string): Removed. (erc-list-match): New function. (erc-pal-p): Use erc-list-match. (erc-fool-p): New function. (erc-keyword-p): New function. (erc-dangerous-host-p): Renamed from erc-host-danger-p, use erc-list-match. (erc-directed-at-fool-p): New function. (erc-add-entry-to-list): New function. (erc-remove-entry-from-list): New function. (erc-add-pal): Use erc-add-entry-to-list. (erc-delete-pal): Use erc-remove-entry-from-list. (erc-add-fool): New function. (erc-delete-fool): New function. (erc-add-keyword): New function. (erc-delete-keyword): New function. (erc-add-dangerous-host): New function. (erc-delete-dangerous-host): New function. 2001-10-07 Mario Lang * erc.el: * irc vs ircd default port fixed * erc.el: * Added topic-change to imenu * erc.el: * More imenu spiffyness * erc.el: * Added imenu support * erc.el: * Fix to /topic to show topic instead of setting it to null :) 2001-10-05 Mario Lang * erc.el: * First version of erc-rename-buffer * erc.el: * more header-line tricks. * erc.el: * Small fix to do erc-update-mode-line-buffer in erc-update-channel-topic * erc.el: * Added erc-header-line-format 2001-10-04 Mario Lang * erc.el: * mini-fix, add msgp to auto-query code * erc.el: * Added command-names to completion (erc-command-table) * New variable erc-auto-query. When set, every arriving message to you will open a query buffer for that sender if not already open. * Compatibility function for non-existing line-beginning|end-position functions in XEmacs. 2001-10-03 Mario Lang * erc.el: * Removed a lot of (progn ...) where they were not necessary * Changed some (if ...) without else part to (when ...) * Some (while ...) to use (dolist ...) * Fix for completion popup generating tracebacks. * New function erc-arrange-session-in-multiple-windows * Lots of other stuff, read the diff 2001-10-02 Mario Lang * erc.el: * Added erc-kill-input and keybinding C-c C-u for it 2001-10-01 Mario Lang * erc.el: * Another fix to nick-completion * Additional checks in erc-track-modified-channels 2001-09-26 Mario Lang * erc.el: * Fixed completion (alex) * Now popup buffer doesn't destroy your window configuration. * Fixed away handling (incomplete) 2001-09-24 Mario Lang * erc.el: Fixed silly quoting-escape error 2001-09-23 Mario Lang * erc.el: * Added auto-op support (unfinished) * Added erc-latest-version. * Added erc-ediff-latest-version. 2001-09-21 Mario Lang * erc.el: * Minor menu additions (invite only mode is now a checkbox) 2001-09-20 Mario Lang * erc.el: * Fix (erc-cmd-names): This should fix C-c C-n too, hopefully it was the right fix and doesn't break anything else. * erc.el: * Fixes XEmacs easymenu usage (2nd time). 2001-09-19 Mario Lang * erc.el: * (erc-complete-nick): Add ": " only if one completes directly after the erc-prompt, otherwise, add just one space * erc.el: * Changed menu-definition to use easymenu (hopefully this now works under XEmacs) * Fix for custom problem with :must-match on XEmacs (thanks shapr) * Added /COUNTRY command using (what-domain) from package mail-extr (shapr) * Fix for case-sensitivity problem with pals (they are now all downcased) * Different (erc-version) function which now can take prefix argument to insert the version information into the current buffer, instead of just displaying it in the minibuffer. 2001-09-10 Mario Lang * erc.el: Updated erc-version-string * erc.el: Version number change and last read-through... 2001-09-04 Mario Lang * erc.el: Added some asterisks 2001-08-24 Mario Lang * erc.el: Fixed hidden channel buffer tracking (sort of), now using switch-to-buffer for advice. This version is unofficially named 2.1prebeta1. Please test it and send fixes to various problems you may encounter so that we can eventually release 2.1 soon. 2001-08-14 Mario Lang * erc.el: Added function erc-bol and keybinding C-c C-a for it (contributed by Benjamin Rutt * erc.el: Checked in lathis code and modified it slightly. Still unsure about set-window-buffer advice, current attempt doesn't seem to work. Removed (nick -> #channel) from mode-line. (CLOSED) and (AWAY...) should still be displayed when appropriate 2001-08-06 Mario Lang * erc.el: added local-variable channel-list in session-buffers and make /LIST use it. erc-join-channel can now do completion after /LIST was executed 2001-08-05 Mario Lang * erc.el: Tweaked erc-join-channel and erc-part-from-channel 2001-07-27 Mario Lang * erc.el: some more defcustom stuff * erc.el: Patch from Henrik Enberg : Adds variables erc-frame-alist and erc-frame-dedicated-p. * erc.el: fixed erc-part-from-channel * erc.el: fixed match-string problem and added interactive topic setting function. * erc.el: fixed silly string-match bug * erc.el: Added erc-join-channel and erc-part-from-channel (interactive prompts), as well as keybindings. C-c C-j #emacs RET is now enough :) 2001-07-27 Alex Schroeder * erc.el(erc-display-line-buffer): Simplified filling. (erc-fill-region): New function. 2001-07-27 Mario Lang * erc.el: Added redundancy check in output 2001-07-26 Alex Schroeder * erc.el(erc-send-action): Add text-property stuff. (erc-input-action): Removed text-property stuff. (erc-command-table): Corrected command for DESCRIBE. Still doesn't work though. No idea what it should do. Looks like a no op. (erc-cmd-me): Doc change. 2001-07-26 Mario Lang * erc.el: fixed one occurrence of a setq with only one argument (XEmacs didn't like that) * erc.el: Added erc-next-line-add-newlines customization possibility. * erc.el: added erc-fill-prefix for defining your own way of filling and fixed filling somehow * erc.el: fixed small incompatibility in erc-parse-line-from-server at (and (= n 353) regexp 2001-07-25 Mario Lang * erc.el: Added erc-filling and filling code to erc-display-line-buffer. 2001-07-08 Alex Schroeder * erc.el(try-complete-erc-nick): Make the ": " part of the expansion * erc.el: require ring 2001-07-08 Mario Lang * erc.el: *** empty log message *** 2001-07-07 Mario Lang * erc.el: typo * erc.el: omit 2001-07-06 Alex Schroeder * erc.el(erc-mode): Call erc-input-ring-setup. (erc-send-current-line): Call erc-add-to-input-ring. (erc-input-ring): New variable. Currently not buffer local. (erc-input-ring-index): New variable. Currently not buffer local. (erc-input-ring-setup): New function. (erc-add-to-input-ring): New function. (erc-previous-command): New function. (erc-next-command): New function. (erc-mode-map): Uncommented keybindings for erc-next-command and erc-previous-command. 2001-07-05 Alex Schroeder * erc.el(erc-highlight-strings): Removed debug message. * erc.el(erc-join-buffer): Changed default to 'buffer. (erc-join-info-buffer): Changed default to 'disable. (erc-nick-completion): Changed default to 'all. 2001-07-03 Alex Schroeder * erc.el(erc-highlight-strings): New option and new function. (erc-parse-line-from-server): Use it. Various empty lines removed. Various doc strings fixed. * erc.el: Removed more empty lines. * erc.el(erc-member-string): replaced by plain member Otherwise, lots of deleting of empty lines... I'm not too happy with that but I feel better when the code is "cleaned up". 2001-07-03 Mario Lang * erc.el: Ugly hack, but looks nicer when giving commands * erc-speak.el: ugly hack, but looks nicer now 2001-07-03 Alex Schroeder * erc.el(try-complete-erc-nick): New function. (erc-try-complete-nick): New function. (erc-nick-completion): New option. (erc-complete): Call hippie-expand such that erc-try-complete-nick will be called eventually. Based on erc-nick-completion try-complete-erc-nick will then complete on the nick at point. 2001-07-02 Mario Lang * erc.el: Insert (erc-current-nick) instead of (erc-display-prompt). good night :) * erc.el: small, but it was annoying, so I just did it (defcustom for erc-join-buffer and erc-join-info-buffer) 2001-06-29 Alex Schroeder * erc.el: Use defface to define all faces. Removed some history from the commentary, as well as some other commentary editing. 2001-06-28 Mario Lang * erc.el: hmm, defcustom for erc-user-full-name * erc-speak.el, erc.el: *** empty log message *** 2001-06-27 Mario Lang * erc.el: typo * erc.el: Some more defcustom * erc-speak.el: nothing, really 2001-06-26 Mario Lang * erc.el: Some defcustom stuff. Still no defgroup though :) * erc.el: Initial change to erc.el (2.0). Mainly list of ideas and features and syntax-table entries. * erc-speak.el, erc.el: Initial Import * erc-speak.el, erc.el: New file. Copyright (C) 2001-2024 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . ;; Local Variables: ;; coding: utf-8 ;; add-log-time-zone-rule: t ;; End: