Merge from gnulib
[emacs.git] / lisp / erc / ChangeLog.1
blob790d049f4225e1e86387e7f8065e933e93da1d0b
1 2008-11-19  Andy Stewart  <lazycat.manatee@gmail.com>
3         * erc.el (erc-header-line-uses-tabbar-p): New option that makes
4         tabbar mode usable with ERC if set to non-nil.
5         (erc-update-mode-line-buffer): Use it.
7 2008-11-19  Glenn Morris  <rgm@gnu.org>
9         * erc-compat.el (help-function-arglist): Autoload it.
11 2008-10-03  Michael Olson  <mwolson@gnu.org>
13         * erc-dcc.el (english): Increase size heading by two places.
14         (erc-dcc-byte-count): Move higher.
15         (erc-dcc-do-LIST-command): Use erc-dcc-byte-count to get accurate
16         count.  Coerce byte total to floating point before performing
17         computation, otherwise division will truncate to 0.
18         (erc-dcc-append-contents): Update erc-dcc-byte-count.
19         (erc-dcc-get-filter): Don't update erc-dcc-byte-count, because
20         that will give incorrect size totals.  Instead, figure out how
21         much we have by summing byte count and current buffer size.
22         (erc-dcc-get-sentinel): Don't update erc-dcc-byte-count.
24 2008-10-01  Michael Olson  <mwolson@gnu.org>
26         * erc-dcc.el (erc-pack-int): Make sure returned string is within 4
27         bytes.  Always return a 4-byte string, so that we conform to the
28         CTCP spec.
29         (erc-most-positive-int-bytes): New constant representing the
30         number of bytes that most-positive-fixnum can be stored in.
31         (erc-most-positive-int-msb): New constant representing the
32         contents of the most significant byte of most-positive-fixnum.
33         (erc-unpack-int): Make sure that the integer we get back can be
34         represented in Emacs.
35         (erc-dcc-do-CLOSE-command): Update docstring.  Don't use the line
36         variable.  Try to disambiguate between type and nick when only one
37         is provided.  Validate both type and nick arguments.  Allow
38         matching by just nick.
39         (erc-dcc-append-contents): Set inhibit-read-only to t.  Prevent
40         auto-compression from triggering when we write the contents to a
41         file.
42         (erc-dcc-get-file): Prevent auto-compression from triggering when
43         we truncate a file.
45 2008-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
47         * erc.el: Remove code for Carbon.
49 2008-06-07  Glenn Morris  <rgm@gnu.org>
51         * erc-autoaway.el, erc-ibuffer.el, erc-menu.el:
52         * erc-stamp.el, erc.el: Remove unnecessary eval-when-compiles.
54 2008-05-30  Diane Murray  <disumu@x3y2z1.net>
56         * erc-backend.el (328): New response handler.
58         * erc.el (english): Add 328 to catalog.
60 2008-05-29  Diane Murray  <disumu@x3y2z1.net>
62         * erc-services.el (erc-nickserv-alist): Update REGEXP and
63         SUCCESS-REGEXP for freenode.
65 2008-05-05  Juanma Barranquero  <lekktu@gmail.com>
67         * erc-goodies.el (erc-noncommands-list, noncommands)
68         (erc-control-characters, erc-interpret-controls-p)
69         (erc-interpret-mirc-color): Fix typos in docstrings.
70         (erc-controls-highlight): Reflow docstring.
72 2008-04-26  Johan Bockgård  <bojohan@gnu.org>
74         * erc.el (erc-put-text-properties): Don't use mapcar*.
75         (erc-display-line-1): Fix argument order in call to
76         erc-put-text-properties.
78 2008-04-14  Michael Olson  <mwolson@gnu.org>
80         * erc.el (erc-remove-text-properties-region): Disable this command
81         by default.  Thanks to e1f for the suggestion.
83 2008-02-20  Michael Olson  <mwolson@gnu.org>
85         * erc.el (erc-notice-face): Fix this face for Emacs 21 users.
87 2008-02-05  Juanma Barranquero  <lekktu@gmail.com>
89         * erc.el (erc-valid-nick-regexp):
90         * erc-button.el (erc-button-syntax-table):
91         * erc-match.el (erc-match-syntax-table): Replace `legal' with `valid'.
93 2008-02-04  Jeremy Maitin-Shepard  <jbms@cmu.edu>
95         * erc.el (erc-cmd-QUERY): Bind the value of `erc-auto-query' to
96         `erc-query-display' rather than `erc-join-buffer'.  This fixes a
97         bug where the value of erc-auto-query was being ignored.
99 2008-01-31  Michael Olson  <mwolson@gnu.org>
101         * erc-dcc.el (erc-dcc-do-GET-command, erc-dcc-do-SEND-command):
102         Improve docstring.  If FILE argument is split into multiple
103         arguments, re-join them into a single string, separated by a
104         space.  This fixes an issue where the user wants to send or
105         receive a file with spaces in its name.  It is assumed that no one
106         will try sending or receiving a file with multiple consecutive
107         spaces in its name, otherwise this fix will fail.
109         * erc.el (erc-mode-map): Add binding for C-c C-x to
110         erc-quit-server, since rcirc.el binds its quit command in a
111         similar manner.  Thanks to Jari Aalto for the suggestion.
113 2008-01-28  Diane Murray  <disumu@x3y2z1.net>
115         * erc-list-old.el (list-old): Define module as list-old, not list.
116         This fixes a bug where an unknown module error would occur when
117         starting ERC and using the list-old module.
119         * erc-track.el (erc-track-find-face): If no choice was found
120         return nil to use the default mode-line faces.
122 2008-01-26  Michael Olson  <mwolson@gnu.org>
124         * erc.el (erc-version-string): Release ERC 5.3.
126         * Makefile (VERSION): Update.
127         (EXTRAS): Remove erc-list.el after all, because this is mainly for
128         users of the version that comes with Emacs, and they will have
129         erc-list.el by Emacs 23.
130         (MISC): Add ChangeLog.07.
131         (elpa): Fix build issue.  Add proper version to erc-pkg.el.
133         * README.extras: Mention Emacs 23.
135         * erc-pkg.el: Make the version string a template.
137         * erc.texi (Obtaining ERC): Update extras URLs for 5.3.
138         (Development): Write instructions for git, and remove those for Arch.
139         (History): Mention the switch to git.
141 2008-01-25  Michael Olson  <mwolson@gnu.org>
143         * NEWS: Update.
145         * erc-goodies.el (keep-place): New module which keeps your place
146         in unvisited ERC buffers when new messages arrive.  This is mostly
147         taken from Johan Bockgård's init file.
148         (erc-noncommands-list): Move to correct place.
150         * erc-networks.el: Add a module definition.
152         * erc-services.el (erc-nickserv-identify-mode): Force-enable the
153         networks module, because we need it to set erc-network for us.
155         * erc-track.el (erc-track-faces-normal-list): Indicate in the
156         docstring that this variable can be set to nil.
158         * erc.el: On second thought, don't load erc-networks.  Just enable
159         the networks module by default.
160         (erc-modules): Add option for keep-place and networks.  Enable
161         networks by default.
162         (erc-version-string): Make release candidate 1 available.
164 2008-01-24  Michael Olson  <mwolson@gnu.org>
166         * erc.el: Load erc-networks.el so that functions get access to the
167         `erc-network-name' function.
169         * erc-track.el (erc-track-faces-normal-list): Add
170         erc-dangerous-host-face.
171         (erc-track-exclude-types): Add 333 and 353 to the default list of
172         things to ignore, and explain what they are in the docstring.
174 2008-01-23  Michael Olson  <mwolson@gnu.org>
176         * erc-track.el (erc-track-faces-priority-list): Move
177         erc-nick-default-face higher, so that it can be used for the
178         activity indication effect.  Add erc-current-nick-face,
179         erc-pal-face, erc-dangerous-host-face, and erc-fool-face by
180         themselves.
181         (erc-track-faces-normal-list): New option that contains a list of
182         faces to consider "normal".
183         (erc-track-position-in-mode-line): Minor docfix.
184         (erc-track-find-face): Use erc-track-faces-normal-list to produce
185         a sort of blinking activity effect.
187 2008-01-22  Michael Olson  <mwolson@gnu.org>
189         * erc-button.el (erc-button-add-nickname-buttons): When in a
190         channel buffer, only look at nicks from the current channel.
191         Thanks to e1f for the report.
193 2008-01-21  Michael Olson  <mwolson@gnu.org>
195         * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): Remove,
196         since we can use the default `assert' function without it causing
197         us any problems, even in Emacs 21.  Thanks to bojohan for the
198         suggestion.
200         * erc-goodies.el (move-to-prompt): Use the "XEmacs" method
201         instead, because the [remap ...] method interferes with
202         delete-selection-mode.
203         (erc-move-to-prompt): Rename from erc-move-to-prompt-xemacs.
204         Deactivate mark and call push-mark before moving point.  Thanks to
205         bojohan for the suggestion.
206         (erc-move-to-prompt-setup): Rename from
207         erc-move-to-prompt-init-xemacs.
209         * erc-track.el (erc-track-faces-priority-list): Replace erc-button
210         with '(erc-button erc-default-face) so that we only care about
211         buttons that are part of normal text.  Adjust customization type
212         to handle this case.  Make erc-nick-default-face a list.  Handle
213         pals, fools, current nick, and dangerous hosts.
214         (erc-track-find-face): Simplify.  Adapt for list of faces case.
215         (erc-faces-in): Don't deflate lists of faces.  Add them as-is.
216         (erc-track-face-priority): Use equal instead of eq.
218 2008-01-20  Michael Olson  <mwolson@gnu.org>
220         * erc-goodies.el (erc-move-to-prompt, erc-move-to-prompt-xemacs):
221         Fix off-by-one error that caused the point to move when placed at
222         the beginning of some already-typed text.  Thanks to e1f for the
223         report.
225         * erc-dcc.el, erc-xdcc.el: Add simple module definitions.
227         * erc.el (erc-modules): Add dcc and xdcc.
229 2008-01-19  Michael Olson  <mwolson@gnu.org>
231         * erc-bbdb.el (erc-bbdb-insinuate-and-show-entry): Work around bug
232         in XEmacs 21.4 that throws an error when the first argument to
233         run-at-time is nil.
235         * erc-button.el (button): Undo XEmacs-specific change to all ERC
236         buffers when module is removed.
237         (erc-button-setup): Rename from erc-button-add-keys, and move
238         XEmacs-specific stuff here.
240         * erc-goodies.el (erc-unmorse): Improve regexp for detecting
241         morse.  Deal with the morse style that has "/ " at the end of
242         every letter.
243         (erc-imenu-setup): New function that sets up Imenu support.  Add
244         it instead of a lambda form to erc-mode-hook.
245         (scrolltobottom): Remove erc-scroll-to-bottom from all ERC buffers
246         when module is removed.  Activate the functionality in all ERC
247         buffers when the module is activated, rather than leaving it up to
248         the user.
249         (move-to-prompt): New module that moves to the ERC prompt if a
250         user tries to type elsewhere in the buffer, and then inserts their
251         keystrokes there.  This is mostly taken from Johan Bockgård's init
252         file.
253         (erc-move-to-prompt): New function that implements this.
254         (erc-move-to-prompt-xemacs): New function that implements this for
255         XEmacs.
256         (erc-move-to-prompt-init-xemacs): New function to perform the
257         extra initialization step needed for XEmacs.
259         * erc-page.el, erc-replace.el: Fix header and footer.
261         * erc-track.el (erc-track-minor-mode-maybe): Take an optional
262         buffer arg so that we can put this in erc-connect-pre-hook.  If
263         given this argument, include it in the check to determine whether
264         to activate erc-track-minor-mode.
265         (track): Add erc-track-minor-mode-maybe to erc-connect-pre-hook,
266         so that we can use it as soon as a connection is attempted.
268         * erc.el (erc-format-network, erc-format-target-and/or-network):
269         Use erc-network-name function instead, and check to see whether
270         that function is bound.  This fixes an error in process filter for
271         people who did not have erc-services or erc-networks loaded.
272         (erc-modules): Add move-to-prompt module and enable it by
273         default.  Thanks to e1f for the suggestion.
275 2008-01-18  Michael Olson  <mwolson@gnu.org>
277         * Makefile (EXTRAS): Include erc-list-old.el.
279         * erc-dcc.el (erc-dcc-verbose): Rename from erc-verbose-dcc.
280         (erc-pack-int): Rewrite to not depend on a count argument.
281         (erc-unpack-int): Rewrite to remove 4-character limitation.
282         (erc-dcc-server): Call set-process-coding-system and
283         set-process-filter-multibyte so that the contents get sent out
284         without modification.
285         (erc-dcc-send-filter): Don't take a substring -- just pass the
286         whole string to erc-unpack-int.
287         (erc-dcc-receive-cache): New option that indicates the number of
288         bytes to let the receive buffer grow before flushing it.
289         (erc-dcc-file-name): New buffer-local variable to keep track of
290         the filename of the currently-received file.
291         (erc-dcc-get-file): Disable undo for a speed increase.  Set
292         erc-dcc-file-name.  Truncate the file before writing to it.
293         (erc-dcc-append-contents): New function to append the contents of
294         a buffer to a file and then erase the contents of the buffer.
295         (erc-dcc-get-filter): Flush buffer contents after exceeding
296         erc-dcc-receive-cache.  This allows large files to be downloaded
297         without storing the whole thing in memory.
298         (erc-dcc-get-sentinel): Flush any remaining contents before
299         closing.  No need to save buffer.
300         (erc-dcc-listen-host): New option that determines which IP address
301         to listen on.
302         (erc-dcc-public-host): New option that determines which IP address
303         to advertise when sending a file.  This is useful for people who
304         are on a local subnet.  Together, these two options replace
305         erc-dcc-host.
307         * erc.el (erc-mode-line-format): Add %N and %S.  %N is the name of
308         the network, and %S is much like %s but with the network name
309         trumping the server name.  Default to "%S %a".  Thanks to e1f for
310         the suggestion.
311         (erc-format-network): New function that formats the network name.
312         (erc-format-target-and/or-network): New function that formats both
313         the network name and target, falling back on the server name if
314         the network name is not available.
315         (erc-update-mode-line-buffer): Add the new format spec items.
317 2008-01-17  Michael Olson  <mwolson@gnu.org>
319         * erc.el (erc-join-buffer): Improve documentation.
320         (erc-query-display): New option indicating how to display a query
321         buffer that is made by using the /QUERY command.  The default is
322         to display the query in a new window.
323         (erc-cmd-QUERY): Use it.  Improve docstring.
324         (erc-auto-query): Default this to 'window-noselect instead,
325         because I've already seen bug reports about new users thinking
326         that ERC didn't display their test messages.  Improve
327         customization type.
328         (erc-notice-face): Make this work with XEmacs.
329         (erc-join-buffer): Mention 'buffer in docstring.  Improve
330         customization type.
332         * erc-dcc.el (erc-dcc-send-sentinel): Better handle case where elt
333         is nil, in order to avoid an error.  Thanks to Brent Goodrick for
334         the initial patch.
335         (erc-dcc-display-send): New function split from erc-dcc-send-hook.
336         (erc-dcc-send-connect-hook): Use it -- we don't like lambda forms
337         in hooks.
338         (erc-dcc-send-filter): Display byte count if the client confirmed
339         too much, and kill the buffer.  Otherwise a DoS might be possible
340         by making Emacs run out of RAM.
342         * erc-backend.el (erc-server-connect): Detect early on whether the
343         connection attempt has failed in order to avoid confusing error
344         messages.
346         * erc-networks.el (erc-server-alist): Add Rizon network.
348         * erc-services.el (erc-nickserv-passwords): Add Rizon to options.
349         (erc-nickserv-alist): Add support for Rizon.
351         * erc-track.el (erc-track-find-face): Don't let buttons in notices
352         trump default text.  Use catch/throw.  Default to first element of
353         FACES is nothing is found.
355         * erc-xdcc.el: Add local variables for proper indentation setup.
357 2008-01-15  Michael Olson  <mwolson@gnu.org>
359         * erc-backend.el (erc-server-coding-system): Docfix.
360         (erc-coding-system-for-target): Pass the `target' argument along
361         as the first and only argument.  It's not good to just depend on a
362         dynamic binding.
364 2008-01-10  Michael Olson  <mwolson@gnu.org>
366         * erc-backend.el (321, 322): Split message-displaying parts into
367         new functions, which are added to each response's respective
368         hook.  This makes them easier to disable.
370         * erc-list.el: New file from Tom Tromey.  Use erc-propertize
371         instead of propertize.  Require 'erc.
372         (list): New module definition.  Remove message-displaying
373         functions for 321 and 322 response handlers when enabling the
374         module, and restore them when disabling.  As a sanity check,
375         remove the erc-list-handle-322 function when disabling the module.
376         (erc-list-handle-322): Handle the case where we run the LIST
377         command, but do not go through the normal steps.
378         (erc-cmd-LIST): Add docstring.  Strip initial space from line if
379         it is non-nil.  Use make-local-variable to silence compiler
380         warning.  Capture current buffer and pass it to
381         erc-list-install-322-handler.
382         (erc-list-install-322-handler): Take server-buffer argument, so
383         that we are certain of being in the right buffer.  Use 4th
384         argument to add-hook, so that erc-server-322-functions is only
385         modified in one buffer.
387         * erc-list-old.el: Renamed from old erc-list.el.
389         * erc.el (erc-modules): Add list-old.
390         (erc-set-topic): Handle case where there are no newlines in the
391         existing topic, which happens when /LIST is run.
392         (erc-notice-face): If we have less than 88 colors, make this
393         blue.  Otherwise the text will be pink in a tty, which looks
394         dreadful.  Thanks to e1f for the report.
395         (erc-remove-parsed-property): New option that determines whether
396         to remove the erc-parsed property after displaying a message.
397         This should have the effect of making ERC take up less memory.
398         (erc-display-line-1): Use it.
400 2008-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
402         * erc-ibuffer.el (erc-channel-modes):
403         Pass mode-name through format-mode-line
405 2007-12-16  Diane Murray  <disumu@x3y2z1.net>
407         * erc-services.el (erc-nickserv-alist): Removed autodetect regexp,
408         added identified regexp for OFTC.
409         (erc-nickserv-identification-autodetect): Make sure success-regex
410         is non-nil.
411         (erc-nickserv-identify-autodetect): Make sure identify-regex is
412         non-nil.  Doc fix.
414 2007-12-13  Diane Murray  <disumu@x3y2z1.net>
416         * erc-backend.el (PRIVMSG, QUIT, TOPIC, WALLOPS, 376, 004, 221)
417         (312, 315, 319, 330, 331, 333, 367, 368, 391, 405, 406, 412)
418         (421, 432, 433, 437, 442, 461, 474, 477, 482, 431): Doc fix.
420 2007-12-09  Michael Olson  <mwolson@gnu.org>
422         * erc-services.el (erc-nickserv-alist): Fix regexps for GRnet.
424 2007-12-09  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
426         * erc-backend.el, erc.el:
427         Parse 275 (secure connection) responses.
429         * erc-services.el: Add identification hooks for GRnet, the Greek
430         IRC network <http://www.irc.gr>.
432 2007-12-08  David Kastrup  <dak@gnu.org>
434         * erc-stamp.el (erc-echo-timestamp):
435         * erc-lang.el (language):
436         * erc-backend.el (erc-server-connect): Fix buggy call to `message'.
438 2007-12-07  Edward O'Connor  <ted@oconnor.cx>
440         * erc-services.el: Provide a hook that runs when nickserv confirms
441         that the user has successfully identified.
442         (services, erc-nickserv-identify-mode): Add and remove
443         erc-nickserv-identification-autodetect from
444         erc-server-NOTICE-functions.
445         (erc-nickserv-alist): Add SUCCESS-REGEXP to each entry.
446         (erc-nickserv-alist-identified-regexp)
447         (erc-nickserv-identification-autodetect): New functions.
448         (erc-nickserv-identified-hook): New hook.
450 2007-12-06  Deepak Goel  <deego3@gmail.com>
452         * erc-match.el (erc-add-entry-to-list): Fix buggy call to `error'.
454 2007-12-01  Glenn Morris  <rgm@gnu.org>
456         * erc-backend.el (erc-server-send-ping): Move after definition of
457         erc-server-send.
459 2007-11-29  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
461         * erc-backend.el, erc.el:
462         Parse 307 (nick has identified) responses.
464 2007-11-15  Juanma Barranquero  <lekktu@gmail.com>
466         * erc.el (erc-open):
467         * erc-backend.el (define-erc-response-handler):
468         * erc-log.el (log):
469         * erc-match.el (erc-log-matches): Fix typos in docstrings.
471 2007-11-11  Michael Olson  <mwolson@gnu.org>
473         * erc-autoaway.el (erc-autoaway-possibly-set-away):
474         * erc-netsplit.el (erc-netsplit-timer):
475         * erc-notify.el (erc-notify-timer):
476         * erc-track.el (erc-user-is-active): Only run if we have
477         successfully established a connection to the server and have
478         logged in.  I suspect that sending messages too soon may make some
479         IRC servers not respond well, particularly when the network
480         connection is iffy or subject to traffic-shaping.
482 2007-11-01  Michael Olson  <mwolson@gnu.org>
484         * erc-compat.el (erc-set-write-file-functions): New compatibility
485         function to set the write hooks appropriately.
487         * erc-log.el (erc-log-setup-logging): Use
488         erc-set-write-file-functions.  This fixes a byte-compiler warning.
490         * erc-stamp.el: Silence byte-compiler warning about
491         erc-fill-column.
493         * erc.el (erc-with-all-buffers-of-server): Bind the result of
494         mapcar to a variable in order to silence a byte-compiler warning.
496 2007-10-29  Michael Olson  <mwolson@gnu.org>
498         * erc-ibuffer.el (erc-modified-channels-alist): Use
499         eval-when-compile, and explain why we are doing this.
501 2007-10-25  Dan Nicolaescu  <dann@ics.uci.edu>
503         * erc-ibuffer.el (erc-modified-channels-alist): Pacify
504         byte-compiler.
506 2007-10-13  Glenn Morris  <rgm@gnu.org>
508         * erc-track.el (erc-modified-channels-update): Use mapc rather
509         than mapcar.
511 2007-10-12  Diane Murray  <disumu@x3y2z1.net>
513         * erc.el (erc-join-channel): Prompt for channel key if C-u or
514         another prefix-arg was typed.
516         * NEWS: Noted this change.
518 2007-10-07  Michael Olson  <mwolson@gnu.org>
520         * erc.el (erc-cmd-ME'S): New command that handles the case where
521         someone types "/me's".  It concatenates the text " 's" to the
522         beginning of the input and then sends the result like a normal
523         "/me" command.
524         (erc-command-regexp): Permit single-quote character.
526 2007-09-30  Aidan Kehoe  <kehoea@parhasard.net>  (tiny change)
528         * erc-log.el (erc-save-buffer-in-logs): Prevent spurious warnings
529         when looking at a log file and concurrently saving to it.
531 2007-09-18  Exal de Jesus Garcia Carrillo  <exal@gnu.org>  (tiny change)
533         * erc.texi (Special-Features): Fix small typo.
535 2007-09-16  Michael Olson  <mwolson@gnu.org>
537         * erc-track.el (erc-track-switch-direction): Mention
538         erc-track-faces-priority-list.  Thanks to Leo for the suggestion.
540 2007-09-11  Exal de Jesus Garcia Carrillo  <exal@gnu.org>  (tiny change)
542         * erc-sound.el: Fix typo in setting up instructions.
544 2007-09-10  Michael Olson  <mwolson@gnu.org>
546         * Makefile (elpa): Copy dir template rather than echoing a few
547         lines.  The reason for this is that the ELPA package for ERC was
548         getting a corrupt dir entry.
550         * dir-template: Template for the ELPA dir file.
552 2007-09-08  Michael Olson  <mwolson@gnu.org>
554         * erc-log.el (erc-log-filter-function): New option that specifies
555         the function to call for filtering text before writing it to a log
556         file.  Thanks to David O'Toole for the suggestion.
557         (erc-save-buffer-in-logs): Use erc-log-filter-function.  Make sure
558         we carry along the value of coding-system-for-write, because this
559         could potentially be shadowed by the temporary buffer.
561         * erc.el (erc-version-string): Update to 5.3, development version.
563 2007-09-07  Glenn Morris  <rgm@gnu.org>
565         * erc.el (erc-toggle-debug-irc-protocol): Fix call to
566         erc-view-mode-enter.
568 2007-08-08  Glenn Morris  <rgm@gnu.org>
570         * erc-log.el, erc.el: Replace `iff' in doc-strings and comments.
572 2007-09-03  Michael Olson  <mwolson@gnu.org>
574         * erc.el (erc-default-port): Make this an integer value rather
575         than a string.  Thanks to Luca Capello for the report.
577 2007-08-27  Michael Olson  <mwolson@gnu.org>
579         * erc.el (erc-cmd-GQUIT): If erc-kill-queries-on-quit is non-nil,
580         kill all query buffers after 4 seconds.
582 2007-08-16  Michael Olson  <mwolson@gnu.org>
584         * NEWS: Add ERC 5.3 changes section, and mention jbms' erc-track
585         compatibility note.
587         * erc-track.el (erc-track-list-changed-hook): Turn this into a
588         customizable option.
589         (erc-track-switch-direction): Add 'importance option.
590         (erc-modified-channels-display): If erc-track-switch-direction is
591         'importance, call erc-track-sort-by-importance.
592         (erc-track-face-priority): New function that returns a number
593         indicating the position of a face in erc-track-faces-priority-list.
594         (erc-track-sort-by-importance): New function that sorts
595         erc-modified-channels-list according to erc-track-face-priority.
596         (erc-track-get-active-buffer): Make 'oldest a rough opposite of
597         'importance.
599 2007-08-14  Jeremy Maitin-Shepard  <jbms@cmu.edu>
601         * erc-track.el (erc-track-remove-disconnected-buffers): New
602         variable which controls whether buffers associated with a server
603         that is disconnected should be removed from
604         `erc-modified-channels-alist'.  Existing behavior is to
605         unconditionally remove such buffers, which is achieved by setting
606         `erc-track-removed-disconnected-buffers' to t.  When set to t,
607         which is the new default value, such buffers remain in the list,
608         which I think is often the desired behavior, since the user may
609         likely wish to find out about activity that occurred in a channel
610         prior to it being disconnected.
611         (erc-track-list-changed-hook): New hook that is run whenever the
612         contents of `erc-modified-channels-alist' changes; it is useful
613         for users such as myself that don't use the default mode-line
614         notification but instead use a separate mechanism (which is tied
615         to my window manager) to provide notification of channel activity.
616         (erc-track-get-buffer-window): New function that acts as a wrapper
617         around `get-buffer-window' that handles the `selected-visible'
618         option of `erc-track-visibility'; previously, the value of
619         `erc-track-visibility' was passed directly to `get-buffer-window',
620         which does not support `selected-visible'; consequently,
621         `selected-visible' was not properly supported.
622         (erc-track-modified-channels): Fix a bug in the logic for removing
623         buffers from the list in certain cases.
624         (erc-track-position-in-mode-line): Add a supported value that
625         specifies that the tracking information should not be added to the
626         mode line at all.  The value of nil is used to indicate that the
627         information should not be added at all to the mode line.
628         (erc-track-add-to-mode-line): Check for position eq to t, rather
629         than non-nil.
630         (erc-buffer-visible): Use erc-track-get-buffer-window.
631         (erc-modified-channels-update): Take
632         erc-track-remove-disconnected-buffers into account.
633         (erc-modified-channels-display): Run `erc-track-list-changed-hook'.
635         * erc.el (erc-reuse-frames): New option that determines whether
636         new frames are always created.  Defaults to t.  This only has an
637         effect when erc-join-buffer is set to 'frame.
638         (erc-setup-buffer): Use it.
640 2007-08-14  Michael Olson  <mwolson@gnu.org>
642         * erc-backend.el (erc-server-reconnect): If the server buffer has
643         been killed, use the current buffer instead.  If the current
644         buffer is not an ERC buffer, give an error.  This fixes a bug when
645         /reconnect is run from a channel buffer whose server buffer has
646         been deleted.  Thanks to jbms for the report.
647         (erc-process-sentinel-1): Take server buffer as an argument, so
648         that we can make sure that it is current.
649         (erc-process-sentinel): Pass buffer to erc-process-sentinel-1.
650         (erc-process-sentinel-2): New function split from
651         erc-process-sentinel-1.  If server buffer is deleted during a
652         reconnect attempt, stop trying to reconnect.  Fix bug where
653         reconnect was not happening when erc-server-reconnect-attempts was
654         t.  Call erc-server-reconnect-p only once each time.  If we are
655         instructed to try connecting indefinitely, tell the user that they
656         can stop this by killing the server buffer.  Call the process
657         sentinel by means of run-at-time, so that there is time to kill
658         the buffer if need be; this also removes the need for a while
659         loop.  Refuse to reconnect again if erc-server-reconnect-timeout
660         is not an number.
662         * erc.el (erc-command-no-process-p): Fix bug: the return value of
663         erc-extract-command-from-line is a list rather than a single
664         symbol.  Thanks to jbms for the report.
665         (erc-cmd-RECONNECT): Use simpler logic, and use buffer-live-p
666         rather than bufferp.
667         (erc-send-current-line, erc-display-command, erc-display-msg):
668         Handle case where erc-server-process is nil, so that /reconnect
669         works.
671 2007-08-12  Michael Olson  <mwolson@gnu.org>
673         * erc-identd.el (erc-identd-filter): Instead of sending an EOF
674         character, which now confuses freenode, stop the server process,
675         so that no new connections are accepted, and kill the current
676         client process.
678 2007-07-29  Michael Olson  <mwolson@gnu.org>
680         * erc-list.el: Relicense to GPLv3.  Since the file was already
681         licensed under version 2 or later, it turns out that we do not
682         need the permission of all of the authors in order to proceed.
684 2007-07-13  Michael Olson  <mwolson@gnu.org>
686         * erc-goodies.el (erc-get-bg-color-face, erc-get-fg-color-face):
687         Use erc-error rather than message and beep.
689         * erc-sound.el: Indentation fix.
691         * erc.el (erc-command-no-process-p): New function that determines
692         if its argument is an ERC command that can be run when the server
693         process is not alive.
694         (erc-cmd-SET, erc-cmd-CLEAR, erc-cmd-COUNTRY, erc-cmd-HELP)
695         (erc-cmd-LASTLOG, erc-cmd-QUIT, erc-cmd-GQUIT)
696         (erc-cmd-RECONNECT, erc-cmd-SERVER): Denote that these commands
697         can be run even when the server process is not alive.
698         (erc-send-current-line): Call erc-command-no-process-p if the
699         server process is not alive, to determine if we have a command
700         that can be run anyway.  Thanks to Tom Tromey for the bug report.
701         (erc-error): New function that either displays a message or throws
702         an error, depending on whether debug-on-error is non-nil.
703         (erc-cmd-SERVER, erc-send-current-line): Use it.
705 2007-07-10  Michael Olson  <mwolson@gnu.org>
707         * Relicense all FSF-assigned code to GPLv3.
709 2007-06-25  Michael Olson  <mwolson@gnu.org>
711         * erc.texi (Options): Fix typo.
712         (Getting Help and Reporting Bugs): Update webpage URL.  Make Gmane
713         part more readable.
715 2007-06-20  Michael Olson  <mwolson@gnu.org>
717         * erc-stamp.el (erc-timestamp-format-left): New option that
718         specifies the left timestamp to use for
719         erc-insert-timestamp-left-and-right.
720         (erc-timestamp-format-right): New option that specifies the right
721         timestamp to use for erc-insert-timestamp-left-and-right.
722         (erc-insert-timestamp-function): Change default to
723         erc-insert-timestamp-left-and-right.
724         (erc-insert-away-timestamp-function): Ditto.
725         (erc-timestamp-last-inserted-left)
726         (erc-timestamp-last-inserted-right): New variables to keep track
727         of data for erc-insert-timestamp-left-and-right.
728         (erc-insert-timestamp-left-and-right): New function that places
729         timestamps on both the left and right sides of the screen, but
730         only if each timestamp has changed since it was last computed.
731         Thanks to offby1 for urging me to merge this.
733         * erc.el (erc-open-ssl-stream): Display informative error when
734         ssl.el not found.
735         (erc-tls): New function to connect using tls.el.
736         (erc-open-tls-stream): New function to initiate tls connection.
737         Display informative error when tls.el not found.
739 2007-06-19  Michael Olson  <mwolson@gnu.org>
741         * erc-log.el: Update header with accurate instructions.
743 2007-06-17  Michael Olson  <mwolson@gnu.org>
745         * erc-pkg.el: Update description to match what is currently in ELPA.
747 2007-06-14  Juanma Barranquero  <lekktu@gmail.com>
749         * erc-goodies.el (erc-scroll-to-bottom): Remove redundant check.
751 2007-06-13  Michael Olson  <mwolson@gnu.org>
753         * erc-compat.el (erc-with-selected-window): New compatibility
754         macro that implements `with-selected-window'.
756         * erc-goodies.el (erc-scroll-to-bottom): Use it.  This fixes a bug
757         with buffer ordering where ERC buffers would move to the top.
758         Thanks to Ivan Kanis for the patch.
760 2007-06-10  Michael Olson  <mwolson@gnu.org>
762         * erc-log.el (erc-logging-enabled): Fix a bug that occurred when
763         `erc-log-channels-directory' had the name of a function.
765 2007-06-06  Juanma Barranquero  <lekktu@gmail.com>
767         * erc.el (erc-show-channel-key-p, erc-startup-file-list):
768         Fix typo in docstring.
770 2007-06-03  Michael Olson  <mwolson@gnu.org>
772         * erc-compat.el (erc-view-mode-enter): Make this its own function,
773         in order to document what we do, and provide sane fallback
774         behavior.
776         * erc.el (erc-toggle-debug-irc-protocol): Don't pass any arguments
777         to erc-view-mode-enter, since we don't do anything special with
778         the exit function.  This fixes a bug with Emacs 21 and Emacs 22.
779         Thanks to Leo for noticing.
781 2007-05-30  Michael Olson  <mwolson@gnu.org>
783         * erc-compat.el (erc-user-emacs-directory): New variable that
784         determines where to find user-specific Emacs settings.  For Emacs,
785         this is usually ~/.emacs.d, and for XEmacs this is usually
786         ~/.xemacs.
788         * erc.el (erc-startup-file-list): Use erc-user-emacs-directory.
790 2007-05-28  Michael Olson  <mwolson@gnu.org>
792         * erc-button.el (erc-button-url-regexp): Recognize parentheses as
793         part of URLs.  Thanks to Lawrence Mitchell for the fix.
795 2007-05-26  Michael Olson  <mwolson@gnu.org>
797         * erc.texi (Modules): Fix references to completion modules.
799 2007-05-21  Michael Olson  <mwolson@gnu.org>
801         * Makefile (SOURCE): Remove erc-pkg.el.
802         (debclean): New rule to clean old Debian packages of ERC.
803         (debprepare): Don't modify the released tarball, but copy it as
804         the .orig.tar.gz file.
805         (debrelease, debrevision): Remove.
806         (debinstall): New target that copies the generated Debian file to
807         a distro-specific location.
808         (deb): New rule that chains together the stages in building a
809         Debian package.
810         (EXTRAS): Add erc-nicklist.el, since it is not release-quality.
811         (extras): Copy images directory.
813         * erc-nicklist.el (erc-nicklist-icons-directory): Use
814         locate-library to find the "images" directory.  This should be
815         more failsafe.  Thanks to Tom Tromey for the idea.
817 2007-05-19  Michael Olson  <mwolson@gnu.org>
819         * Makefile (ELPA): New variable that contains the location of my
820         local ELPA repository.
821         (elpa): New rule that makes an ELPA package for ERC.
823 2007-04-19  Michael Olson  <mwolson@gnu.org>
825         * erc.el (erc-parse-prefix): New function that retrieves the
826         PREFIX server parameter from the current server and returns an
827         alist of prefix type to prefix character.
828         (erc-channel-receive-names): Use `erc-parse-prefix' to determine
829         whether the first character of a nick is a prefix character or
830         not.  This should fix a bug reported by bromine about needing to
831         type "%" first to complete nicks of people who are "hops" on
832         Slashnet.  This should also support for very exotic IRC server
833         setups, if any exist.
834         (erc-update-current-channel-member): Indentation.
836 2007-04-15  Michael Olson  <mwolson@gnu.org>
838         * erc-log.el (erc-generate-log-file-name-function): Docfix.
839         Mention how to deal with the case for putting log files in
840         different directories.  Change a customization type from `symbol'
841         to `function'.
842         (erc-log-channels-directory): Allow this to contain a function
843         name, which is called with the same args as in
844         `erc-generate-log-file-name-function'.  Thanks to andrewy for the
845         report and use case.
846         (erc-current-logfile): Detect if `erc-log-channels-directory' is a
847         function and call it with arguments if so.
849 2007-04-12  Michael Olson  <mwolson@gnu.org>
851         * erc-backend.el (define-erc-response-handler): Mention that hook
852         processing stops when the function returns non-nil.  This should
853         help avoid a nasty "gotcha" when making custom functions.  Thanks
854         to John Sullivan for the report.
856 2007-04-08  Diane Murray  <disumu@x3y2z1.net>
858         * erc-nicklist.el (erc-nicklist-voiced-position): Fixed
859         customization mismatch.
861 2007-04-01  Michael Olson  <mwolson@gnu.org>
863         * erc.el (erc-version-string): Release ERC 5.2.
865         * erc-auto.in, erc-chess.el, erc-list.el, erc-speak.el:
866         * erc-viper.el: Update copyright notices.
868         * erc.texi: Make Emacs Lisp source code in this document
869         essentially public domain.  Update version to 5.2.
870         (Obtaining ERC): Mention extras tarball.
871         (Releases): Mention local GNU mirror.
872         (Sample Configuration): Remove notice.
874         * FOR-RELEASE (5.3): Add item for erc-nicklist.
875         Mark NEWS as done.  Mark extras tarball as done.
877         * Makefile (VERSION): Increment to 5.2.
878         (TESTING): Remove.
879         (EXTRAS): New variable containing the contents of our "Emacs 22
880         extras" tarball.
881         (SOURCE): Remove $(TESTING).
882         (MISC): Add COPYING and ChangeLog.06.  Fix ChangeLog.NNNN ->
883         ChangeLog.NN.
884         (release): Use $(SNAPDIR) instead of erc-$(VERSION).
885         (extras): New rule which implements the building of the extras
886         tarball.
887         (upload-extras): New rule to upload the extras tarball.  It's
888         yucky to replicate upload, but oh well.
889         (DISTRIBUTOR): New variable used to differentiate between building
890         packages for Ubuntu and Debian.
891         (debrelease, debrevision): Use it.
892         (debbuild): Run linda in addition to lintian.
894         * NEWS: Mention extras tarball.  Note which files have been
895         renamed.  Note that erc-list is enabled by default, except in
896         Emacs 22.
898         * README.extras: New file which serves as a README for the extras
899         tarball.
901 2007-03-31  Michael Olson  <mwolson@gnu.org>
903         * NEWS: Update for the 5.2 release.
905         * FOR-RELEASE: Finish up 5.2 manual item.  Add documentation item
906         for 5.3.
908         * erc.texi (Sample Session): Flesh out.  Mention #erc.
909         (Modules): Defer to 5.3 release.
910         (Advanced Usage): Move Sample Configuration chapter ahead of
911         unfinished chapters.
912         (Sample Configuration): Write.
913         (Options): Mention how to see available ERC options.  Defer to 5.3
914         release.
915         (Tips and Tricks): Remove, since it seems better to just include
916         tips and tricks in the sample configuration, commented out.
918         * erc-bbdb.el (erc-bbdb-search-name-and-create): Make prompt more
919         informative about how to skip merging.
920         (erc-bbdb-insinuate-and-show-entry-1): Move contents of
921         erc-bbdb-insinuate-and-show-entry here.
922         (erc-bbdb-insinuate-and-show-entry): Run
923         erc-bbdb-insinuate-and-show-entry-1 "outside" of the calling
924         function, so that we can avoid triggering a process-filter error
925         if the user hits C-g.
927 2007-03-30  Michael Olson  <mwolson@gnu.org>
929         * FOR-RELEASE: Solve C-c C-SPC keybinding dilemma.
931         * erc-autoaway.el (erc-autoaway-idle-method): Use `if' rather than
932         `cond' and `set' rather than `set-default'.
934         * erc-log.el: Avoid compiler warning by requiring erc-network
935         during compilation.
936         (erc-generate-log-file-name-function): Add tag to each option.
937         Add erc-generate-log-file-name-network.
938         (erc-generate-log-file-name-network): New function which generates
939         a log file name that uses network name rather than server name,
940         when possible.
942         * erc-track.el (track): Assimilate track-when-inactive module,
943         since there's no need to have two modules in one file -- an option
944         will do.  Remove track-modified-channels alias.  Call
945         erc-track-minor-mode-maybe, and tear down the minor mode when
946         disabling.
947         (erc-track-when-inactive): New option which determines whether to
948         track visible buffers when inactive.  The default is not to do so.
949         (erc-track-visibility): Mention erc-track-when-inactive.
950         (erc-buffer-visible): Use erc-track-when-inactive.
951         (erc-track-enable-keybindings): New option which determines
952         whether to enable the global-level tracking keybindings.  The
953         default is to do so, unless they would override another binding,
954         in which case we prompt the user about it.
955         (erc-track-minor-mode-map): Move global keybindings here.
956         (erc-track-minor-mode): New minor mode which only enables the
957         keybindings and does nothing else.
958         (erc-track-minor-mode-maybe): New function which starts
959         erc-track-minor-mode, but only if it hasn't already been started,
960         an ERC buffer exists, and the user OK's it, depending on the value
961         of `erc-track-enable-keybindings'.
962         (erc-track-switch-buffer): Display a message if someone calls this
963         without first enabling erc-track-mode.
965 2007-03-17  Michael Olson  <mwolson@gnu.org>
967         * erc.texi (Development): Mention ErcDevelopment page on
968         emacswiki.
969         (Getting Started): Mention ~/.emacs.d/.ercrc.el and the Customize
970         interface.
971         (Sample Session): New section that has a very rough draft for a
972         sample ERC session.
973         (Special Features): New section that explains some of the special
974         features of ERC.  Taken from ErcFeatures on emacswiki, with
975         enhancements.
977 2007-03-12  Diane Murray  <disumu@x3y2z1.net>
979         * erc-autoaway.el (erc-autoaway-idle-method): When setting the new
980         value, disable and re-enable `erc-autoaway-mode' only if it was
981         already enabled.  This fixes a bug where autoaway was enabled just
982         by loading the file.
984 2007-03-10  Diane Murray  <disumu@x3y2z1.net>
986         * erc-capab.el: Added more information to the Usage section.
987         (erc-capab-identify-prefix): Doc fix.
988         (erc-capab-identify-unidentified): New face.
989         (290): Removed.  Definition moved to erc-backend.el.
990         (erc-capab-identify-send-messages): Renamed from
991         `erc-capab-send-identify-messages'.
992         (erc-capab-identify-setup): Use it.
993         (erc-capab-identify-get-unidentified-nickname): Renamed from
994         `erc-capab-get-unidentified-nickname'.
995         (erc-capab-identify-add-prefix): Use it.  Use
996         `erc-capab-identify-unidentified' as the face.
998         * erc-backend.el (290): Moved here from erc-capab.el.
1000         * erc.el (erc-select): Added an autoload cookie.
1001         (erc-message-type-member, erc-restore-text-properties): Use
1002         `erc-get-parsed-vector'.
1003         (erc-auto-query): Set the default to 'bury since many new users
1004         expect private messages from others to be in dedicated query
1005         buffers, not the server buffer.
1006         (erc-common-server-suffixes): Use "freenode" for freenode.net, not
1007         "OPN".  Added oftc.net.
1009         * NEWS: Added note about erc-auto-query's new default setting.
1011 2007-03-03  Michael Olson  <mwolson@gnu.org>
1013         * erc.el (erc-open, erc): Docfixes.
1015 2007-03-02  Michael Olson  <mwolson@gnu.org>
1017         * FOR-RELEASE: Make section for 5.3 release and move erc-backend
1018         cleanup there.  Awaiting discussion before doing other things.
1019         Add tasks for merging filename changes from the 5.2 release
1020         branch, and for making a tarball of modules not in Emacs 22.  Add
1021         item to remind me to update NEWS.  Mark backtab entry as done.
1023         * erc-button.el (button): Add call to `erc-button-add-keys'.
1024         (erc-button-keys-added): New variable tracking whether we've added
1025         the keys yet.
1026         (erc-button-add-keys): New function that adds the <backtab> key to
1027         erc-mode-map.
1029         * erc.texi: Change version to 5.2 (pre-release).
1031 2007-02-15  Michael Olson  <mwolson@gnu.org>
1033         * CREDITS: Update.
1035         * erc-backend.el (erc-server-send-ping-interval): Change to use a
1036         default of 30 seconds.  Improve customize interface.
1037         (erc-server-send-ping-timeout): New option that determines when to
1038         consider a connection stalled and restart it.  The default is
1039         after 120 seconds.
1040         (erc-server-send-ping): Use erc-server-send-ping-timeout instead
1041         of erc-server-send-ping-interval.  If
1042         erc-server-send-ping-timeout is nil, do not ever kill and restart
1043         a hung IRC process.
1045         * erc.el (erc-modules): Include the name of the module in its
1046         description.  This should make it easier for people to find and
1047         enable a particular module.
1049 2007-02-15  Vivek Dasmohapatra  <vivek@etla.org>
1051         * erc.el (erc-cmd-RECONNECT): Kill old process if it is still
1052         alive.
1053         (erc-message-english-PART): Properly escape "%" characters in
1054         reason.
1056         * erc-backend.el (erc-server-reconnecting): New variable that is
1057         set when the user requests a reconnect, but the old process is
1058         still alive.  This forces the reconnect to work even though the
1059         process is killed manually during reconnect.
1060         (erc-server-connect): Initialize it.
1061         (erc-server-reconnect-p): Use it.
1062         (erc-process-sentinel-1): Set it to nil after the first reconnect
1063         attempt.
1065 2007-02-07  Diane Murray  <disumu@x3y2z1.net>
1067         * erc-menu.el (erc-menu-definition): Fixed so that the separator
1068         is between "Current channel" and "Pals, fools and other keywords",
1069         not at the bottom of the "Current channel" submenu.
1071 2007-01-25  Diane Murray  <disumu@x3y2z1.net>
1073         * erc-networks.el (erc-server-alist): Removed SSL server for now
1074         since `erc-server-select' doesn't know to use `erc-ssl'.
1076         * erc-networks.el (erc-server-alist, erc-networks-alist): Added
1077         definitions for oftc.net.
1079         * erc-services.el (erc-nickserv-alist): Fixed OFTC message regexp.
1081 2007-01-22  Michael Olson  <mwolson@gnu.org>
1083         * erc-backend.el (erc-server-error-occurred): New variable that
1084         indicates when an error has been signaled by the server.  This
1085         should fix an infinite reconnect bug when giving some servers a
1086         bogus :full-name.  Thanks to Angelina Carlton for the report.
1087         (erc-server-connect): Initialize erc-server-error-occurred.
1088         (erc-server-reconnect-p): Use it.
1089         (ERROR): Set it.
1091         * erc-services.el (erc-nickserv-alist): Alphabetize and add Ars
1092         and QuakeNet.  Standardize look of entries.  Fix type mismatch
1093         error in customize interface.
1094         (erc-nickserv-passwords): Alphabetize and add missing entries from
1095         erc-nickserv-alist.
1097 2007-01-21  Michael Olson  <mwolson@gnu.org>
1099         * erc.el (erc-header-line-format): Document how to disable the
1100         header line, and add a customization type for it.  Also, make the
1101         changes take effect immediately.
1103 2007-01-19  Michael Olson  <mwolson@gnu.org>
1105         * erc.texi (Modules): Document new menu module.  Thanks to Leo
1106         for noticing.
1108 2007-01-16  Diane Murray  <disumu@x3y2z1.net>
1110         * erc-stamp.el (erc-insert-timestamp-left): Fixed so that the
1111         whitespace string filler is hidden correctly when timestamps are
1112         hidden.
1113         (erc-toggle-timestamps): New function to use instead of
1114         `erc-show-timestamps' and `erc-hide-timestamps'.
1116         * erc.el (erc-restore-text-properties): Moved here from
1117         erc-fill.el since it could be useful in general.
1119         * erc-fill.el (erc-restore-text-properties): Removed.
1121 2007-01-13  Michael Olson  <mwolson@gnu.org>
1123         * erc.el (erc-command-regexp): New variable that is used to match
1124         a command.
1125         (erc-send-input): Use it.  This fixes a bug where paths --
1126         "/usr/bin/foo", for example -- were being displayed as commands,
1127         but still sent correctly.
1128         (erc-extract-command-from-line): Use it.
1130         * erc.texi (Modules): Document erc-capab-identify.
1132 2007-01-11  Diane Murray  <disumu@x3y2z1.net>
1134         * erc.el (erc-find-parsed-property): Moved here from erc-track.el
1135         since it can be useful in general.
1137         * erc-track.el (erc-find-parsed-property): Removed.
1139         * erc-capab.el (erc-capab-find-parsed): Removed.
1140         (erc-capab-identify-add-prefix): Use `erc-find-parsed-property'.
1142         * erc.el (erc-open): Run `erc-before-connect' hook here.  This
1143         makes sure the hook always gets called before a connection is
1144         made, as some functions, like `erc-handle-irc-url', use `erc-open'
1145         instead of `erc'.
1146         (erc): Removed `erc-before-connect' hook.
1148         * erc-menu.el (erc-menu-definition): Put items specific to
1149         channels in a "Current channel" submenu.
1151         * erc-backend.el (321, 323): Display channel list in server buffer
1152         when not using the channel list module.
1154         * erc.el: Updated copyright years.
1155         (erc-version-string): Set to 5.2 (devel).
1156         (erc-format-lag-time): Fixed to work when `erc-server-lag' is nil.
1157         (erc-update-mode-line-buffer): Set the header face.
1159 2007-01-11  Michael Olson  <mwolson@gnu.org>
1161         * erc-bbdb.el (erc-bbdb-popup-type): Fix customization type and
1162         documentation.
1164         * erc-services.el (erc-nickserv-identify-mode): Improve
1165         documentation for nick-change option and move higher to fix
1166         compiler warning.  Avoid a recursive load error.
1167         (erc-nickserv-alist): Add simple entry for BitlBee, to avoid
1168         "NickServ is AWAY: User is offline" error.  Oddly enough, bitlbee
1169         was smart enough to recognize that as an authentication request
1170         and log in regardless, which is why I didn't notice this earlier.
1171         (erc-nickserv-alist-sender, erc-nickserv-alist-regexp)
1172         (erc-nickserv-alist-nickserv, erc-nickserv-alist-ident-keyword)
1173         (erc-nickserv-alist-use-nick-p)
1174         (erc-nickserv-alist-ident-command): New accessors for
1175         erc-nickserv-alist.  Using nth is unwieldy.
1176         (erc-nickserv-identify-autodetect)
1177         (erc-nickserv-identify-on-connect)
1178         (erc-nickserv-identify-on-nick-change, erc-nickserv-identify): Use
1179         the new accessors.
1181 2007-01-11  Diane Murray  <disumu@x3y2z1.net>
1183         * NEWS: Added note for `erc-my-nick-face'.  Fixed capab-identify
1184         wording.
1186 2007-01-10  Diane Murray  <disumu@x3y2z1.net>
1188         * erc.el (erc-mode-line-format): Added %l to documentation.
1189         (erc-header-line-format): Removed "[IRC]".  Use the new %l
1190         replacement character.  Doc fix.
1191         (erc-format-channel-modes): Removed lag code.  Removed parentheses
1192         from mode string.
1193         (erc-format-lag-time): New function.
1194         (erc-update-mode-line-buffer): Use it.
1196 2007-01-10  Michael Olson  <mwolson@gnu.org>
1198         * erc.el: Fix typo in url-irc-function instructions.
1200 2007-01-09  Michael Olson  <mwolson@gnu.org>
1202         * erc.el (erc-system-name): New option that determines the system
1203         name to use when logging in.  The default is to figure this out by
1204         calling `system-name'.
1205         (erc-login): Use it.
1207 2007-01-07  Michael Olson  <mwolson@gnu.org>
1209         * erc.el (erc-modules): Add the menu module.  This should fix a
1210         bug with incorrect ERC submenus being displayed.
1212         * erc-menu.el: Turn this into a module.
1213         (erc-menu-add, erc-menu-remove): New functions that add and remove
1214         the ERC menu.
1216 2006-12-28  Michael Olson  <mwolson@gnu.org>
1218         * erc-list.el: Change header to mention that this is part of ERC,
1219         rather than GNU Emacs.
1221         * erc-networks.el (erc-server-alist): Add Ars OpenIRC and
1222         LinuxChix networks.  Thanks to Angelina Carlton for mentioning
1223         them.  Properly escape periods in Konfido.Net and Kewl.Org.
1224         (erc-networks-alist): Add entries for Ars and LinuxChix, though
1225         the latter does not actually provide an announced network name.
1227         * erc-services.el (erc-nickserv-identify-mode): Add 'both method,
1228         which waits for a NickServ message if the network supports it,
1229         otherwise sends the password after connecting.
1230         (erc-nickserv-identify-mode): Default to 'both.
1231         (erc-nickserv-passwords): Add OFTC and Azzurra to custom options.
1232         (erc-nickserv-alist): Indentation fix.
1233         (erc-nickserv-identify-on-connect)
1234         (erc-nickserv-identify-on-nick-change): Handle 'both method.
1236 2006-12-28  Leo Liu  <sdl.web@gmail.com>  (tiny change)
1238         * erc.el (erc-iswitchb): Wrap body in unwind-protect so that
1239         hitting C-g does not leave iswitchb-mode on.
1241 2006-12-27  Michael Olson  <mwolson@gnu.org>
1243         * erc.el (erc-cmd-RECONNECT): New command that calls
1244         erc-server-reconnect.
1246         * erc-backend.el (erc-server-reconnect-count): New server variable
1247         that keeps track of reconnection attempts.
1248         (erc-server-reconnect-attempts): New option that determines the
1249         number of reconnection attempts that ERC will make per server.
1250         (erc-server-reconnect-timeout): New option that determines the
1251         amount of time, in seconds, that ERC will wait between successive
1252         reconnect attempts.
1253         (erc-server-reconnect): New function that reestablishes the
1254         current IRC connection.  Move some commands from
1255         erc-process-sentinel-1 here.
1256         (erc-process-sentinel-1): If we have been disconnected, loop until
1257         we either reconnect or run out of attempts.
1258         (erc-server-reconnect-p): Move higher and make this a defsubst,
1259         since I'm worried about the current buffer changing from
1260         underneath us.  Implement limit of number of reconnect attempts..
1262         * erc.texi (Getting Started): Update for /RECONNECT command.
1264 2006-12-26  Michael Olson  <mwolson@gnu.org>
1266         * erc.el (erc-open): Restore old point correctly, or at least get
1267         closer to doing so than before.
1269 2006-12-13  Leo Liu  <sdl.web@gmail.com>  (tiny change)
1271         * erc.el (erc-iswitchb): Temporarily enable iswitchb mode if it
1272         isn't active already, instead of leaving it on.
1274 2006-12-10  Juanma Barranquero  <lekktu@gmail.com>
1276         * erc-ezbounce.el (erc-ezb-init-session-list): Doc fix.
1278 2006-12-08  Michael Olson  <mwolson@gnu.org>
1280         * erc.el: Re-evaluate contributions from a contributor, and found
1281         them under 15 lines of non-obvious code, so it is safe to remove
1282         the copyright notice.
1283         (erc-modules): Remove list module.
1285         * erc-list.el: Remove, since a contributor who has not completed
1286         their assignment has contributed significantly more than 15 lines
1287         of code to this file.
1289 2006-11-28  Juanma Barranquero  <lekktu@gmail.com>
1291         * erc.el (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Simplify.
1292         (erc-prompt-for-channel-key, erc-ignore-reply-list, erc-send-post-hook)
1293         (erc-active-buffer, erc-join-buffer, erc-frame-alist, erc-with-buffer)
1294         (erc-modules, erc-display-message-highlight, erc-process-input-line)
1295         (erc-cmd-HELP, erc-server-hooks, erc-echo-notice-in-user-buffers)
1296         (erc-format-my-nick, erc-echo-notice-in-user-and-target-buffers)
1297         (erc-echo-notice-in-first-user-buffer, erc-connection-established)
1298         (erc-update-user-nick, erc-update-channel-member, erc-highlight-notice)
1299         (erc-command-symbol, erc-add-query, erc-process-script-line)
1300         (erc-determine-parameters, erc-client-info, erc-popup-input-buffer):
1301         (erc-script-echo): Fix typos in docstrings.
1302         (erc-channel-user-op-p, erc-channel-user-voice-p, erc-startup-file-list)
1303         (define-erc-module, erc-once-with-server-event)
1304         (erc-once-with-server-event-global, erc-debug-irc-protocol)
1305         (erc-log-irc-protocol, erc-cmd-LOAD, erc-update-user)
1306         (erc-update-current-channel-member, erc-load-script):
1307         (erc-mode-line-away-status-format): Doc fixes.
1309 2006-11-20  Andrea Russo  <rastandy@inventati.org>  (tiny change)
1311         * erc-dcc.el (erc-dcc-chat-setup): Initialize `erc-input-marker'
1312         before calling `erc-display-prompt'.
1314 2006-11-24  Juanma Barranquero  <lekktu@gmail.com>
1316         * erc.el (erc-after-connect, erc-open-ssl-stream)
1317         (erc-display-line-1, erc-display-line):
1318         * erc-backend.el (005): Fix space/tab mixup in docstrings.
1320 2006-11-20  Michael Olson  <mwolson@gnu.org>
1322         * erc.el (erc-version-string): Call this Version 5.2 stable
1323         pre-release, since it diverges slightly from our 5.2 branch, in
1324         that unstable features are not included.
1325         (erc-update-modules): Display better error message when module not
1326         found.
1328 2006-11-12  Michael Olson  <mwolson@gnu.org>
1330         * erc-log.el: Save all log buffers when Emacs exits, in case
1331         someone ignores the warning about open processes.  Remove the
1332         advice code in the commentary.
1333         (erc-save-query-buffers): Docfix.
1334         (erc-log-save-all-buffers): New function that saves all ERC
1335         buffers to logs.
1336         (erc-current-logfile): Fix bug in filename selection, where the
1337         current buffer was erroneously being preferred over the given
1338         buffer.
1340 2006-11-08  Michael Olson  <mwolson@gnu.org>
1342         * erc.el (erc-string-to-port): Avoid error when a numerical port
1343         is passed.  Thanks to Zekeriya KOÇ for the report.
1345 2006-11-08  Łukasz Demianiuk  <ldemianiuk@gmail.com>  (tiny change)
1347         * erc.el (erc-header-line): Fix typo.
1349 2006-11-06  Juanma Barranquero  <lekktu@gmail.com>
1351         * erc-dcc.el (erc-dcc-send-file): Fix typo in error message.
1353         * erc.el (read-passwd):
1354         * erc-autoaway.el (erc-autoaway-reestablish-idletimer):
1355         * erc-truncate.el (truncate): Fix typo in docstring.
1357 2006-10-21  Michael Olson  <mwolson@gnu.org>
1359         * erc.el (erc-iswitchb): Fix bug when hitting C-c C-b without
1360         first loading iswitchb.  Thanks to Leo for the report.
1362 2006-10-10  Michael Olson  <mwolson@gnu.org>
1364         * erc.el (erc-default-port): Make the default be 6667 instead of
1365         ircd. since Mac OS X apparently has problems with looking up that
1366         port name.
1368         * erc-backend.el (353): Receive names after displaying the initial
1369         message, instead of before.
1371 2006-10-05  Diane Murray  <disumu@x3y2z1.net>
1373         * erc.el (erc-my-nick-face): New face.
1374         (erc): Use FULL-NAME argument, not `erc-user-full-name'.  This
1375         fixes a bug where the :full-name argument passed to the function
1376         was not respected.
1377         (erc-format-my-nick): Use `erc-my-nick-face'.  This should help
1378         make it easier to find messages you sent in conversations when
1379         `erc-show-my-nick' is non-nil.
1380         (erc-compute-server): Doc fix.
1382 2006-10-01  John J Foerch  <jjfoerch@earthlink.net>  (tiny change)
1384         * erc-stamp.el (erc-insert-timestamp-right): Exclude the newline
1385         from the erc-timestamp field.
1387 2006-09-11  Michael Olson  <mwolson@gnu.org>
1389         * erc-nicklist.el (erc-nicklist-insert-contents): Add missing
1390         parenthesis.  Thanks to Stephan Stahl for the report.
1392 2006-09-10  Eric Hanchrow  <offby1@blarg.net>
1394         * erc.el (erc-cmd-IGNORE): Prompt user if this might be a regexp
1395         instead of a single user.
1397 2006-09-10  Michael Olson  <mwolson@gnu.org>
1399         * erc.el (erc-generate-new-buffer-name): If this is a server
1400         buffer and a process exists already, create a new buffer.
1401         (erc-open): If the IRC session was continued, restore the old
1402         point.  Thanks to Stephan Stahl for the report.
1403         (erc-member-ignore-case): Coding style tweak.
1404         (erc-cmd-UNIGNORE): Quote the user before comparison.  If we don't
1405         find the user listed verbatim, try to match them against the list
1406         using string-match.  In this case, prompt as to whether the regexp
1407         should be removed.
1408         (erc-ignored-user-p): Remove CL-ism.
1410         * erc-autoaway.el (erc-autoaway-possibly-set-away): Check to see
1411         whether we are already away.
1413         * erc-menu.el: Fix potential compiler warning.
1415 2006-09-07  Diane Murray  <disumu@x3y2z1.net>
1417         * erc.el: Updated Commentary and URL.
1418         (erc-iswitchb, erc-display-line, erc-set-modes, erc-update-modes)
1419         (erc-arrange-session-in-multiple-windows): No need to check if
1420         `erc-server-process' is bound.
1421         (erc-server-buffer-live-p): Doc fix.
1422         (erc-part-from-channel): Don't use any initial contents at prompt.
1423         (erc-format-nick, erc-format-@nick): Doc fix.  Use `when'.
1424         (s367): Fixed to support only banmask and channel which is the
1425         standard.  Also, there's no reason to add a message to each banned
1426         user entry trying to persuade the user to use /banlist instead of
1427         /mode #channel +b.  That part of the message was a little
1428         confusing, anyways.
1429         (s367-set-by): New catalog entry.  The user who set the ban and
1430         the time of ban seem to be specific to only certain servers such
1431         as freenode.
1433         * erc-autoaway.el (erc-autoaway-idletimer): Doc fix.
1435         * erc-backend.el (erc-server-process-alive): No need to check if
1436         `erc-server-process' is bound.
1437         (367): Use s367 or s367-set-by where appropriate.
1439         * erc-compat.el: Fixed URL.
1441         * erc-dcc.el: Updated copyright years.  Added Usage section.
1442         Changed supported Emacs version number from 21.3.50 to 22 in
1443         Commentary.
1445         * erc-ibuffer.el (erc-server-name, erc-target, erc-away): No need
1446         to check if `erc-server-process' is bound.
1448         * erc-nicklist.el: Added to the Commentary section an explanation
1449         that `erc-nicklist-quit' should be called from within the nicklist
1450         buffer.  Set file coding to utf-8 so a contributor's name is
1451         displayed correctly.
1452         (erc-nicklist-icons-directory): Use customize type directory
1453         instead of string.
1454         (erc-nicklist-insert-contents): Set bbdb-nick to an empty string
1455         if it wasn't found.  This fixes a bug where an error would occur
1456         when using `string=' on bbdb-nick if it was nil.
1458         * erc-replace.el: Removed URL from file information since it
1459         doesn't exist.
1461         * erc-sound.el: Updated copyright years.  Fixed Commentary and
1462         added Usage section.
1463         (define-erc-module): Add and remove `erc-ctcp-query-SOUND' to
1464         `erc-ctcp-query-SOUND-hook' here.  Removed the keybinding
1465         definitions.
1466         (erc-play-sound, erc-default-sound, erc-cmd-SOUND)
1467         (erc-ctcp-query-SOUND): Doc fix.
1468         (erc-play-command): Removed, not necessary anymore.
1469         (erc-ctcp-query-SOUND-hook): Set to nil as default.  Moved up
1470         higher in code, added docstring.
1471         (erc-play-sound): Use `play-sound-file'.  It exists in GNU Emacs
1472         as well since version 21 or earlier.  Removed commented-out older
1473         version of function.
1475         * NEWS: Fixed formatting, added channel tracking change.
1477 2006-09-03  Diane Murray  <disumu@x3y2z1.net>
1479         * erc.el: M-x erc RET can now be used to start ERC.
1480         (erc-open): Renamed from `erc'.
1481         (erc-before-connect): Change erc-select to erc.
1482         (erc): Renamed from `erc-select'.  Use `erc-open'.
1483         (erc-select): Defined as alias of `erc'.
1484         (erc-ssl): Renamed from `erc-select-ssl'.  Use `erc'.
1485         (erc-select-ssl): Defined as alias of `erc-ssl'.
1486         (erc-cmd-SERVER): Use `erc'.
1487         (erc-query, erc-handle-irc-url): Use `erc-open'.
1489         * erc-backend.el (erc-process-sentinel-1, JOIN): Use `erc-open'.
1491         * erc-menu.el (erc-menu-definition): Use `erc'.
1493         * erc-networks.el: Updated copyright years.
1494         (erc-server-select): Use keyword arguments when calling `erc'.
1496         * erc.texi (Getting Started, Connecting): Changed erc-select to
1497         erc.
1499         * README: Changed erc-select to erc.
1501         * NEWS: Added note about these changes.
1503         * FOR-RELEASE: Marked this item as done.
1505 2006-08-21  Diane Murray  <disumu@x3y2z1.net>
1507         * erc-track.el (erc-track-mode-line-mouse-face): New variable.
1508         (erc-make-mode-line-buffer-name): Add help-echo and mouse-face
1509         properties to channel name.
1511 2006-08-20  Michael Olson  <mwolson@gnu.org>
1513         * erc-identd.el (erc-identd): New customization group.
1514         (erc-identd-port): New option that specifies the port to use if
1515         none is given as an argument to erc-identd-start.
1516         (identd): Place erc-identd-quickstart in erc-connect-pre-hook
1517         instead of erc-identd-start so that we deal with the different
1518         meaning of the first argument.
1519         (erc-identd-start): Use erc-identd-port.
1520         (erc-identd-quickstart): New function that ignores any arguments
1521         and calls erc-identd-start.
1523         * erc.el (erc-with-server-buffer): New macro that switches to the
1524         current ERC server buffer and runs some code.  If no server buffer
1525         is available, return nil.  This is a useful way to access
1526         variables in the server buffer.
1527         (erc-get-server-user, erc-add-server-user)
1528         (erc-remove-server-user, erc-change-user-nickname)
1529         (erc-get-server-nickname-list, erc-get-server-nickname-alist)
1530         (erc-ison-p, erc-active-buffer, erc-cmd-IGNORE)
1531         (erc-cmd-UNIGNORE, erc-cmd-IDLE, erc-cmd-NICK, erc-cmd-BANLIST)
1532         (erc-cmd-MASSUNBAN, erc-nickname-in-use, erc-ignored-user-p)
1533         (erc-format-channel-modes): Use it.
1534         (erc-once-with-server-event, erc-once-with-server-event-global)
1535         (erc-with-buffer, erc-with-all-buffers-of-server): Use make-symbol
1536         instead of gensym.
1537         (erc-open-server-buffer-p): New function that returns non-nil if
1538         the given buffer is an ERC server buffer that has an open IRC
1539         process.
1540         (erc-with-buffer): Use buffer-live-p here to set a good example,
1541         though it isn't really needed here.
1542         (erc-away): Mention erc-away-time.
1543         (erc): Don't propagate the erc-away setting, since it makes more
1544         sense to access it from the server buffer.  Set up the prompt
1545         before connecting rather than after.  Run erc-connect-pre-hook
1546         with the buffer as an argument, instead of no arguments.
1547         (erc-cmd-GAWAY): Use erc-open-server-buffer-p instead of
1548         erc-server-buffer-p so that only open connections are set away.
1549         (erc-cmd-GQUIT): Use erc-open-server-buffer-p.
1550         (erc-process-away): Docfix.  Don't set erc-away in channel
1551         buffers.
1552         (erc-set-current-nick): Make this uniform with the style used in
1553         erc-current-nick.
1554         (erc-away-time): Rename from erc-away-p, since this is no longer a
1555         boolean-style predicate.
1556         (erc-format-away-status): Use it.
1557         (erc-initialize-log-marker): Accept a `buffer' argument.
1558         (erc-connect-pre-hook): Docfix.
1559         (erc-connection-established): Make sure this runs in the correct
1560         buffer.
1561         (erc-set-initial-user-mode): Accept a `buffer' argument.
1563         * erc-stamp.el (erc-add-timestamp): Use erc-away-time.
1565         * erc-spelling.el (erc-spelling-init): Use
1566         erc-with-server-buffer.  Accept `buffer' argument.
1567         (spelling): Call erc-spelling-init with the `buffer' argument.
1569         * erc-speedbar.el (erc-speedbar-buttons): Use erc-server-buffer-p.
1571         * erc-pcomplete.el (pcomplete/erc-mode/UNIGNORE)
1572         (pcomplete-erc-all-nicks): Use erc-with-server-buffer.
1574         * erc-notify.el (erc-notify-timer, erc-cmd-NOTIFY): Use
1575         erc-with-server-buffer.
1577         * erc-networks.el (erc-network, erc-current-network)
1578         (erc-network-name): Use erc-with-server-buffer.
1580         * erc-netsplit.el (erc-cmd-WHOLEFT): Use erc-with-server-buffer.
1582         * erc-match.el (erc-log-matches, erc-log-matches-come-back): Use
1583         erc-away-time.
1585         * erc-log.el (log): Use erc-away-time.  Remove unnecessary check.
1586         Pass `buffer' argument to erc-log-setup-logging instead of setting
1587         the current buffer.  Ditto for erc-log-disable-logging.
1588         (erc-log-setup-logging, erc-log-disable-logging): Accept a `buffer'
1589         argument.
1591         * erc-list.el (erc-chanlist): Use erc-with-server-buffer.
1593         * erc-ibuffer.el (erc-away): Use erc-away-time.
1595         * erc-dcc.el (erc-dcc-get-filter): Temporarily make the buffer
1596         read only instead of permanently doing so.
1598         * erc-compat.el (erc-gensym, *erc-sym-counter*): Remove, since
1599         Emacs Lisp has make-symbol, which is better.
1601         * erc-chess.el (erc-chess-handler, erc-cmd-CHESS): Use
1602         erc-with-server-buffer.
1604         * erc-capab.el (capab-identify): Only deal with server buffers
1605         that have an open IRC process.
1606         (erc-capab-identify-add-prefix): Use erc-with-server-buffer.
1608         * erc-backend.el (erc-server-connected): Docfix.  Recommend the
1609         `erc-server-process-alive' function.
1610         (erc-coding-system-for-target): Supply a default target if one is
1611         not given.
1612         (erc-server-send): Simplify slightly.
1613         (erc-call-hooks): Use erc-with-server-buffer.
1614         (erc-server-connect, erc-server-setup-periodical-ping): Accept
1615         `buffer' argument.
1617         * erc-autoaway.el (erc-autoaway-reestablish-idletimer): Move
1618         higher to avoid an automatic load snafu.
1619         (erc-autoaway-some-server-buffer): New function that returns an
1620         ERC server buffer with a live connection, or nil otherwise.
1621         (erc-autoaway-insinuate-maybe): New function that adds the
1622         autoaway reset function to post-command-hook if at least one ERC
1623         process is alive.
1624         (erc-autoaway-remove-maybe): New function that removes the
1625         autoaway reset function from post-command-hook if no ERC process
1626         is alive.
1627         (autoaway): Don't touch post-command-hook unless an IRC process is
1628         already open.  Remove our addition to post-command-hook as soon as
1629         there are no more IRC processes open.  Reset the indicators before
1630         connecting to an IRC server, which fixes a bug when re-connecting.
1631         (erc-autoaway-reset-idle-user): Call erc-autoaway-remove-maybe if
1632         there are no more IRC processes open.
1633         (erc-autoaway-set-back): Pick an open IRC process.  Accept an
1634         argument which is a function call if we can't find one.
1635         (erc-autoaway-some-open-server-buffer): New function which returns
1636         an ERC server buffer with an open connection and a user that is
1637         not away.
1638         (erc-autoaway-possibly-set-away, erc-autoaway-set-away): Use it.
1639         (erc-autoaway-set-away): Accept a `notest' argument which is used
1640         to avoid testing the same thing twice.
1641         (erc-autoaway-last-sent-time, erc-autoaway-caused-away): Move
1642         higher in file to fix byte-compile warning.
1644 2006-08-20  Diane Murray  <disumu@x3y2z1.net>
1646         * erc-backend.el (erc-process-sentinel-1): Doc fix.  Let
1647         `erc-server-reconnect-p' check all condition cases.
1648         (erc-server-reconnect-p): Moved rest of checks from
1649         `erc-process-sentinel-1' to here.  Now takes an argument, EVENT.
1651 2006-08-14  Diane Murray  <disumu@x3y2z1.net>
1653         * erc-menu.el: Updated copyright years.  Removed EmacsWiki URL.
1654         (erc-menu-definition): Name the menu "ERC" instead of "IRC" to
1655         avoid confusion with rcirc and other clients.
1657         * erc-backend.el (erc-server-banned): New variable.
1658         (erc-server-connect): Set `erc-server-banned' to nil.
1659         (erc-process-sentinel-1): Use `erc-server-reconnect-p'.
1660         (erc-server-reconnect-p): New function.  Return non-nil if the
1661         user wants automatic reconnects and if the user has not been
1662         banned from the server.  This should fix a bug where ERC gets into
1663         a loop trying to reconnect with no way to stop it when the user is
1664         denied access to the server due to a server ban.  It might also
1665         help when Tor users are blocked from freenode if freenode servers
1666         send the 465 message before disconnecting.
1667         (465): Handle "banned from server" error notices.
1669 2006-08-13  Romain Francoise  <romain@orebokech.com>
1671         * erc-match.el (erc-log-matches-make-buffer): End `y-or-n-p'
1672         prompt with a space.
1674 2006-08-13  Michael Olson  <mwolson@gnu.org>
1676         * erc-backend.el (erc-server-timed-out): New variable that
1677         indicates whether the current connection has timed out due to
1678         failure to respond to a ping.
1679         (erc-server-send-ping): Set erc-server-timed-out to t.
1680         (erc-server-connect): Initialize erc-server-timed-out to nil.
1681         (erc-process-sentinel-1): Consult erc-server-timed-out.
1683 2006-08-11  Michael Olson  <mwolson@gnu.org>
1685         * erc-fill.el (erc-fill): Skip any initial empty lines so that we
1686         avoid errors when inserting disconnect messages and other messages
1687         that begin with newlines.
1689 2006-08-07  Michael Olson  <mwolson@gnu.org>
1691         * erc-backend.el (erc-process-sentinel-1): Use erc-display-message
1692         in several places instead of inserting text.
1693         (erc-process-sentinel): Move to the input-marker before removing
1694         the prompt.
1696         * erc.el (erc-port): Fix customization options.
1697         (erc-display-message): Handle null type explicitly.  Previously,
1698         this was relying on a chance side-effect.  Cosmetic indentation
1699         tweak.
1700         (english): Add 'finished and 'terminated entries to the catalog.
1701         Add initial and terminal newlines to 'disconnected and
1702         'disconnected-noreconnect entries.  Avoid long lines.
1703         (erc-cmd-QUIT): Bind the current erc-server-process to
1704         server-proc.  If the IRC server responds quickly, it is possible
1705         for the connection to close, and hence server buffer to be killed,
1706         if erc-kill-server-buffer-on-quit is non-nil.  This avoids that
1707         problem.
1709 2006-08-06  Michael Olson  <mwolson@gnu.org>
1711         * erc-backend.el (erc-server-send-queue): Update from Circe
1712         version of this function.
1713         (erc-server-ping-timer-alist): New variable that keeps track of
1714         ping timers according to their associated server.
1715         (erc-server-last-received-time): New variable that specifies the
1716         time of the last message we received from the server.  This is
1717         used to detect hung processes.
1718         (erc-server-send-ping): New function that sends a ping to the IRC
1719         process corresponding with the given buffer.  Split from
1720         erc-server-setup-periodical-ping.  If the server buffer no longer
1721         exists, cancel the timer.  If the server process has not given us
1722         a message, including PING responses, since the last PING, kill it.
1723         This is necessary to deal with some aberrant freenode behavior.
1724         Idea taken from rcirc.
1725         (erc-server-setup-periodical-ping): Rename from
1726         erc-server-setup-periodical-server-ping.
1727         (erc-server-filter-function): Use erc-current-time instead of
1728         current-time.
1730         * erc.el (erc-arrange-session-in-multiple-windows): Fix bug with
1731         multi-tty Emacs.
1732         (erc-select-startup-file): Fix bug introduced by recent change.
1733         (erc-cmd-QUIT): If the IRC process has not terminated itself
1734         within 4 seconds of completing our quit-hook, kill it manually.
1735         Freenode in particular needs this.
1736         (erc-connection-established): Use erc-server-setup-periodical-ping
1737         instead of erc-server-setup-periodical-server-ping.
1739 2006-08-05  Michael Olson  <mwolson@gnu.org>
1741         * erc-log.el (erc-log-standardize-name): New function that returns
1742         a filename that is safe for use for a log file.
1743         (erc-current-logfile): Use it.
1745         * erc.el (erc-startup-file-list): Search in ~/.emacs.d first,
1746         since that is a fairly standard directory.
1747         (erc-select-startup-file): Re-write to use
1748         convert-standard-filename, which will ensure that MS-DOS systems
1749         look for the _ercrc.el file.
1751 2006-08-02  Michael Olson  <mwolson@gnu.org>
1753         * erc.el (erc-version-string): Release ERC 5.1.4.
1755         * Makefile, NEWS, erc.texi: Update for the 5.1.4 release.
1757         * erc.el (erc-active-buffer): Fix bug that caused messages to go
1758         to the wrong buffer.  Thanks to offby1 for the report.
1760         * erc-backend.el (erc-coding-system-for-target): Handle case where
1761         target is nil.  Thanks to Kai Fan for the patch.
1763 2006-07-29  Michael Olson  <mwolson@gnu.org>
1765         * erc-log.el (erc-log-setup-logging): Don't offer to save the
1766         buffer.  It will be saved automatically killed.  Thanks to Johan
1767         Bockgård and Tassilo Horn for pointing this out.
1769 2006-07-27  Johan Bockgård  <bojohan@users.sourceforge.net>
1771         * erc.el (define-erc-module): Make find-function and find-variable
1772         find the names constructed by `define-erc-module' in Emacs 22.
1774 2006-07-14  Michael Olson  <mwolson@gnu.org>
1776         * erc-log.el (log): Make sure that we enable logging on
1777         already-opened buffers as well, in case the user toggles this
1778         module after loading ERC.  Also be sure to remove logging ability
1779         from all ERC buffers when the module is disabled.
1780         (erc-log-setup-logging): Set buffer-file-name to nil rather than
1781         the empty string.  This should fix some errors that occur when
1782         quitting Emacs without first killing all ERC buffers.
1783         (erc-log-disable-logging): New function that removes the logging
1784         ability from the current buffer.
1786         * erc-spelling.el (spelling): Use dolist and buffer-live-p.
1788 2006-07-12  Michael Olson  <mwolson@gnu.org>
1790         * erc-match.el (erc-log-matches): Bind inhibit-read-only rather
1791         than call toggle-read-only.
1793         * erc.el (erc-handle-irc-url): Move here from erc-goodies.el and
1794         add autoload cookie.
1796 2006-07-09  Michael Olson  <mwolson@gnu.org>
1798         * erc.el (erc-version-string): Release ERC 5.1.3.
1800         * erc.texi: Update for the 5.1.3 release.
1802         * erc-autoaway.el (erc-autoaway-set-back): Fix bug after returning
1803         from being set automatically away and current buffer is not an ERC
1804         buffer.
1806         * erc-identd.el: Fix compiler error.
1808         * erc.texi (Development): Use @subheading instead of @subsection.
1809         (Advanced Usage): Add menu.
1810         (Connecting): Fully document how to connect to an IRC server.
1811         (Options, Tips and Tricks, Sample Configuration): New unwritten
1812         sections.
1814         * erc.el (erc-server, erc-port, erc-nick, erc-nick-uniquifier)
1815         (erc-user-full-name, erc-password): Docfixes and customization
1816         interface tweaks.
1817         (erc-try-new-nick-p): Rename from
1818         `erc-manual-set-nick-on-bad-nick-p' and invert meaning.
1819         (erc-nickname-in-use): Use `erc-try-new-nick-p'.  Check the length
1820         of `erc-nick-uniquifier', in case someone wants multiple
1821         characters.
1822         (erc-compute-server, erc-compute-nick, erc-compute-full-name)
1823         (erc-compute-port): Docfixes.
1825         * erc-log.el (log): Move all add-hook calls here, rather than
1826         executing them immediately, and also cause them to be un-hooked
1827         when the module is removed.
1828         (erc-save-buffer-on-part): Move next to
1829         `erc-save-queries-on-quit'.
1830         (erc-save-buffer-on-quit, erc-save-queries-on-quit): Default to t.
1831         (erc-log-write-after-send, erc-log-write-after-insert): Default to
1832         nil.  This makes things fast, but reasonably failsafe, by default.
1834 2006-07-08  Michael Olson  <mwolson@gnu.org>
1836         * erc-log.el (erc-log-insert-log-on-open): Make this nil by
1837         default, since most IRC clients don't do this.
1838         (erc-log-write-after-send): New option that determines whether the
1839         log file will be written to after every sent message.
1840         (erc-log-write-after-insert): New option that determines whether
1841         the log file will be written to when new text is added to a logged
1842         ERC buffer.
1843         (log): Use the aforementioned options.
1845         * erc.texi (Modules): Document the "completion" module.
1847         * erc-pcomplete.el (pcomplete-erc-nicks): Make sure that we don't
1848         have a nil element in the list when ignore-self is non-nil.
1850 2006-07-05  Michael Olson  <mwolson@gnu.org>
1852         * erc.el (erc-modules): Use `set' instead of `set-default', since
1853         this setting should never be buffer-local.  Add the `page' module
1854         to the list.
1856         * erc.texi (Modules): Add entries for `list' and `page' modules.
1857         Change "spell" to "spelling".
1858         (History): Use past tense throughout.
1860 2006-07-02  Michael Olson  <mwolson@gnu.org>
1862         * erc-backend.el (erc-call-hooks): Fix (stringp nil) error that
1863         can happen when doing /PART.
1865         * erc.el (erc-quit-reason-various-alist)
1866         (erc-part-reason-various-alist): In the example, use "^$" as an
1867         example, since "" matches anything.
1868         (erc-quit-reason-various, erc-part-reason-various): If no argument
1869         is given, and no matches are found, use our default reason instead
1870         of "nil".
1872 2006-06-30  Michael Olson  <mwolson@gnu.org>
1874         * erc.texi (Modules): Mention identd.
1875         (Releases): Update mailing list address and download location.
1876         (Development): Refactor.  Provide updated directions for Arch.
1877         Make URLs clickable.
1878         (Keystroke Summary): Typo fix.  Use more Texinfo syntax.
1879         (Getting Started): Give simpler example.  We do not need to
1880         explicitly load every module.
1881         (History): Update.
1883         * erc-autoaway.el, erc-join.el, erc-backend.el, erc-bbdb.el:
1884         erc-button.el, erc-chess.el, erc-compat.el, erc-hecomplete.el:
1885         erc-dcc.el, erc-ezbounce.el, erc-fill.el, erc-ibuffer.el:
1886         erc-imenu.el, erc-list.el, erc-log.el, erc-match.el, erc-menu.el:
1887         erc-networks.el, erc-netsplit.el, erc-nicklist.el:
1888         erc-services.el, erc-pcomplete.el, erc-replace.el, erc-ring.el:
1889         erc-speedbar.el, erc-spelling.el, erc-stamp.el, erc-track.el:
1890         erc.el: Remove version strings.
1892         * erc.el (erc-cmd-SMV): Remove, since we do not have meaningful
1893         module versions anymore.
1894         (erc-version-modules): Remove, since we do not use this function
1895         anymore.
1896         (erc-latest-version, erc-ediff-latest-version): Remove, since this
1897         was only useful back when ERC consisted of one file.
1898         (erc-modules): Add line for identd.
1899         (erc-get-channel-mode-from-keypress): Typo fix.
1901         * erc-imenu.el: Remove unnecessary lines in header.
1903         * erc-goodies.el (erc-handle-irc-url): Docfix.
1905         * erc-identd.el: Define an ERC module for this.
1906         (erc-identd-start): Don't create a process buffer if possible.
1907         Otherwise, use conventional hidden names for process buffers.
1909 2006-06-29  Michael Olson  <mwolson@gnu.org>
1911         * erc-backend.el (erc-coding-system-for-target): Match
1912         case-insensitively.  Use a pattern match instead of `assoc', as
1913         per the documentation for `erc-encoding-coding-alist'.
1915         * erc-track.el (erc-track-shorten-aggressively): Fix typo.
1917 2006-06-27  Michael Olson  <mwolson@gnu.org>
1919         * erc.el: Update maintainer information and URLs.
1921 2006-06-14  Michael Olson  <mwolson@gnu.org>
1923         * erc.el (erc-active-buffer): If the active buffer has been
1924         deleted, default to the server buffer.
1925         (erc-toggle-flood-control): When the user hits C-c C-f, make flood
1926         control really toggle, not unconditionally turn off.
1928 2006-06-12  Michael Olson  <mwolson@gnu.org>
1930         * NEWS: Add items since the 5.1.2 release.
1932         * erc-autoaway.el (erc-autoaway-caused-away): New variable that
1933         indicates whether the current away status was caused by this
1934         module.
1935         (erc-autoaway-set-back): Only set back if this module set the user
1936         away.
1937         (erc-autoaway-set-away): Update `erc-autoaway-caused-away'.
1938         (erc-autoaway-reset-indicators): New function that resets some
1939         indicators when the user is no longer away.
1940         (autoaway): Add the above function to the 305 hook.
1942 2006-06-05  Romain Francoise  <romain@orebokech.com>
1944         * erc.texi (History): Fix various typos.
1946 2006-06-04  Michael Olson  <mwolson@gnu.org>
1948         * erc-autoaway.el (erc-autoaway-idle-method): Move after the
1949         definition of the autoaway module.
1950         (autoaway): Don't do anything if erc-autoaway-idle-method is
1951         unbound.  This prevents an error on startup.
1953 2006-06-03  Michael Olson  <mwolson@gnu.org>
1955         * erc-autoaway.el: Thanks to Mark Plaksin for the ideas and patch.
1956         (erc-autoaway-idle-method): Renamed from
1957         `erc-autoaway-use-emacs-idle'.  We have more than two choices for
1958         how to do this, so it's best to make this take symbol values.
1959         Improve documentation.  Remove warning against Emacs idle-time;
1960         the point is moot now that we get user idle time via a different
1961         method.  Make sure we disable and re-enable the module when
1962         changing this value.
1963         (autoaway): Conditionalize on the above option.  If using the idle
1964         timer or user idle methods, don't add anything to the
1965         send-completed or server-001 hooks, since it is unnecessary.
1966         (erc-autoaway-reestablish-idletimer, erc-autoaway-message):
1967         Docfix.
1968         (erc-autoaway-idle-seconds): Use erc-autoaway-idle-method.
1969         (erc-autoaway-reset-idle-irc): Renamed from
1970         `erc-autoaway-reset-idle'.  Don't pass line to
1971         `erc-autoaway-set-away', since it is not used.
1972         (erc-autoaway-reset-idle-user): New function that resets the idle
1973         state for user idle time.
1974         (erc-autoaway-set-back): Remove line argument, since it is not
1975         used.
1977 2006-06-01  Michael Olson  <mwolson@gnu.org>
1979         * erc.el (erc-buffer-filter): Make sure all buffers returned from
1980         this are live.
1982 2006-05-01  Edward O'Connor  <ted@oconnor.cx>
1984         * erc-goodies.el (erc-handle-irc-url): New function, suitable as
1985         a value for `url-irc-function'.
1987 2006-04-18  Diane Murray  <disumu@x3y2z1.net>
1989         * erc-pcomplete.el (pcomplete-erc-nicks): Added new optional
1990         argument IGNORE-SELF.  If this is non-nil, don't return the user's
1991         current nickname.  Doc fix.
1992         (pcomplete/erc-mode/complete-command): Don't complete the current
1993         nickname.
1995 2006-04-05  Diane Murray  <disumu@x3y2z1.net>
1997         * erc.el (erc-cmd-SV): Removed the exclamation point.  Show the
1998         build date as it's shown in `emacs-version'.
2000         * erc-capab.el (erc-capab-identify-add-prefix): Insert the prefix
2001         with the same face property as the previous character.
2003 2006-04-02  Michael Olson  <mwolson@gnu.org>
2005         * erc-backend.el, erc-ezbounce.el, erc-join.el, erc-netsplit.el,
2006         erc.el: Make sure to include a newline inside of negated classes,
2007         so that a newline is not matched.
2009 2006-04-01  Michael Olson  <mwolson@gnu.org>
2011         * erc-backend.el (erc-server-connect-function): Don't try to
2012         detect the existence of the `open-network-stream-nowait' function,
2013         since I can't find it in Emacs21, XEmacs21, or Emacs22.
2015 2006-03-27  Michael Olson  <mwolson@gnu.org>
2017         * erc.texi: Update direntry.  Remove unneeded local variables.
2019 2006-03-26  Michael Olson  <mwolson@gnu.org>
2021         * erc.el (erc-header-line): New face that will be used to colorize
2022         the text of the header-line, provided that
2023         `erc-header-line-face-method' is non-nil.
2024         (erc-prompt-face): Fix formatting.
2025         (erc-header-line-face-method): New option that determines the
2026         method used for colorizing header-line text.  This may be a
2027         function, nil, or non-nil.
2028         (erc-update-mode-line-buffer): Use the aforementioned option and
2029         face to colorize the header-line text, if that is what the user
2030         wants.
2031         (erc-send-input): If flood control is not activated, don't split
2032         the input line.
2034 2006-03-25  Michael Olson  <mwolson@gnu.org>
2036         * erc.el (erc-cmd-QUOTE): Install patch from Aravind Gottipati
2037         that fixes the case where there is no leading whitespace.  Only
2038         remove the first space character, though.
2040         * erc-identd.el (erc-identd-start): Fix a bug by making sure that
2041         erc-identd-process is set properly.
2042         (erc-identd-start, erc-identd-stop): Add autoload cookies.
2043         (erc-identd-start): Pass :host parameter so this works with Emacs
2044         22.
2046 2006-03-09  Diane Murray  <disumu@x3y2z1.net>
2048         * erc-button.el (erc-button-keymap): Use <backtab> rather than
2049         <C-tab> for `erc-button-previous' as it is a more standard key
2050         binding for this type of function.
2052 2006-02-28  Diane Murray  <disumu@x3y2z1.net>
2054         * erc-capab.el: Removed things that were accidentally committed on
2055         2006-02-20.  Removed Todo section.
2056         (erc-capab-unidentified): Removed.
2058 2006-02-26  Michael Olson  <mwolson@gnu.org>
2060         * erc-capab.el: Use (eval-when-compile (require 'cl)).
2061         (erc-capab-unidentified): Fix compiler warning by specifying
2062         group.
2064 2006-02-20  Diane Murray  <disumu@x3y2z1.net>
2066         * erc-capab.el (erc-capab-send-identify-messages): Fixed comment
2067         to explain thoughts better.  `erc-server-parameters' is an
2068         associated list when it's set, not a string.
2070 2006-02-19  Michael Olson  <mwolson@gnu.org>
2072         * erc-capab.el (erc-capab-send-identify-messages): Make sure some
2073         parameters are strings before using them.  Thanks to Alejandro
2074         Benitez for the report.
2076         * erc.el (erc-version-string): Release ERC 5.1.2.
2078 2006-02-19  Diane Murray  <disumu@x3y2z1.net>
2080         * erc-button.el (erc-button-keymap): Bind `erc-button-previous' to
2081         <C-tab>.
2082         (erc-button-previous): New function.
2084 2006-02-15  Michael Olson  <mwolson@gnu.org>
2086         * NEWS: Add category for ERC 5.2.
2088         * erc.el (erc): Move to the end of the buffer when a continued
2089         session is detected.  Thanks to e1f and indio for the report and
2090         testing a potential fix.
2092 2006-02-14  Michael Olson  <mwolson@gnu.org>
2094         * debian/changelog: Prepare a new Debian package.
2096         * Makefile (debprepare): New rule that creates an ERC snapshot
2097         directory for use in both new Debian releases and revisions for
2098         Debian packages.
2099         (debrelease, debrevision-mwolson): Use debprepare.
2101         * NEWS: Bring up-to-date.
2103         * erc-stamp.el (erc-insert-timestamp-right): For now, put
2104         timestamps before rather than after erc-fill-column when
2105         erc-timestamp-right-column is nil.  This way we won't surprise
2106         anyone unpleasantly, or so it is hoped.
2108 2006-02-13  Michael Olson  <mwolson@gnu.org>
2110         * erc-dcc.el: Use (eval-when-compile (require 'cl)).
2112 2006-02-12  Michael Olson  <mwolson@gnu.org>
2114         * erc-autoaway.el, erc-dcc.el, erc-ezbounce.el, erc-fill.el
2115         * erc-goodies.el, erc-hecomplete.el, erc-ibuffer.el, erc-identd.el
2116         * erc-imenu.el, erc-join.el, erc-lang.el, erc-list.el, erc-log.el
2117         * erc-match.el, erc-menu.el, erc-netsplit.el, erc-networks.el
2118         * erc-notify.el, erc-page.el, erc-pcomplete.el, erc-replace.el
2119         * erc-ring.el, erc-services.el, erc-sound.el, erc-speedbar.el
2120         * erc-spelling.el, erc-track.el, erc-truncate.el, erc-xdcc.el:
2121         Add 2006 to copyright years, to comply with the changed guidelines.
2123 2006-02-11  Michael Olson  <mwolson@gnu.org>
2125         * erc.el (erc-update-modules): Handle erc-capab-identify
2126         correctly.  Make some requirements shorter, so that it's easier to
2127         see why they are needed.
2129         * erc-capab.el: Add autoload cookie for capab-identify.
2130         (erc-capab-send-identify-messages, erc-capab-identify-activate):
2131         Minor whitespace fix in code.
2133         * erc-stamp.el (erc-timestamp-use-align-to): Renamed from
2134         `erc-timestamp-right-align-by-pixel'.  Set the default based on
2135         whether we are in Emacs 22, and using X.  Improve documentation.
2136         (erc-insert-aligned): Remove calculation of offset, since
2137         :align-to pos works after all.  Unlike the previous solution, this
2138         one works when erc-stamp.el is compiled.
2139         (erc-insert-timestamp-right): Don't add length of string, and then
2140         later remove its displayed width.  This puts timestamps after
2141         erc-fill-column when erc-timestamp-right-column is nil, rather
2142         than before it.  It also fixes a subtle bug.  Remove use of
2143         `current-window', since there is no variable by that name in
2144         Emacs21, Emacs22, or XEmacs21 beta.  Check to see whether
2145         `erc-fill-column' is non-nil before using it.
2147 2006-02-11  Diane Murray  <disumu@x3y2z1.net>
2149         * erc-list.el: Define `list' module which sets the alias
2150         `erc-cmd-LIST' to `erc-list-channels' when enabled and
2151         `erc-list-channels-simple' when disabled.
2152         (erc-list-channels): Was `erc-cmd-LIST', renamed.
2153         (erc-list-channels-simple): New function.
2155         * erc.el (erc-modules): Added `list' to enabled modules.  Changed
2156         `capab-identify' description.  Moved customization options left in
2157         source code.
2159         * erc-menu.el (erc-menu-definition): Use `erc-list-channels'.
2161         * erc-capab.el: Put a little more detail into Usage section.
2162         (define-erc-module): Run `erc-capab-identify-setup' in all open
2163         server buffers when enabling.
2164         (erc-capab-identify-setup): Make PROC and PARSED optional
2165         arguments.
2166         (erc-capab-identify-add-prefix): Simplified nickname regexp.  This
2167         should now also match nicknames that are formatted differently
2168         than the default.
2170         * erc-spelling.el (define-erc-module): Make sure there's a buffer
2171         before calling `with-current-buffer'.
2173 2006-02-10  Michael Olson  <mwolson@gnu.org>
2175         * Makefile (debbuild): Split from debrelease.
2176         (debrevision-mwolson): New rule that causes a Debian revision to
2177         be built.
2179         * erc.el (erc-migrate-modules): Use a better algorithm.  Thanks to
2180         Johan Bockgård.
2181         (erc-modules): Change use of 'pcomplete to 'completion.
2183 2006-02-09  Diane Murray  <disumu@x3y2z1.net>
2185         * erc.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
2186         * erc-capab.el: Require erc.
2187         (erc-capab-send-identify-messages): Use `erc-server-send'.
2188         (erc-capab-identify-remove/set-identified-flag): Use 1 and 0 as
2189         the flags so we can also check whether the `erc-identified' text
2190         property is there at all.
2191         (erc-capab-identify-add-prefix): Use `erc-capab-find-parsed'.
2192         This fixes a bug where the prefix wasn't inserted when timestamps
2193         are inserted on the right.  Tweaked nickname regexp.
2194         (erc-capab-find-parsed): New function.
2195         (erc-capab-get-unidentified-nickname): Updated to check for 0
2196         flag.  Only get nickname if there's a nickuserhost associated with
2197         this message.
2199         * erc-capab.el: New file.  Adds the new module
2200         `erc-capab-identify', which allows flagging of unidentified users
2201         on servers running an ircd based on dancer - irc.freenode.net, for
2202         example.
2204         * erc.el (erc-modules): Added `capab-identify' to options.
2205         (erc-get-parsed-vector, erc-get-parsed-vector-nick)
2206         (erc-get-parsed-vector-type): Moved here from erc-match.el.
2208         * erc-match.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
2209         (erc-get-parsed-vector-type): Moved these functions to erc.el
2210         since they can be useful outside of the text matching module.
2212         * NEWS: Added erc-capab.el.
2214         * erc-dcc.el, erc-stamp.el, erc-xdcc.el: Changed "Emacs IRC Client"
2215         to "ERC".
2217 2006-02-07  Michael Olson  <mwolson@gnu.org>
2219         * ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.04,
2220         ChangeLog.05: Rename from ChangeLog.NNNN in order to disambiguate
2221         the filenames in DOS.
2223         * erc-goodies.el: Comment fix.
2225         * erc-hecomplete.el: Rename from erc-complete.el.  Update
2226         commentary.  Use define-erc-module so that it's possible to
2227         actually use this.
2228         (erc-hecomplete): Rename function from `erc-complete'.
2229         (erc-hecomplete): Rename group from `erc-old-complete'.  Docfix.
2231         * erc-join.el: Rename from erc-autojoin.el.
2233         * erc-networks.el: Rename from erc-nets.el.
2235         * erc-services.el: Rename from erc-nickserv.el.
2237         * erc-stamp.el (erc-insert-aligned): Don't take 3rd argument.  Use
2238         the simpler `indent-to' function when
2239         `erc-timestamp-right-align-by-pixel' is nil.
2240         (erc-insert-timestamp-right): If the timestamp goes on the
2241         following line, don't add timestamp properties to the spaces in
2242         front of it.
2244         * erc.el (erc-migrate-modules): New function that eases migration
2245         of module names.
2246         (erc-modules): Call erc-migrate-modules in the :get accessor.
2247         (erc-modules, erc-update-modules): Update for new modules names.
2248         (erc-cmd-SMV): Remove, since this does not give useful output due
2249         to the version strings being removed from ERC modules.
2251 2006-02-05  Michael Olson  <mwolson@gnu.org>
2253         * erc-spelling.el (erc-spelling-init): If
2254         `erc-spelling-dictionaries' is nil, do not set
2255         ispell-local-dictionary.  Before, it was being set to nil, which
2256         was causing a long delay while the ispell process restarted.
2257         (erc-spelling-unhighlight-word): New function that removes
2258         flyspell properties from a spell-checked word.
2259         (erc-spelling-flyspell-verify): Don't spell-check nicks or words
2260         that have '/' before them.
2262 2006-02-04  Michael Olson  <mwolson@gnu.org>
2264         * erc-autojoin.el: Use (eval-when-compile (require 'cl)).
2266         * erc-complete.el (erc-nick-completion-exclude-myself)
2267         (erc-try-complete-nick): Use better function for getting list of
2268         channel users.
2270         * erc-goodies.el: Docfix.
2272         * erc-stamp.el: Use new arch tagline, since the other one wasn't
2273         being treated properly.
2275         * erc.el (erc-version-string): Release ERC 5.1.1.
2277 2006-02-03  Zhang Wei  <id.brep@gmail.com>
2279         * erc.el (erc-version-string): Don't hard-code Emacs version.
2280         (erc-version): Use emacs-version.
2282 2006-01-31  Michael Olson  <mwolson@gnu.org>
2284         * erc-stamp.el: Update copyright years.
2286 2006-01-30  Simon Josefsson  <jas@extundo.com>
2288         * erc.el (erc-open-ssl-stream): Use tls.el.
2290 2006-01-30  Michael Olson  <mwolson@gnu.org>
2292         * erc-stamp.el (erc-timestamp-right-align-by-pixel): New option
2293         that determines whether to use pixel values to align right
2294         timestamps.  The default is not to do so, since it only works with
2295         Emacs22 on X, and even then some people have trouble.
2296         (erc-insert-aligned): Use `erc-timestamp-right-align-by-pixel'.
2298 2006-01-29  Michael Olson  <mwolson@gnu.org>
2300         * ChangeLog, ChangeLog.2005, ChangeLog.2004, ChangeLog.2003,
2301         ChangeLog.2002, ChangeLog.2001: Add "See ChangeLog.NNNN" line for
2302         earlier changes.  Use utf-8 encoding.  Fix some accent typos.
2304         * erc-speedbar.el (erc-speedbar-buttons): Fix reference to free
2305         variable.
2306         (erc-speedbar-goto-buffer): Fix compiler warning.
2308         * erc-ibuffer.el: Use `define-ibuffer-filter' instead of
2309         `ibuffer-define-limiter'.  Use `define-ibuffer-column' instead of
2310         `ibuffer-define-column'.  Require 'ibuf-ext so that the macros
2311         work without compiler warnings.
2313         * erc.texi (Obtaining ERC, Installation): Note that these
2314         sections may be skipped if using the version of ERC that comes
2315         with Emacs.
2317 2006-01-29  Edward O'Connor  <ted@oconnor.cx>
2319         * erc-viper.el: Remove.  Now that ERC is included in Emacs, these
2320         work-arounds live in Viper itself.
2322 2006-01-28  Michael Olson  <mwolson@gnu.org>
2324         * erc-*.el, erc.texi, NEWS: Add Arch taglines as per Emacs
2325         guidelines.
2327         * erc-*.el: Space out copyright years like the rest of Emacs.  Use
2328         the Emacs copyright statement.  Refer to ourselves as ERC rather
2329         than "Emacs IRC Client", since there are now several IRC clients
2330         for Emacs.
2332         * erc-compat.el (erc-emacs-build-time): Define as a variable.
2334         * erc-log.el (erc-log-setup-logging): Use write-file-functions.
2336         * erc-ibuffer.el: Require 'erc.
2338         * erc-stamp.el (erc-insert-aligned): Only use the special text
2339         property when window-system is X.
2341         * erc.texi: Adapt for inclusion in Emacs.
2343 2006-01-28  Johan Bockgård  <bojohan@users.sourceforge.net>
2345         * erc.el (erc-format-message): More `cl' breakage; don't use
2346         `oddp'.
2348 2006-01-27  Michael Olson  <mwolson@gnu.org>
2350         * debian/changelog: Update for new release.
2352         * debian/control (Description): Update.
2354         * debian/rules: Concatenate ChangeLog for 2005.
2356         * Makefile (MISC): Include ChangeLog.2005 and erc.texi.
2357         (debrelease, release): Copy images directory.
2359         * NEWS: Spelling fixes.  Add items for recent changes.
2361         * erc.el (erc): Move call to erc-update-modules before the call to
2362         erc-mode.  This should fix a timestamp display issue.
2363         (erc-version-string): Release ERC 5.1.
2365 2006-01-26  Michael Olson  <mwolson@gnu.org>
2367         * erc-stamp.el (erc-insert-aligned): New function that inserts
2368         text in an perfectly-aligned way relative to the right margin.  It
2369         only works well with Emacs22.  A sane fallback is provided for
2370         other versions of Emacs.
2371         (erc-insert-timestamp-right): Use the new function.
2373 2006-01-25  Edward O'Connor  <ted@oconnor.cx>
2375         * erc.el (erc-modules): Ensure that `erc-button-mode' gets enabled
2376         before `erc-match-mode'.
2378         * erc-match.el (match): Append `erc-match-message' to
2379         `erc-insert-modify-hook'.
2381 2006-01-25  Michael Olson  <mwolson@gnu.org>
2383         * FOR-RELEASE: Mark last release requirement as done.
2385         * Makefile (realclean, distclean): Remove docs.
2387         * erc.texi: Take care of all pre-5.1 items.
2389         * erc-backend.el (erc-server-send, erc-server-send-queue): Wrap
2390         `process-send-string' in `condition-case' to avoid an error when
2391         quitting ERC.
2393         * erc-stamp.el (erc-insert-timestamp-right): Try to deal with
2394         variable-width characters in the timestamp and on the same line.
2395         The latter is a kludge, but it seems to work with most of the
2396         input I've thrown at it so far.  It's certainly better than going
2397         past the end of line consistently when we have variable-width
2398         characters on the same line.  When `erc-timestamp-intangible' is
2399         non-nil, add intangible properties to the whitespace as well, so
2400         that hitting <end> does what you'd expect.
2402         * erc.el (erc-flood-protect, erc-toggle-flood-control): Update
2403         this to only use boolean values for `erc-flood-protect'.  Update
2404         documentation.
2405         (erc-cmd-QUIT): Set the active buffer to be the server buffer, so
2406         that any QUIT-related messages go there.
2407         (erc): Try to be more clever about re-using channel buffers when
2408         automatically re-connecting.  Thanks to e1f for noticing.
2410 2006-01-23  Michael Olson  <mwolson@gnu.org>
2412         * ChangeLog.2005: Remove erroneous line.
2414         * FOR-RELEASE: Make that the Makefile tweaking is complete.
2415         (NEWS): Mark as done.
2417         * Makefile (MANUAL): New option indicating the name of the manual.
2418         (PREFIX, ELISPDIR, INFODIR): New options that specify the
2419         directories to install lisp code and info manuals to.  PREFIX is
2420         used only by ELISPDIR and INFODIR.
2421         (all): Call `lisp' and create the manual.
2422         (lisp): Compile lisp code.
2423         (%.info, %.html): New rules that make Info files and HTML files,
2424         respectively, from a TexInfo source.
2425         (doc): Create both the Info and HTML versions of the manual.  This
2426         is for the user -- we never call it automatically.
2427         (install-info): Install Info files.
2428         (install-bin): Install compiled and source Lisp files.
2429         (todo): Remove, since it seems pointless.
2431         * NEWS: Update.
2433         * README: Add Installation instructions.  Tweak layout.
2435         * erc.texi: Work on some pre-5.1 items.
2437         * erc-stamp.el, erc-track.el: Move some functions and options in
2438         order to get rid of a few compiler warnings.
2440         * erc.el (erc-modules): Enable readonly by default.  This will
2441         prevent new users from accidentally removing old messages, which
2442         could be disconcerting.  Also enable stamp by default, since
2443         timestamps are a fairly standard feature among IRC clients.
2445         * erc-button.el: Munge whitespace.
2447         * erc-identd.el (erc-identd-start): Instead of throwing an error,
2448         just try to use the obsolete function.
2450 2006-01-22  Michael Olson  <mwolson@gnu.org>
2452         * erc-backend.el (erc-decode-string-from-target): Make sure that
2453         we have a string as an argument.  If not, coerce it to the empty
2454         string.  Hopefully, this will work painlessly around an edge case
2455         related to quitting ERC around the same time a message comes in.
2457 2006-01-22  Johan Bockgård  <bojohan@users.sourceforge.net>
2459         * erc-track.el: Use `(eval-when-compile (require 'cl))' (for
2460         `case').  Doc fixes.
2461         (erc-find-parsed-property): Simplify.
2462         (erc-track-get-active-buffer): Fix logic.  Simplify.
2463         (erc-track-switch-buffer): Remove unused variable `dir'.  Simplify.
2465         * erc-speak.el: Doc fixes.
2466         (erc-speak-region): `propertize' --> `erc-propertize'.
2468         * erc-dcc.el (erc-dcc-chat-parse-output): `propertize' -->
2469         `erc-propertize'.
2471         * erc-button.el (erc-button-add-button): Take erc-fill-prefix into
2472         account when wrapping URLs.
2474         * erc-bbdb.el (erc-bbdb-elide-display): Doc fix.
2476         * erc-backend.el (define-erc-response-handler): Doc fix.
2478 2006-01-22  Michael Olson  <mwolson@gnu.org>
2480         * erc.el (erc-update-modules): Use `require' instead of `load',
2481         but prevent it from causing errors, in order to preserve the
2482         previous behavior.
2484 2006-01-21  Michael Olson  <mwolson@gnu.org>
2486         * FOR-RELEASE (Source): Mark cl task as done.
2488         * Makefile (erc-auto.el): Call erc-generate-autoloads rather than
2489         generate-autoloads.
2490         (erc-auto.el, %.elc): Don't show command, just its output.
2492         * NEWS: Add items from 2005-01-01 to 2005-08-13.
2494         * debian/copyright (Copyright): Update.
2496         * erc-auto.in (erc-generate-autoloads): Rename from
2497         generate-autoloads.
2499         * erc.el, erc-autoaway.el, erc-backend.el: Use
2500         erc-server-process-alive instead of erc-process-alive.
2502         * erc.el, erc-backend.el, erc-ezbounce.el, erc-list.el,
2503         erc-log.el, erc-match.el, erc-nets.el, erc-netsplit.el,
2504         erc-nicklist.el, erc-nickserv.el, erc-notify.el, erc-pcomplete.el:
2505         Use (eval-when-compile (require 'cl)), so that compilation doesn't
2506         fail.
2508         * erc-fill.el, erc-truncate.el: Whitespace munging.
2510         * erc.el: Update copyright notice.  Remove eval-after-load code.
2511         (erc-with-buffer): Docfix.
2512         (erc-once-with-server-event, erc-once-with-server-event-global)
2513         (erc-with-buffer, erc-with-all-buffers-of-server): Use erc-gensym
2514         instead of gensym.
2515         (erc-banlist-update): Use erc-delete-if instead of delete-if.
2516         (erc): Call `erc-update-modules' here.
2518         * erc-backend.el: Require 'erc-compat to minimize compiler
2519         warnings.
2520         (erc-decode-parsed-server-response): Docfix.
2521         (erc-server-process-alive): Move here from erc.el and rename from
2522         `erc-process-alive'.
2523         (erc-server-send, erc-remove-channel-users): Make sure process is
2524         alive before sending data to it.
2526         * erc-bbdb.el: Update copyright years.
2527         (erc-bbdb-whois): Remove overexuberant comment.
2529         * erc-button.el: Require erc-fill, since we make liberal use of
2530         `erc-fill-column'.
2532         * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): New
2533         functions, the latter of which provides an `assert' equivalent.
2534         (erc-remove-if-not): New function that provides a simple
2535         implementation of `remove-if-not'.
2536         (erc-gensym): New function that provides a simple implementation
2537         of `gensym'.
2538         (erc-delete-if): New function that provides a simple
2539         implementation of `delete-if'.
2540         (erc-member-if): New function that provides a simple
2541         implementation of `member-if'.
2542         (field-end): Remove this, since it is unused, and later versions
2543         of XEmacs have this function already.
2544         (erc-function-arglist): Moved here from erc.el.
2545         (erc-delete-dups): New compatibility function for dealing with
2546         XEmacs.
2547         (erc-subseq): New function copied from cl-extra.el.
2549         * erc-dcc.el: Require pcomplete during compilation to avoid
2550         compiler warnings.
2551         (erc-unpack-int, erc-dcc-send-filter)
2552         (erc-dcc-get-filter): Use erc-assert instead of assert.
2553         (pcomplete/erc-mode/DCC): Use erc-remove-if-not instead of
2554         remove-if-not.
2556         * erc-match.el (erc-log-matches): Fix compiler warning.
2558         * erc-nicklist.el: Update copyright notice.
2559         (erc-nicklist-menu): Change use of caadr to (car (cadr ...)).
2560         (erc-nicklist-bitlbee-connected-p): Remove.
2561         (erc-nicklist-insert-medium-name-or-icon): Accept channel
2562         argument.  Use it to determine whether we are on bitlbee.  Now
2563         that bitlbee names its channel "&bitlbee", this is trivial.
2564         (erc-nicklist-insert-contents): Pass channel as specified above.
2565         Don't try to determine whether we are on bitlbee here.
2566         (erc-nicklist-channel-users-info): Use erc-remove-if-not instead
2567         of remove-if-not.
2568         (erc-nicklist-search-for-nick): Use erc-member-if instead of
2569         member-if.
2571         * erc-notify.el (erc-notify-QUIT): Use erc-delete-if with a
2572         partially-evaluated lambda expression instead of `delete' and
2573         `find'.
2575         * erc-track.el: Use erc-assert.
2576         (erc-track-modified-channels): Remove use of `return'.
2577         (erc-track-modified-channels): Use `cadr' instead of `second',
2578         since otherwise we would need yet another eval-when-compile line.
2580 2006-01-19  Michael Olson  <mwolson@gnu.org>
2582         * erc-backend.el (erc-process-sentinel-1): Remove attempt to
2583         detect SIGPIPE, since it doesn't work.
2585 2006-01-10  Diane Murray  <disumu@x3y2z1.net>
2587         * erc-spelling.el: Updated copyright years.
2588         (define-erc-module): Enable/disable `flyspell-mode' for all open
2589         ERC buffers as well.
2590         (erc-spelling-dictionaries): Reworded customize description.
2592         * erc.el (erc-command-symbol): New function.
2593         (erc-extract-command-from-line): Use `erc-command-symbol'.  This
2594         fixes a bug where "Symbol's function definition is void:
2595         erc-cmd-LIST" would be shown after typing /list at the prompt (the
2596         command was interned because erc-menu.el uses it and is enabled by
2597         default whereas erc-list.el is not).
2599         * NEWS: Started a list of renamed variables.
2601         * erc.el: Reworded the message sent when defining variable
2602         aliases.
2603         (erc-command-indicator-face): Doc fix.
2604         (erc-modules): Enable the match module by default which makes
2605         current nickname highlighting on as the default.
2607         * erc-button.el: Updated copyright years.
2608         (erc-button): New face.
2609         (erc-button-face): Use `erc-button'.
2610         (erc-button-nickname-face): New customizable variable.
2611         (erc-button-add-nickname-buttons, erc-button-add-buttons-1): Send
2612         new argument to `erc-button-add-button'.
2613         (erc-button-add-button): Doc fix.  Added new argument to function
2614         definition, NICK-P.  If it's a nickname, use
2615         `erc-button-nickname-face', otherwise use `erc-button-face'.  This
2616         makes channel tracking and buttons work better together when
2617         `erc-button-buttonize-nicks' is enabled, since there is a nickname
2618         on just about every line.
2620         * erc-track.el (erc-track-use-faces): Doc fix.
2621         (erc-track-faces-priority-list): Added `erc-button' to list.
2622         (erc-track-priority-faces-only): Doc fix.
2624 2006-01-09  Diane Murray  <disumu@x3y2z1.net>
2626         * erc-button.el (erc-button-url-regexp): Use `concat' so the
2627         regexp is not one long line.
2628         (erc-button-alist): Fixed so that customizing works correctly.
2629         Reorganized.  Removed lambda functions with more than two lines.
2630         Doc fix.
2631         (erc-button-describe-symbol, erc-button-beats-to-time): New
2632         functions.  Moved from `erc-button-alist'.
2634 2006-01-07  Michael Olson  <mwolson@gnu.org>
2636         * erc-backend.el (erc-process-sentinel-1): Don't try to re-open a
2637         process if a SIGPIPE occurs.  This happens when a new message
2638         comes in at the same time a /quit is requested.
2639         (erc-process-sentinel): Use string-match rather than string= to do
2640         these comparisons.  Matching literal newlines makes me nervous.
2642         * erc-track.el (erc-track-remove-from-mode-line): Handle case
2643         where global-mode-string is not a list.  Emacs22 permits this.
2645 2005-11-23  Johan Bockgård  <bojohan@users.sourceforge.net>
2647         * erc.el (erc-cmd-SAY): Strip leading space in input line.
2649 2005-10-29  Michael Olson  <mwolson@gnu.org>
2651         * FOR-RELEASE: Add stuff that needs to be done before the 5.1
2652         release.  Longer-term items can be added to the 5.2 section.
2654         * Makefile (SITEFLAG): New variable that indicates what variant of
2655         "--site-flag" to use.  XEmacs needs "-site-flag".
2656         (INSTALLINFO): New variable indicating how we should call
2657         install-info when installing documentation.
2658         (erc-auto.el, .elc.el): Use $(SITEFLAG).
2660         * NEWS: Note that last release was 5.0.4.
2662         * erc.texi: Initial and incomplete draft of ERC documentation.
2663         Commence collaborate-documentation-hack-mode :^) .
2665 2005-10-29  Diane Murray  <disumu@x3y2z1.net>
2667         * erc-ring.el (erc-replace-current-command): Revert last change
2668         since it made the prompt disappear when using `erc-next-command'
2669         and `erc-previous-command'.
2671 2005-10-28  Michael Olson  <mwolson@gnu.org>
2673         * erc.el (erc-input-marker): New variable that indicates the
2674         position where text from the user begins, after the prompt.
2675         (erc-mode-map): Bind <HOME> to erc-bol, just like C-a.
2676         (erc): Initialize erc-input-marker.
2677         (erc-display-prompt): Even in case where no prompt is desired by
2678         the user, clear the undo buffer and set the input marker.
2679         (erc-bol, erc-user-input): Simplify by using erc-input-marker.
2681         * erc-pcomplete.el (pcomplete-parse-erc-arguments): Use
2682         erc-insert-marker.
2684         * erc-ring.el (erc-previous-command)
2685         (erc-replace-current-command): Use erc-insert-marker.
2687         * erc-spelling.el (erc-spelling-init): Make sure that even Emacs21
2688         obeys erc-spelling-flyspell-verify.
2689         (erc-spelling-flyspell-verify): Use erc-input-marker.  This should
2690         make it considerably faster when switching to a buffer that has
2691         seen a lot of activity since last viewed.
2693 2005-10-25  Diane Murray  <disumu@x3y2z1.net>
2695         * erc-backend.el (erc-server-version, 004): Re-added setting of
2696         `erc-server-version'.  It doesn't hurt to set, and it could be
2697         used in modules or users' settings.
2699         * NEWS: Added descriptions of some new features.
2701 2005-10-20  Diane Murray  <disumu@x3y2z1.net>
2703         * erc-match.el (erc-current-nick-highlight-type): Set to `keyword'
2704         as default.
2705         (erc-beep-match-types): New variable.
2706         (erc-text-matched-hook): Doc fix.  Added `erc-beep-on-match' to
2707         customization options.
2708         (erc-beep-on-match): New function.  If the MATCH-TYPE is found in
2709         `erc-beep-match-types', beep.
2711         * erc-compat.el (erc-make-obsolete, erc-make-obsolete-variable):
2712         New functions to deal with the difference in the number of
2713         arguments accepted by `make-obsolete' and `make-obsolete-variable'
2714         in Emacs and XEmacs.
2716         * erc.el, erc-nets.el: Use `erc-make-obsolete' and
2717         `erc-make-obsolete-variable'.
2719         * erc-compat.el (erc-make-obsolete, erc-make-obsolete-variable):
2720         Handle `wrong-number-of-arguments' error instead of checking for
2721         xemacs feature as future versions of XEmacs might accept three
2722         arguments.
2724 2005-10-18  Edward O'Connor  <ted@oconnor.cx>
2726         * erc.el: Tell emacs-lisp-mode how to font-lock define-erc-module
2727         docstrings.
2729 2005-10-08  Diane Murray  <disumu@x3y2z1.net>
2731         * AUTHORS, CREDITS, ChangeLog, ChangeLog.2002, ChangeLog.2004:
2732         Updated my email address.
2734 2005-10-06  Michael Olson  <mwolson@gnu.org>
2736         * erc.el (erc-send-input-line, erc-cmd-KICK, erc-cmd-PART)
2737         (erc-cmd-QUIT, erc-cmd-TOPIC, erc-kill-server, erc-kill-channel):
2738         Adapt to new TARGET parameter of erc-server-send.
2740         * erc-backend.el (erc-server-connect): Don't specify encoding for
2741         erc-server-process, since we set this each time we send a line to
2742         the server.
2743         (erc-encode-string-for-target): Remove.
2744         (erc-server-send): Allow TARGET to be specified.  This was how it
2745         used to be before my more-backend work.  Set encoding of server
2746         process just before sending text to it.  Associate encoding with
2747         text if we are using the queue.
2748         (erc-server-send-queue): Pull encoding from queue.
2749         (erc-message, erc-send-ctcp-message, erc-send-ctcp-notice): Adapt
2750         to new TARGET parameter of erc-server-send.
2752 2005-10-05  Michael Olson  <mwolson@gnu.org>
2754         * erc.el (erc-toggle-debug-irc-protocol): Use erc-view-mode-enter
2755         rather than view-mode.
2757         * erc-backend.el (erc-encode-string-for-target): If given a nil or
2758         empty string, return "".
2759         (erc-server-send-queue): XEmacs fix: Use erc-cancel-timer rather
2760         than cancel-timer.
2762         * erc-compat.el (erc-view-mode-enter): New function that is
2763         aliased to the correct way of entering view-mode.
2765         * erc-match.el (erc-log-matches-make-buffer): Use
2766         erc-view-mode-enter rather than view-mode-enter.
2768 2005-10-05  Edward O'Connor  <ted@oconnor.cx>
2770         * erc-backend.el (erc-encode-string-for-target): If str is nil,
2771         pass the empty string to erc-encode-coding-string instead, which
2772         allows one to /part and /quit without providing a reason again.
2774 2005-10-03  Michael Olson  <mwolson@gnu.org>
2776         * erc-backend.el (erc-message, erc-send-ctcp-message)
2777         (erc-send-ctcp-notice): Encode string for target before sending.
2779         * erc.el (erc-cmd-KICK, erc-cmd-PART, erc-cmd-QUIT, erc-cmd-TOPIC)
2780         (erc-kill-server, erc-kill-channel): Ditto.
2782 2005-09-05  Johan Bockgård  <bojohan@users.sourceforge.net>
2784         * erc-page.el (erc-ctcp-query-PAGE): (message text) -> (message
2785         "%s" text).
2786         (erc-cmd-PAGE): Simplify regexp. Put `do-not-parse-args' t.
2788 2005-09-05  Michael Olson  <mwolson@gnu.org>
2790         * erc.el (erc-flood-limit, erc-flood-limit2): Remove since they
2791         are no longer needed.
2792         (erc-send-input): Detect whether we want flood control to be
2793         active.  The previous behavior was to always force the message.
2794         (erc-toggle-flood-control): Adapt to new flood control method.  No
2795         more 'strict.
2796         (erc-cmd-SV): Use concat rather than
2797         format-time-string.
2798         (erc-format-target, erc-format-target-and/or-server): Shorten
2799         logic statements.
2801         * erc-compat.el (erc-emacs-build-time): Use a string
2802         representation rather than trying to coerce a time out of a string
2803         on XEmacs.
2805         * erc-identd.el (erc-identd-start): Use make-network-process
2806         instead of open-network-stream.  Error out if this is not defined.
2808         * erc-backend.el (erc-send-line): New command that sends a line
2809         using flood control, using a callback for display.  It isn't used
2810         yet.
2812 2005-09-04  Michael Olson  <mwolson@gnu.org>
2814         * erc.el: Add defvaralias and make-obsolete-variable for
2815         erc-default-coding-system.
2816         (channel-topic, channel-modes, channel-user-limit, channel-key,
2817         invitation, away, channel-list, bad-nick): Rename globally to
2818         erc-{name-of-variable}.
2820 2005-09-03  Johan Bockgård  <bojohan@users.sourceforge.net>
2822         * erc.el (erc-message): Simplify regexp.
2823         (erc-cmd-DEOP, erc-cmd-OP): Simplify.
2825 2005-08-29  Michael Olson  <mwolson@gnu.org>
2827         * erc.el: Alias erc-send-command to erc-server-send.  ErBot needs
2828         this to work without modification.  Add defvaralias for
2829         erc-process.  Make this and the other backwards-compatibility
2830         functions and variables be marked obsolete as of ERC 5.1.
2832         * erc-backend.el: Add autoload for erc-log macro.
2833         (erc-server-connect): Set some variables before defining process
2834         handlers.  It probably doesn't make any difference.
2836 2005-08-26  Michael Olson  <mwolson@gnu.org>
2838         * erc.el: Add defvaralias for erc-announced-server-name, since
2839         this seems to be widely used.
2841 2005-08-17  Michael Olson  <mwolson@gnu.org>
2843         * erc.el (erc): Remove unnecessary boundp check.
2845         * erc-autoaway.el: Fix compiler warning.
2847         * erc-backend.el (erc-server-version): Since this isn't used by
2848         any code, and isn't generally useful, remove it.
2849         (erc-server-send-queue): Use erc-current-time rather than
2850         float-time.
2851         (004): Don't set erc-server-version.
2853         * erc-dcc.el (erc-dcc-chat-request, erc-dcc-get-parent): Move to
2854         fix a compiler warning.
2856         * erc-ibuffer.el (erc-server): Remove unnecessary boundp check.
2858         * erc-identd.el (erc-identd-start): Use read-string instead of
2859         read-input.
2861         * erc-imenu.el (erc-unfill-notice): Use a while loop instead of
2862         replace-regexp.
2864         * erc-nicklist.el: Add conditional dependency on erc-bbdb.
2865         (erc-nicklist-insert-contents): Tighten some regexps.
2867         * erc-notify.el (erc-notify-list): Docfix.
2869         * erc-spelling.el (erc-spelling-dictionaries): Add :type and
2870         :group to silence a compiler warning.
2872 2005-08-14  Michael Olson  <mwolson@gnu.org>
2874         * erc-backend.el (erc-session-server, erc-session-port)
2875         (erc-announced-server-name, erc-server-version)
2876         (erc-server-parameters): Moved here from erc.el.
2877         (erc-server-last-peers): Moved, renamed from last-peers.
2878         (erc-server-lag): Moved, renamed from erc-lag.
2879         (erc-server-duplicates): Moved, renamed from erc-duplicates.
2880         (erc-server-duplicate-timeout): Moved, renamed from
2881         erc-duplicate-timeout.
2882         (erc-server): New customization group hosting all options from
2883         this file.
2884         (erc-server-prevent-duplicates): Moved, renamed from
2885         erc-prevent-duplicates.
2886         (erc-server-duplicate-timeout): Moved, renamed from
2887         erc-duplicate-timeout.
2888         (erc-server-auto-reconnect, erc-split-line-length)
2889         (erc-server-coding-system, erc-encoding-coding-alist)
2890         (erc-server-connect-function, erc-server-flood-margin)
2891         (erc-server-flood-penalty): Change group to 'erc-server.
2892         (erc-server-send-ping-interval): Moved, renamed from
2893         erc-ping-interval.
2894         (erc-server-ping-handler): Moved, renamed from erc-ping-handler.
2895         (erc-server-setup-periodical-server-ping): Moved, renamed from
2896         erc-setup-periodical-server-ping.
2897         (erc-server-connect): Add to docstring.  Move more initialization
2898         here.
2899         (erc-server-processing-p): Docfix.
2900         (erc-server-connect): Use 'raw-text like in the original version.
2901         (erc-server-filter-function): Don't reset process coding system.
2903         * erc-stamp.el (erc-add-timestamp): If the text at point is
2904         invisible, don't insert a timestamp.  Thanks to Pascal
2905         J. Bourguignon for the suggestion.
2907         * erc-match.el (erc-text-matched-hook): Don't hide fools by
2908         default, but include it in the available options.
2910 2005-08-13  Michael Olson  <mwolson@gnu.org>
2912         * erc-*.el: s/erc-send-command/erc-server-send/g.
2913         s/erc-process/erc-server-process/g (sort of).  Occasional
2914         whitespace and indentation fixes.
2916         * erc-backend.el: Specify a few local variables for indentation.
2917         Take one item off of the TODO list.
2918         (erc-server-filter-data): Renamed from erc-previous-read.  From
2919         circe.
2920         (erc-server-processing-p): New variable that indicates when we're
2921         currently processing a message.  From circe.
2922         (erc-split-line-length): New option that gives the maximum line
2923         length of a single message.  From circe.
2924         (erc-default-coding-system): Moved here from erc.el.
2925         (erc-split-line): Renamed from erc-split-command and taken from
2926         circe.
2927         (erc-connect-function, erc-connect, erc-process-sentinel-1)
2928         (erc-process-sentinel, erc-flood-exceeded-p, erc-send-command)
2929         (erc-message, erc-upcase-first-word, erc-send-ctcp-message)
2930         (erc-send-ctcp-notice): Moved here from erc.el.
2931         (erc-server-filter-function): Renamed from erc-process-filter.
2932         From circe.
2933         (erc-server-process): Renamed from `erc-process' and moved here
2934         from erc.el.
2935         (erc-server-coding-system): Renamed from
2936         `erc-default-coding-system'.
2937         (erc-encoding-coding-alist): Moved here from erc.el.
2938         (erc-server-flood-margin, erc-server-flood-penalty):
2939         (erc-server-flood-last-message, erc-server-flood-queue):
2940         (erc-server-flood-timer): New options from circe that allow
2941         tweaking of flood control.
2942         (erc-server-connect-function): Renamed from erc-connect-function.
2943         (erc-flood-exceeded-p): Removed.
2944         (erc-coding-system-for-target)
2945         (erc-encode-string-for-target, erc-decode-string-from-target):
2946         Moved here from erc.el
2947         (erc-server-send): Renamed from erc-send-command.  Adapted from
2948         the circe function by the same name.
2949         (erc-server-send-queue): New function from circe that implements
2950         handling of a flood queue.
2951         (erc-server-current-nick): Renamed from current-nick.
2952         (erc-server-quitting): Renamed from `quitting'.
2953         (erc-server-last-sent-time): Renamed from `last-sent-time'.
2954         (erc-server-last-ping-time): Renamed from `last-ping-time'.
2955         (erc-server-lines-sent): Renamed from `lines-sent'.
2956         (erc-server-auto-reconnect): Renamed from `erc-auto-reconnect'.
2957         (erc-server-coding-system): Docfix.
2958         (erc-server-connect): Renamed from `erc-connect'.  Require SERVER
2959         and PORT parameters.  Initialize several variables here.  Don't
2960         set `erc-insert-marker'.  Use a per-server coding system via
2961         erc-server-default-encoding.
2963         * erc.el (erc-version-string): Changed to indicate we are running
2964         the `more-backend' branch.
2965         (erc-send-single-line): Implement flood control using
2966         erc-split-line.
2967         (erc-send-input): Move functionality of erc-send-single-line in
2968         here.
2969         (erc-send-single-line): Assimilated!
2970         (erc-display-command, erc-display-msg): Handle display hooks.
2971         (erc-auto-reconnect, current-nick, last-sent-time)
2972         (last-ping-time, last-ctcp-time, erc-lines-sent, erc-bytes-sent)
2973         (quitting): Moved to erc-backend.el.
2974         (erc): Docfix.  Don't initialize quite so many things here.
2976 2005-08-10  Michael Olson  <mwolson@gnu.org>
2978         * debian/copyright (Copyright): Remove notices for 4 people, since
2979         they didn't contribute legally-significant changes, or have had
2980         these changes overwritten.
2982         * erc-log.el: Remove copyright notice.
2984         * erc.el: Remove 3 copyright notices.
2986 2005-08-09  Michael Olson  <mwolson@gnu.org>
2988         * debian/changelog: Create 5.0.4-3 package.  This doesn't serve
2989         any purpose other than to thank Romain Francoise for some advice.
2991         * Makefile (debrelease): Allow last upload and extra build options
2992         to be specified.
2994 2005-08-08  Michael Olson  <mwolson@gnu.org>
2996         * debian/changelog: Create 5.0.4-2 package.
2998         * debian/control (Uploaders): Add Romain Francoise.
2999         (Standards-Version): Update to 3.6.2.
3000         (Depends): Add `emacsen'.
3002         * debian/scripts/startup.erc (load-path): Minor whitespace fixup.
3004         * Makefile (clean): Split target from realclean and make it remove
3005         files that aren't packaged in releases.
3006         (clean, release): Minor cleanups.
3007         (debrelease): Use debuild rather than dpkg-buildpackage since the
3008         former calls lintian.  Minor cleanups.
3009         (debrelease-mwolson): New target that removes old Debian packages,
3010         calls debrelease, and copies the resulting package to my dist dir.
3011         (upload): New target that automates the process of uploading an
3012         ERC release to sourceforge.
3014         * erc.el (erc-mode): Use `make-local-variable' instead of
3015         `make-variable-buffer-local'.
3017 2005-07-12  Michael Olson  <mwolson@gnu.org>
3019         * debian/changelog: Build 5.0.4-1.
3021         * Makefile (release): Prepare zip file in addition to tarball.
3023         * NEWS: Add item for the undo fix.
3025 2005-07-09  Michael Olson  <mwolson@gnu.org>
3027         * erc-nicklist.el (erc-nicklist-insert-contents): Check
3028         erc-announced-name before erc-session-server.  Make sure that we
3029         can never get a stringp (nil) error.
3030         (erc-nicklist-call-erc-command): If given no command, do nothing.
3031         This fixes an error that used to occur when a stray mouse click
3032         was made outside of the popup window, but on the erc-nicklist
3033         menu.
3035         * erc-bbdb.el (erc-bbdb-search-name-and-create): Get rid of the
3036         infinite input loop when you want to create a new record.  Replace
3037         most of that with a completing read of existing nicks.  If no nick
3038         is chosen, create a new John Doe record.  The net effect of this
3039         is that the old behavior is re-instated, with the addition of one
3040         completing read that happens when you do a /whois.
3042 2005-07-09  Johan Bockgård  <bojohan@users.sourceforge.net>
3044         * erc.el (erc-process-input-line): Docfix.
3045         (erc-update-mode-line-buffer): Use `erc-propertize' instead of
3046         `propertize'.
3047         (erc-propertize): Move to erc-compat.el.
3049         * erc-compat.el (erc-propertize): Move here from erc.el. Always
3050         return a copy of the string (like `propertize' in GNU Emacs).
3052         * erc-nicklist.el (erc-nicklist-icons-directory)
3053         (erc-nicklist-voiced-position)
3054         (erc-nicklist-insert-medium-name-or-icon): Docfix.
3055         (erc-nicklist-insert-contents): Simplify.
3056         (erc-nicklist-mode-map): Bind RET instead of `return'. Bind
3057         `down-mouse-3' instead of `mouse-3'.
3058         (erc-nicklist-kbd-cmd-QUERY): Cleanup regexp.
3059         (erc-nicklist-channel-users-info): Docfix. Simplify.
3061 2005-07-02  Michael Olson  <mwolson@gnu.org>
3063         * images: New directory containing the images that are used by
3064         erc-nicklist.el.  These are from Gaim, and are thought to be
3065         available under the terms of the GPL.
3067         * erc-bbdb.el: Add local variables section to preserve tabs, since
3068         that is the style used throughout this file.  Apply patch from
3069         Edgar Gonçalves as follows.
3070         (erc-bbdb-bitlbee-name-field): New variable that indicates the
3071         field name to use for annotating the "displayed name" of a bitlbee
3072         contact.
3073         (erc-bbdb-irc-highlight-field): Docfix.
3074         (erc-bbdb-search-name-and-create): Prompt the user for the name of
3075         a contact if none was found.  Merge the new entries into the
3076         specified contact.  If new arg SILENT is non-nil, do not prompt
3077         the user for a name or offer to merge the new entry.
3078         (erc-bbdb-insinuate-and-show-entry): New arg SILENT is accepted,
3079         which is passed on to erc-bbdb-search-name-and-create.
3080         (erc-bbdb-whois): Tell erc-bbdb-search-name-and-create to prompt
3081         for name if necessary.
3082         (erc-bbdb-JOIN, erb-bbdb-NICK): Forbid
3083         erc-bbdb-search-name-and-create from prompting for a name.
3085         * erc-nicklist.el: Add local variables section to preserve tabs,
3086         since that is the style used throughout this file.  Apply patch
3087         from Edgar Gonçalves as follows.
3088         (erc-nicklist-use-icons): New option; if non-nil, display an icon
3089         instead of the name of the chat medium.
3090         (erc-nicklist-icons-directory): New option indicating the path to
3091         the PNG files that are used for chat icons.
3092         (erc-nicklist-use-icons): New option indicating whether to put
3093         voiced nicks on top, bottom, or not to differentiate them.  The
3094         default is to put them on the bottom.
3095         (erc-nicklist-bitlbee-connected-p): New variable that indicates
3096         whether or not we are currently using bitlbee.  An attempt will be
3097         made to auto-detect the proper value.  This is bound in the
3098         `erc-nicklist-insert-contents' function.
3099         (erc-nicklist-nicklist-images-alist): New variable that maps a
3100         host type to its icon.  This is set by `erc-nicklist'.
3101         (erc-nicklist-insert-medium-name-or-icon): New function that
3102         inserts an icon or string that identifies the current host type.
3103         (erc-nicklist-search-for-nick): New function that attempts to find
3104         a BBDB record that corresponds with this contact given its
3105         finger-host.  If found, return its bitlbee-nick field.
3106         (erc-nicklist-insert-contents): New function that inserts the
3107         contents of the nick list, including text properties and images.
3108         (erc-nicklist): Populate `erc-nicklist-images-alist'.  Move
3109         nicklist content generation code to
3110         `erc-nicklist-insert-contents'.
3111         (erc-nicklist-mode-map): Map C-j to erc-nicklist-kbd-menu and RET
3112         to erc-nicklist-kbd-cmd-QUERY.
3113         (erc-nicklist-call-erc-command): Make use of
3114         `switch-to-buffer-other-window'.
3115         (erc-nicklist-cmd-QUERY): New function that opens a query buffer
3116         for the given contact.
3117         (erc-nicklist-kbd-cmd-QUERY): Ditto; contains most of the code.
3118         (erc-nicklist-kbd-menu): New function that shows the nicklist
3119         action menu.
3120         (erc-nicklist-channel-users-info): Renamed from
3121         `erc-nicklist-channel-nicks'.  Implement sorting voiced users.
3123 2005-06-29  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3125         * erc-nickserv.el (erc-nickserv-alist): Fix regexp for Azzurra.
3127 2005-06-26  Michael Olson  <mwolson@gnu.org>
3129         * erc-autojoin.el (erc-autojoin-add, erc-autojoin-remove): Use
3130         `erc-session-server' if `erc-announced-server-name' is nil.  This
3131         happens when servers don't send a 004 message.
3133         * erc.el (erc-quit-server): Ditto.
3135         * erc-ibuffer.el (erc-server, erc-server-name): Ditto.
3137         * erc-notify.el (erc-notify-JOIN, erc-notify-NICK)
3138         (erc-notify-QUIT): Ditto.
3140 2005-06-24  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3142         * erc.el (erc-default-coding-system)
3143         (erc-handle-user-status-change): Docstring fix.
3144         (with-erc-channel-buffer): Removed.
3145         (erc-ignored-reply-p): Replace `with-erc-channel-buffer' with
3146         `erc-with-buffer'.
3147         (erc-display-line-1): Fix broken undo.
3149 2005-06-23  Michael Olson  <mwolson@gnu.org>
3151         * CREDITS: Add entries for Luigi Panzeri and Andreas Schwab.
3153         * erc-nickserv.el (erc-nickserv-alist): Add entries for Azzurra
3154         and OFTC.  Thanks to Luigi Panzeri and Andreas Schwab for
3155         providing these.
3157 2005-06-16  Michael Olson  <mwolson@gnu.org>
3159         * CREDITS: Add John Paul Wallington.
3161         * erc.el: Thanks to John Paul Wallington for the following.
3162         (erc-nickname-in-use): Use `string-to-number' instead of
3163         `string-to-int'.
3165         * erc-dcc.el (erc-dcc-handle-ctcp-send)
3166         (erc-dcc-handle-ctcp-chat, erc-dcc-get-file)
3167         (erc-dcc-chat-accept): Ditto.
3169         * erc-identd.el (erc-identd-start): Ditto.
3171 2005-06-16  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3173         * erc.el (erc-mode-map): Suppress `font-lock-fontify-block' key
3174         binding since it destroys face properties.
3176 2005-06-08  Michael Olson  <mwolson@gnu.org>
3178         * erc.el (erc-cmd-UNIGNORE): Use `erc-member-ignore-case' instead
3179         of `member-ignore-case'.  Thanks to bpalmer for the heads up.
3181 2005-06-06  Michael Olson  <mwolson@gnu.org>
3183         * erc.el (erc-modules): Fix a mistake I made when editing this a
3184         few days ago.  Modes should now be disabled properly.
3185         (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Remove unnecessary call to
3186         `format'.  Thanks to Andreas Schwab for reporting this.
3188         * debian/changelog: Close "README file missing" bug.
3190         * debian/rules (binary-erc): Install README file.
3192 2005-06-03  Michael Olson  <mwolson@gnu.org>
3194         * erc.el (erc-with-buffer): Set `lisp-indent-function' so Emacs
3195         Lisp mode knows how to indent erc-with-buffer blocks.
3196         (with-erc-channel-buffer): Ditto.
3197         (erc-with-all-buffers-of-server): Ditto.
3198         (erc-modules): Use pcomplete by default, not completion, since
3199         erc-complete.el is deprecated.  Use `fboundp' instead of
3200         `symbol-value' to check for existence of a function before calling
3201         it.  This was causing an error when untoggling the `completion'
3202         option and trying to save via the customize interface.
3204         * erc-track.el (erc-modified-channels-update): If a buffer is not
3205         currently connected, remove it from the modified channels list.
3206         This should fix the problem where residue was left on the mode
3207         line after quitting ERC.
3209         * erc-list.el (erc-prettify-channel-list): Docfix; thanks to John
3210         Paul Wallington for reporting this.
3212 2005-05-31  Michael Olson  <mwolson@gnu.org>
3214         * debian/changelog: First draft of entries for the 5.0.3 release.
3216         * debian/README.Debian: Note that ERC will now install correctly
3217         on versions of Emacs or XEmacs that do not have the `format-spec'
3218         library.  Correct some grammar and prune the content a bit.
3220         * debian/scripts/install (emacs20): Remove line since we no longer
3221         need to deal with format-spec.el.
3223         * NEWS: Add entries for the upcoming 5.0.3 release.
3225         * erc.el: Don't require format-spec since this is provided in
3226         erc-compat.el now.
3227         (erc-process-sentinel, erc-setup-periodical-server-ping): Use
3228         `erc-cancel-timer' instead of `cancel-timer'.
3229         (erc-version-string): Update to 5.0.3.
3231         * erc-autoaway.el (autoaway, erc-autoaway-reestablish-idletimer):
3232         Use `erc-cancel-timer' instead of `cancel-timer'.
3234         * erc-compat.el (format-spec, format-spec-make): If we cannot load
3235         the `format-spec' library, provide versions of these functions.
3236         This should keep problems from surfacing with Emacs21 Debian
3237         builds.
3238         (erc-cancel-timer): New function created to take the place of
3239         `cancel-timer' since XEmacs calls it something else.
3241         * erc-track.el (erc-modified-channels-update): Accept any number
3242         of arguments, which are ignored.  This allows it to be run from
3243         `erc-disconnected-hook' without extra bother.
3244         (track): Add `erc-modified-channels-update' to
3245         `erc-disconnected-hook' so that the indicators are removed
3246         correctly in some edge cases.
3247         (erc-modified-channels-display): Make sure that we never pass nil
3248         to the function in `erc-track-shorten-function'.  This happens
3249         when we have deleted buffers in `erc-modified-channels-alist'.
3250         Also, make sure that the buffer has a non-nil short-name before
3251         adding it to the string list.  This should fix some XEmacs
3252         warnings when running /quit with unchecked buffers, as well as get
3253         rid of a stray buffer problem (or so it is hoped).
3255 2005-05-31  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3257         * erc-replace.el, erc-speak.el: Clean up comment formatting.
3259         * erc-ring.el (ring, erc-input-ring-index, erc-clear-input-ring):
3260         Clean up docstring formatting.
3262 2005-05-30  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3264         * erc.el (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Delete superfluous
3265         arg to `format'.
3266         (erc-load-irc-script): Use `insert-file-contents' instead of
3267         `insert-file'. Simplify.
3269 2005-05-29  Michael Olson  <mwolson@gnu.org>
3271         * erc.el (erc-version-string): Move this up so that it is
3272         evaluated before the `require' statements.  Not a major change.
3274 2005-04-27  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3276         * erc.el (erc-complete-word): Simplify.
3278 2005-04-27  Michael Olson  <mwolson@gnu.org>
3280         * Makefile (debrelease): Use a slightly different approach when
3281         removing CVS and Arch cruft.
3283         * debian/changelog: Update for 5.0.2-1 package.
3285 2005-04-25  Michael Olson  <mwolson@gnu.org>
3287         * erc-autoaway.el (erc-autoaway-reestablish-idletimer): Move code
3288         block higher in file to fix a load failure when using Emacs21.
3289         Thanks to Daniel Brockman for the report and fix.
3291 2005-04-24  Adrian Aichner  <adrian@xemacs.org>
3293         * erc-backend.el (JOIN): save-excursion so that
3294         `erc-current-logfile' inserts into the correct channel buffers
3295         when using erc-log-insert-log-on-open in combination with autojoin
3296         to multiple channels.
3298 2005-04-17  Adrian Aichner  <adrian@xemacs.org>
3300         * erc-log.el: Remove stray whitespace.
3301         * erc.el: Ditto.
3303 2005-04-09  Aidan Kehoe  <kehoea@parhasard.net>
3305         * erc.el: autoload erc-select-read-args, which, because it parses
3306         erc-select's args, can be called before erc.el is loaded.
3308 2005-04-07  Edward O'Connor  <ted@oconnor.cx>
3310         * erc-viper.el: Remove final newlines from previously-existing ERC
3311         buffers. (Minor bug fix.)
3313 2005-04-06  Michael Olson  <mwolson@gnu.org>
3315         * Makefile (debrelease): Ignore errors from deleting Arch and CVS
3316         metadata.
3318 2005-04-05  Michael Olson  <mwolson@gnu.org>
3320         * ChangeLog, CREDITS, AUTHORS: Correct name and email address of
3321         Marcelo Toledo.
3323 2005-04-04  Michael Olson  <mwolson@gnu.org>
3325         * erc.el (erc-modules): Add entry for spelling module.
3327         * erc-spelling.el: Add autoload line.
3329         * erc-backend.el: Apply latest non-ascii patch from Kai Fan.
3330         (erc-decode-parsed-server-response): Search
3331         erc-response.command-args for channel name.  Decode the
3332         erc-response struct using this channel name as key according to
3333         the `erc-encoding-coding-alist'.
3335         * erc-track.el: Apply patch from Henrik Enberg.
3336         (erc-modified-channels-object): Use optimal amount of whitespace
3337         around modified channels indicator.
3339 2005-04-02  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3341         * erc.el (define-erc-module, erc-with-buffer)
3342         (erc-with-all-buffers-of-server, with-erc-channel-buffer): Add
3343         edebug-form-spec.
3345         * erc-compat.el (erc-define-minor-mode): Ditto.
3347 2005-03-29  Jorgen Schaefer  <forcer@forcix.cx>
3349         * erc-spelling.el: New file.
3351 2005-03-24  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3353         * erc-backend.el (define-erc-response-handler): Add
3354         `definition-name' property to constructed symbols so that
3355         find-function and find-variable will find them.
3357 2005-03-21  Michael Olson  <mwolson@gnu.org>
3359         * erc-dcc.el, erc-goodies.el, erc-list.el, erc-notify.el,
3360         erc-ring.el, erc.el: Copyright assignment occurred.
3362         * debian/scripts/install: Make a shell wrapper around the original
3363         Makefile and inline the Makefile.  The problem is that Debian
3364         passes all the Emacs variants at once, rotating them at every
3365         invocation of the install script, which happens once per variant.
3366         This caused each installation to happen N-1 times more often than
3367         it should have.  As a result, we need to only deal with the first
3368         argument.
3369         (ELFILES): Only add format-spec.el if we are compiling for
3370         emacs21.  Don't filter out erc-compat.el.
3371         (SITEFLAG): New variable that indicates that the "nosite" option
3372         should look like.
3373         (.DEFAULT): Use $(FLAVOUR) instead of $@ for clarity.
3375         * debian/rules: Install NEWS file and compress it.
3377         * debian/maint/postinst: Be more cautious about configuration
3378         step.
3380         * debian/copyright (Copyright): Another assignment came in.
3382         * debian/control (Standards-Version): Update to a newer version as
3383         recommended by lintian.
3385         * debian/changelog: Changes made for the Debian package.
3387         * debian/README.Debian: Keep only the General Notes section.
3389         * NEWS: Move old history items here from debian/README.Debian.
3391         * Makefile (SNAPSHOTDATE): Deprecate this option since we hope to
3392         release more often.
3394 2005-03-20  Jorgen Schaefer  <forcer@users.sourceforge.net>
3396         * erc.el (erc-define-catalog, `ctcp-request-to'): Fix typo (%: ->
3397         %t:).
3399 2005-03-01  Michael Olson  <mwolson@gnu.org>
3401         * erc-log.el (erc-save-buffer-in-logs): Replace tabs with spaces
3402         in code indentation.
3404 2005-02-28  Michael Olson  <mwolson@gnu.org>
3406         * erc.el (erc-display-message): Apply corrected patch from Henrik
3407         Enberg.
3409 2005-02-27  Michael Olson  <mwolson@gnu.org>
3411         * erc.el (erc-display-message): Apply patch from Henrik Enberg.
3412         Check here to see if a message should be hidden, rather than
3413         relying on code in each individual command.
3414         (erc-version-string): Add "(CVS)" to the version string for
3415         clarity.
3417         * erc-backend.el (JOIN, KICK, MODE, NICK, PART, QUIT, TOPIC):
3418         Don't check `erc-hide-list' here.
3420         * erc-list.el, erc-match.el, erc.el, debian/copyright: Update
3421         copyright information as a few more people have assignments
3422         registered.
3424 2005-02-06  Michael Olson  <mwolson@gnu.org>
3426         * erc-backend.el: Apply patch from Kai Fan for non-ASCII character
3427         support.
3428         (erc-parse-server-response): Add call to
3429         `erc-decode-parsed-server-response'.
3430         (erc-decode-parsed-server-response): New function that decodes a
3431         pre-parsed server response before it can be handled.
3432         (PRIVMSG): Comment out call to `erc-decode-string-from-target'.
3433         (TOPIC): Ditto.
3435 2005-02-01  Jorgen Schaefer  <forcer@users.sourceforge.net>
3437         * erc.el (erc-process-sentinel-1): Don't reconnect on connection
3438         refused. This error is reported differently when using
3439         open-network-stream-nowait.
3441 2005-01-26  Diane Murray  <disumu@x3y2z1.net>
3443         * erc.el (erc-cmd-APPENDTOPIC, erc-set-topic): The control
3444         character in `channel-topic' was changed to \C-o - replaced \C-c
3445         with \C-o so that these functions work as expected again.
3446         (erc-get-channel-mode-from-keypress): Doc fix.
3448 2005-01-25  Diane Murray  <disumu@x3y2z1.net>
3450         * erc.el, erc-button.el, erc-compat.el, erc-goodies.el,
3451         erc-match.el, erc-nets.el, ChangeLog, NEWS: Merged bug fixes made
3452         on release_5_0_branch since 5.0.1 release.
3454 2005-01-24  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3456         * erc.el (erc-input-action): Quote `erc-action-history-list' so
3457         that input history actually works.
3458         (erc-process-ctcp-query): Fix and simplify logic.
3459         (erc-get-channel-mode-from-keypress): Use `C-' string syntax.
3460         (erc-load-irc-script-lines): Use `erc-command-indicator' instead
3461         of `erc-prompt'.
3463 2005-01-23  Edward O'Connor  <ted@oconnor.cx>
3465         * erc-viper.el: Ensure that `viper-comint-mode-hook' runs in
3466         buffers whose `erc-mode-hook' has already run when this file is
3467         loaded.
3468         Explicitly `require' erc.el.
3470 2005-01-22  Edward O'Connor  <ted@oconnor.cx>
3472         * erc.el (erc-mode): Remove frobbing of `require-final-newline'.
3474         * erc-log.el (erc-save-buffer-in-logs): Remove frobbing of
3475         `require-final-newline'.
3477         * erc-viper.el: New file. This is where all ERC/Viper
3478         compatibility code should live. When and if ERC is bundled with
3479         Emacs, some of the hacks in this file should be merged into Viper
3480         itself.
3482 2005-01-21  Edward O'Connor  <ted@oconnor.cx>
3484         * erc.el (erc-mode): Set `require-final-newline' to nil in ERC
3485         buffers. This prevents a Viper misfeature whereby extraneous
3486         newlines are inserted into the ERC buffer when switching between
3487         viper states.
3489         * erc-log.el (erc-save-buffer-in-logs): Bind `require-final-newline'
3490         to t when calling `write-region' to ensure that further log
3491         entries start on fresh lines.
3493 2005-01-21  Diane Murray  <disumu@x3y2z1.net>
3495         * erc-button.el (erc-button-add-face): Reverted my change to the
3496         order faces since it had the unwanted effect of putting the button
3497         face after all others.
3498         (erc-button-face-has-priority): Removed this variable as it is not
3499         necessary anymore - it was used to compensate for the above
3500         mentioned change.
3502         * NEWS: Added the latest fixes.
3504 2005-01-20  Diane Murray  <disumu@x3y2z1.net>
3506         * erc-button.el, erc-match.el:
3507         (erc-button-syntax-table, erc-match-syntax-table): Added \ as a
3508         legal character for nicknames.
3510         * erc-nets.el (erc-server-select): Fixed so that only networks
3511         with servers found in `erc-server-alist' are available as choices.
3513         * erc.el, erc-compat.el, erc-goodies.el:
3514         (erc-replace-match-subexpression-in-string): New function.  Needed
3515         because `replace-match' in XEmacs doesn't replace regular
3516         expression subexpressions in strings, only in buffers.
3517         (erc-seconds-to-string, erc-controls-interpret): Use the new
3518         function.
3520         * erc-button.el (erc-button-add-button): Use the `:button-face'
3521         key combined with an `erc-mode' local `widget-button-face' set to
3522         nil to get the widget overlay face suppressed in XEmacs.
3524 2005-01-19  Francis Litterio  <franl@world.std.com>
3526         * erc-button.el (erc-button-add-face): The face added by this
3527         function is more important than the existing text's face, so we
3528         now prepend erc-button-face to the list of existing faces when
3529         adding a button.  To instead append erc-button-face to existing
3530         faces, set variable `erc-button-face-has-priority' to nil.
3531         (erc-button-face-has-priority): New variable to control how
3532         erc-button-add-face adds erc-button-face to existing faces.
3533         (erc-button-press-button): Silenced a byte-compiler warning about
3534         too few arguments in a call to `error'.
3536 2005-01-19  Diane Murray  <disumu@x3y2z1.net>
3538         * NEWS: Added list of 5.0.1 fixes.
3540 2005-01-19  Michael Olson  <mwolson@gnu.org>
3542         * AUTHORS: Move to format that cscvs can understand.  As an added
3543         perk, entries line up nicer.
3545         * erc.el, erc-fill.el, erc-pcomplete.el, debian/copyright: Merge a
3546         few more copyright lines thanks to Alex Schroeder's BBDB file.
3548         * Makefile: Change version to correspond with our new scheme.
3550 2005-01-18  Diane Murray  <disumu@x3y2z1.net>
3552         * erc-list.el (erc-chanlist-channel-line-regexp): Now matches
3553         private channels, the channels `#' and `&', and channels with
3554         names including non-ascii characters.
3555         (erc-chanlist-join-channel): Don't attempt to join private
3556         channels since the channel name is unknown.
3558         * erc-goodies.el (erc-make-read-only): Add `rear-nonsticky'
3559         property to avoid `Text is read-only' errors during connection.
3560         `front-nonsticky' does not exist, changed to `front-sticky'.
3561         (erc-controls-interpret, erc-controls-strip): Just work on the
3562         string, don't open a temporary buffer.
3563         (erc-controls-propertize): Now accepts optional argument STR.
3565 2005-01-17  Michael Olson  <mwolson@gnu.org>
3567         * Makefile: Version is 5.01, but only in the Makefile.  It has not
3568         been released yet.
3570         * erc-auto.in, erc-autojoin.el, erc-bbdb.el, erc-button.el,
3571         erc-chess.el, erc-complete.el, erc-dcc.el, erc-fill.el,
3572         erc-goodies.el, erc-ibuffer.el, erc-identd.el, erc-imenu.el,
3573         erc-list.el, erc-match.el, erc-menu.el, erc-nets.el,
3574         erc-netsplit.el, erc-nickserv.el, erc-notify.el, erc-pcomplete.el,
3575         erc-ring.el, erc-speak.el, erc-speedbar.el, erc-stamp.el,
3576         erc-track.el, erc-xdcc.el, erc.el, debian/copyright: Update
3577         copyright notices.  If anyone has signed papers for Emacs in
3578         general, merge them with the FSF's entry.
3580 2005-01-16  Diane Murray  <disumu@x3y2z1.net>
3582         * erc.el (erc): `erc-set-active-buffer' was being called before
3583         `erc-process' was set, so that channels weren't being marked
3584         active correctly upon join; fixed.
3586 2005-01-15  Johan Bockgård  <bojohan+sf@dd.chalmers.se>
3588         * erc-backend.el (def-edebug-spec): This macro caused problems (in
3589         XEmacs). Use its expansion directly.
3591 2005-01-15  Diane Murray  <disumu@x3y2z1.net>
3593         * erc-button.el (erc-button-add-button): Reverted previous change
3594         since `:suppress-face' doesn't seem to be checked for a certain
3595         face.
3596         (erc-button-add-face): FACE is now appended to the `old' face.
3597         This should fix the problem of faces being "covered" by
3598         `erc-button-face'.
3600 2005-01-14  Diane Murray  <disumu@x3y2z1.net>
3602         * erc.el, erc-backend.el (erc-cmd-OPS, erc-cmd-COUNTRY,
3603         erc-cmd-NICK, erc-process-ctcp-query, ERROR, PONG, 311, 312, 313,
3604         314, 317, 319, 320, 321, 322, 330, 352): Use catalog entries
3605         instead of hard-coded text messages.
3606         (english): Added new catalog entries `country', `country-unknown',
3607         `ctcp-empty', `ctcp-request-to', `ctcp-too-many', `nick-too-long',
3608         `ops', `ops-none', `ERROR', `PONG', `s311', `s312', `s313',
3609         `s314', `s317', `s317-on-since', `s319', `s320', `s321', `s322',
3610         `s330', and `s352'.
3611         (erc-send-current-line): Use `erc-set-active-buffer' (change was
3612         lost in previous bug fix).
3614 2005-01-14  Francis Litterio  <franl@world.std.com>
3616         * erc-button.el (erc-button-add-button): Fixed a bug where the
3617         overlay created by widget-convert-button has a `face' property
3618         that hides the `face' property set on the underlying button text.
3620         * erc-goodies.el: Docstring fix.
3622         * erc-button.el: Improved docstring for variable erc-button-face.
3624 2005-01-13  Diane Murray  <disumu@x3y2z1.net>
3626         * erc-menu.el (erc-menu-definition): "Topic set by channel
3627         operator": Small word change.  "Identify to NickServ...": Check
3628         that we're connected to the server.  Added "Save buffer in log"
3629         and "Truncate buffer".
3631 2005-01-13  Lawrence Mitchell  <wence@gmx.li>
3633         * erc.el (erc-display-line-1): Widen before we try to insert
3634         anything, this makes sure input isn't broken when the buffer is
3635         narrowed by the user.
3636         (erc-beg-of-input-line): Simplify, just return the position of
3637         `erc-insert-marker' or error if does not exist.
3638         (erc-send-current-line): Widen before trying to send anything.
3640 2005-01-13  Diane Murray  <disumu@x3y2z1.net>
3642         * erc.el, erc-backend.el, erc-list.el:
3643         (erc-update-mode-line-buffer): Strip controls characters from
3644         `channel-topic' since we add our own control character to it.
3645         (TOPIC, 332): Use \C-o instead of \C-c to force an end of IRC
3646         control characters as it also ends bold, underline, and inverse -
3647         \C-c only ends colors.
3648         (erc-chanlist-322): Strip control characters from channel and
3649         topic.  No need to interpret controls when we're applying overlays
3650         to the lines.
3652         * erc.el, erc-backend.el, erc-button.el, erc-netsplit.el,
3653         erc-nicklist.el: Fixed so that each server has an active buffer.
3654         (erc-active-buffer): Now a buffer-local variable.
3655         (erc-active-buffer, erc-set-active-buffer): New functions.
3656         (erc-display-line, erc-echo-notice-in-active-non-server-buffer,
3657         erc-process-away, MODE): Call `erc-active-buffer' to get the
3658         active buffer for the current server.
3659         (erc, erc-process-sentinel-1, erc-grab-region, erc-input-action,
3660         erc-send-current-line, erc-invite-only-mode,
3661         erc-toggle-channel-mode, erc-channel-names, MODE, erc-nick-popup,
3662         erc-nicklist-call-erc-command): Use `erc-set-active-buffer' to set
3663         the active buffer for the current server.
3664         (erc-cmd-WHOLEFT): Use 'active as BUFFER in `erc-display-message'.
3666         * erc-track.el (erc-track-modified-channels): Server buffers are
3667         now treated the same as channels and queries.  This means that
3668         `erc-track-priority-faces-only', `erc-track-exclude', and
3669         `erc-track-exclude-types' now work with server buffers.
3671 2005-01-12  Diane Murray  <disumu@x3y2z1.net>
3673         * erc-backend.el (475): Prompt for the channel's key if
3674         `erc-prompt-for-channel-key' is non-nil.  Send a new JOIN message
3675         with the key if a key is provided.
3677         * erc.el (erc-command-indicator): Fixed customization choices so
3678         that there's no `mismatch' message when nil is the value.
3680 2005-01-11  Michael Olson  <mwolson@gnu.org>
3682         * erc-bbdb.el (bbdb): Lowercase the name of the module.  This
3683         fixes a bug which caused an error to occur when trying to enable
3684         the module using the customization interface.
3686 2005-01-08  Edward O'Connor  <ted@oconnor.cx>
3688         * erc-track.el: Support using faces to indicate channel activity
3689         in the modeline under XEmacs.
3690         (erc-modified-channels-object): New function.
3691         (erc-modified-channels-display): Use it.
3692         `erc-modified-channels-string' renamed to
3693         `erc-modified-channels-object' (because it's no longer a string on
3694         XEmacs). The new function `erc-modified-channels-object' is used
3695         to generate updated values for the same-named variable.
3697 2005-01-08  Diane Murray  <disumu@x3y2z1.net>
3699         * ChangeLog.2002: Changed instances of my sourceforge username and
3700         email address to real name and email.
3702         * erc.el (erc-modules): Changed customization tag descriptions, so
3703         that they all start with a verb; added new modules to choices.
3705 2005-01-08  Mario Lang  <mlang@delysid.org>
3707         * debian/rules: Introduce new variable DOCDIR to simplify stuff a
3708         bit.
3710 2005-01-08  Michael Olson  <mwolson@gnu.org>
3712         * AUTHORS, ChangeLog.2004: Change bpalmer's email address as
3713         requested.
3715         * CREDITS: Add everyone who is mentioned in the ChangeLogs.
3717         * debian/copyright (Copyright): Add last few people.  This can now
3718         be considered a complete list, as far as CVS entries are
3719         concerned.  If people have assigned copyright to the FSF, merge
3720         them with the entry for the FSF.
3722         * debian/README.Debian: Add entry for XEmacs-related change in
3723         `erc-track.el'.
3725         * erc.el (erc-cmd-MODE): New command that changes or displays the
3726         mode for a channel or user.  The functionality was present before
3727         this change, but there was no documentation for it.
3729         * erc-auto.in, erc-*.el: Fully investigate copyright headers and
3730         change them appropriately.  If a file has been pulled off of
3731         erc.el at one time, keep track of copyright from the time of
3732         separation, but not before.  If a file has been derived from a
3733         work outside of erc, keep copyright statements in place.
3735         * Makefile (VERSION): Change to 5.0! :^) Congrats on all the great
3736         work.  I'll wait until hober commits his XEmacs compatibility
3737         patch to erc-track.el, and then release.
3738         (distclean): Alias for `realclean' target.
3740 2005-01-07  Michael Olson  <mwolson@gnu.org>
3742         * AUTHORS: Add Marcelo Toledo, who has CVS access to this project.
3744         * ChangeLog.2004: Add my name to my one contribution to erc last
3745         year.
3747         * CREDITS: Add people that were discovered while scouring
3748         ChangeLogs.
3750         * debian/copyright: Add everyone from `AUTHORS' to Upstream
3751         Authors.  Anyone who has contributed 15 or more lines of
3752         code (according to ChangeLogs) is listed in Copyright section.
3753         Accurate years are included.
3755         * debian/README.Debian: Paste content of NEWS and reformat
3756         slightly.
3758         * debian/rules: Concatenate the ChangeLogs during the Debian
3759         install process and then gzip them.
3761         * Makefile (MISC): Add ChangeLog.yyyy files to list.
3762         (ChangeLog): Remove rule since we do not dynamically generate the
3763         ChangeLog anymore.
3765         * MkChangeLog: Removed since we do not use it to generate the
3766         ChangeLog anymore.  cvs2cl does a much better job anyway.
3768         * NEWS: Use 3rd level heading instead of bullets for lists that
3769         contain descriptions.
3771 2005-01-07  Diane Murray  <disumu@x3y2z1.net>
3773         * erc-list.el: Require 'sort.
3774         (erc-chanlist): Disable undo in the channel list buffer.
3776         * erc.el, erc-menu.el: The `IRC' menu is now automatically added
3777         to the menu-bar.  Add the call to `easy-menu-add' to
3778         `erc-mode-hook' when running in XEmacs (without this the menu
3779         doesn't appear).
3781         * NEWS: Added the information from
3782         http://emacswiki.org/cgi-bin/wiki/ErcCvsFeatures and the newer
3783         changes which weren't yet documented on that page.
3785 2005-01-06  Hoan Ton-That  <hoan@ton-that.org>
3787         * erc-log.el (erc-current-logfile): Only downcase the logfile
3788         name, not the whole filename.  Also expand relative to
3789         `erc-log-channels-directory'.
3790         (erc-generate-log-file-name-with-date)
3791         (erc-generate-log-file-name-short)
3792         (erc-generate-log-file-name-long): Don't expand filename, done in
3793         `erc-current-logfile'.
3795 2005-01-06  Lawrence Mitchell  <wence@gmx.li>
3797         * NEWS: New file, details user visible changes from version to
3798         version.
3800         * HACKING (NEWS entries): Mention NEWS file, and what its purpose
3801         is.
3803 2005-01-05  Michael Olson  <mwolson@gnu.org>
3805         * FOR-RELEASE: New file containing the list of release-critical
3806         tasks.  Feel free to add to it.
3808         * debian/rules (binary-erc): Add ChangeLog files.
3810 2005-01-04  Michael Olson  <mwolson@gnu.org>
3812         * ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004:
3813         ChangeLog entries from previous years.
3815         * ChangeLog: New file containing ChangeLog entries for the current
3816         year.  Please update this file manually whenever a change is
3817         committed.  This is a new policy.
3819         * AUTHORS: Add myself to list.  Some entries were space-delimited
3820         instead of TAB-delimited, and since the latter seemed to be the
3821         default, make the other entries conform.
3823         * HACKING (ChangeLog Entries): Update section to reflect new
3824         policy toward ChangeLog entries, which is that they should be
3825         manually updated whenever a change is committed.
3827 2005-01-04  Diane Murray  <disumu@x3y2z1.net>
3829         * erc.el (erc-connection-established, erc-login): Update the
3830         mode-line.
3831         (erc-update-mode-line-buffer): If `erc-current-nick' returns nil,
3832         use an empty string for ?n character in format spec.  Set
3833         `mode-line-process' to ":connecting" while the connection is being
3834         established.
3836 2005-01-04  Lawrence Mitchell  <wence@gmx.li>
3838         * AUTHORS: Update list of authors.
3840 2005-01-02  Diane Murray  <disumu@x3y2z1.net>
3842         * erc-goodies.el (erc-control-characters): New customization
3843         group.
3844         (erc-interpret-controls-p): Small fix, addition to
3845         documentation. Updated customization to allow 'remove as a value.
3846         Use 'erc-control-characters as `:group'.
3847         (erc-interpret-mirc-color): Use 'erc-control-characters as
3848         `:group'.
3849         (erc-beep-p): Updated documentation.  Use 'erc-control-characters
3850         as `:group'.
3851         (define-erc-module irccontrols): Add `erc-controls-highlight' to
3852         `erc-insert-modify-hook' and `erc-send-modify-hook' since it
3853         changes the text's appearance.
3854         (erc-controls-remove-regexp, erc-controls-interpret-regexp): New
3855         variables.
3856         (erc-controls-highlight): Fixed so that highlighting works even if
3857         there is no following control character.  Fixed mirc color
3858         highlighting; now respecting `erc-interpret-mirc-color'.  Fixed a
3859         bug where emacs would get stuck in a loop when \C-g was in a
3860         message and `erc-beep-p' was set to nil (default setting).
3862 2004-12-29  Francis Litterio  <franl@users.sourceforge.net>
3864         * erc-goodies.el (erc-interpret-controls-p): Changed docstring to
3865         reflect the new meaning if this is set to 'remove.
3866         (erc-controls-interpret): Rephrased docstring to be more accurate.
3867         (erc-controls-strip): New function that behaves like the
3868         recently-removed erc-strip-controls -- it removes all IRC color
3869         and highlighting control characters.
3870         (erc-controls-highlight): Changed to support the new 'remove value
3871         that variable erc-interpret-controls-p might have.
3873 2004-12-28  Francis Litterio  <franl@users.sourceforge.net>
3875         * erc-ibuffer.el, erc-list.el, erc-page.el, erc-speedbar.el:
3876         Changed all calls to erc-interpret-controls (which no longer
3877         exists) to call erc-controls-interpret (the new name of the same
3878         function).
3880 2004-12-28  Francis Litterio  <franl@users.sourceforge.net>
3882         * erc-goodies.el (erc-controls-interpret): Added this function to
3883         replace the recently-removed erc-interpret-controls.  Also added
3884         a (require 'erc) to solve a byte-compile problem.
3886 2004-12-28  Francis Litterio  <franl@users.sourceforge.net>
3888         * erc.el (erc-controls-interpret): Added this function to replace
3889         the recently-removed erc-interpret-controls.
3891 2004-12-27  Jorgen Schaefer  <forcer@users.sourceforge.net>
3893         * erc-truncate.el (erc-truncate-buffer-to-size): Check for
3894         logging even better (via lawrence).
3896 2004-12-26  Jorgen Schaefer  <forcer@users.sourceforge.net>
3898         * erc-truncate.el (erc-truncate-buffer-to-size): Much saner
3899         logging detection (via lawrence).
3901 2004-12-25  Jorgen Schaefer  <forcer@users.sourceforge.net>
3903         * erc-goodies.el (erc-controls-highlight): Treat single C-c
3904         correctly.
3906 2004-12-24  Jorgen Schaefer  <forcer@users.sourceforge.net>
3908         * erc-goodies.el, erc.el: Deleted IRC control character processing
3909         and implemented a sane version in erc-goodies.el as a module.
3911         * erc.el (erc-merge-controls, erc-interpret-controls,
3912         erc-decode-controls, erc-strip-controls, erc-make-property-list,
3913         erc-prepend-properties): Removed.
3915         (erc-interpret-controls-p, erc-interpret-mirc-color, erc-bold-face
3916         erc-inverse-face, erc-underline-face, fg:erc-color-face0,
3917         fg:erc-color-face1, fg:erc-color-face2, fg:erc-color-face3,
3918         fg:erc-color-face4, fg:erc-color-face5, fg:erc-color-face6,
3919         fg:erc-color-face7, fg:erc-color-face8, fg:erc-color-face9,
3920         fg:erc-color-face10, fg:erc-color-face11, fg:erc-color-face2,
3921         fg:erc-color-face13, fg:erc-color-face14, fg:erc-color-face15,
3922         bg:erc-color-face1, bg:erc-color-face2, bg:erc-color-face3,
3923         bg:erc-color-face4, bg:erc-color-face5, bg:erc-color-face6,
3924         bg:erc-color-face7, bg:erc-color-face8, bg:erc-color-face9,
3925         bg:erc-color-face10, bg:erc-color-face11, bg:erc-color-face2,
3926         bg:erc-color-face13, bg:erc-color-face14, bg:erc-color-face15,
3927         erc-get-bg-color-face, erc-get-fg-color-face,
3928         erc-toggle-interpret-controls): Moved.
3930         * erc-goodies.el (erc-beep-p, irccontrols, erc-controls-highlight,
3931         erc-controls-propertize): New.
3933 2004-12-24  Jorgen Schaefer  <forcer@users.sourceforge.net>
3935         * erc-goodies.el, erc.el: The Small Extraction of Stuff[tm] commit.
3936         Moved some functions from erc.el to erc-goodies.el, and
3937         transformed them to erc modules in the process.
3938         - imenu autoload stuff moved.  I don't know why it is here at all.
3939         - Moved: scroll-to-bottom, make-read-only, distinguish-noncommands,
3940         smiley, unmorse, erc-occur (the last isn't a module, but still
3941         moved)
3942         (erc-input-line-position, erc-add-scroll-to-bottom,
3943         erc-scroll-to-bottom, erc-make-read-only, erc-noncommands-list,
3944         erc-send-distinguish-noncommands, erc-smiley, erc-unmorse,
3945         erc-occur): Moved from erc.el to erc-goodies.el.
3946         (smiley): Module moved from erc.el to erc-goodies.el.
3947         (scrolltobottom, readonly, noncommands, unmorse): New modules.
3949 2004-12-20  Diane Murray  <disumu@x3y2z1.net>
3951         * erc.el (erc-format-away-status): Use `a', not `away' - that's
3952         why it's there.
3953         (erc-update-mode-line-buffer): The values of `mode-line-process'
3954         and `mode-line-buffer-identification' are normally lists.
3955         Conform.
3957 2004-12-18  Jorgen Schaefer  <forcer@users.sourceforge.net>
3959         * erc.el (erc-process-ctcp-query, erc-process-ctcp-reply): Display
3960         message in the active window, not the server window.
3962 2004-12-16  Edward O'Connor  <ted@oconnor.cx>
3964         * erc-track.el (erc-track-position-in-mode-line): Check for
3965         'erc-track-mode variable with boundp.  From Adrian Aichner
3966         <adrian@xemacs.org>.
3968 2004-12-16  Jorgen Schaefer  <forcer@users.sourceforge.net>
3970         * erc.el (erc-upcase-first-word): New function.  The old way used
3971         in erc-send-ctcp-message would eat consecutive whitespace etc.
3972         (erc-send-ctcp-message, erc-send-ctcp-notice): Use it.
3974 2004-12-15  Edward O'Connor  <ted@oconnor.cx>
3976         * erc.el (erc-send-ctcp-message): Fix braino with my previous
3977         patch.  It always helps to C-x C-s before `cvs commit'.
3979 2004-12-15  Edward O'Connor  <ted@oconnor.cx>
3981         * erc.el (erc-send-ctcp-message): Only upcase the ctcp command,
3982         and not the entire message.  Brian Palmer's change of 2004-12-12 had broken /me.
3983         Shouting is bad! :)
3985 2004-12-14  Diane Murray  <disumu@x3y2z1.net>
3987         * erc-nets.el (erc-networks-alist): Change undernet to Undernet as
3988         is used in `erc-server-alist', so that completion works when using
3989         `erc-server-select'.  This should fix Debian bug #282003 (erc:
3990         cannot connect to Undernet).
3992 2004-12-14  Diane Murray  <disumu@x3y2z1.net>
3994         * erc-backend.el (def-edebug-spec): Only run this if 'edebug is
3995         available.
3997 2004-12-14  Diane Murray  <disumu@x3y2z1.net>
3999         * erc.el: The last change to `erc-mode-line-format' introduced a
4000         bug in XEmacs - it can't handle the #(" "...) strings at all.  The
4001         following changes fix the bug and simplify the mode-line handling
4002         considerably.  (erc-mode-line-format): Now defined as a string
4003         which will be formatted using `format-spec' and take the place of
4004         `mode-line-buffer-identification' in the mode line.
4005         (erc-header-line-format): Now defined as a string to be formatted
4006         using `format-spec'.
4007         (erc-prepare-mode-line-format): Removed.
4008         (erc-format-target, erc-format-target-and/or-server,
4009         erc-format-away-status, erc-format-channel-modes): New functions.
4010         Basically the old `erc-prepare-mode-line-format' split apart.
4011         (erc-update-mode-line-buffer): Set
4012         `mode-line-buffer-identification' to the formatted
4013         `erc-mode-line-format', set `mode-line-process' to ": CLOSED" if
4014         the connection has been terminated, and set `header-line-format'
4015         (if it is bound) to the formatted `erc-header-line-format', then
4016         do a `force-mode-line-update'.
4018 2004-12-12  Diane Murray  <disumu@x3y2z1.net>
4020         * erc.el (erc-modules): Disable modules removed with `customize'.
4021         (erc-update-modules): Try to give a more descriptive error
4022         message.
4024 2004-12-12  Diane Murray  <disumu@x3y2z1.net>
4026         * erc-complete.el, erc.el, erc-list.el, erc-nets.el,
4027         * erc-nicklist.el, erc-pcomplete.el, erc-replace.el, erc-speak.el,
4028         * erc-truncate.el (erc-buffers, erc-coding-systems, erc-display,
4029         erc-mode-line-and-header, erc-ignore, erc-query,
4030         erc-quit-and-part, erc-paranoia, erc-scripts, erc-old-complete,
4031         erc-list, erc-networks, erc-nicklist, erc-pcomplete, erc-replace,
4032         erc-truncate): New customization groups.
4033         (erc-join-buffer, erc-frame-alist, erc-frame-dedicated-flag,
4034         erc-reuse-buffers): Use 'erc-buffers as `:group'.
4035         (erc-default-coding-system, erc-encoding-coding-alist):
4036         Use 'erc-coding-systems as `:group'.
4037         (erc-hide-prompt, erc-show-my-nick, erc-prompt,
4038         erc-input-line-position, erc-command-indicator, erc-notice-prefix,
4039         erc-notice-highlight-type, erc-interpret-controls-p,
4040         erc-interpret-mirc-color, erc-minibuffer-notice,
4041         erc-format-nick-function): Use 'erc-display as `:group'.
4042         (erc-mode-line-format, erc-header-line-format,
4043         erc-header-line-uses-help-echo-p, erc-common-server-suffixes,
4044         erc-mode-line-away-status-format): Use 'erc-mode-line-and-header
4045         as `:group'.
4046         (erc-hide-list, erc-ignore-list, erc-ignore-reply-list,
4047         erc-minibuffer-ignored): Use 'erc-ignore as `:group'.
4048         (erc-auto-query, erc-query-on-unjoined-chan-privmsg,
4049         erc-format-query-as-channel-p): Use 'erc-query as `:group'.
4050         (erc-kill-buffer-on-part, erc-kill-queries-on-quit,
4051         erc-kill-server-buffer-on-quit, erc-quit-reason-various-alist,
4052         erc-part-reason-various-alist, erc-quit-reason, erc-part-reason):
4053         Use 'erc-quit-and-part as `:group'.
4054         (erc-verbose-server-ping, erc-paranoid, erc-disable-ctcp-replies,
4055         erc-anonymous-login, erc-show-channel-key-p): Use 'erc-paranoia as
4056         `:group'.
4057         (erc-startup-file-list, erc-script-path, erc-script-echo): Use
4058         'erc-scripts as `:group'.
4059         (erc-nick-completion, erc-nick-completion-ignore-case,
4060         erc-nick-completion-postfix): Use 'erc-old-complete as `:group'.
4061         (erc-chanlist-progress-message, erc-no-list-networks,
4062         erc-chanlist-frame-parameters, erc-chanlist-hide-modeline,
4063         erc-chanlist-mode-hook): Use 'erc-list as `:group'.
4064         (erc-server-alist, erc-networks-alist): Use 'erc-networks as
4065         `:group'.
4066         (erc-settings): Use `defvar' instead of `defcustom' since this is
4067         only a draft which doesn't work.
4068         (erc-nicklist-window-size): Use 'erc-nicklist as `:group'.
4069         (erc-pcomplete-nick-postfix,
4070         erc-pcomplete-order-nickname-completions): Use 'erc-pcomplete as
4071         `:group'.
4072         (erc-replace-alist): Use 'erc-replace as `:group'.
4073         (erc-speak-filter-timestamp): Use 'erc-speak as `:group'.
4074         (erc-max-buffer-size): Use 'erc-truncate as `:group'.
4076 2004-12-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
4078         * erc.el (erc-scroll-to-bottom): Go to the end of the buffer
4079         before recentering.  This allows editing multiple lines more
4080         conveniently in CVS Emacs.  This also undos a change by antifuchs
4081         who said this goto-char would mess up redisplay.  Extensive testing
4082         couldn't reproduce that problem.
4084 2004-12-12  Brian Palmer  <bpalmer@gmail.com>
4086         * erc.el (erc-send-ctcp-message): upcase the ctcp message (so that
4087         version becomes VERSION, for example).
4088         (erc-iswitchb): Make the argument optional in non-interactive
4089         invocation, so erc-iswitchb can be substituted directly for
4090         iswitchb in code.
4092 2004-12-11  Diane Murray  <disumu@x3y2z1.net>
4094         * erc-track.el (erc-track-position-in-mode-line): Allow for the
4095         fact that `erc-track-mode' isn't bound when file is loaded.
4097 2004-12-11  Diane Murray  <disumu@x3y2z1.net>
4099         * erc-track.el (erc-track-position-in-mode-line): New customizable
4100         variable.  (erc-track-remove-from-mode-line): New function.
4101         Remove `erc-modified-channels-string' from the mode-line.
4102         (erc-track-add-to-mode-line): New function.  Add
4103         `erc-modified-channels-string' to the mode-line using the value of
4104         `erc-track-position-in-mode-line' to determine whether to add it
4105         to the beginning or the end of `mode-line-modes' (only available
4106         with GNU Emacs versions above 21.3) or to the end of
4107         `global-mode-string'.
4108         (erc-track-mode, erc-track-when-inactive-mode): Use the new
4109         functions.
4111 2004-12-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
4113         * erc.el (erc-cmd-BANLIST): Use (buffer-name) and not
4114         (erc-default-target) for the buffer name - buffer names are case
4115         sensitive.
4117 2004-12-11  Brian Palmer  <bpalmer@gmail.com>
4119         * erc.el (erc-message-type): Added the message "MODE" to the known
4120         erc-message-type widget, so that (for example) people can tell
4121         erc-track-exclude-types to ignore mode changes.  The others tag
4122         also needed to be made an inline list, so that it's merged with
4123         the given constants, instead of being inserted as a list.
4125 2004-12-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4127         * erc-track.el, erc.el: Update to get ERC look nicely in CVS Emacs.
4129         * erc.el (erc-mode-line-format): When on CVS emacs, use the new
4130         format.
4132         * erc-track.el (track module): When on CVS emacs, modify
4133         mode-line-modes instead of global-mode-string.  The latter is way
4134         to far too the right.
4136 2004-11-18  Mario Lang  <mlang@delysid.org>
4138         * Makefile, debian/changelog: debian release 20041118-1
4140 2004-11-03  Diane Murray  <disumu@x3y2z1.net>
4142         * erc-button.el (erc-button-buttonize-nicks): Set default value to
4143         `t'.  Updated documentation and customization `:type' to reflect
4144         usage.
4146 2004-10-29  Johan Bockgård  <bojohan@users.sourceforge.net>
4148         * AUTHORS: Added self.
4150 2004-10-17  Diane Murray  <disumu@x3y2z1.net>
4152         * erc-list.el: Added local variables for this file.
4153         (erc-list-version): New.
4154         (erc-cmd-LIST): Take &rest rather than &optional arguments, as was
4155         done in revision 1.21.  Allow for input when called interactively.
4156         (erc-prettify-channel-list, erc-chanlist-toggle-sort-state): Use
4157         `unless' instead of when not.
4159 2004-10-17  Diane Murray  <disumu@x3y2z1.net>
4161         * erc-backend.el (erc-handle-unknown-server-response): Fixed so
4162         that the contents are only shown once.
4163         (MOTD): Display lines in the server buffer if it's the first MOTD
4164         sent upon connection.  This is to avoid the problem of having the
4165         MOTD of one server showing up in another server's buffer if it took
4166         a while to get connected.
4167         (004): Fixed to show the user modes and channel modes correctly.
4168         (303): Now displays the nicknames returned by ISON instead of the
4169         user's nickname.
4170         (367, 368): Moved up into 300's section of the code.  Added
4171         documentation.  Use `multiple-value-bind' to set variables in 367.
4172         (391): Fixed so that the server name is shown correctly.
4174 2004-10-17  Diane Murray  <disumu@x3y2z1.net>
4176         * erc.el (erc-process-sentinel): Use CPROC instead of
4177         `erc-process' in debug message.  Should fix a bug where an error
4178         saying "Buffer *scratch* has no process" would occur when
4179         disconnected.
4180         (erc-cmd-SV): Check for X toolkit after checking for more specific
4181         features.  (erc--kill-server): Set `quitting' to non-nil so that
4182         we don't automatically reconnect.
4184 2004-10-05  Jorgen Schaefer  <forcer@users.sourceforge.net>
4186         * erc.el (erc-ignored-user-p): Don't require regexes to match the
4187         beginning.
4189 2004-09-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
4191         * erc.el: group erc: Moved to 'applications (patch by bojohan)
4193 2004-09-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
4195         * erc-button.el (erc-button-remove-old-buttons): Remove 'keymap
4196         not 'local-map.
4198 2004-09-03  Jorgen Schaefer  <forcer@users.sourceforge.net>
4200         * erc-backend.el: JOIN response handler: Typo fix of the last
4201         commit.
4203 2004-09-03  Jorgen Schaefer  <forcer@users.sourceforge.net>
4205         * erc-backend.el: JOIN response handler: Run `erc-join-hook'
4206         without arguments as specified in the docstring.
4208 2004-08-27  Jorgen Schaefer  <forcer@users.sourceforge.net>
4210         * erc.el (erc-send-current-line): Removed unused variable SENTP.
4212 2004-08-19  Jorgen Schaefer  <forcer@users.sourceforge.net>
4214         * erc.el: ERC-SEND-COMPLETED-HOOK used to be run when the prompt
4215         was already displayed.  We restore this behavior (thanks to bojohan
4216         and TerryP for noticing).  We also fix the docstring of
4217         ERC-SEND-COMPLETED-HOOK, since the hook is (and used to be) called
4218         even if nothing was sent to the server.
4219         (erc-send-completed-hook): Fixed docstring.
4220         (erc-send-current-line): Add incantation for
4221         erc-send-completed-hook.
4222         (erc-send-input): Remove incantation for erc-send-completed-hook.
4224 2004-08-18  Jorgen Schaefer  <forcer@users.sourceforge.net>
4226         * erc-backend.el: response-handler 368: Use s368, not s367.
4228 2004-08-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
4230         * erc.el (erc-scroll-to-bottom): Don't scroll when we're not
4231         connected anymore.
4233 2004-08-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
4235         * erc-backend.el, erc.el: Handle /mode #emacs b output without
4236         errors and such.  First, handle unknown format specs gracefully
4237         (that is, give a useful error).  Then, provide handlers for the
4238         banlist replies.
4240         * erc-backend.el: New handler for 367 and 368.  Removed from default
4241         handler.
4243         * erc.el: Provide english catalog for s367 and s368.
4244         (erc-format-message): Give an error message when we don't find an
4245         entry.
4247 2004-08-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
4249         * erc-fill.el: erc-fill-variable could be confused about really
4250         long nicks.  We put an upper limit on the length of the fill prefix.
4251         (erc-fill-variable): Adjust fill-prefix.
4252         erc-fill-variable-maximum-indentation: New variable.
4254 2004-08-17  Francis Litterio  <franl@users.sourceforge.net>
4256         * erc.el (erc-send-input): Fixed a bug where this function
4257         referenced variable "input" instead of variable "str".
4259 2004-08-16  Francis Litterio  <franl@users.sourceforge.net>
4261         * erc-list.el (erc-chanlist-highlight-line): Fixed a bug where
4262         this function failed to set the correct face for highlighting the
4263         current line.
4265 2004-08-14  Jorgen Schaefer  <forcer@users.sourceforge.net>
4267         * erc-fill.el (erc-fill-variable): Don't fuck up when the
4268         looking-at didn't work.
4270 2004-08-14  Jorgen Schaefer  <forcer@users.sourceforge.net>
4272         * erc.el (erc-send-single-line): Call the hooks to change the
4273         appearance for something only if we actually inserted something,
4274         doh.
4275         (erc-display-command): Display the prompt outside of the area that
4276         set the text properties on.
4278 2004-08-14  Jorgen Schaefer  <forcer@users.sourceforge.net>
4280         * erc.el: Refactored erc-send-current-line.  This should fix some
4281         dormant bugs, and make the whole thing actually readable.  Yay.
4282         Some changes in behavior were made.  Whitespace at the end of lines
4283         sent is not removed anymore, but that shouldn't bother anyone.
4284         Additionally, errors in commands or hooks shouldn't prevent the
4285         prompt from showing up again now.
4286         (erc-parse-current-line): Removed.
4287         (erc-send-current-line): Refactored.
4288         (erc-send-input): New function.
4289         (erc-send-single-line): New function.
4290         (erc-display-command): New function.
4291         (erc-display-msg): New function.
4292         (erc-user-input): New function.
4294 2004-08-13  Jorgen Schaefer  <forcer@users.sourceforge.net>
4296         * erc.el (erc-cmd-SERVER): Use newer keyword call interface to
4297         erc-select, and handle the error if it can't resolve the host.
4299 2004-08-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
4301         * erc-backend.el, erc.el: erc-backend.el (404 response handler):
4302         New function.  We now support "cannot send to channel".
4304         * erc.el (erc-define-catalog call): Added s404.
4305         (erc-ctcp-ECHO-reply, erc-ctcp-CLIENTINFO-reply,
4306         erc-ctcp-FINGER-reply, erc-ctcp-PING-reply, erc-ctcp-TIME-reply,
4307         erc-ctcp-VERSION-reply): Display reply in the active window, not
4308         the server window.
4310 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4312         * erc.el (erc-with-all-buffers-of-server): Actually make it left
4313         to right, doh.
4315 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4317         * erc.el (erc-with-all-buffers-of-server): Evaluate left-to-right
4318         so we don't surprise a user.
4320 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4322         * erc.el (erc-process-input-line): Parentophobia! Another
4323         paren-fix.
4325 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4327         * erc-backend.el: PRIVMSG NOTICE response handler: Killed one paren
4328         too much.  Poor paren.  Got resurrected.
4330 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4332         * erc-track.el: Make server buffers showing up in the mode line
4333         optional.  Thanks to Daniel Knapp on the EmacsWiki for this patch.
4335         erc-track-exclude-server-buffer: New variable.
4336         (erc-track-modified-channels): Return a server buffer only if
4337         erc-track-exclude-server-buffer is nil.
4339 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4341         * erc.el (erc-cmd-DESCRIBE): Don't parse arguments.
4343 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4345         * erc-truncate.el (erc-truncate-buffer-to-size): Use
4346         erc-insert-marker, not (point-max), to decide the length of the
4347         buffer.  A long input line shouldn't make the buffer smaller.
4349 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4351         * erc-macs.el, erc-members.el: The change to hashes for channel
4352         members has been made some time ago.  Clean up the various tries to
4353         do this in the past.
4355         * erc-macs.el, erc-members.el: Removed.
4357 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4359         * erc-backend.el, erc-ibuffer.el, erc-members.el, erc.el: Nothing
4360         big changed here.  Really.  Uhm, maybe the info-buffers are gone or
4361         so.  Can't really remember.  Don't worry, nothing important is
4362         missing.
4364         erc-speedbar.el looks nice btw, did you know?
4366         Adjusted various places in erc.el, erc-backend.el, erc-ibuffer.el
4367         and erc-members.el - too numerous to list here, sorry.
4369         * erc.el: erc-use-info-buffers: Removed.  erc-info-mode-map:
4370         Removed.
4371         (erc-info-mode): Removed.
4372         (erc-find-channel-info-buffer): Removed.
4373         (erc-update-channel-info-buffer): Removed.
4374         (erc-update-channel-info-buffers): Removed.
4376         * erc-members.el: erc-update-member renamed to
4377         erc-update-channel-member for better clarity.
4379 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4381         * erc.el: This change improves the help output on a bogus command
4382         invocation.  We display the command as it would be typed by the
4383         user, not as it is seen by Emacs.
4385         (erc-get-arglist): Is now called erc-function-arglist, and returns
4386         now an arglist without the enclosing parens.
4387         (erc-command-name): New function.
4388         (erc-process-input-line): Pass the command name, not the function
4389         name.
4391 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4393         * erc.el (erc-process-input-line): Fix bug when the command
4394         doesn't have an arglist or no documentation.  Thanks bojohan again
4395         :)
4397 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4399         * erc-match.el (erc-add-entry-to-list),
4400         (erc-remove-entry-from-list): Update docstring, a TEST argument is
4401         not given.
4403 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4405         * erc.el (erc-with-buffer): Really fix this docstring.
4407 2004-08-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
4409         * erc.el (erc-with-buffer): Fix double evaluation in macro, and
4410         fix docstring.
4412 2004-08-10  Brian Palmer  <bpalmer@gmail.com>
4414         * erc.el (erc-cmd-JOIN): Use erc-member-ignore-case instead of
4415         member-ignore-case.
4417 2004-08-09  Johan Bockgård  <bojohan@users.sourceforge.net>
4419         * erc-backend.el: Define an "Edebug specification" for the
4420         `define-erc-response-handler' macro.  This means that one can step
4421         through response handlers defined by this macro with edebug.  Maybe
4422         more macros would benefit from this?
4424 2004-08-09  Johan Bockgård  <bojohan@users.sourceforge.net>
4426         * erc-pcomplete.el (pcomplete/erc-mode/CTCP): New function.
4427         Completion for the /CTCP command.  (erc-pcomplete-ctcp-commands):
4428         New variable.  List of ctcp commands.
4430 2004-08-09  Johan Bockgård  <bojohan@users.sourceforge.net>
4432         * erc-list.el: Clean up docstrings.
4433         (erc-prettify-channel-list): Extend properties to cover the entire
4434         line, including the newline, to make it look
4435         better.
4436         (erc-chanlist-highlight-line): Ditto.
4437         (erc-chanlist-mode-hook): Make it a defcustom.
4439 2004-08-09  Jorgen Schaefer  <forcer@users.sourceforge.net>
4441         * erc.el (erc-compute-full-name): Typo fix, should be full-name,
4442         not name.
4444 2004-08-09  Jorgen Schaefer  <forcer@users.sourceforge.net>
4446         * erc.el (erc): Setup the buffer to be shown in a window at the
4447         end of this function.  This enables 'window-noselect to work
4448         properly.
4449         (erc, erc-send-current-line): Fix some
4450         goto-char/open-line/goto-char to goto-char/insert.
4452 2004-08-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
4454         * erc.el (erc-parse-user): Live with bogus info from bouncers.
4456 2004-07-31  Brian Palmer  <bpalmer@gmail.com>
4458         * erc.el (erc-select): Change the docstring to reflect the new
4459         arguments; include the arguments in the docstring for non-cvs
4460         emacs.  Change the parameters to call erc-compute-* instead of
4461         using the erc-* variables directly.
4462         (erc-compute-server): Made argument optional.
4463         (erc-compute-nick): ditto.
4464         (erc-compute-full-name): ditto.  (erc-compute-port): ditto.
4466 2004-07-30  Francis Litterio  <franl@users.sourceforge.net>
4468         * erc.el (erc-cmd-BANLIST): Fixed a bug where channel-banlist was
4469         not reset to nil before fetching an updated banlist from the
4470         server.
4472 2004-07-30  Francis Litterio  <franl@users.sourceforge.net>
4474         * erc.el (erc-cmd-BANLIST): Fixed a bug where the
4475         'received-from-server property on variable channel-banlist was not
4476         being reset to nil.  This fixes the symptom where one types
4477         /BANLIST and sees "No bans for channel: #whatever" when you know
4478         there are bans.
4480 2004-07-23  Brian Palmer  <bpalmer@gmail.com>
4482         * erc.el (erc-select-read-args): Use erc-compute-nick to
4483         calculate the default nickname
4485 2004-07-20  Brian Palmer  <bpalmer@gmail.com>
4487         * erc.el (erc-process-sentinel-1): New function.  This is an
4488         auxiliary function refactored out of erc-process-sentinel to
4489         decide a server buffer's fate (whether it should be killed, and
4490         whether erc should attempt to auto-reconnect).  Michael Olson
4491         <mwolson@gnu.org> helped with this.
4492         (erc-kill-server-buffer-on-quit): New variable.  Used in
4493         erc-process-sentinel-1 to decide whether to kill a server buffer
4494         when the user quit normally.
4495         (erc-process-sentinel): Auxiliary function erc-process-sentinel-1
4496         split out.  The function body has `with-current-buffer' wrapped
4497         around it, to ensure separation of messages if multiple
4498         connections were being made.  Use `if' instead of `cond' in places
4499         where the decision is binary.  The last (useless, since the server
4500         connection is closed) prompt in the server buffer is removed.
4501         Color "erc terminated" and "erc finished" messages with
4502         erc-error-face.  Mark the buffer unmodified so that, if not killed
4503         automatically, the user is not prompted to save it.
4505 2004-07-16  Brian Palmer  <bpalmer@gmail.com>
4507         * erc.el (erc-select-read-args): New function.  Prompts the user
4508         for arguments to pass to erc-select and erc-select-ssl.
4509         (erc-select): Use (erc-select-read-args) when called interactively
4510         to get its arguments.  When non-interactively, use keyword
4511         arguments.
4512         (erc-select-ssl): Ditto.
4513         (erc-compute-port): New function.  Parallel to erc-compute-server,
4514         but comes up with a default value for an IRC server's port.
4516 2004-07-16  Jorgen Schaefer  <forcer@users.sourceforge.net>
4518         * erc-match.el (erc-match-message): Quote the current nickname.
4520 2004-07-12  Brian Palmer  <bpalmer@gmail.com>
4522         * erc-list.el (erc-chanlist-mode): Remove explicit invocation of
4523         erc-chanlist-mode-hook, since it's automatically invoked by
4524         define-derived-mode
4526 2004-07-03  Jorgen Schaefer  <forcer@users.sourceforge.net>
4528         * erc-match.el (erc-match-current-nick-p): Quote current nick for
4529         regexp parsing.
4531 2004-06-27  Johan Bockgård  <bojohan@users.sourceforge.net>
4533         * erc-nickserv.el (erc-nickserv-identify-mode): Fix erroneous
4534         parentheses in call to `completing-read'.
4536 2004-06-23  Alex Schroeder  <alex@gnu.org>
4538         * Makefile (release): Depend on autoloads, and copy erc-auto.el
4539         into the tarball.
4541 2004-06-14  Francis Litterio  <franl@users.sourceforge.net>
4543         * erc.el (erc-log-irc-protocol): Fixed minor bug where each line
4544         received from a server was logged as two lines (one with text and
4545         one blank).
4547 2004-06-08  Brian Palmer  <bpalmer@gmail.com>
4549         * erc-list.el (erc-chanlist-frame-parameters): Made customizable.
4550         (erc-chanlist-header-face): Changed to use defface with some
4551         reasonable defaults instead of make-face, and removed the
4552         associated -face variable.
4553         (erc-chanlist-odd-line-face): Ditto.
4554         (erc-chanlist-even-line-face): Ditto.
4555         (erc-chanlist-highlight-face): New variable.  Holds a face used for
4556         highlighting the current line.
4557         (erc-cmd-LIST): Use erc-member-ignore-case instead of
4558         member-ignore-case.
4559         (erc-chanlist-post-command-hook): Change to move the highlight
4560         overlay instead of refontifying the entire buffer.
4561         (erc-chanlist-dehighlight-line): Added to detach the highlight
4562         overlay from the buffer.
4564 2004-05-31  Jorgen Schaefer  <forcer@users.sourceforge.net>
4566         * erc.el: erc-mode-line-format: Add column numbers.
4568 2004-05-31  Adrian Aichner  <adrian@xemacs.org>
4570         * erc-autojoin.el: Typo fix.
4572         * erc-dcc.el (erc-dcc-do-GET-command): Use expand-file-name.
4573         (erc-dcc-get-file): XEmacs set-buffer-multibyte compatibility.
4575         * erc-log.el: Append `erc-log-setup-logging' to
4576         `erc-connect-pre-hook' so that `erc-initialize-log-marker' is run
4577         first (markers are needed by `erc-log-setup-logging').
4578         (erc-enable-logging): Docstring fix.
4579         (erc-log-setup-logging): Move `erc-log-insert-log-on-open' to (1-
4580         (point-max)) when doing `erc-log-insert-log-on-open'.  Modified
4581         version of a patch by Lawrence Mitchell.
4582         (erc-log-all-but-server-buffers): Do `save-excursion' as well.
4583         (erc-current-logfile): Pass buffer name as target
4584         argument to `erc-generate-log-file-name-function' if
4585         `erc-default-target' is nil.
4586         (erc-generate-log-file-name-with-date): Use expand-file-name.
4587         (erc-generate-log-file-name-short): Ditto.
4588         (erc-save-buffer-in-logs): Do `save-excursion' and test whether
4589         erc-last-saved-position is a marker.
4591         * erc-members.el: Avoid miscompiling macro `erc-log' and
4592         `with-erc-channel-buffer' by requiring 'erc at compile time.
4594         * erc-sound.el: Use expand-file-name.
4596         * erc.el (erc-debug-log-file): Ditto.
4597         (erc-find-file): Ditto.
4599 2004-05-26  Francis Litterio  <franl@users.sourceforge.net>
4601         * erc.el, erc-backend.el (erc-cmd-BANLIST): Added a missing "'"
4602         that was preventing /BANLIST from working.  In erc-backend.el,
4603         added server response handler for 367 and 368 responses to get
4604         /BANLIST working.
4606 2004-05-26  Francis Litterio  <franl@users.sourceforge.net>
4608         * erc.el: Removed an eval-when-compile that was preventing the
4609         byte-compiled version of this file from loading.
4611 2004-05-26  Francis Litterio  <franl@users.sourceforge.net>
4613         * erc.el: Undid part of my last change.  I suspect it was wrong.
4615 2004-05-26  Francis Litterio  <franl@users.sourceforge.net>
4617         * erc.el: Silenced several byte-compiler warnings.
4619 2004-05-26  Francis Litterio  <franl@users.sourceforge.net>
4621         * erc.el (erc-log-irc-protocol): Fixed problem where this function
4622         misformatted IRC protocol text if multiple lines were received from
4623         the server at one time.
4625 2004-05-25  Francis Litterio  <franl@users.sourceforge.net>
4627         * erc.el (erc-toggle-debug-irc-protocol): Cosmetic changes to the
4628         informational text in the *erc-protocol* buffer.
4630 2004-05-24  Francis Litterio  <franl@users.sourceforge.net>
4632         * erc.el (erc-log-irc-protocol, erc-process-filter): Now the lines
4633         inserted in the *erc-protocol* buffer are prefixed with the name
4634         of the network to/from which the data is going/coming.  This makes
4635         reading the *erc-protocol* buffer much easier when connected to
4636         multiple networks.
4638 2004-05-23  Jeremy Bertram Maitin-Shepard  <jbms@gentoo.org>
4640         * erc-backend.el: Fixes server message parsing so that command
4641         arguments specified after the colon are not treated specially.  All
4642         arguments are added to the `command-args' field, and the
4643         `contents' points to the last element in the `command-args' list.
4644         This allows ERC to connect to networks such as Undernet.  Although
4645         keeping `contents' allows many of the response handlers to
4646         continue to work as-is, many other are probably broken by this
4647         patch.
4649 2004-05-20  Lawrence Mitchell  <wence@gmx.li>
4651         * HACKING: Add comment that C-c C-a can be useful if you write
4652         ChangeLog entries using Emacs' standard functions.
4654 2004-05-17  Diane Murray  <disumu@x3y2z1.net>
4656         * erc-speedbar.el: Ignore errors when attempting to require dframe
4657         (there are a couple implementations of speedbar, one of which uses
4658         of dframe).
4659         (erc-speedbar-version): New.
4660         (erc-speedbar-goto-buffer): Use dframe functions if dframe is
4661         available.
4663 2004-05-17  Diane Murray  <disumu@x3y2z1.net>
4665         * erc-autojoin.el: Added local variables for this file.
4666         (erc-autojoin-add): The channel name is in `erc-response.contents'.
4668 2004-05-17  Mario Lang  <mlang@delysid.org>
4670         * erc-log.el: Don't autoload a define-key statement, erc-mode-map
4671         might not be known yet
4673 2004-05-16  Lawrence Mitchell  <wence@gmx.li>
4675         * erc-backend.el (erc-parse-server-response): Revert to original
4676         `erc-parse-line-from-server' version, since new version breaks for
4677         a number of edge cases.
4679 2004-05-14  Diane Murray  <disumu@x3y2z1.net>
4681         * erc-backend.el (erc-handle-unknown-server-response): New
4682         function.  Added to `erc-default-server-functions'.  Display
4683         unknown responses to the user.
4684         (221): Don't show nickname in modes list.
4685         (254): Fixed to use 's254.
4686         (303): Added docstring.
4687         (315, 318, 323, 369): Ignored responses grouped together.
4688         (391): New.
4689         (406, 432): Use ?n, not ?c in `erc-display-message'.
4690         (431, 445, 446, 451, 462, 463, 464, 465, 481, 483, 485, 491, 501,
4691         502): All error responses with no arguments grouped together.
4693 2004-05-14  Diane Murray  <disumu@x3y2z1.net>
4695         * erc.el (erc-message-type-member): Use `erc-response.command'.
4696         `erc-track-exclude-types' should be respected again.
4697         (erc-cmd-TIME): Fixed to work with and without server given as
4698         argument.
4699         (erc-define-catalog): Added, s391, s431, s445, s446, s451, s462,
4700         s463, s464, s465, s483, s484, s485, s491, s501, s502.
4702 2004-05-14  Lawrence Mitchell  <wence@gmx.li>
4704         * HACKING: Typo fix.
4706 2004-05-14  Lawrence Mitchell  <wence@gmx.li>
4708         * Makefile (erc-auto.el): Pass -f flag to rm so that we don't fail
4709         if erc-auto.elc doesn't exist.
4711 2004-05-14  Lawrence Mitchell  <wence@gmx.li>
4713         * erc-backend.el (erc-with-buffer): Autoload.
4714         (erc-parse-server-response): XEmacs' `replace-match' only replaces
4715         subexpressions when operating on buffers, not strings, work around
4716         it.
4717         (461): Command with invalid arguments is `second', not `third'.
4719 2004-05-14  Diane Murray  <disumu@x3y2z1.net>
4721         * erc-notify.el (erc-notify-NICK): Use `erc-response.contents' to
4722         get nickname.
4724 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4726         * erc-track.el: Indentation fixes.
4727         (track-when-inactive): Use `erc-server-FOO-functions', not
4728         `erc-server-FOO-hook.
4730 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4732         * erc-notify.el (notify): Use `erc-server-FOO-functions', not
4733         `erc-server-FOO-hook.
4734         (erc-notify-timer, erc-notify-JOIN, erc-notify-NICK)
4735         (erc-notify-QUIT): Use new accessors for PARSED argument.
4737 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4739         * erc-nickserv.el (services, erc-nickserv-identify-mode): Use
4740         `erc-server-FOO-functions', not `erc-server-FOO-hook.
4741         (erc-nickserv-identify-autodetect): Use new accessors for PARSED
4742         argument.
4744 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4746         * erc-netsplit.el (netsplit): Use `erc-server-FOO-functions', not
4747         `erc-server-FOO-hook.
4748         (erc-netsplit-JOIN, erc-netsplit-MODE, erc-netsplit-QUIT): Use new
4749         accessors for PARSED argument.
4751 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4753         * erc-nets.el: Use `erc-server-FOO-functions', not
4754         `erc-server-FOO-hook.
4756 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4758         * erc-menu.el (erc-menu-definition): Only allow listing of
4759         channels if `erc-cmd-LIST' is fboundp.
4761 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4763         * erc-match.el: Use `erc-server-FOO-functions', not
4764         `erc-server-FOO-hook.
4765         (erc-get-parsed-vector-nick, erc-get-parsed-vector-type): Use new
4766         accessors for PARSED argument.
4768 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4770         * erc-list.el (erc-chanlist, erc-chanlist-322): Use new accessors
4771         for PARSED argument.  Use `erc-server-FOO-functions', not
4772         `erc-server-FOO-hook.
4774 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4776         * erc-ezbounce.el (erc-ezb-notice-autodetect): Use new accessors
4777         for PARSED argument.
4778         (erc-ezb-initialize): Use `erc-server-FOO-functions', not
4779         `erc-server-FOO-hook.
4781 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4783         * erc-dcc.el: Use `erc-server-FOO-functions', not
4784         `erc-server-FOO-hook.
4785         (erc-dcc-no-such-nick): Use new accessors for PARSED argument.
4787 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4789         * erc-bbdb.el (erc-bbdb-whois, erc-bbdb-JOIN, erc-bbdb-NICK): Use
4790         new accessors for PARSED argument.
4791         (BBDB): Use `erc-server-FOO-functions', not `erc-server-FOO-hook.
4793 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4795         * erc-autojoin.el (autojoin): Use `erc-server-FOO-functions', not
4796         `erc-server-FOO-hook.
4797         (erc-autojoin-add, erc-autojoin-remove): Use new accessors for
4798         PARSED argument.
4800 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4802         * erc-autoaway.el (autoaway): Use `erc-server-FOO-functions', not
4803         `erc-server-FOO-hook.
4805 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4807         * erc.el (erc-backend): Require.
4808         (erc-disconnected-hook, erc-join-hook, erc-quit-hook)
4809         (erc-part-hook, erc-kick-hook): Docstring fix, we now use
4810         `erc-server-FOO-functions', rather than `erc-server-FOO-hook'.
4811         (erc-event-to-hook-name, erc-event-to-hook): Remove.
4812         (erc-once-with-server-event)
4813         (erc-once-with-server-event-global): Use `erc-get-hook'
4814         (erc-process-filter): Use `erc-parse-server-response'.
4815         (erc-cmd-IDLE, erc-cmd-BANLIST, erc-cmd-MASSUNBAN): New accessors
4816         for PARSED argument.  Rename all `erc-server-FOO-hook' to
4817         `erc-server-FOO-functions'.
4818         (erc-server-364-hook, erc-server-365-hook, erc-server-367-hook)
4819         (erc-server-368-hook, erc-server-KILL-hook)
4820         (erc-server-PONG-hook, erc-server-200-hook, erc-server-201-hook)
4821         (erc-server-202-hook, erc-server-203-hook, erc-server-204-hook)
4822         (erc-server-205-hook, erc-server-206-hook, erc-server-208-hook)
4823         (erc-server-209-hook, erc-server-211-hook, erc-server-212-hook)
4824         (erc-server-213-hook, erc-server-214-hook, erc-server-215-hook)
4825         (erc-server-216-hook, erc-server-217-hook, erc-server-218-hook)
4826         (erc-server-219-hook, erc-server-241-hook, erc-server-242-hook)
4827         (erc-server-243-hook, erc-server-244-hook, erc-server-249-hook)
4828         (erc-server-261-hook, erc-server-262-hook, erc-server-302-hook)
4829         (erc-server-323-hook, erc-server-342-hook, erc-server-351-hook)
4830         (erc-server-381-hook, erc-server-382-hook, erc-server-391-hook)
4831         (erc-server-392-hook, erc-server-393-hook, erc-server-394-hook)
4832         (erc-server-395-hook, erc-server-402-hook, erc-server-404-hook)
4833         (erc-server-407-hook, erc-server-409-hook, erc-server-411-hook)
4834         (erc-server-413-hook, erc-server-414-hook, erc-server-415-hook)
4835         (erc-server-422-hook, erc-server-423-hook, erc-server-424-hook)
4836         (erc-server-431-hook, erc-server-436-hook, erc-server-437-hook)
4837         (erc-server-441-hook, erc-server-443-hook, erc-server-444-hook)
4838         (erc-server-445-hook, erc-server-446-hook, erc-server-451-hook)
4839         (erc-server-462-hook, erc-server-463-hook, erc-server-464-hook)
4840         (erc-server-465-hook, erc-server-467-hook, erc-server-471-hook)
4841         (erc-server-472-hook, erc-server-473-hook, erc-server-483-hook)
4842         (erc-server-491-hook, erc-server-502-hook): Remove.
4843         (erc-call-hooks, erc-parse-line-from-server): Remove
4844         (erc-server-hook-list): Remove.  Remove top-level call too.
4845         (erc-server-ERROR, erc-server-INVITE, erc-server-JOIN)
4846         (erc-server-KICK, erc-server-MODE, erc-server-NICK)
4847         (erc-server-PART, erc-server-PING, erc-server-PONG)
4848         (erc-server-PRIVMSG-or-NOTICE, erc-server-QUIT)
4849         (erc-server-TOPIC, erc-server-WALLOPS, erc-server-001)
4850         (erc-server-004, erc-server-005, erc-server-221, erc-server-252)
4851         (erc-server-253, erc-server-254, erc-server-301, erc-server-303)
4852         (erc-server-305, erc-server-306, erc-server-311-or-314)
4853         (erc-server-312, erc-server-313, erc-server-317, erc-server-319)
4854         (erc-server-320, erc-server-321, erc-server-322, erc-server-324)
4855         (erc-server-329, erc-server-330, erc-server-331, erc-server-332)
4856         (erc-server-333, erc-server-341, erc-server-352, erc-server-353)
4857         (erc-server-366, erc-server-MOTD, erc-server-379)
4858         (erc-server-401, erc-server-403, erc-server-405, erc-server-406)
4859         (erc-server-412, erc-server-421, erc-server-432, erc-server-433)
4860         (erc-server-437, erc-server-442, erc-server-461, erc-server-474)
4861         (erc-server-475, erc-server-477, erc-server-481, erc-server-482)
4862         (erc-server-501): Move to erc-backend.el
4863         (erc-auto-query, erc-banlist-store, erc-banlist-finished)
4864         (erc-banlist-update, erc-connection-established)
4865         (erc-process-ctcp-query, erc-display-server-message): Use new
4866         accessors for PARSED argument.
4868 2004-05-13  Lawrence Mitchell  <wence@gmx.li>
4870         * erc-backend.el (erc-parse-server-response)
4871         (erc-handle-parsed-server-response, erc-get-hook)
4872         (define-erc-response-handler): New functions.
4873         (erc-response): New struct for server responses.
4874         (erc-server-responses): New variable.
4875         (erc-call-hooks): Move from erc.el and rework.
4876         (ERROR, INVITE, JOIN, KICK, MODE, NICK, PART, PING, PONG)
4877         (PRIVMSG, NOTICE, QUIT, TOPIC, WALLOPS, 001, MOTD, 376, 004)
4878         (252, 253, 254, 250, 301, 303, 305, 306, 311, 312, 313, 315)
4879         (317, 318, 319, 320, 321, 322, 324, 329, 330, 331, 332, 333)
4880         (341, 352, 353, 366, 369, 379, 401, 403, 405, 406, 412, 421)
4881         (432, 433, 437, 442, 461, 474, 477, 481, 482, 501, 323, 221)
4882         (002, 003, 371, 372, 374, 375, 422, 251, 255, 256, 257, 258)
4883         (259, 265, 266, 377, 378, 314, 475, 364, 365, 367, 368, 381)
4884         (382, 391, 392, 393, 394, 395, 200, 201, 202, 203, 204, 205)
4885         (206, 208, 209, 211, 212, 213, 214, 215, 216, 217, 218, 219)
4886         (241, 242, 243, 244, 249, 261, 262, 302, 342, 351, 402, 404)
4887         (407, 409, 411, 413, 414, 415, 423, 424, 431, 436, 441, 443)
4888         (444, 445, 446, 451, 462, 463, 464, 465, 467, 471, 472, 473)
4889         (483, 491, 502, 005, KILL): Move from erc.el and rework using
4890         `define-erc-response-handler' and erc-response struct.
4892 2004-05-12  Diane Murray  <disumu@x3y2z1.net>
4894         * erc.el: A few bug fixes to avoid errors after disconnect,
4895         including the "Selecting deleted buffer" bug.
4896         (erc-channel-user-op-p, erc-channel-user-voice-p): Make sure NICK
4897         is non-nil (`erc-current-nick' can return nil).
4898         (erc-server-buffer): Make sure the buffer isn't a #<killed
4899         buffer>.
4900         (erc-server-buffer-live-p): New function.
4901         (erc-display-line, erc-join-channel, erc-prepare-mode-line-format,
4902         erc-away-p): Use `erc-server-buffer-live-p' to make sure process
4903         buffer exists.
4904         (erc-send-current-line): If there is no server buffer, let the
4905         user know.
4907 2004-05-12  Diane Murray  <disumu@x3y2z1.net>
4909         * erc.el, erc-log.el: C-c C-l keybinding now defined in
4910         erc-log.el.
4911         (erc-log-version): New.
4912         (erc-cmd-JOIN): Fix applied for bug where /join -invite causes
4913         errors when there's no `invitation'.
4915 2004-05-11  Diane Murray  <disumu@x3y2z1.net>
4917         * erc.el (erc-cmd-JOIN): Make sure `chnl' is non-nil before trying
4918         to join anything (chnl is not set if /join -invite is used but
4919         there's no `invitation').
4921 2004-05-10  Diane Murray  <disumu@x3y2z1.net>
4923         * erc-log.el: Define C-c C-l keybinding outside of `erc-log-mode',
4924         making it available all the time; autoload definition.
4925         (erc-log-version): New.
4927 2004-05-09  Diane Murray  <disumu@x3y2z1.net>
4929         * AUTHORS, CREDITS, Makefile, erc-autoaway.el, erc-autojoin.el,
4930         erc-button.el, erc-chess.el, erc-dcc.el, erc-ezbounce.el,
4931         erc-fill.el, erc-ibuffer.el, erc-imenu.el, erc-lang.el,
4932         erc-list.el, erc-log.el, erc-macs.el, erc-match.el, erc-members.el,
4933         erc-menu.el, erc-nets.el, erc-netsplit.el, erc-nickserv.el,
4934         erc-notify.el, erc-page.el, erc-ring.el, erc-speak.el,
4935         erc-speedbar.el, erc-stamp.el, erc-track.el, erc-truncate.el,
4936         erc-xdcc.el, erc.el: Applied all relevant bug fixes and code
4937         cleanup made between the time of the ERC_4_0_RELEASE tag until now.
4939 2004-05-09  Diane Murray  <disumu@x3y2z1.net>
4941         * erc-menu.el: Updated copyright years.
4943 2004-05-09  Lawrence Mitchell  <wence@gmx.li>
4945         * erc.el (erc-update-channel-info-buffer): Correct bug in sorting
4946         of channel users.  Tiny change from Andreas Schwab
4947         <schwab@suse.de>.
4949 2004-05-09  Lawrence Mitchell  <wence@gmx.li>
4951         * erc-fill.el (erc-fill-variable): Fix docstring.
4953 2004-05-09  Lawrence Mitchell  <wence@gmx.li>
4955         * erc-button.el (erc-button-add-button): Use 'keymap
4956         text-property, rather than 'local-map, since it's cross-emacs
4957         compatible.  Pass :mouse-down-action into `widget-convert-button'
4958         as 'erc-button-click-button, to make XEmacs happy.  Replace bogus
4959         reference to erc-widget-press-button with erc-button-press-button.
4960         (erc-button-click-button): New (ignored) first argument, to make
4961         XEmacs behave when pressing buttons.
4962         (erc-button-press-button): New (ignored) &rest argument.
4964 2004-05-09  Adrian Aichner  <adrian@xemacs.org>
4966         * erc-log.el (erc-conditional-save-buffer): Fix docstring
4967         reference to erc-save-queries-on-quit.
4968         (erc-conditional-save-queries): Ditto.
4970 2004-05-06  Diane Murray  <disumu@x3y2z1.net>
4972         * erc-speedbar.el: Updated copyright years.  Added local variables
4973         for this file; fixed indenting.
4974         (erc-speedbar): New group.
4975         (erc-speedbar-sort-users-type): New variable.
4976         (erc-speedbar-buttons): Handle query buffers (fixes a bug where an
4977         error would be thrown if the current buffer was a query).  Ignore
4978         unknown buffers.
4979         (erc-speedbar-expand-channel): Show limit and key with channel
4980         modes.  Sort users according to `erc-speedbar-sort-users-type'.
4981         (erc-speedbar-insert-user): Fixed bug where only nicks with more
4982         info were being listed, and those were shown twice.
4983         (erc-speedbar-goto-buffer): Don't use dframe functions, as dframe
4984         isn't available with the default speedbar.
4986 2004-05-06  Diane Murray  <disumu@x3y2z1.net>
4988         * erc.el (erc-sort-channel-users-alphabetically): New function.
4989         (erc-server-412, erc-server-432, erc-server-475): New functions.
4990         (erc-server-412-hook, erc-server-432-hook, erc-server-475-hook):
4991         Use them.
4992         (erc-server-401, erc-server-403, erc-server-405)
4993         (erc-server-421, erc-server-474, erc-server-481): Use catalog
4994         messages.
4995         (erc-define-catalog): Added s401, s403, s405, s412, s421, s432,
4996         s474, s475, and s481.
4998 2004-05-06  Diane Murray  <disumu@x3y2z1.net>
5000         * erc-nickserv.el: Added documentation to Commentary, Usage.
5001         Removed `outline-mode' from file local variables.
5002         (erc-services-mode): Use `erc-nickserv-identify-mode' to add
5003         hooks.
5004         (erc-nickserv-identify-mode): New function.
5005         (erc-nickserv-identify-mode): New variable.
5006         (erc-prompt-for-nickserv-password, erc-nickserv-passwords):
5007         Changed docstring.
5008         (erc-nickserv-identify-autodetect): Use
5009         `erc-nickserv-call-identify-function'.  Docstring change.
5010         (erc-nickserv-identify-on-connect,
5011         erc-nickserv-identify-on-nick-change,
5012         erc-nickserv-call-identify-function): New functions.
5013         (erc-nickserv-identify): PASSWORD is not optional.  Autoload
5014         function.
5016 2004-05-05  Diane Murray  <disumu@x3y2z1.net>
5018         * erc.el (erc-join-hook, erc-quit-hook, erc-part-hook,
5019         erc-kick-hook, erc-connect-pre-hook): Now customizable.
5020         (erc-nick-changed-functions): New hook.
5021         (erc-server-NICK): Run `erc-nick-changed-functions' with the
5022         arguments NEW-NICK and OLD-NICK.
5023         (erc-channel-user-voice-p, erc-channel-user-voice-p): Shortened
5024         docstring.
5026 2004-05-05  Lawrence Mitchell  <wence@gmx.li>
5028         * HACKING: New section on function/variable naming and coding
5029         conventions.
5031 2004-05-05  Lawrence Mitchell  <wence@gmx.li>
5033         * erc.el (erc-wash-quit-reason): Quote regexp special characters
5034         in NICK, LOGIN and HOST.
5036 2004-05-04  Diane Murray  <disumu@x3y2z1.net>
5038         * erc.el (erc-server-parameters): Typo fix in docstring.
5039         (erc-input-line-position): `:type' is now a choice between integer
5040         and nil.  (erc-mode-map): Bind `erc-get-channel-mode-from-keypress'
5041         to C-c C-o instead of C-c RET (C-c C-m).  (erc-cmd-GQUIT): Use
5042         REASON as argument when calling `erc-cmd-QUIT'.
5044 2004-05-03  Lawrence Mitchell  <wence@gmx.li>
5046         * erc-nicklist.el: Initial version.
5048 2004-04-28  Diane Murray  <disumu@x3y2z1.net>
5050         * erc-menu.el: Added local variables for file, fixed indenting.
5051         (erc-menu-version): New variable.
5052         (erc-menu-definition): "List channels": New.  "Join channel": Use
5053         `erc-connected' as test.  "Start a query": New.  "List channel
5054         operators": New.  "Input action": Moved up.  "Set topic": Fixed
5055         test so it's only active in channels.  "Leave this channel": Moved
5056         down.  "Track hidden channel buffers": Removed.  "Enable/Disable
5057         ERC Modules": New.
5059 2004-04-28  Diane Murray  <disumu@x3y2z1.net>
5061         * erc.el (erc-mode-map): Removed binding for
5062         `erc-save-buffer-in-logs' (moved to erc-log.el).
5063         (erc-cmd-QUERY, erc-cmd-OPS): Now interactive.
5065 2004-04-28  Diane Murray  <disumu@x3y2z1.net>
5067         * erc-log.el: Added local variables for this file.
5068         (erc-log-channels-directory): Added directory as a choice in
5069         `:type'.
5070         (define-erc-module): Define and undefine key binding (C-c
5071         C-l) for `erc-save-buffer-in-logs' here.
5073 2004-04-28  Diane Murray  <disumu@x3y2z1.net>
5075         * erc-nets.el: Added local variables for this file.
5076         (erc-networks-alist): Fixed `:type' to work better in
5077         customization.
5079 2004-04-28  Diane Murray  <disumu@x3y2z1.net>
5081         * erc-match.el: Added local variables for file.  (erc-keywords):
5082         Use `list' instead of `cons' in `:type'.  Fixes bug where mismatch
5083         was shown in customization.  (erc-current-nick-highlight-type):
5084         Escape parentheses in docstring.  Added keyword, nick-or-keyword as
5085         options in `:type'.
5087 2004-04-28  Diane Murray  <disumu@x3y2z1.net>
5089         * erc-stamp.el: Added local variables for file.
5090         (erc-away-timestamp-format): Allow nil as a choice in `:type'.
5091         (erc-timestamp-intangible): Changed `:type' to boolean.
5092         (erc-timestamp-right-column): Added `:group' and `:type'.
5094 2004-04-28  Diane Murray  <disumu@x3y2z1.net>
5096         * erc.el (erc-modules): Added bbdb, log, match, sound, and stamp
5097         as `:type' options; changed documentation for autojoin, fill,
5098         pcomplete, track.  (erc-prompt-for-channel-key): New variable.
5099         (erc-join-channel): Only prompt for key if
5100         `erc-prompt-for-channel-key' is non-nil.  (erc-format-my-nick): New
5101         function.  (erc-send-message, erc-send-current-line): Use it.
5103 2004-04-24  Johan Bockgård  <bojohan@users.sourceforge.net>
5105         * erc-track.el (erc-track-modified-channels): Fix indentation.
5107 2004-04-24  Johan Bockgård  <bojohan@users.sourceforge.net>
5109         * erc-match.el (erc-hide-fools): Docstring fix.
5110         (erc-log-matches-types-alist): Added `current-nick' to valid
5111         choices.
5113 2004-04-20  Diane Murray  <disumu@x3y2z1.net>
5115         * erc-page.el, erc-ezbounce.el, erc-speak.el, erc-match.el,
5116         erc-track.el (erc-ezbounce, erc-page, erc-speak): Groups defined.
5117         (erc-match, erc-track): `erc' is parent group.
5118         (erc-ezb-regexp, erc-ezb-login-alist): Added `:group'.
5120 2004-04-20  Jorgen Schaefer  <forcer@users.sourceforge.net>
5122         * erc-fill.el: Fixed erc-fill-static so it breaks the lines at the
5123         right column and respects timestamps.  Patch by Simon Siegler
5124         <simon@trz-kril.de>
5125         (erc-fill-static): Major rewrite and split up into some functions.
5126         (erc-count-lines): Removed.
5127         (erc-fill-regarding-timestamp): New function.
5128         (erc-timestamp-offset): New function.
5129         (erc-restore-text-properties): New function.
5130         (erc-fill-variable): Respect leftbound timestamp.  This is still
5131         broken if someone has both erc-timestamp-only-if-changed-flag set
5132         and erc-insert-timestamp-function set to
5133         'erc-insert-timestamp-left, but otherwise it works now.
5135 2004-04-20  Diane Murray  <disumu@x3y2z1.net>
5137         * erc.el (erc-cmd-SV): Show features gtk, mac-carbon, multi-tty.
5138         Fixed so that arguments fit the format (build date was not being
5139         shown).
5141 2004-04-19  Lawrence Mitchell  <wence@gmx.li>
5143         * erc.el (erc-update-channel-topic): Error if `channel-topic' is
5144         unbound.  Remove %-sign substitution.
5145         (erc-update-mode-line-buffer): Escape %-signs in `channel-topic'
5146         here.
5148 2004-04-19  Diane Murray  <disumu@x3y2z1.net>
5150         * erc.el (erc-send-action, erc-ctcp-query-ACTION,
5151         erc-ctcp-reply-ECHO-hook): Let `erc-display-message-highlight'
5152         propertize the message.
5153         (erc-display-message-highlight): Allow for any erc-TYPE-face.
5154         (erc-cmd-JOIN): Display error message instead of throwing an error
5155         if there's no `invitation'.
5156         (erc-cmd-PART): Allow for no reason if channel is provided.  Fixes
5157         bug where user would part the current channel with the other
5158         channel's name as reason when no reason was given.
5159         (erc-server-vectors, erc-debug-missing-hooks): Added docstring.
5160         (erc-server-JOIN): Moved `erc-join-hook' to JOIN-you section.
5161         `erc-join-hook' called by `run-hook-with-args', sending the ARGS
5162         `chnl' and the channel's buffer.  Changed an instance of if
5163         without else to when.
5164         (erc-server-477): New function.
5165         (erc-server-477-hook): Use `erc-server-477'.
5166         (erc-define-catalog): Added `no-invitation'.
5168 2004-04-14  Diane Murray  <disumu@x3y2z1.net>
5170         * erc-nickserv.el: Local variables for file added.
5171         (erc-nickserv-passwords): Customization: Network symbols updated
5172         to reflect `erc-nickserv-alist'.  Allow user to type in network
5173         symbol.
5174         (erc-nickserv-alist): Now customizable variable.
5176 2004-04-09  Diane Murray  <disumu@x3y2z1.net>
5178         * erc-autoaway.el (erc-autoaway-reset-idletime): Make sure `line'
5179         is a string to avoid errors upon startup.
5181 2004-04-06  Diane Murray  <disumu@x3y2z1.net>
5183         * erc-autoaway.el (erc-autoaway-version): New variable.
5184         (erc-auto-discard-away): Updated docstring.
5185         (erc-autoaway-no-auto-back-regexp): New variable.
5186         (erc-autoaway-reset-idletime): Use it.  Hopefully a better solution
5187         which allows for aliases to "/away" and any other text that the
5188         user wants to ignore when `erc-auto-discard-away' is non-nil.
5190 2004-04-06  Diane Murray  <disumu@x3y2z1.net>
5192         * erc-autoaway.el (erc-autoaway-reset-idletime): Forgot /gaway in
5193         regexp.
5195 2004-04-06  Diane Murray  <disumu@x3y2z1.net>
5197         * erc-autoaway.el (erc-autoaway-reset-idletime): If the user sends
5198         an "/away" command, don't call `erc-autoaway-set-back', fixes bug
5199         where ERC would send "/away" when user was already away and sent an
5200         "/away reason".  Changed `l' to `line' for better understanding.
5201         (erc-autoaway-set-back): Changed `l' to `line' for better
5202         understanding.
5204 2004-04-05  Diane Murray  <disumu@x3y2z1.net>
5206         * erc.el (erc-set-channel-key): Now able to remove key.
5207         (erc-set-channel-limit): Now able to remove limit.
5208         (erc-get-channel-mode-from-keypress): Fixed docstring.
5210 2004-04-04  Diane Murray  <disumu@x3y2z1.net>
5212         * erc.el (erc-join-channel): Allow for optional channel key.
5213         (erc-set-modes): Need to set `channel-key' to nil in case of mode
5214         changes during split.
5215         (erc-show-channel-key-p): New variable.
5216         (erc-prepare-mode-line-format): Only show key if
5217         `erc-show-channel-key-p' is non-nil.
5219 2004-04-04  Diane Murray  <disumu@x3y2z1.net>
5221         * erc.el (channel-key): New variable.
5222         (erc-update-channel-key): New function.
5223         (erc-set-modes, erc-parse-modes, erc-update-modes, erc,
5224         erc-update-channel-info-buffer): Deal with channel keys.
5225         (erc-prepare-mode-line-format): Show channel key in header-line.
5226         (erc-server-NICK): Show nick change in server buffer as well.
5227         (erc, erc-send-command, erc-banlist-store, erc-banlist-update,
5228         erc-load-irc-script-lines,
5229         erc-arrange-session-in-multiple-windows, erc-handle-login,
5230         erc-find-channel-info-buffer): Changed when not to unless.
5231         (erc-server-MODE): Changed if without else to when.
5233 2004-03-27  Adrian Aichner  <adrian@xemacs.org>
5235         * erc.el (erc-cmd-BANLIST): Use `truncate-string-to-width'
5236         instead of `truncate-string' alias.
5237         (erc-nickname-in-use): Ditto.
5239 2004-03-27  Francis Litterio  <franl@users.sourceforge.net>
5241         * erc-list.el (erc-cmd-list): Fixed error caused by erc-cmd-LIST
5242         passing a non-sequence to erc-chanlist.
5244 2004-03-22  Jeremy Bertram Maitin-Shepard  <jbms@gentoo.org>
5246         * erc.el: Add new hook `erc-join-hook', which is run when we join a
5247         channel.
5249 2004-03-22  Jeremy Bertram Maitin-Shepard  <jbms@gentoo.org>
5251         * erc.el: Replaced existing notice user notification system and
5252         the configuration options, which consisted of
5253         `erc-echo-notices-in-minibuffer-flag' and
5254         `erc-echo-notices-in-current-buffer' with two new hooks,
5255         `erc-echo-notice-hook' and `erc-echo-notice-always-hook'.
5257         When user notification is needed, `erc-echo-notice-always-hook' is
5258         first run using `run-hook-with-args', then `erc-echo-notice-hook'
5259         is run using `run-hook-with-args-until-success'.
5261         In addition to these hooks, a large number of functions, which are
5262         described in the documentation strings of those hooks, were added
5263         which can be used to achieve a large variety of different
5264         behaviors.
5266         The current default behavior, which is identical to the existing
5267         default behavior, is for `erc-echo-notice-always-hook' to be set to
5268         `(erc-echo-notice-in-default-buffer).
5270 2004-03-21  Diane Murray  <disumu@x3y2z1.net>
5272         * erc-track.el (erc-modified-channels-display): Added a space
5273         before opening bracket.
5275 2004-03-21  Diane Murray  <disumu@x3y2z1.net>
5277         * erc.el (erc-format-query-as-channel-p): New variable.
5278         (erc-server-PRIVMSG-or-NOTICE): If `erc-format-query-as-channel-p'
5279         is nil, messages in the query buffer are formatted like private
5280         messages.
5282         (erc-server-252-hook, erc-server-253-hook, erc-server-254-hook,
5283         erc-server-256-hook, erc-server-257-hook, erc-server-258-hook,
5284         erc-server-259-hook, erc-server-371-hook, erc-server-372-hook,
5285         erc-server-374-hook, erc-server-374-hook, erc-server-442-hook,
5286         erc-server-477-hook): Removed, now defined in
5287         `erc-server-hook-list'.
5288         (erc-display-server-message): New function.
5289         (erc-server-252, erc-server-253, erc-server-254, erc-server-442):
5290         New functions.
5291         (erc-server-hook-list): Added 250, 256, 257, 258, 259, 265, 266,
5292         377, 378, 477 - using `erc-display-server-message'.  251, 255 now
5293         use `erc-display-server-message'.  Added 252, 253, 254, 442 -
5294         using respective erc-server-* functions.  371, 372, 374, 375 now
5295         defined here.
5296         (erc-define-catalog): Added s252, s253, s254, s442.
5297         (erc-server-001, erc-server-004, erc-server-005): Fixed
5298         documentation.
5300 2004-03-20  Diane Murray  <disumu@x3y2z1.net>
5302         * erc-stamp.el: Commentary: Changed `erc-stamp-mode' to
5303         `erc-timestamp-mode'.
5304         (erc-insert-timestamp-left): Use `erc-timestamp-face' on filler
5305         spaces as well.
5307 2004-03-19  Diane Murray  <disumu@x3y2z1.net>
5309         * erc.el (erc-send-action): Use `erc-input-face'.
5310         (erc-display-message-highlight): If the requested highlighting
5311         type doesn't match, just display the string with no highlighting
5312         and warn about it with `erc-log'.
5313         (erc-cmd-JOIN): If user is already on the requested channel,
5314         switch to that channel's buffer.
5315         (erc-ctcp-query-ACTION): Use `erc-action-face' for nick as well.
5316         (erc-header-line-use-help-echo-p): New variable.
5317         (erc-update-mode-line-buffer): Use `help-echo' for header-line if
5318         `erc-header-line-use-help-echo-p' is non-nil.
5320 2004-03-18  Adrian Aichner  <adrian@xemacs.org>
5322         * erc-nets.el: Use two arguments version of `make-obsolete', if
5323         third argument is not supported (for XEmacs).
5325 2004-03-18  Andreas Fuchs  <asf@void.at>
5327         * CREDITS: added CREDITS entry for Adrian Aichner
5329 2004-03-18  Andreas Fuchs  <asf@void.at>
5331         * erc-xdcc.el, erc.el, erc-autoaway.el, erc-autojoin.el,
5332         erc-button.el, erc-dcc.el, erc-ezbounce.el, erc-imenu.el,
5333         erc-list.el, erc-log.el, erc-match.el, erc-members.el,
5334         erc-menu.el, erc-netsplit.el, erc-notify.el, erc-speedbar.el,
5335         erc-stamp.el, erc-track.el, erc-truncate.el:
5336         (erc-coding-sytem-for-target): Removed.
5337         (erc-coding-system-for-target): New.
5338         (erc-autoaway-use-emacs-idle): Typo fix.
5339         (erc-auto-set-away): Ditto.
5340         (erc-auto-discard-away): Ditto.
5341         (autojoin): Ditto.
5342         (erc-button-alist): Ditto.
5343         (erc-dcc-auto-masks): Ditto.
5344         (erc-dcc-chat-send-input-line): Ditto.
5345         (erc-ezb-get-login): Ditto.
5346         (erc-unfill-notice): Ditto.
5347         (erc-save-buffer-in-logs): Ditto.
5348         (match): Ditto.
5349         (erc-log-matches-types-alist): Ditto.
5350         (erc-match-directed-at-fool-p): Ditto.
5351         (erc-match-message): Ditto.
5352         (erc-update-member): Ditto.
5353         (erc-ignored-reply-p): Ditto.
5354         (erc-menu-definition): Ditto.
5355         (erc-netsplit-QUIT): Ditto.
5356         (erc-notify-list): Ditto.
5357         (erc-speedbar-update-channel): Ditto.
5358         (erc-speedbar-item-info): Ditto.
5359         (erc-stamp): Ditto.
5360         (erc-timestamp-intangible): Ditto.
5361         (erc-add-timestamp): Ditto.
5362         (erc-timestamp-only-if-changed-flag): Ditto.
5363         (erc-show-timestamps): Ditto.
5364         (erc-track-priority-faces-only): Ditto.
5365         (erc-modified-channels-alist): Ditto.
5366         (erc-unique-substrings): Ditto.
5367         (erc-find-parsed-property): Ditto.
5368         (erc-track-switch-direction): Ditto.
5369         (erc-truncate-buffer-to-size): Ditto.
5370         (erc-xdcc): Ditto.
5371         (erc-auto-reconnect): Ditto.
5372         (erc-startup-file-list): Ditto.
5373         (erc-once-with-server-event): Ditto.
5374         (erc-once-with-server-event-global): Ditto.
5375         (erc-mode): Ditto.
5376         (erc-generate-new-buffer-name): Ditto.
5377         (erc): Ditto.
5378         (erc-open-ssl-stream): Ditto.
5379         (erc-default-coding-system): Ditto.
5380         (erc-encode-string-for-target): Ditto.
5381         (erc-decode-string-from-target): Ditto.
5382         (erc-scroll-to-bottom): Ditto.
5383         (erc-decode-controls): Ditto.
5384         (erc-channel-members-changed-hook): Ditto.
5385         (erc-put-text-property): Ditto.
5386         (erc-add-default-channel): Ditto.
5388 2004-03-17  Diane Murray  <disumu@x3y2z1.net>
5390         * erc.el (erc-process-sentinel): Cancel ping timer upon
5391         disconnect.
5392         (erc-cmd-PART): Use same regexp as `erc-cmd-QUIT' when no #channel
5393         is provided.
5394         (erc-nick-uniquifier, erc-manual-set-nick-on-bad-nick-p): `:group'
5395         was missing, added.
5396         (erc-part-reason-zippy, erc-part-reason-zippy): Removed FIXME
5397         comments.  I see no problem allowing typed in reasons.
5399 2004-03-16  Diane Murray  <disumu@x3y2z1.net>
5401         * erc-stamp.el (erc-insert-timestamp-left): Added support for
5402         `erc-timestamp-only-if-changed-flag' and added docstring.
5403         (erc-timestamp-only-if-changed-flag): Updated documentation.
5405 2004-03-13  Francis Litterio  <franl@users.sourceforge.net>
5407         * erc-nets.el (erc-network-name): No longer marked as obsolete.
5408         Why was this function made obsolete?  There is no other function
5409         that performs this task.  Some of us use these functions in our
5410         personal ERC configs.
5412 2004-03-12  Lawrence Mitchell  <wence@gmx.li>
5414         * erc.el (erc-buffer-filter): Use `with-current-buffer'.
5415         (erc-process-input-line): Append newline to documentation.  Fixes a
5416         bug whereby the prompt would be put on the same line as the output.
5417         (erc-cmd-GQUIT): Only try and send QUIT if the process is alive.
5419 2004-03-12  Lawrence Mitchell  <wence@gmx.li>
5421         * erc-log.el: Only add top-level hooks if `erc-enable-logging' is
5422         non-nil.
5424 2004-03-10  Damien Elmes  <erc@repose.cx>
5426         * erc-nets.el: From Adrian Aichner (adrian /at/ xemacs /dot/ org)
5427         * erc-nets.el: XEmacs make-obsolete only takes two arguments.
5429 2004-03-10  Diane Murray  <disumu@x3y2z1.net>
5431         * erc-nets.el (erc-determine-network): Use `erc-session-server' if
5432         `erc-announced-server' is nil to avoid error if server does not
5433         send 004 (RPL_MYINFO) message.
5435 2004-03-10  Lawrence Mitchell  <wence@gmx.li>
5437         * erc-nets.el (erc-server-alistm erc-settings): Use lowercase
5438         "freenode", as in `erc-networks-alist'.
5440 2004-03-10  Lawrence Mitchell  <wence@gmx.li>
5442         * erc-nickserv.el (erc-nickserv-alist): Use lowercase "freenode",
5443         as in `erc-networks-alist'.
5445 2004-03-10  Lawrence Mitchell  <wence@gmx.li>
5447         * erc-dcc.el (pcomplete/erc-mode/DCC): Append "send" as a list.
5449 2004-03-10  Francis Litterio  <franl@users.sourceforge.net>
5451         * erc-nets.el (erc-networks-alist): Changed "Freenode" to
5452         "freenode".
5454 2004-03-10  Francis Litterio  <franl@users.sourceforge.net>
5456         * erc-list.el (erc-cmd-LIST): Improved the docstring.  Made
5457         message to user more accurate depending on whether a single
5458         channel is being listed or not.
5460 2004-03-10  Lawrence Mitchell  <wence@gmx.li>
5462         * erc-nets.el (erc-determine-network): Make matching logic simpler
5463         (suggested by Damian Elmes).
5464         (erc-current-network, erc-network-name): Add `make-obsolete' form.
5465         (erc-set-network-name): Indentation fix.
5466         (erc-ports-list): Add docstring.  Rework function body to use
5467         `nconc'.
5469 2004-03-09  Diane Murray  <disumu@x3y2z1.net>
5471         * erc-list.el, erc-notify.el (require 'erc-nets): Added.
5473 2004-03-08  Diane Murray  <disumu@x3y2z1.net>
5475         * erc.el (erc-network-name): Function definition moved to
5476         erc-nets.el.  The functions `erc-determine-network' and
5477         `erc-network' in erc-nets.el do what this did before.  Deprecated.
5478         Use (erc-network) instead.
5480 2004-03-08  Diane Murray  <disumu@x3y2z1.net>
5482         * erc-nickserv.el: Changed copyright notice.  Now require
5483         erc-nets.  erc-nets.el now takes care of network-related functions
5484         and variables.
5485         (erc-nickserv-alist): Changed network symbols to match those in
5486         `erc-networks-alist' in erc-nets.el.
5487         (erc-nickserv-identify-autodetect): Use `erc-network'.
5488         (erc-nickserv-identify): Use `erc-network'.  Changed wording for
5489         interactive use, now shows current nick.
5490         (erc-networks): Removed.  Use `erc-networks-alist' as defined in
5491         erc-nets.el.
5492         (erc-current-network): Function definition moved to erc-nets.el.
5493         The functions `erc-determine-network' and `erc-network' in
5494         erc-nets.el do what this did before.  Deprecated.  Use
5495         (erc-network) instead.
5497 2004-03-08  Diane Murray  <disumu@x3y2z1.net>
5499         * erc-nets.el: Added commentary, `erc-nets-version'.
5500         (erc-server-alist): Changed Brasnet to BRASnet.
5501         (erc-networks-alist): All networks (except EFnet and IRCnet) now
5502         have a MATCHER.  (erc-network): New variable.
5503         (erc-determine-network): New function.  Determine the network the
5504         user is on.  Use the server parameter NETWORK, if provided, else
5505         parse the server name and search for a match (regexp and loop by
5506         wencem) in `erc-networks-alist'.  Return the name of the network
5507         or "Unknown" as a symbol.
5508         (erc-network): New function.  Returns value of `erc-network'.  Use
5509         this when the current buffer is not the server process buffer.
5510         (erc-current-network): Returns the value of `erc-network' as
5511         expected by users who used the function as it was defined in
5512         erc-nickserv.el.  Deprecated.
5513         (erc-network-name): Returns the value of `erc-network' as expected
5514         by users who used the function as it was defined in erc.el.
5515         Deprecated.
5516         (erc-set-network-name): New function.  Added to
5517         `erc-server-375-hook' and `erc-server-422-hook'.
5518         (erc-unset-network-name): New function.  Added to
5519         `erc-disconnected-hook'.
5520         (erc-server-select): Small documentation word change.
5522 2004-03-07  Diane Murray  <disumu@x3y2z1.net>
5524         * AUTHORS, CREDITS: disumu info updated
5526 2004-03-06  Lawrence Mitchell  <wence@gmx.li>
5528         * erc-list.el (erc-cmd-LIST): Take &rest rather than &optional
5529         arguments.
5530         (erc-chanlist): Construct correct LIST command from list of
5531         channels.
5533 2004-03-06  Lawrence Mitchell  <wence@gmx.li>
5535         * erc.el (erc-update-mode-line-buffer): Add 'help-echo property to
5536         header-line text.  This allows header lines longer than the width
5537         of the current window to be seen.
5539 2004-03-06  Jorgen Schaefer  <forcer@users.sourceforge.net>
5541         * erc-match.el (erc-match-directed-at-fool-p): Also check for
5542         "FOOL, "
5544 2004-03-06  Jorgen Schaefer  <forcer@users.sourceforge.net>
5546         * erc-match.el (erc-match-message): Only use nick-or-keyword if
5547         we're matching our nick.
5549 2004-03-06  Jorgen Schaefer  <forcer@users.sourceforge.net>
5551         * erc-match.el: The highlight type for the current nickname can
5552         now also be 'nick-or-keyword, to highlight the nick of the sender
5553         if that is available, but fall back to highlighting your nickname
5554         in the whole message otherwise.
5555         (erc-current-nick-highlight-type): Adapted docstring accordingly.
5556         (erc-match-message): Added new condition.  Also added some comments
5557         to this monster of a function.
5559 2004-03-06  Jorgen Schaefer  <forcer@users.sourceforge.net>
5561         * erc.el (erc-is-valid-nick-p): Don't check for length less or
5562         equal to 9.
5564 2004-03-06  Damien Elmes  <erc@repose.cx>
5566         * erc-nickserv.el (erc-current-network): the last change resulted
5567         in this function failing when a network identifies itself as
5568         anything other than var.netname.com, so for instance
5569         'vic.au.austnet.org' fails.  This version is only a marginal
5570         improvement over the original, but if we want to be more flexible
5571         we'll probably have to do the iteration ourselves instead of using
5572         assoc.
5574 2004-03-05  Diane Murray  <disumu@x3y2z1.net>
5576         * erc.el: Added erc-server-001 which runs when the server sends
5577         its welcome message.  It sets the current-nick to reflect the
5578         server's settings.  This fixes a bug where nicks that were too long
5579         and got truncated by the server were still set to the old value.
5580         (nickname-in-use): If user wants to try again manually, let user
5581         know that the nick is taken.  If not, go through erc-default-nicks
5582         until none are left, and then try one last time with
5583         erc-nick-uniquifier.  If it's still a bad-nick, make the user
5584         change nick manually.  When applying uniquifier, use NICKLEN if
5585         it's in the server parameters, otherwise use what RFC 2812 says is
5586         the max nick length (9 chars).  Added custom variable
5587         erc-manual-set-nick-on-bad-nick-p, which is set to nil and
5588         erc-nick-change-attempt-count.  Reset erc-default-nicks and
5589         erc-nick-change-attempt-count when the nick has been changed
5590         successfully.  This fixes the bug where ERC would get caught in a
5591         neverending loop of trying to set the same nick if the nick was
5592         too long and the uniquified nick was not available.
5594         * added erc-cmd-WHOAMI
5596         * added custom variable erc-mode-line-away-status-format, use this
5597         instead of the previous hard-coded setting
5599         * erc-server-315|318|369-hook defvar lines removed - they're
5600         already defined in erc-server-hook-list
5602 2004-03-04  Lawrence Mitchell  <wence@gmx.li>
5604         * HACKING: Initial commit.  Some thoughts on coding standards.
5606 2004-03-03  Diane Murray  <disumu@x3y2z1.net>
5608         * erc-track.el: added the variable erc-track-priority-faces-only
5609         which adds the option to ignore changes in a channel unless there
5610         are faces from the erc-track-faces-priority-list in the message
5611         options are nil, 'all, or a list of channel name strings
5613 2004-03-01  Diane Murray  <disumu@x3y2z1.net>
5615         * erc.el, erc-ibuffer.el, erc-menu.el: Changed erc-is-channel-op
5616         and erc-is-channel-voice to erc-channel-user-op-p and
5617         erc-channel-user-voice-p to better match erc-channel-user
5618         structure (and emacs lisp usage)
5620 2004-03-01  Diane Murray  <disumu@x3y2z1.net>
5622         * erc.el, erc-ibuffer.el, erc-menu.el:
5623         erc-track-modified-channels-mode is now erc-track-mode
5625 2004-02-29  Diane Murray  <disumu@x3y2z1.net>
5627         * erc-match.el: Added 'keyword option to
5628         erc-current-nick-highlight-type highlights all instances of
5629         current-nick in the message ('nickname option in cvs revisions 1.9
5630         - 1.11 had same effect)
5632 2004-02-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
5634         * erc-button.el: Add Lisp: prefix for the EmacsWiki Elisp area.
5635         (erc-button-alist): Added Lisp: prefix.
5636         (erc-emacswiki-lisp-url): New variable.
5637         (erc-browse-emacswiki-lisp): New function.
5639 2004-02-27  Lawrence Mitchell  <wence@gmx.li>
5641         * erc.el (erc-get-arglist): Use `substitute-command-keys', rather
5642         than hard-coding C-h f for `describe-function'.
5644 2004-02-26  Johan Bockgård  <bojohan@users.sourceforge.net>
5646         * erc-log.el (erc-save-buffer-in-logs): bind `inhibit-read-only'
5647         to t around call to `erase-buffer'.
5649 2004-02-23  Edward O'Connor  <ted@oconnor.cx>
5651         * erc-chess.el, erc-dcc.el, erc-ezbounce.el, erc-list.el,
5652         erc-macs.el, erc-ring.el, erc-stamp.el, erc.el: Normalized buffer
5653         local variable creation.
5655 2004-02-17  Lawrence Mitchell  <wence@gmx.li>
5657         * erc.el (erc-scroll-to-bottom, erc-add-scroll-to-bottom): Mention
5658         `erc-input-line-position' in docstring.
5660 2004-02-13  Jorgen Schaefer  <forcer@users.sourceforge.net>
5662         * erc.el (erc-kick-hook): Typo fix.
5664 2004-02-13  Jeremy Bertram Maitin-Shepard  <jbms@gentoo.org>
5666         * erc.el: Added `erc-kick-hook', which is called when the local
5667         user is kicked from a channel.  Fixed a bug in `erc-cmd-OPS', such
5668         that the command now works.  Added `erc-remove-channel-users', in
5669         order to fix a number of significant bugs relating to channel
5670         parting.
5672 2004-02-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
5674         * erc.el (erc-display-prompt): Remove last change.  This caused a
5675         lot of trouble :(
5677 2004-02-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
5679         * erc.el (erc-display-prompt): Also set 'field property, so C-j
5680         works on an empty prompt.
5682 2004-02-12  Lawrence Mitchell  <wence@gmx.li>
5684         * erc.el (erc-update-channel-topic): Ensure that `channel-topic'
5685         does not contain any bare format controls.
5687 2004-02-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
5689         * erc-stamp.el (erc-timestamp-intangible): New variable (user
5690         feature request)
5691         (erc-format-timestamp): Use erc-timestamp-intangible.
5693 2004-02-07  Jeremy Bertram Maitin-Shepard  <jbms@gentoo.org>
5695         * erc-button.el: Fixed bug related to nickname buttonizing and text
5696         fields due to erc-stamp.
5698 2004-02-07  Jeremy Bertram Maitin-Shepard  <jbms@gentoo.org>
5700         * CREDITS: Added mention of my change of ERC to use hash tables.
5702 2004-02-07  Jeremy Bertram Maitin-Shepard  <jbms@gentoo.org>
5704         * AUTHORS: Added myself to the list.
5706 2004-02-05  Lawrence Mitchell  <wence@gmx.li>
5708         * erc.el: From Jeremy Maitin-Shepard <jbms@attbi.com>:
5709         (erc-remove-channel-user): Use `delq' not `delete'.
5710         (erc-get-buffer): Pass PROC through to `erc-buffer-filter'.
5711         (erc-process-sentinel): Use `erc' rather than `erc-reconnect' for
5712         auto-reconnection.
5714 2004-02-02  Lawrence Mitchell  <wence@gmx.li>
5716         * erc.el (erc-buffer-list-with-nick): Apply `erc-downcase' NICK.
5718 2004-01-30  Alex Schroeder  <alex@gnu.org>
5720         * erc.el (erc-get-buffer): Use erc-buffer-filter.
5722 2004-01-30  Johan Bockgård  <bojohan@users.sourceforge.net>
5724         * erc.el: From jbms:
5725         (erc-get-channel-nickname-list): New function.
5726         (erc-get-server-nickname-list): New function.
5727         (erc-get-server-nickname-alist): New function.
5728         (erc-get-channel-nickname-alist): New function.
5730 2004-01-30  Johan Bockgård  <bojohan@users.sourceforge.net>
5732         * erc-match.el (erc-add-entry-to-list,
5733         erc-remove-entry-from-list): Use `erc-member-ignore-case' to
5734         compare entries.
5735         (erc-add-pal, erc-add-fool): Fix type bug.  Use
5736         `erc-get-server-nickname-alist'.
5738 2004-01-29  Johan Bockgård  <bojohan@users.sourceforge.net>
5740         * erc.el: From jbms: Adds xemacs compatibility to hash table
5741         channel-members patch.
5743 2004-01-29  Johan Bockgård  <bojohan@users.sourceforge.net>
5745         * erc.el (erc-update-undo-list): Rewritten.  Update
5746         buffer-undo-list in place.  Deal with XEmacsesque
5747         entries (extents) in the list.
5748         (erc-channel-users): Fix unescaped open-paren in left column in
5749         docstring.
5751 2004-01-29  Johan Bockgård  <bojohan@users.sourceforge.net>
5753         * erc-ring.el (erc-replace-current-command): Exclude the prompt
5754         from the deleted region and don't redisplay the prompt (because
5755         `erc-display-prompt' flushes `buffer-undo-list').
5757 2004-01-29  Johan Bockgård  <bojohan@users.sourceforge.net>
5759         * erc-match.el (erc-add-entry-to-list): Use `symbol-value' instead
5760         of `eval'.
5762 2004-01-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
5764         * erc.el (erc-kill-buffer-function): maphash was missing an
5765         argument.
5767 2004-01-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
5769         * Makefile, erc-autoaway.el, erc-button.el, erc-ibuffer.el,
5770         erc-lang.el, erc-list.el, erc-match.el, erc-menu.el, erc-page.el,
5771         erc-pcomplete.el, erc-speedbar.el, erc.el: HUGE change by jbms.
5772         This makes channel-members a hash, erc-channel-users.
5774         Modified files: Makefile erc-autoaway.el erc-button.el
5775         erc-ibuffer.el erc-lang.el erc-list.el erc-match.el erc-menu.el
5776         erc-page.el erc-pcomplete.el erc-speedbar.el erc.el
5778         The changes are too numerous to document properly.  Have fun with
5779         the breakage.
5781 2004-01-27  Jorgen Schaefer  <forcer@users.sourceforge.net>
5783         * erc.el (erc-send-input-line): Add a space to empty lines so the
5784         server likes them.
5786 2004-01-25  Jorgen Schaefer  <forcer@users.sourceforge.net>
5788         * erc.el: erc-send-whitespace-lines: New variable.
5789         (erc-send-current-line): Use erc-send-whitespace-lines.  Also,
5790         removed superfluous test for empty line in the mapc, since the
5791         blank line test should find all.  I do like to be able to send an
5792         empty line when i want to!
5793         (erc-send-current-line): Check for point being in input line
5794         before checking for blank lines.
5796 2004-01-21  Lawrence Mitchell  <wence@gmx.li>
5798         * erc.el (erc-display-line-1): Move `erc-update-undo-list' outside
5799         `save-restriction'.  Removing need for temporary variable.
5800         (erc-send-current-line): Fix bug introduced by last change, remove
5801         complement in blank line regexp.
5803 2004-01-20  Lawrence Mitchell  <wence@gmx.li>
5805         * erc.el (erc-update-undo-list): Add logic to catch the case when
5806         `buffer-undo-list' is t, indentation cleanup.
5807         (erc-send-current-line): Reverse logic for matching blank lines.
5809 2004-01-20  Lawrence Mitchell  <wence@gmx.li>
5811         * erc.el (erc-input-line-position): New variable.  If non-nil,
5812         specifies the argument to `recenter' in `erc-scroll-to-bottom'.
5813         (erc-scroll-to-bottom): Use it.
5815 2004-01-20  Lawrence Mitchell  <wence@gmx.li>
5817         * erc.el: From Johan Bockgård <bojohan+news@dd.chalmers.se>:
5818         (erc-update-undo-list): New function.  Update `buffer-undo-list'
5819         so that calling `undo' in an ERC buffer doesn't mess up the
5820         existing text.
5821         (erc-display-line-1): Use it.
5823 2004-01-19  Lawrence Mitchell  <wence@gmx.li>
5825         * erc.el (erc-beg-of-input-line): Use `forward-line' rather than
5826         `beginning-of-line'.  Docstring fix.
5827         (erc-end-of-input-line): Docstring fix.
5829 2004-01-13  Jorgen Schaefer  <forcer@users.sourceforge.net>
5831         * erc.el (erc-display-prompt): Remove the undo list after
5832         displaying the prompt, so the user can't undo ERC changes, which
5833         breaks some stuff anyways.  This way the user can still undo his
5834         editing, but not ours.
5836 2004-01-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
5838         * erc.el (erc-scroll-to-bottom): Should recenter on the bottom
5839         line, not the second-to-last one.
5841 2004-01-12  Lawrence Mitchell  <wence@gmx.li>
5843         * erc.el (erc-bol): Fix bug introduced in my changes from 2004-01-11.
5845 2004-01-12  Lawrence Mitchell  <wence@gmx.li>
5847         * erc.el: From Brian Palmer <bpalmer@gmail.com>
5848         (erc-cmd-JOIN): Use `erc-member-ignore-case', rather than
5849         `member-ignore-case'.
5851 2004-01-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
5853         * erc.el: There was an inconsistency where the values of op and
5854         voice in channel-names could be 'on or 'off after an update, t and
5855         nil before.  The intended version was to have t or nil, so i fixed
5856         it to do so.
5857         (channel-names): Updated docstring.
5858         (erc-update-current-channel-member): Clarified docstring, fixed so
5859         it sets t or nil on an update as well, not only on an add.
5860         (erc-cmd-OPS): Updated not to check for 'on (the only function that
5861         did this!)
5863 2004-01-12  Lawrence Mitchell  <wence@gmx.li>
5865         * erc.el (erc-part-reason-various-alist,
5866         erc-update-mode-line-buffer): Fix docstring
5868 2004-01-11  Lawrence Mitchell  <wence@gmx.li>
5870         * erc.el (erc-update-mode-line): Fix typo.
5872 2004-01-11  Lawrence Mitchell  <wence@gmx.li>
5874         * erc.el (erc-prompt-interactive-input): Removed.
5875         (erc-display-prompt): Removed `erc-prompt-interactive-input'
5876         option.  (erc-interactive-input-map): Removed.
5878         Major docstring fixes.
5880 2004-01-07  Francis Litterio  <franl@users.sourceforge.net>
5882         * erc.el (erc-cmd-OPS): Added this function.
5883         (erc-cmd-IDLE): Switched from using erc-display-message-highlight
5884         to erc-make-notice.
5886 2004-01-07  Francis Litterio  <franl@users.sourceforge.net>
5888         * erc-list.el (erc-cmd-LIST): Switched from using
5889         erc-display-message-highlight to erc-make-notice.
5891 2004-01-07  Francis Litterio  <franl@users.sourceforge.net>
5893         * erc.el (erc-once-with-server-event): Added a sentence to the
5894         docstring.  Now returns the uninterned symbol that is added to the
5895         server hook.
5896         (erc-cmd-IDLE): Changed to use erc-once-with-server-event instead
5897         of erc-once-with-server-event-global.
5899 2004-01-06  Francis Litterio  <franl@users.sourceforge.net>
5901         * erc-list.el (erc-chanlist-hide-modeline): New variable.
5902         (erc-chanlist): Now displays message as a notice.  Also hides the
5903         modeline if erc-chanlist-hide-modeline is non-nil.
5905 2004-01-05  Francis Litterio  <franl@users.sourceforge.net>
5907         * erc.el (erc-server-PRIVMSG-or-NOTICE): Now nicks appear as
5908         <nick> in query buffers, instead of as *nick*.
5910 2004-01-03  Francis Litterio  <franl@users.sourceforge.net>
5912         * erc.el (erc-once-with-server-event-global): Changed to return
5913         the uninterned symbol that it creates.
5914         (erc-cmd-LIST): Changed to clean up hooks that don't run.
5916 2004-01-03  Francis Litterio  <franl@users.sourceforge.net>
5918         * erc-pcomplete.el (pcomplete/erc-mode/IDLE): Added to support new
5919         /IDLE command.
5921 2004-01-03  Francis Litterio  <franl@users.sourceforge.net>
5923         * erc.el (erc-once-with-server-event-global): New function.  Like
5924         erc-once-with-server-event, except it modifies the global value of
5925         the event hook.
5926         (erc-cmd-IDLE): New function.  Implements the new /IDLE command.
5927         Usage: /IDLE NICK (erc-seconds-to-string): New function.  Converts
5928         a number of seconds to an English phrase.
5930 2004-01-02  Francis Litterio  <franl@users.sourceforge.net>
5932         * erc-list.el: Added variable erc-chanlist-mode-hook.
5934 2003-12-30  Francis Litterio  <franl@users.sourceforge.net>
5936         * erc.el(erc-cmd-HELP):
5937         Changed to prefer giving help for erc-cmd-* functions over
5938            similarly-named Elisp functions (e.g., erc-cmd-LIST vs. list).
5940 2003-12-28  Francis Litterio  <franl@users.sourceforge.net>
5942         * erc.el(erc-query-buffer-p): Added this function.
5944 2003-12-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
5946         * erc.el(erc-cmd-SV): Use erc-emacs-build-time.
5948         * erc-compat.el: erc-emacs-build-time: New variable.
5950         * erc.el(erc-cmd-SAY):
5951         Reintroduced the feature where the spaces between
5952         "/SAY" and the rest of the line were being sent with the message.
5954 2003-12-28  Francis Litterio  <franl@users.sourceforge.net>
5956         * erc.el(erc-server-buffer-p):
5957         Fixed a bug where this function sometimes would return
5958             nil when it should return t.
5960 2003-12-27  Francis Litterio  <franl@users.sourceforge.net>
5962         * erc.el(erc-generate-new-buffer-name):
5963         Really fixed a bug where ERC would reuse
5964             a connected server buffer when erc-reuse-buffers is non-nil.
5965         (erc-cmd-JOIN): Now we tell the user when he attempts to join the same
5966             channel twice on the same server.
5968         * erc.el(erc-generate-new-buffer-name):
5969         Fixed a bug where ERC would reuse a connected server buffer when erc-reuse-buffers is non-nil.
5971         * erc.el(erc-cmd-SAY):
5972         Fixed a bug where the spaces between "/SAY" and the rest of the
5973             line were being sent with the message.
5975         * erc-list.el: Fixed another typo.
5977         * erc-list.el: Fixed a typo.
5979         * erc-list.el:
5980         Added text to the top of the channel list buffer describing the keybinding for
5981         function erc-chanlist-join-channel.
5983         * erc-list.el: Minor appearance changes.  No functional change.
5985         * erc-list.el:
5986         Implemented function erc-chanlist-join-channel.  Added variable
5987         erc-chanlist-channel-line-regexp.  Got rid of function
5988         erc-chanlist-pre-command-hook.  Changed the logic for how channel lines are
5989         highlighted.
5991 2003-12-26  Francis Litterio  <franl@users.sourceforge.net>
5993         * erc-list.el:
5994         Removed a bunch of unused code.  No semantic change.
5996         * erc-list.el: Added lots of functionality.
5998 2003-12-15  Mario Lang  <mlang@delysid.org>
6000         * erc-track.el, erc.el:
6001         New custom type erc-message-type, use it in erc-hide-list and erc-track-exclude-types
6003 2003-12-14  Alex Schroeder  <alex@gnu.org>
6005         * erc-track.el(track-when-inactive): New module.
6006         (erc-track-visibility): New option.
6007         (erc-buffer-activity): New variable.
6008         (erc-buffer-activity-timeout): New variable.
6009         (erc-user-is-active): New function.
6010         (erc-buffer-visible): New function.
6011         (erc-modified-channels-update): Replace get-buffer-window call
6012         with call to erc-buffer-visible.
6013         (erc-track-modified-channels): Ditto.
6015 2003-12-14  Lawrence Mitchell  <wence@gmx.li>
6017         * erc-track.el(erc-modified-channels-update):
6018         Force update of modeline.  Makes sure
6019         that the tracked channels disappear in other buffers too.
6021 2003-12-06  Lawrence Mitchell  <wence@gmx.li>
6023         * erc.el(define-erc-module):
6024         New optional argument LOCAL-P.  If non-nil, then
6025         mode will be created as buffer-local rather than a global mode.
6026         (erc-cmd-CTCP): Fix indentation from last commit.
6028         * erc-compat.el(erc-define-minor-mode):
6029         Deal with :global and :group keywords.
6031         * erc-nickserv.el(erc-current-network):
6032         Make server regex more permissive.
6034         * erc.el(erc-cmd-CTCP):
6035         Don't add a space to end of command when ARGS are
6036         empty.  This fixes a bug whereby requests of the form "VERSION " were
6037         being sent, and ignored.
6039 2003-11-27  Lawrence Mitchell  <wence@gmx.li>
6041         * erc-log.el: From Adrian Aichner <adrian@xemacs.org>
6042         * erc-log.el (erc-log-file-coding-system): Use 'binary
6043         coding-system under XEmacs (instead of 'emacs-mule).
6044         * erc-log.el (erc-w32-invalid-file-characters): Removed as no
6045         longer needed.
6046         * erc-log.el (erc-generate-log-file-name-long): Use
6047         `convert-standard-filename', which exists in XEmacs too.
6049 2003-11-16  Mario Lang  <mlang@delysid.org>
6051         * erc-identd.el: Code provided by johnw, thanks!
6053 2003-11-09  Lawrence Mitchell  <wence@gmx.li>
6055         * erc.el(erc-latest-version): Clean up docstring.
6056         Remove requirement for w3, wrap REQUIRE statement in IGNORE-ERRORS.
6057         Update viewcvs url to correct location.
6058         (erc-ediff-latest-version): Make sure that we find the uncompiled
6059         erc.el, error if not.
6061 2003-11-07  Mario Lang  <mlang@delysid.org>
6063         * erc.el: Add more info to /sv
6065 2003-11-06  Francis Litterio  <franl@users.sourceforge.net>
6067         * erc.el: Added optional argument BUFFER to erc-server-buffer-p.
6069 2003-11-04  Mario Lang  <mlang@delysid.org>
6071         * AUTHORS: Add sachac
6073 2003-11-02  Lawrence Mitchell  <wence@gmx.li>
6075         * erc.el(erc-server-366):
6076         chnl is 4th element of parsed, not fifth.
6077         (erc-channel-end-receiving-names): Pass correct number of arguments
6078         to delete-if-not.
6080         * erc.el(erc-update-current-channel-member):
6081         Use erc-downcase when comparing
6082         nick entries.  Cleanup indentation.
6084 2003-11-01  Lawrence Mitchell  <wence@gmx.li>
6086         * erc-sound.el: Added a (provide 'erc-sound) line.
6088         * erc.el(erc-cmd-NAMES): send to TGT, not CHANNEL.
6090 2003-10-29  Sandra Jean Chua  <sacha@free.net.ph>
6092         * erc-pcomplete.el, erc.el, CREDITS:
6093         Merged Jeremy Maitin-Shepard's patch for time-sensitive nick completion.
6095 2003-10-27  Mario Lang  <mlang@delysid.org>
6097         * Makefile, debian/changelog:
6098         New Debian package 4.0.cvs.20031027
6100 2003-10-25  Mario Lang  <mlang@delysid.org>
6102         * erc.el: Fix typo tuncate->truncate
6104 2003-10-24  Mario Lang  <mlang@delysid.org>
6106         * erc-dcc.el: From Stephan Stahl <stl@isogmbh.de>:
6107         (erc-dcc-send-block): Kill buffer if transfer completed correctly.
6109 2003-10-22  Mario Lang  <mlang@delysid.org>
6111         * erc-track.el(erc-track-disable):
6112         Do not deactivate all advices for `switch-to-buffer',
6113         just disable the erc specific one. (Bug#217022).
6115 2003-10-18  Lawrence Mitchell  <wence@gmx.li>
6117         * erc-log.el(erc-log-file-coding-system): New variable.
6118         (erc-save-buffer-in-logs): Use it.
6120 2003-10-17  Mario Lang  <mlang@delysid.org>
6122         * erc.el(erc-interpret-mirc-color): New boolean defcustom
6124         * erc.el: Do not use -nowait on darwin (thanks johnw)
6126 2003-10-15  Lawrence Mitchell  <wence@gmx.li>
6128         * erc.el(define-erc-module):
6129         Set erc-FOO-mode appropriately in erc-FOO-enable
6130         and erc-FOO-disable.
6132 2003-10-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
6134         * erc-autoaway.el(erc-mode):
6135         Reset idletime on connect. Fixes an annoying bug which
6136         flooded the server with always on reconnect.
6137         (erc-autoway-reset-idletime): Accept optional args so we can hook it
6138         onto erc-server-001-hook.
6140 2003-10-10  Mario Lang  <mlang@delysid.org>
6142         * erc.el(erc-hide-list): Add a nice defcustom type
6144 2003-10-08  Mario Lang  <mlang@delysid.org>
6146         * Makefile, debian/changelog, debian/control:
6147         Debian snapshot 20031008
6149         * erc-speedbar.el:
6150         Patch from Eric M. Ludlam <eric@siege-engine.com>:
6151          - (erc-install-speedbar-variables): Add functions list (needs new speedbar?)
6152          - (erc-speedbar-buttons): Add doc.  Clear the buffer
6153          - (erc-speedbar-sort-channel-members): New function.
6154          - (erc-speedbar-expand-channel): Call new sort function.  Change some visuals.
6155          - (erc-speedbar-insert-user): Change some visuals based on channel data.
6156          - (erc-speedbar-line-text, erc-speedbar-item-info): New functions
6157         Add proper elisp file header.
6159 2003-10-02  Lawrence Mitchell  <wence@gmx.li>
6161         * erc-match.el(erc-match-syntax-table): New variable.
6162         (erc-match-current-nick-p): Use it.
6164         * erc.el(erc-quit-reason-zippy, erc-part-reason-zippy): Use
6165         `erc-replace-regexp-in-string' rather than
6166         `replace-regexp-in-string'.
6167         (erc-command-indicator-face): New face, used to show commands if
6168         `erc-hide-prompt' is nil and `erc-command-indicator' is non-nil.
6169         (erc-command-indicator): Clean up doc-string.
6170         (erc-display-prompt): New optional argument FACE, use this rather
6171         than `erc-prompt-face' to fontify the prompt if non-nil.
6172         (erc-send-current-line): Pass in `erc-command-indicator-face' to
6173         `erc-display-prompt'.
6175         * erc-compat.el(erc-replace-regexp-in-string): New function.
6176         Alias for `replace-regexp-in-string' on Emacs 21.
6177         Argument massaging for `replace-in-string' for XEmacs.
6179 2003-09-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
6181         * erc.el(erc-keywords): Removed. Wasn't used by anything.
6183 2003-09-25  Lawrence Mitchell  <wence@gmx.li>
6185         * erc.el: ERC-HIDE-PROMPT: add custom group
6186         ERC-COMMAND-INDICATOR: new variable.
6187         ERC-COMMAND-INDICATOR: new function.
6188         ERC-DISPLAY-PROMPT: new argument, PROMPT, used to override default
6189         prompt.
6190         ERC-SEND-CURRENT-LINE: pass ERC-COMMAND-INDICATOR to ERC-DISPLAY-PROMPT.
6192 2003-09-24  Jorgen Schaefer  <forcer@users.sourceforge.net>
6194         * erc.el(erc-parse-line-from-server):
6195         Ignore empty lines as required by RFC.
6197 2003-09-17  Mario Lang  <mlang@delysid.org>
6199         * erc.el: Add lag time calculation
6201 2003-09-13  Mario Lang  <mlang@delysid.org>
6203         * Makefile, debian/README.Debian, debian/changelog:
6204         New debian release
6206         * erc-notify.el:
6207         Call erc-notify-install-message-catalogs on load, not on module init
6209         * erc.el(erc-update-modules):
6210         Use `load' instead of `require'.  XEmacs appears
6211         to have the NOERROR arg only sometimes... Strange
6213         * erc.el: No fboundp if we have a defvar
6215         * erc.el: Properly defvar erc-ping-handler
6217 2003-09-11  Damien Elmes  <erc@repose.cx>
6219         * erc.el(erc-setup-periodical-server-ping):
6220         check if erc-ping-handler is
6221             bound before referencing it
6223 2003-09-10  Mario Lang  <mlang@delysid.org>
6225         * erc.el(erc-cmd-NICK):
6226         Warn about exceeded NICKLEN if we know it.
6228         * erc.el: Make erc-server-PONG obey erc-verbose-server-ping.
6229         Cancel old `erc-ping-handler' timer when restablishing connection in the same
6230         buffer.
6232         * debian/changelog, Makefile: New debian snapshot
6234         * erc-dcc.el, erc-xdcc.el:
6235         Use new function erc-dcc-file-to-name to convert spaces to underscores
6237         * erc-xdcc.el: Add autoload for erc-xdcc-add-file
6239 2003-09-08  Mario Lang  <mlang@delysid.org>
6241         * erc-dcc.el: indent fixes and copyright update
6243         * erc.el:
6244         erc-send-ping-interval: New defcustom which defaults to 60.
6245         Every 60 seconds, we send PING now.
6246         This should fix the "connection silently lost" bug.
6247         Please test this change extensively, and report problems.
6249 2003-09-07  Alex Schroeder  <alex@gnu.org>
6251         * erc.el(erc-default-coding-system):
6252         Test for undecided and utf-8
6253         before setting.
6255 2003-09-01  Mario Lang  <mlang@delysid.org>
6257         * erc.el(erc-modules): Add some more symbols to the set
6259         * erc.el(erc-modules): Add :greedy t to the set in
6261         * erc-dcc.el:
6262         More autoloads which make dcc autoload upon ctcp dcc query received.
6264         * erc-dcc.el(erc-cmd-DCC): Add Autoload.
6265         (pcomplete/erc-mode/DCC): Ditto, makes DCC autoloadable just by using
6266         completion.
6267         Also only offer "send" if fboundp make-network-process.
6269         * erc-autojoin.el: Update copyright
6271         * erc-autojoin.el(erc-autojoin-add):
6272         Only add the channel if it is not already there.
6274         * erc-notify.el:
6275         Use `define-erc-module' instead of old `erc-notify-initialize'.
6276         Now defines the global minor mode erc-notify-mode, and should also
6277         be controllable via `erc-modules' with symbol `notify'.
6279         * erc.el(erc-modules):
6280         Fix paren-in-column-zero bug in docstring.
6281         Add a sort of bogus, but still better :type.
6282         Add autojoin and netsplit by default.
6283         (erc-update-modules): Don't barf with an error if `require' fails.
6284         We can still error out if the mode is not defined.
6286 2003-08-31  Andreas Fuchs  <asf@void.at>
6288         * erc.el:
6289         * make 353 (NAMES reply) output go into the appropriate channel buffer
6290           (if it exists) or into the active erc buffer (if not).
6292 2003-08-29  mtoledo  <mtoledo@confusibombus>
6294         * erc.el:
6295         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.
6297 2003-08-29  Mario Lang  <mlang@delysid.org>
6299         * erc.el: Fix typo in varname which led to a compiler warning
6301         * AUTHORS: Added lawrence
6303 2003-08-27  Mario Lang  <mlang@delysid.org>
6305         * erc-dcc.el:
6306         Set process and file-coding system to 'binary (for Windows)
6308         * erc-stamp.el: Rename custom group erc-timestamp to erc-stamp.
6310 2003-08-07  Lawrence Mitchell  <wence@gmx.li>
6312         * erc-fill.el(erc-fill-disable):
6313         Remove erc-fill, not erc-fill-static from
6314         erc-insert-modify-hook.
6316 2003-08-05  Francis Litterio  <franl@users.sourceforge.net>
6318         * erc.el(erc-send-current-line):
6319         Now we display the prompt for previously entered commands
6320             based on the value of customization variable erc-hide-prompt.  This change is
6321             closely related to the immediate previous version by wencem.
6323 2003-08-04  Lawrence Mitchell  <wence@gmx.li>
6325         * erc.el(erc-send-current-line):
6326         If we're sending a command, don't display
6327         the prompt.
6329 2003-08-04  Damien Elmes  <erc@repose.cx>
6331         * erc-track.el: patch from David Edmondson (dme AT dme DOT org)
6333         This patch makes button 3 on the erc-track buffer names in the
6334         modeline show the selected buffer in another window. It's analogous to
6335         button 2 which shows the buffer in the current window.
6337 2003-07-31  Francis Litterio  <franl@users.sourceforge.net>
6339         * erc.el(erc-display-line-1):
6340         Fixed bad indentation on one line.  No semantic change.
6342 2003-07-29  Lawrence Mitchell  <wence@gmx.li>
6344         * erc-match.el:
6345         Quote open paren in docstring of erc-text-matched-hook
6347         * erc.el: Anchor match only at beginning in erc-ignored-user-p.
6349         * erc-button.el: New variable erc-button-wrap-long-urls.
6350         Modified erc-button-add-buttons:
6351           New optional argument REGEXP.
6352           If we're buttonizing a URL and erc-button-wrap-long-urls is
6353           non-nil, try and wrap them
6355         Modified erc-button-add-buttons-1:
6356           Pass regexp to erc-button-add-buttons.
6358 2003-07-28  Francis Litterio  <franl@users.sourceforge.net>
6360         * erc.el(erc-network-name):
6361         Improved docstring.  Removed an unnecessary call to erc-server-buffer.
6363 2003-07-28  Mario Lang  <mlang@delysid.org>
6365         * erc.el: By lawrence:
6366         (erc-ignored-user-p): Use anchored regexp.
6367         (smiley): Fix missing quote in `remove-hook' call.
6369 2003-07-26  Francis Litterio  <franl@users.sourceforge.net>
6371         * erc-nets.el, erc-nickserv.el, erc.el:
6372         Changed all references to Openprojects into references to Freenode.
6374 2003-07-25  Francis Litterio  <franl@users.sourceforge.net>
6376         * erc.el:
6377         Now variable erc-debug-irc-protocol is defvar'ed instead of defcustom'ed.
6378         Made the docstring clearer too.
6380         * erc.el: Fixed a wrong-type-argument error from window-live-p.
6382 2003-07-15  Damien Elmes  <erc@repose.cx>
6384         * erc-log.el(erc-log-setup-logging):
6385         set buffer-file-name to "", as (basic-save-buffer)
6386             will prompt for a buffer name before invoking hooks. the buffer-file-name
6387             will be overridden by (erc-save-buffer-in-logs) anyway - the main danger
6388             of doing this is write-file-contents hooks. Let's see if anyone complains.
6389         (erc-save-buffer-in-logs): return t, so that further write hooks are not run
6391 2003-07-09  Damien Elmes  <erc@repose.cx>
6393         * erc-dcc.el(erc-dcc-open-network-stream):
6394         -nowait still crashes emacs cvs - disable for now
6396 2003-07-02  Francis Litterio  <franl@users.sourceforge.net>
6398         * erc.el(erc): Minor docstring modification.
6400 2003-07-01  Damien Elmes  <erc@repose.cx>
6402         * erc-match.el(erc-match-current-nick-p):
6403         match only on word boundaries
6405         * erc-log.el(erc-log-setup-logging):
6406         not sure how this crept in again - make sure we set
6407             buffer-file-name to nil, since otherwise it is not possible to open
6408             previous correspondence in another buffer while a conversation is open
6410 2003-06-28  Francis Litterio  <franl@users.sourceforge.net>
6412         * erc.el(erc-network-name):
6413         Now makes some intelligent guesses if the server didn't tell
6414             us the network name.
6416 2003-06-28  Alex Schroeder  <alex@gnu.org>
6418         * erc.el(erc-default-coding-system): Use utf-8 as the default
6419         encoding for outgoing stuff and undecided as the default for
6420         incoming stuff.
6421         (erc-coding-sytem-for-target): New.
6422         (erc-encode-string-for-target): Use it.
6423         (erc-decode-string-from-target): Use it.  Removed the flet
6424         erc-default-target hack and documented the dynamically bound
6425         variable `target' instead.
6427 2003-06-25  Francis Litterio  <franl@users.sourceforge.net>
6429         * erc.el(erc-log-irc-protocol):
6430         Now we keep point on the bottom line of the window
6431             displaying the *erc-protocol* buffer if it is at the end of the
6432             *erc-protocol* buffer.
6434         * erc.el:
6435         Added some text to the docstring for variable erc-debug-irc-protocol.
6437 2003-06-23  Francis Litterio  <franl@users.sourceforge.net>
6439         * erc-dcc.el(erc-dcc-auto-mask-p):
6440         Fixed a docstring typo that caused a load-time error.
6442         * erc-dcc.el(erc-dcc-auto-mask-p):
6443         Changed reference to undefined variable erc-dcc-auto-mask-list
6444             to erc-dcc-auto-masks.
6445         Changed default value of variable erc-dcc-auto-masks to nil and added text to its
6446             docstring.
6448         * erc-notify.el(erc-notify-timer and erc-notify-QUIT):
6449         Added network name to notify_off message.
6451         * erc.el(erc-network-name):
6452         Now returns the name of the IRC server if the network name
6453             cannot be determined.
6455         * erc-notify.el(erc-notify-JOIN and erc-notify-NICK):
6456         Added argument ?m to call to erc-display-message.
6458         * erc-dcc.el(erc-dcc-do-LIST-command):
6459         Fixed a bug where I assumed (plist-get elt :type)
6460             returns a string -- it really returns a symbol.
6462         * erc-notify.el(erc-notify-timer):
6463         Now we include the network name in the notify_on message.
6465         * erc.el:
6466         New function: erc-network-name.  Returns the name of the network that the
6467             current buffer is associate with.  Not every server sends the 005 messages
6468             that enable the network name to be known.  If the network name is
6469             not known, the string "UNKNOWN" is returned.
6471         * erc-dcc.el(erc-dcc-chat-setup):
6472         Added a comment.  Fixed a bug where a DCC CHAT buffer has no
6473             prompt when it first appears.
6475         * erc-dcc.el(erc-dcc-chat-parse-output):
6476         Now a DCC chat buffer displays the nick using
6477             erc-nick-default-face just like in a channel buffer.
6479 2003-06-22  Francis Litterio  <franl@users.sourceforge.net>
6481         * erc.el(erc-display-prompt):
6482         Fixed incorrect indentation.  No semantic change.
6484         * erc.el(erc-strip-controls):
6485         Minor change to regexp that matches IRC color control
6486             codes.  I was seeing usage as follows: ^C07colored text^C^C04other color.
6487             Now we strip a ^C followed by zero, one, or two digits.  Before this change,
6488             we stripped a ^C followed by one or two digits.
6490         * erc-dcc.el(erc-dcc-do-LIST-command):
6491         Improved format of output of /DCC LIST.  Now the
6492             "Size" column for a DCC GET includes the percentage of the file that has
6493             been retrieved.
6494         (erc-dcc-do-GET-command): Now it works if erc-dcc-default-directory is set.
6496 2003-06-19  Damien Elmes  <erc@repose.cx>
6498         * erc-log.el:
6499         * added quickstart information to the comments up the top
6501 2003-06-16  Mario Lang  <mlang@delysid.org>
6503         * erc.el:
6504         Default to open-network-stream on MS Windows. (thanks lawrence)
6506 2003-06-11  Damien Elmes  <erc@repose.cx>
6508         * erc.el(erc-process-input-line):
6509         refactor so that wrong-number-of-arguments is
6510             caught when using do-not-parse-args - this lets do-not-parse-args
6511             commands display help messages on incorrect syntax in a uniform manner.
6512             This no longer raises a bad-syntax error - was this a catch-all to stop a
6513             backtrace? Does it belong?
6514         (erc-cmd-APPENDTOPIC): the correct way to display help when you want to
6515             accept an arbitrary string is to (signal 'wrong-number-of-arguments nil).
6516             This fixes a bug where people could not /at topics with a space in them.
6518 2003-06-09  Damien Elmes  <erc@repose.cx>
6520         * erc.el:
6521         Re-add the last few changes which weren't merged for some reason.
6523         * erc.el(erc-cmd-APPENDTOPIC): show help when given no arguments
6525         Patch from MrBump. Fixes problem with erc-set-topic inserting ^C characters
6526         into the topic. Also removes dependency on CL.
6528 2003-06-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
6530         * erc.el:
6531         Added comment to explain (eval-after-load "erc" '(erc-update-modules)).
6533 2003-06-01  Mario Lang  <mlang@delysid.org>
6535         * erc-pcomplete.el: Add completion for /unignore
6537 2003-05-31  Alex Schroeder  <alex@gnu.org>
6539         * erc-compat.el(erc-encode-coding-string): The default binding,
6540         if encode-coding-string was not available, must be a defun that
6541         takes multiple arguments.  Did that.
6543 2003-05-30  Mario Lang  <mlang@delysid.org>
6545         * erc.el:
6546         Add handlers for 313 and 330 (by arne@rfc2549.org, thanks)
6548 2003-05-30  Damien Elmes  <erc@repose.cx>
6550         * erc.el:
6551         patch from MrBump to make /mode #foo +b work again (erc-cmd-BANLIST only
6552         temporarily changes them now)
6554 2003-05-29  Alex Schroeder  <alex@gnu.org>
6556         * erc.el(erc-select):
6557         server is now defaulted with erc-compute-server.
6558         A few cosmetic fixes.
6559         (erc-default-coding-system): Renamed from erc-encoding-default.
6560         (erc-encoding-default): Renamed to erc-default-coding-system.
6561         (erc-encoding-coding-alist): Documentation updated to cover regexps.
6562         (erc-encode-string-for-target): Now considers keys of
6563         erc-encoding-coding-alist to be regexps.  Rely on erc-compat
6564         wrt. MULE support.
6565         (erc-decode-string-from-target): New function.
6566         (erc-send-current-line): eq -> char-equal fix.
6567         (erc-server-TOPIC): topic is now decoded with
6568         erc-decode-string-from-target.
6569         (erc-parse-line-from-server): Line from server is no longer decoded
6570         here.
6571         (erc-server-PRIVMSG-or-NOTICE): Message from a user is decoded here,
6572         sspec -> sender-spec for clarity.  Cosmetic if -> when fix.
6573         (erc-server-TOPIC): sspec -> sender-spec
6574         (erc-server-WALLOPS): Ditto.
6576         * erc-compat.el(erc-decode-coding-string):
6577         Now requires coding-system as an argument.
6579 2003-05-15  Mario Lang  <mlang@delysid.org>
6581         * erc.el:
6582         erc-part|quit-hook is only run on a part|quit directed to our nick, reflect that in the docstring to avoid confusion
6584 2003-05-01  Andreas Fuchs  <asf@void.at>
6586         * erc-truncate.el:
6587         * erc-truncate-buffer-to-size: use fboundp. Scheme takes its toll...
6589 2003-05-01  Jorgen Schaefer  <forcer@users.sourceforge.net>
6591         * erc-truncate.el: remove require of erc-log
6592         (erc-truncate-buffer-to-size): use erc-save-buffer-in-logs when it's
6593         there, else, don't.
6595 2003-04-29  Andreas Fuchs  <asf@void.at>
6597         * erc-log.el, erc-truncate.el, erc.el: erc.el:
6598                 * erc-cmd-QUIT: Remove references to code in erc-log.el, to
6599                   not force autoloading of erc-log.el
6600                 * erc-server-PART: ditto.
6601                 * erc-quit-hook: new hook, run when /quit command is
6602                   processed.
6603                 * erc-cmd-QUIT: use it.
6604                 * erc-part-hook: new hook, run then PART message is
6605                   processed.
6606                 * erc-cmd-PART: use it.
6607                 * erc-connect-pre-hook: new hook, run before connection to IRC
6608                   server is started.
6609                 * erc: use it.
6610                 * erc-max-buffer-size: Move truncation variables and functions
6611                   to erc-truncate.el
6612                 * erc-truncate-buffer-on-save: moved to erc-log.el
6613                 * erc-initialize-log-marker: new function.
6614         * erc-log.el:
6615                 * erc-truncate-buffer-on-save: New defcust here; from erc.el
6616                 * erc-truncate-buffer-on-save: Put it in group `erc-log'
6617                 * erc-log-channels-directory: Remove trailing slash from
6618                   default value.
6619                 * Add functions to erc-connect-pre-hook, erc-part-hook and
6620                   erc-quit-hook to avoid getting autoloaded.
6622         * erc-truncate.el:
6623                 * Contains the truncation functions and defcusts from erc.el.
6624                 * define-erc-module clause added; new erc-truncate-mode.
6626 2003-04-29  Jorgen Schaefer  <forcer@users.sourceforge.net>
6628         * erc.el(erc):
6629         Check whether erc-save-buffer-in-logs is bound, too
6631         * erc.el(erc):
6632         Check whether erc-logging-enabled is bound before using it - not
6633         everyone is using erc-log.el!
6635 2003-04-28  Andreas Fuchs  <asf@void.at>
6637         * erc-log.el:
6638         * while we're at it, remove the (declare (ignore ignore)) statements.
6640         * erc-log.el:
6641         * add autoload statement for erc-log-mode/etc. Sorry for the delay.
6643         * erc-log.el, erc.el: * erc.el:
6644                 - move variables and functions to erc-log.el:
6645                          defgroup `erc-log'
6646                          defcustom `erc-log-channels-directory'
6647                          defcustom `erc-log-insert-log-on-open'
6648                          defcustom `erc-generate-log-file-name-function'
6649                          defun `erc-save-buffer-in-logs' (autoloads from erc-log.el)
6650                          defuns `erc-generate-log-file-name-*'
6651                          defun `erc-current-logfile'
6652                          defun `erc-logging-enabled' (autoloads from erc-log.el)
6653                 - erc-truncate-buffer-to-size: fix for double-saving bug when
6654                   writing out truncated buffer contents. Thanks, lawrence mitchell <wence@gmx.li>!
6655                 - erc-remove-text-properties-region: Fix case for read-only text.
6656                 - erc-send-current-line: update insert-marker before calling the hooks.
6657                                          also, wrap (erc-display-prompt) so that it doesn't toggle
6658                                          buffer-modified-p.
6659                 - erc-interpret-controls: remove /very/ old commented-out function
6660                 - erc-last-saved-position: make it a marker
6661                 - erc: use it.
6663         * erc-log.el: (thanks, lawrence mitchell <wence@gmx.li>!)
6664                 - Move logging code from erc.el here
6665                 - define-erc-module log: add; minor mode erc-log-mode is the
6666                   same as adding the `erc-save-buffer-in-logs' to
6667                   erc-send-post-hook and `erc-insert-post-hook'.
6668                 - erc-w32-invalid-file-characters: add.
6669                 - erc-enable-logging: add.
6670                 - erc-logging-enabled: use it.
6671                 - erc-logging-enabled: autoload.
6672                 - erc-save-buffer-in-logs: fix for truncating saved buffer with read-only text.
6673                 - erc-save-buffer-in-logs: use erc-last-saved-position.
6674                 - erc-save-buffer-in-logs: fix saving half-written messages on
6675                   the prompt when saving the log file. (simply uses
6676                   erc-insert-marker as an upper bound for saving).
6678 2003-04-27  Damien Elmes  <erc@repose.cx>
6680         * erc.el: erc-modules: added
6682 2003-04-27  Alex Schroeder  <alex@gnu.org>
6684         * Makefile(UNCOMPILED): Added erc-compat.el.
6685         (clean): Remove .elc files, too.
6686         Patch by Hynek Schlawack <hynek+erc@hys.in-berlin.de>
6688 2003-04-22  Damien Elmes  <erc@repose.cx>
6690         * erc-button.el:
6691         erc-button-keymap: set the parent keymap to erc-mode-map
6693 2003-04-20  Damien Elmes  <erc@repose.cx>
6695         * erc.el:
6696         erc-official-location: shouldn't the official location be the base URL of erc?
6698         * erc.el:
6699         erc-modules: updated the docstring to make the semantics clearer
6701 2003-04-19  Mario Lang  <mlang@delysid.org>
6703         * erc.el:
6704         Fix problem where % in NOTICE produced errors (from mmc)
6706 2003-04-18  Damien Elmes  <erc@repose.cx>
6708         * erc.el(erc-toggle-debug-irc-protocol):
6709         moved a reference to 'buf' inside the let
6710             statement which defines it. it's difficult to tell what the original
6711             intentions were here - at the moment the debug window is displayed when
6712             toggling either way.
6714         * README, erc.el:
6715         (erc-update-modules: added a condition in for erc-nickserv -> erc-services
6717         * erc-pcomplete.el:
6718         - that change to erc-update-modules making it require the modules first means
6719           we don't need any special case handling here, so i reverted the previous
6720           change
6722         * erc.el:
6723         - don't require 'erc-auto, since windows users don't have access to make.
6724           instead, we handle it in (erc-update-modules)
6726 2003-04-17  Damien Elmes  <erc@repose.cx>
6728         * README, Makefile:
6729         Updated Makefile and documentation to reflect the new release
6731         * erc.el:
6732         - note the previous change also updated the release number to erc 4.0!
6733         (erc-connect): fix a bug introduced by the previous release
6735         * erc.el:
6736         fixed about 20 instances of (message (format ...)) which will break if the
6737         format returns a string with %s in it
6739         * erc.el: erc-error-face: make it red, not pink
6741         * erc-pcomplete.el:
6742         since pcomplete is autoloaded via erc-completion-mode, and completion is in
6743         erc-modules by default, we remove completion when pcomplete is added
6745         * erc.el(define-erc-module): no need for delete, use delq
6747         * erc-members.el(erc-nick-channels):
6748         (erc-person-channels) takes one arg
6749         (erc-format-user): again, they all take an arg
6751         * erc.el:
6752         - require erc-auto when loading, so the default `erc-modules' can be loaded.
6753           this makes erc-auto no longer a convenience but a necessity - all the name
6754           of user friendliness.
6755         (define-erc-module): the enable and disable routines now update erc-modules
6756             accordingly
6757         erc-modules: new variable controlling the modules which erc has loaded/will
6758             load. when customizing, it will automatically enable modules. it won't
6759             automatically disable modules which are removed, yet.
6760         (erc-update-modules): enable all modules in `erc-modules'
6762         * erc-dcc.el(erc-dcc-open-network-stream):
6763         use the -nowait equiv if available
6764         erc-dcc-server-port: removed
6765         erc-dcc-port-range: allows a range of values, so you can have more than one
6766             dcc
6767         (erc-dcc-server): support erc-dcc-port-range
6768         (erc-dcc-chat): use OCHAT for outgoing chat for now. we need to fix the
6769             issues with allowing more than one chat with the same person
6771         * erc.el:
6772         erc-log-channels: removed; set the directory to start logging
6773         (erc-directory-writeable-p): create directory if it doesn't exist, check if
6774             it's writable
6775         (erc-logging-enabled): don't reference erc-log-channels
6777 2003-04-07  Damien Elmes  <erc@repose.cx>
6779         * erc.el(erc):
6780         but when inserting the contents of a previous logfile, use the logfile
6781             name, not ""!
6783         * erc.el(erc):
6784         set buffer-file-name to "", since we have a custom saving function and
6785             it's not needed. this enables one to open a log file with previous
6786             correspondence, while talking to the person at the same time
6788 2003-03-29  Francis Litterio  <franl@users.sourceforge.net>
6790         * erc.el(erc-prepare-mode-line-format):
6791         Now strips all text properties from the target before
6792             putting it in the mode line.  Keeps the mode line looking consistent.
6793         (erc-channel-p): Improved docstring.
6795 2003-03-28  Alex Schroeder  <alex@gnu.org>
6797         * erc.el(erc-generate-log-file-name-with-date): New function.
6798         (erc-generate-log-file-name-function): Make it available.
6800 2003-03-24  Mario Lang  <mlang@delysid.org>
6802         * erc.el:
6803         Fix erc-prompt and erc-user-mode custom :type (Closes: #185794)
6805 2003-03-20  Damien Elmes  <erc@repose.cx>
6807         * erc.el:
6808         erc-server-hook-list: correct documentation of ordering of (proc parsed)
6810 2003-03-16  Alex Schroeder  <alex@gnu.org>
6812         * erc-track.el(erc-modified-channels-string):
6813         Make it a risky-local-variable.
6815 2003-03-16  Jorgen Schaefer  <forcer@users.sourceforge.net>
6817         * erc-track.el(erc-track-modified-channels):
6818         Use (point-min) if we don't find a
6819         parsed-property, so it won't error out with nil...
6821 2003-03-16  Damien Elmes  <erc@repose.cx>
6823         * erc-track.el(erc-track-switch-buffer):
6824         removed call to erc-modified-channels-update, as
6825             this is done correctly on buffer switching in both emacs and xemacs now
6827 2003-03-15  Damien Elmes  <erc@repose.cx>
6829         * erc-track.el(erc-find-parsed-property):
6830         simplified a little, so it shouldn't return nil anymore
6832         * erc.el: erc-send-post-hook: document narrowing which occurs
6834 2003-03-14  Alex Schroeder  <alex@gnu.org>
6836         * erc-track.el(erc-find-parsed-property): New function.
6837         (erc-track-modified-channels): Use it instead of relying on
6838         point-min.
6840 2003-03-12  Mario Lang  <mlang@delysid.org>
6842         * erc.el:
6843         Fix erc-set-topic to accept a channel name as first word
6845 2003-03-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
6847         * erc-dcc.el:
6848         Small patch (<10 lines, also slightly modified by Jorgen Schäfer) from
6849         David Spreen <netzwurm@debian.org> to add hostmask-authentication to
6850         DCC auto-accept.
6852         erc-dcc-auto-mask-list: New variable
6853         (erc-dcc-handle-ctcp-send): Check erc-dcc-auto-mask-list
6854         (erc-dcc-auto-mask-p): New function
6855         erc-dcc-send-request: Docstring now mentions erc-dcc-auto-mask-list
6857 2003-03-10  Francis Litterio  <franl@users.sourceforge.net>
6859         * erc-ring.el(erc-clear-input-ring):
6860         New function.  Erases the contents of the input ring for
6861            the current ERC buffer.
6863 2003-03-08  Francis Litterio  <franl@users.sourceforge.net>
6865         * erc.el:
6866         (erc-display-line-1) and (erc-send-current-line): Now these functions reset erc-insert-this
6867             to t as soon as possible after consuming the value of that variable.  See the comments in
6868             the code for the strange symptom this fixes.
6869         (erc-bol): Changed to call point-at-eol instead of line-end-position.  This increases XEmacs
6870             portability, since XEmacs doesn't have line-end-position.  Patch suggested by Scott Evans
6871             on the ERC mailing list.
6873 2003-03-04  Damien Elmes  <erc@repose.cx>
6875         * erc.el: banlist*: patch from mrbump to avoid using cl packages
6877 2003-03-04  Francis Litterio  <franl@users.sourceforge.net>
6879         * erc.el:
6880         Changed erc-noncommands-list from a constant to variable, so that users can
6881             add their own erc-cmd-* functions to the list.  Improved the docstring too.
6883 2003-03-02  Francis Litterio  <franl@users.sourceforge.net>
6885         * erc.el(erc-server-353):
6886         Now the output of "/NAMES #channel" appears in the currently
6887             active ERC buffer, even if the user is not a member of #channel.
6889         * erc.el(erc-cmd-DEOP):
6890         Fixed a syntax error: invalid read syntax ")" caused by my last change.
6892 2003-03-01  Francis Litterio  <franl@users.sourceforge.net>
6894         * erc.el(erc-cmd-DEOP):
6895         Fixed a wrong-type-argument error caused by calling split-string
6896             on a list instead of on a string.  Removed the call to split-string entirely,
6897             because it wasn't needed.
6899         * erc.el(erc-cmd-HELP):
6900         Changed to use intern-soft instead of intern.  Now "/HELP floob"
6901             doesn't create a void function symbol erc-cmd-FLOOB.
6903 2003-02-25  Damien Elmes  <erc@repose.cx>
6905         * erc.el(erc-cmd-SERVER):
6906         remove erroneous references to line, use server instead
6908 2003-02-23  Francis Litterio  <franl@users.sourceforge.net>
6910         * erc.el(erc-toggle-debug-irc-protocol):
6911         Fixed a bug where the global value of
6912             kill-buffer-hook was being modified instead of the buffer-local value.
6914 2003-02-22  Francis Litterio  <franl@users.sourceforge.net>
6916         * erc.el(erc-cmd-KICK):
6917         Now supports any number of words in the REASON string.  Examples
6918             of the /KICK command are:
6919               /KICK franl You don't belong here
6920               /KICK franl Bye
6921               /KICK franl
6922               /KICK #channel franl Go away now
6923               /KICK #channel franl Bye
6924               /KICK #channel franl
6926 2003-02-16  Jorgen Schaefer  <forcer@users.sourceforge.net>
6928         * erc-stamp.el(erc-insert-timestamp-right):
6929         Make the timestamp rear-nonsticky, so
6930         C-e works at the beginning of the next line.
6932 2003-02-16  Andreas Fuchs  <asf@void.at>
6934         * erc-stamp.el:
6935         * s/choose/choice/ in customize options, as kensanata requested.
6937 2003-02-15  Francis Litterio  <franl@users.sourceforge.net>
6939         * erc.el(erc-toggle-debug-irc-protocol):
6940         Now if the *erc-protocol* buffer is killed,
6941             logging is turned off.  Prior to this change, the buffer would come back
6942             into existence (generally unbeknownst to the user) after being killed.
6944 2003-02-11  Damien Elmes  <erc@repose.cx>
6946         * erc.el(erc-send-current-line):
6947         we can't inhibit everything here when not connected,
6948             as the user will expect commands like /server still to work. the
6949             erc-cmd-handler should recover from errors instead
6951 2003-02-10  Damien Elmes  <erc@repose.cx>
6953         * erc.el:
6954         * we now run erc-after-connect on 422 (no motd) messages as well as the motd
6955           messages
6956         (erc-login): revert the previous change
6958         * erc.el(erc-login): register that we're connected
6960 2003-02-10  Mario Lang  <mlang@delysid.org>
6962         * erc-members.el: * Provide erc-members
6963         * Fix excessive )
6964         * Comment out broken self-tests
6966 2003-02-07  Damien Elmes  <erc@repose.cx>
6968         * erc.el(erc-connect):
6969         notify the user we're trying to connect when using asych
6970             connections
6972         * erc.el(erc-connect): support an asynchronous connection
6973         (erc-process-sentinel): ditto
6975         * erc-track.el:
6976         * advise switch-to-buffer in the case of xemacs, since it doesn't have
6977           window-configuration-change-hook
6979         * erc.el(erc-send-current-line):
6980         if not connected, refuse to send either a message or
6981             a command
6983         * erc.el: (erc-save-buffer-in-logs):
6984             - check for a sensible region before saving the buffer. if the
6985               connection process is killed early on, there is not a sensible region
6986               to save
6987             - don't set buffer-file-name on save. we don't need it, and it means we
6988               can now find-file a log while an existing query is open with that
6989               user
6991         * erc.el(erc-process-input-line):
6992         when displaying the help for a function, if no
6993             documentation exists, don't fall over
6994         (erc-cmd-SAY): new function for quoting lines beginning with /
6995         (erc-server-NICK):
6996             - fix a bug where the "is now known as" message doesn't appear on newly
6997               created /query buffers
6998             - when a user changes their nick, update the query to point to the new
6999               nick
7001         * erc.el(erc-send-current-command):
7002         don't reject multi-line commands. since
7003             multiline-p is used as the no-command arg to erc-process-current-line,
7004             multi-line text is never interpreted as a command. i believe this is the
7005             correct behavior - it allows people to post the output of things like df
7006             (sans header). if you want to change this, please provide a rationale
7007             in the changelog
7009         * erc.el(erc-send-current-line):
7010         only match the first line when determining if a
7011             multi-line command is allowed
7013 2003-02-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
7015         * erc-bbdb.el(erc-bbdb-highlight-record):
7016         Use alternate strings, not character
7017         classes to split the nick-field.
7019 2003-02-06  Francis Litterio  <franl@users.sourceforge.net>
7021         * erc.el(erc-process-sentinel):
7022         Now we set erc-connected to nil every time we disconnect
7023             from a server, not just when an unexpected disconnect happens.
7025         * erc.el(erc-connected):
7026         Removed redundant defvar of this variable.  Improved the
7027             docstring.
7028         (erc-login): Changed to send a correct RFC2812 USER message (see section
7029             3.1.3 of RFC2812 for the documentation of the semantics of each argument
7030             of the USER message.
7032 2003-02-02  Damien Elmes  <erc@repose.cx>
7034         * erc.el(erc-cmd-NOTICE): fix from mrbump
7036 2003-01-31  Francis Litterio  <franl@users.sourceforge.net>
7038         * erc.el(erc-cmd-JOIN):
7039         Now we only send one JOIN command to the server when a channel
7040             key is provided.
7042 2003-01-30  Francis Litterio  <franl@users.sourceforge.net>
7044         * erc.el(erc-remove-channel-member):
7045         Fixed so that it runs erc-channel-members-changed-hook
7046             with the channel buffer current, as is documented in the docstring for variable
7047             erc-channel-members-changed-hook: "The buffer where the change happened is
7048             current while this hook is called."
7050 2003-01-28  Francis Litterio  <franl@users.sourceforge.net>
7052         * erc.el:
7053         (erc-ignored-user-p),(erc-cmd-IGNORE),(erc-cmd-UNIGNORE): Now nicks are ignored
7054             on a per-server basis.  Now, erc-ignore-list is only valid in server
7055             buffers!  Do not reference it in channel buffers.
7057         * erc.el(erc-cmd-IGNORE):
7058         Now says "Ignore list is empty" if it erc-ignore-list is empty
7059             instead of showing an empty list.
7061 2003-01-25  Alex Schroeder  <alex@gnu.org>
7063         * erc-nickserv.el(services): Defined a module
7065 2003-01-25  Jorgen Schaefer  <forcer@users.sourceforge.net>
7067         * erc.el(erc-process-ctcp-query):
7068         Display recipient of CTCP query if it's not
7069         our current nick.
7071         * erc.el(erc-cmd-WHOIS):
7072         Accept an optional second argument SERVER.
7074 2003-01-25  Alex Schroeder  <alex@gnu.org>
7076         * erc-stamp.el(stamp): erc-add-timestamp must always be added
7077         with the APPEND parameter -- not only when adding it on the right.
7079 2003-01-24  Alex Schroeder  <alex@gnu.org>
7081         * erc-members.el(erc-channel-members-changed-hook): Obsolete, use
7082         erc-members-changed-hook instead.  When it is set, add its content
7083         to erc-members-changed-hook.
7084         (erc-update-channel-member): Obsolete, use erc-update-member
7085         instead.  Defalias to that effect.
7086         (erc-remove-channel-member): New and already obsolete.  Use
7087         erc-remove-nick-from-channel instead.
7088         (erc-update-channel-info-buffer): Obsolete, use ignore instead.
7089         Yes, these have to go.
7090         (erc-channel-member-to-user-spec): Obsolete, use erc-format-user
7091         instead.
7092         (erc-format-user): New.
7093         (erc-ignored-reply-p): New, use it.
7095         * erc-members.el:
7096         Further along the way.  Any function from erc.el that uses
7097         channel-members should end up in this file, rewritten to use
7098         erc-members.
7100         (erc-person): Call erc-downcase before getting
7101         something from the hash.
7102         (erc-nick-in-channel): Checking whether erc-process must be used is
7103         unnecessary -- this will be done in erc-person.
7104         (erc-nick-channels): New.
7105         (erc-add-nick-to-channel, erc-update-member): Call erc-downcase
7106         before putting something into the hash.
7107         (erc-buffer-list-with-nick): New.
7108         (erc-format-nick, erc-format-@nick): New, backwards incompatible.
7109         Must check for other places that call these!
7110         (erc-server-PRIVMSG-or-NOTICE): Use the new version.
7112         * erc-compat.el(view-mode-enter): defalias to view-mode, if
7113         view-mode-enter is not fboundp and view-mode is -- as is the case
7114         in XEmacs.  We need view-mode-enter in erc-match.el.
7116 2003-01-23  Francis Litterio  <franl@users.sourceforge.net>
7118         * erc.el(erc-default-server-handler):
7119         Minor performance improvement: allow the lambda
7120             expression to be byte-compiled.
7122 2003-01-23  Damien Elmes  <erc@repose.cx>
7124         * erc.el(erc-cmd-BANLIST):
7125         in the absence of a fill-column, use the screen width
7127 2003-01-22  Damien Elmes  <erc@repose.cx>
7129         * erc.el:
7130         patch from MrBump to delay fetching the banlist until /bl is run, so we don't
7131         fetch it when joining a channel anymore
7133         * erc-ring.el:
7134         * instead of adjusting hooks when loaded, provide (erc-ring-mode). you'll
7135           need to run (erc-ring-mode 1) now to get the ring
7136         * (erc-previous-command), (erc-next-command):
7137             - check if the ring exists and create it if necessary
7138             - don't do anything if the ring is empty
7140         * erc-pcomplete.el:
7141         Put "how to use" documentation in the comments up the top
7143 2003-01-21  Alex Schroeder  <alex@gnu.org>
7145         * erc-autojoin.el(erc-autojoin-version): New.
7147         * erc-autojoin.el(erc-autojoin-add): Added body.
7148         (erc-autojoin-remove): Added body.
7149         (erc-autojoin): Provide it.
7151 2003-01-21  Damien Elmes  <erc@repose.cx>
7153         * erc.el: erc-cmd-*: removed a bunch of references to force
7155 2003-01-21  Alex Schroeder  <alex@gnu.org>
7157         * erc-autojoin.el(erc-autojoin-channels-alist): More doc.
7159 2003-01-20  Alex Schroeder  <alex@gnu.org>
7161         * erc-autojoin.el:
7162         new, based on resolve's mail, and the stuff on the wiki
7164         * erc-members.el: new
7166 2003-01-19  Mario Lang  <mlang@delysid.org>
7168         * debian/README.Debian, debian/changelog, debian/scripts/install,
7169           debian/scripts/startup.erc, Makefile:
7170         Prepare for 20030119 debian package
7172         * erc-dcc.el: <rant>
7173         * (erc-decimal-to-ip): Since XEmacs decides that return a completely
7174         and utterly wrong number from string-to-number if it is larger than
7175         the integer boundary, instead of sanely converting the thing to
7176         a float, we now (concat dec ".0").
7177         </rant>
7179         * erc.el:
7180         * (erc-log-irc-protocol): Use erc-propertize, not propertize
7182 2003-01-19  Alex Schroeder  <alex@gnu.org>
7184         * erc-button.el(erc-button-add-buttons): Added regexp-quote for
7185         the list case, too.
7187 2003-01-19  Damien Elmes  <erc@repose.cx>
7189         * erc-dcc.el(erc-dcc-member): fix for case where a prop is nil
7191         * erc-dcc.el(erc-dcc-member):
7192         fix for xemacs's version of plist-member
7194 2003-01-19  Mario Lang  <mlang@delysid.org>
7196         * erc-notify.el: Delete empty strings from the ison-list
7198         * erc-track.el:
7199         * (erc-track-switch-buffer): Call erc-modified-channels-update here.
7201         * erc-track.el: * toplevel: require 'erc-match
7203         * erc-track.el: * (erc-track-mode): Make autoload interactive
7205         * erc-button.el: * (button): Make the autoload interactive
7207         * erc.el:
7208         * (erc-mode): Comment out the case-table stuff, breaks xemacs
7209         * (erc-downcase): Revert.
7211         * erc-dcc.el:
7212         * (erc-dcc-handle-ctcp-send): Use erc-decimal-to-ip on the ip we get...
7214         * erc-speak.el:
7215         Eliminate reference to erc-nick-regexp, which no longer exists
7217 2003-01-19  Alex Schroeder  <alex@gnu.org>
7219         * erc-stamp.el(erc-timestamp-right-column): New, default nil.
7220         (erc-insert-timestamp-right): Use it, if non-nil.  Verbose
7221         doc string.
7223 2003-01-18  Jorgen Schaefer  <forcer@users.sourceforge.net>
7225         * erc.el(erc-downcase): Use the old behavior in non-CVS Emacs.
7227         * erc.el(erc-cmd-QUIT): Remove &rest. The correct fix follows.
7228         (erc-cmd-GQUIT): Pass "" to erc-cmd-QUIT.
7229         (erc-mode): Use the case-table only in CVS Emacs. See comment.
7231         * erc.el(erc-cmd-QUIT): make reason optional.
7233         * erc.el(erc-cmd-GQUIT): Fixed typo.
7235 2003-01-17  Mario Lang  <mlang@delysid.org>
7237         * erc.el:
7238         * (erc-current-logfile): call expand-file-name, so that downcase doesn't mess up ~
7240         * erc.el: * (erc-mode): Define a proper case-table.
7241         * (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...
7243         * erc-button.el: * (erc-button-add-buttons): regex-quote the nick
7245 2003-01-17  Alex Schroeder  <alex@gnu.org>
7247         * erc-button.el(button): erc-channel-members-changed-hook no
7248         longer has erc-recompute-nick-regexp.
7249         (erc-button-alist): Use channel-members instead of
7250         erc-nick-regexp.
7251         (erc-button-add-buttons): Split some code into
7252         erc-button-add-buttons-1, and now handle strings, lists, and
7253         alists.  Regular expressions in lists and alists are enclosed in
7254         < and >.
7255         (erc-button-add-buttons-1): New.
7256         (erc-nick-regexp): Deleted.
7257         (erc-recompute-nick-regexp): Deleted.
7259         * erc-button.el: Remove require cl again.
7260         (erc-mode-map): No longer bind widget-backward and widget-forward.
7261         (erc-button-alist): Explain why byte-compiling makes no sense, and
7262         remove all calls to byte-compile.
7263         (erc-button-keymap): Define it the standard way, without exposing
7264         the list nature of the keymap.
7265         (erc-button-marker-list): Deleted.
7266         (erc-button-add-buttons): Simplify.  In particular, create the
7267         button using the real callback, instead of using the intermediate
7268         erc-button-push, and only store the data as described for
7269         erc-button-alist.
7270         (erc-button-remove-old-buttons): Simplify.  No more list munging.
7271         Instead, just remove all the properties that we add in
7272         erc-button-add-button.
7273         (erc-widget-press-button): Deleted.
7274         (erc-button-click-button): New, for mouse clicks.  Moves point to
7275         where the mouse is, and calls erc-button-push.
7276         (erc-button-push): Instead of matching again, just use the
7277         erc-callback and erc-data properties at point to do the right
7278         thing.
7279         (erc-button-entry): Deleted.
7280         (erc-button-next): Use error instead of the beep plus message
7281         combo.
7283 2003-01-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
7285         * erc-autoaway.el(erc-autoaway-set-back):
7286         Don't pass a force argument to erc-cmd-GAWAY.
7288         * erc.el(erc-cmd-AWAY): Removed usage of the force variable.
7290 2003-01-17  Alex Schroeder  <alex@gnu.org>
7292         * erc-button.el(button):
7293         erc-recompute-nick-regexp is no longer added to
7294         erc-channel-members-changed-hook unconditionally, but only if
7295         erc-button-mode is enabled, and if it is disabled, it is removed
7296         again.
7297         (erc): Require cl for delete-if.
7298         (erc-button-remove-old-buttons): Rewrote using delete-if to
7299         prevent excesive consing.  Having the marker list is still ugly,
7300         so another solution needs to be found.
7302 2003-01-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
7304         * erc.el(erc-banlist-store):
7305         Don't assume there's always a setter in the banlist reply.
7307 2003-01-17  Alex Schroeder  <alex@gnu.org>
7309         * erc-button.el(erc-button-url-regexp): Changed regexp according
7310         to a suggestion by Max Froumentin <mf@w3.org>.
7312 2003-01-17  Mario Lang  <mlang@delysid.org>
7314         * erc.el:
7315         fix erc-remove-channel-member again to not error out on nil as first arg...
7317         * erc.el: * (erc-occur): New function
7319 2003-01-17  Damien Elmes  <erc@repose.cx>
7321         * erc.el: erc-banlist-*: return nil so further hooks are called
7323         * erc.el(erc-server-368):
7324         suppress "end of ban list" messages - use /listbans now
7326         * erc.el(erc-send-current-line):
7327         removed the check for leading whitespace again - the
7328             only time we want to prohibit multi-line commands is if / is the first
7329             thing on the line
7330         (erc-get-arglist): new defun for reading a function's arglist which should
7331             work with older copies of emacs. we use help-function-arglist if it's
7332             available, though, since that has support for reading subrs, etc
7334         * erc.el(erc-cmd-JOIN): fixed (again)
7336         * erc.el: * fixed call to erc-cmd-NICK when connecting
7337         * support for listing bans and mass unbanning, again thanks to MrBump
7339         * erc.el(erc-set-topic):
7340         patch from MrBump (Mark Triggs, mst@dishvelled.net) to strip
7341             control chars and topic attribution in C-c C-t
7343 2003-01-16  Mario Lang  <mlang@delysid.org>
7345         * erc.el:
7346         * (erc-remove-channel-member): Do not use delq, modify the list using setcdr like delq does.
7347         In theory, this should be way faster since the list doesn't get traverse two times.
7348         Measurement didn't show any real difference though :(, this system is flawed for channels with >300 users it seems...
7349         Also moved some defcustoms up.
7351 2003-01-16  Brian P Templeton  <bpt@tunes.org>
7353         * erc.el: moved misplaced paren
7355 2003-01-16  Damien Elmes  <erc@repose.cx>
7357         * erc.el(erc-cmd-UNIGNORE):
7358         reference argument directly - no string matching
7360         * erc.el(erc-extract-command-from-line):
7361         hmm, thinko in the canonicalization. should
7362             be fixed
7364 2003-01-16  Francis Litterio  <franl@users.sourceforge.net>
7366         * erc.el(erc-send-current-line):
7367         Changed the regexp used to match /COMMANDs so that leading
7368             whitespace is taken into account.
7370 2003-01-16  Mario Lang  <mlang@delysid.org>
7372         * erc-dcc.el: * (erc-dcc-do-SEND-command): Fix it
7374         * erc-ezbounce.el, erc-lang.el: Arglist changes...
7376         * erc.el: Various docstring fixes and additions.
7378         * erc-notify.el:
7379         * (erc-cmd-NOTIFY): Change the function arglist to (&rest args)
7381         * erc-netsplit.el: * (erc-cmd-WHOLEFT): Has no args...
7383 2003-01-16  Damien Elmes  <erc@repose.cx>
7385         * erc-fill.el:
7386         erc-fill-column: default to 78, so things like docstrings don't get wrapped
7387             in an ugly manner
7389 2003-01-16  Mario Lang  <mlang@delysid.org>
7391         * erc.el:
7392         * (erc-cmd-default): Take a substring, now /mode works again.
7393         * (erc-cmd-AWAY): Put do-not-parse-args t
7394         * (erc-cmd-GAWAY): Ditto, and fix it.
7395         * (erc-cmd-CTCP): Switch to argument system.
7396         * (erc-cmd-KICK): Do the same.
7398 2003-01-15  Mario Lang  <mlang@delysid.org>
7400         * erc-dcc.el:
7401         * (erc-cmd-DCC): Fixed for the new scheme, simplified.
7402         * (erc-dcc-do-CHAT-command): Ditto.
7403         * (erc-dcc-do-CLOSE-command): Ditto.
7404         * (erc-dcc-do-LIST-command): Ditto.
7406 2003-01-15  Damien Elmes  <erc@repose.cx>
7408         * erc.el:
7409         erc-error-face: setting a background doesn't work so well with multi-line
7410             messages, so we don't. fg color is negotiable ;-)
7411         (erc-cmd-QUERY): fixed, new doco, suppress (erc-delete-query) until we fix it
7412         (erc-send-current-line): allow multi-line messages provided they don't start
7413             with a slash - there's no need to prohibit them if the slash isn't the
7414             first character
7416         * erc.el: * bad-syntax now reports like incorrect-args
7417         * bunch of extra cmds fixed, nick, sv etc.
7419         * erc.el(erc-cmd-HELP): fixed
7420         (erc-extract-command-from-line): when determining canon-defun, make sure we
7421             have a valid symbol
7422         (erc-cmd-KICK): fixed
7424         * erc.el:
7425         * removed duplicate do-no-parse-args properties for the defaliased defuns
7426         (erc-process-input-line): show function signature when incorrect args
7427         (erc-extract-command-from-line): canonicalize defaliases before extracting
7428             plist
7429         (erc-cmd-CLEAR): fixed
7430         (erc-cmd-UNIGNORE): fixed again
7432         * erc.el(erc-cmd-SET): fixed
7433         (erc-cmd-UNIGNORE): fixed
7434         (erc-process-input-line): report when incorrect arguments are provided to a
7435             command, and show the command's docstring
7437         * erc.el(erc-cmd-APPENDTOPIC): fixed
7438         (erc-process-input-line): more informative error message than 'bad syntax'
7440 2003-01-15  Mario Lang  <mlang@delysid.org>
7442         * erc.el: * (erc-cmd-IGNORE): fixed
7444         * erc.el: * (erc-cmd-NAMES): fixed
7446         * erc.el:
7447         * (erc-cmd-CLEARTOPIC): Simplify, fix doc, make interactive
7449 2003-01-15  Damien Elmes  <erc@repose.cx>
7451         * erc.el(erc-cmd-JOIN):
7452         correct invite behavior, and document it.
7454 2003-01-15  Mario Lang  <mlang@delysid.org>
7456         * erc.el: * (erc-cmd-PART): Put 'do-not-parse-args t
7458 2003-01-15  Damien Elmes  <erc@repose.cx>
7460         * erc.el(erc-cmd-JOIN): new cmd argument syntax
7461         (erc-process-input-line): check if (erc-extract-command-from-line) returned a
7462             list, and apply if that's the case
7464         * erc.el:
7465         erc-cmd-*: remove optional force and references to `force' in the code
7466         (erc-cmd-AMSG): call erc-trim-string, not trim-string
7468 2003-01-15  Mario Lang  <mlang@delysid.org>
7470         * erc.el:
7471         * (erc-cmd-CLEARTOPIC): LINE is now ARGS and already parsed.
7472         Set erc-cmd-TOPIC to 'do-not-parse-args for now.
7473         (comment: I think we should have 'first, so that only first word is parsed...
7474          Or we could autodetect erc-channel-p in the parser before that somehow...)
7476         * erc.el: * (erc-cmd-OP): LINE is PEOPLE now, and already parsed.
7478         * erc-notify.el:
7479         * (erc-cmd-NOTIFY): Arg LINE is now ARGS, and already parsed.
7481 2003-01-15  Jorgen Schaefer  <forcer@users.sourceforge.net>
7483         * erc-stamp.el(erc-insert-timestamp-right):
7484         Prefer erc-fill-column to window-width,
7485         because on wide screens the timestamp could wander off too far to the
7486         right.
7488 2003-01-15  Mario Lang  <mlang@delysid.org>
7490         * erc.el: This is the "everything is suddenly broken!" release
7491         You know, this is CVS, you can still go back, and wait until the transition
7492         is finished, but here is patch one, which basically breaks every command
7493         which is typed on the prompt.
7494         Hit me, we can still revert, but something needs to be done about this.
7495         * (erc-extract-command-from-line): intern-soft the function here.
7496         If the function symbol has a property 'do-not-parse-args, operate as before,
7497         otherwise, split the arguments prior to calling the command handler.
7498         * (erc-process-input-line): Updated to accommodate the change above.
7499         * (erc-send-distinguish-noncommands): Ditto.
7500         * (erc-cmd-NAMES): Ditto.
7501         * (erc-cmd-ME): Put 'do-not-parse-args property.
7503         * erc-dcc-list: Renamed
7504         * (erc-dcc-member). Treat :nick as either a nick!user@host or nick,
7505         do appropriate comparisons, simplified.
7506         * (erc-dcc-list-add): New functions
7507         various callers of (cons (list ...) erc-dcc-list) updated.
7508         Other stuff I'm too bored to document now
7510 2003-01-15  Jorgen Schaefer  <forcer@users.sourceforge.net>
7512         * erc-stamp.el(erc-insert-timestamp-right):
7513         Removed redundant code that overrid the
7514         window-width. Now subtracts (length string) from every found
7515         indentation positions.
7517 2003-01-14  Mario Lang  <mlang@delysid.org>
7519         * erc.el:
7520         * (erc-cmd-AMSG): Remove useless call to erc-display-message.
7522         * erc-dcc.el:
7523         * erc-dcc-chat/send-request: New variables, control how to treat
7524         incoming dcc chat or send requests. Can be set to 'ask, which behaves
7525         like it did before, 'auto, which accepts automatically, and
7526         'ignore, which ignores those type of requests completely.
7527         * (erc-cmd-CREQ): New user-level command.
7528         * (erc-cmd-SREQ): Ditto.
7530         * erc.el: * (erc-cmd-AMSG). New command.
7532         * erc-xdcc.el: * (erc-xdcc): delete empty strings from ARGS
7534         * erc-dcc.el: * erc-dcc-ipv4-regexp: New constant
7535         * (erc-ip-to-decimal): Use it.
7536         * erc-dcc-host:valid-regexp erc-dcc-ipv4-regexp:
7537         * erc-dcc-host: :type
7538         * (pcomplete/erc-mode/DCC): Add completion for GET and CLOSE.
7539         * Some docstring/comment fixes.
7541         * erc-stamp.el:
7542         * (erc-insert-timestamp-right): Subtract (length string) from
7543         POS in any case, otherwise, linewrap occurs.
7545         * erc-dcc.el:
7546         * Fixed the unibyte-multibyte problem (now a dcc get buffer is (set-buffer-multibyte nil),
7547           and saves correctly (tried with 21.3.50)). Thanks to Eli for suggesting it!
7548         * Added :start-time plist property/value to GET handling so that we can calculate elapsed-time.
7549         * Some (unwind-protect (progn (set-buffer ...) ...)) constructs replaced with (with-current-buffer ...)
7551 2003-01-13  Mario Lang  <mlang@delysid.org>
7553         * erc-xdcc.el:
7554         * erc-xdcc-help-text: New variable which makes replies to the originator
7555         much more flexible.
7556         * erc-xdcc-help-format: Removed.
7557         * (erc-xdcc-help): Handle the new variable.
7558         * (erc-xdcc): Simplified
7560         * erc-xdcc.el: * erc-xdcc-handler-alist: New variable.
7561         * (erc-xdcc): Move code for list and send sub-commands into
7562         * (erc-xdcc-help): New function.
7563         * (erc-xdcc-list): New function.
7564         * (erc-xdcc-send): New function.
7566 2003-01-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
7568         * erc.el(erc-server-JOIN):
7569         Oops, send MODE command only when *we* joined a channel.
7571         * erc.el:
7572         Fixing ERCs behavior wrt IRCnet's !channels have a different name for
7573         JOIN than in reality (e.g. you can join !forcertest or !!forcertest
7574         and really get to !ABCDEforcertest)
7576         (erc-cmd-JOIN): Removed erc-send-command MODE.
7577         (erc-server-JOIN): Ask for MODE now.
7579 2003-01-12  Damien Elmes  <erc@repose.cx>
7581         * erc-dcc.el:
7582         (erc-dcc-get-filter), (erc-dcc-get-file): store size as a string, not an
7583             integer. check size > 0 for the case where a size wasn't provided, since
7584             string-to-int will return 0 on an empty string
7586 2003-01-12  Mario Lang  <mlang@delysid.org>
7588         * erc-dcc.el: * Use RAWFILE arg with find-file-noselect
7589         * Fix alist/plist conversion left-over
7590         * Add verbose-info about sending blocks.
7592 2003-01-11  Mario Lang  <mlang@delysid.org>
7594         * erc-dcc.el: * (pcomplete-erc-mode/DCC): Fixes
7596         * erc-xdcc.el: Initial version.
7598         * erc-pcomplete.el:
7599         * (erc-pcomplete): Fix so that cycle-completion works again.
7600         * (pcomplete-parse-erc-arguments): If there is a space after the last word
7601         before point, we need to return a "" arg, and it's position.
7603         * erc-dcc.el: Fix to pcomplete/erc-mode/DCC
7605         * erc-dcc.el: * (pcomplete/erc-mode/DCC): New function
7607         * erc-dcc.el: *** empty log message ***
7609         * erc-dcc.el: Move code around, just basic changes
7611 2003-01-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
7613         * erc-stamp.el(erc-insert-timestamp-right):
7614         Check whether erc-fill-column is
7615         available before using it. Else default to fill-column or if
7616         everything else fails, the window width of the current window. For the
7617         fill-columns, use them directly as the starting position for the
7618         timestamp.
7620 2003-01-11  Andreas Fuchs  <asf@void.at>
7622         * erc-stamp.el:
7623         erc-insert-timestamp-right: use correct window's window-width. If
7624                           buffer is not in a window, use erc-fill-column.
7626 2003-01-11  Mario Lang  <mlang@delysid.org>
7628         * erc-dcc.el (erc-dcc-do-LIST-command): Fix
7630         * erc-dcc.el:
7631         * buffer-local variables erc-dcc-sent-marker and erc-dcc-send-confirmed marker removed
7632           Keep This info in erc-dcc-member :sent and :confirmed plist values
7633         :buffer plist for :type 'SEND removed, since we can get this with (marker-buffer
7634         * erc-dcc-send-connect-hook: New hook, defaults to erc-dcc-send-block and erc-dcc-send-connected, which now prints a msg...
7636         * erc-dcc.el:
7637         * (erc-dcc-chat-accept): Renamed from erc-dcc-chat. Callers updated.
7638         * (erc-dcc-chat): Renamed from erc-dcc-chat-request.
7639         Callers updated, and interactive form added.
7640         * (erc-dcc-server-accept): No longer do any type-specific stuff.
7641         * (erc-dcc-chat-sentinel): Call erc-dcc-chat-setup if event is "open from "
7642         from here, otherwise call erc-dcc-chat-close.
7644         * (
7646         * erc-dcc.el: *** empty log message ***
7648         * erc-dcc.el: Moved some functions around.
7649         Doc string fixes.
7650         "/dcc send nick filename" works now
7652 2003-01-11  Alex Schroeder  <alex@gnu.org>
7654         * erc.el(erc-send-command): Fixed flood protect message.
7656         * erc-button.el(erc-button-syntax-table): Make `-' a legal nick
7657         constituent.
7659 2003-01-10  Mario Lang  <mlang@delysid.org>
7661         * erc-dcc.el: Some more steps toward dcc send.
7663 2003-01-10  Francis Litterio  <franl@users.sourceforge.net>
7665         * erc-notify.el(erc-notify-timer):
7666         Changed to make it IRC-case-insensitive when comparing nicks.
7667         (erc-notify-JOIN): Changed to make it IRC-case-insensitive when comparing nicks.
7668         (erc-notify-NICK): Changed to make it IRC-case-insensitive when comparing nicks.
7669         (erc-notify-QUIT): Changed to make it IRC-case-insensitive when comparing nicks.
7670         (erc-cmd-NOTIFY): Now "/notify -l" lists the nicks on your notify list.  Now
7671             when you remove a nick from your notify list, you no longer receive a spurious
7672             signoff notification for that nick.  Changed to make it IRC-case-insensitive when
7673             comparing nicks.
7675         * erc.el(erc-ison-p):
7676         Fixed so it calls erc-member-ignore-case instead of member.
7678         * erc.el(erc-member-ignore-case):
7679         New function.  Just like member-ignore-case, but obeys
7680             the IRC protocol case matching rules.
7682 2003-01-10  Damien Elmes  <erc@repose.cx>
7684         * erc-dcc.el:
7685         (erc-dcc-do-GET-command), (erc-dcc-get-file): use the plist syntax, this
7686             fixes dcc get again
7688 2003-01-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
7690         * erc.el: erc-complete-functions: New variable.
7691         erc-mode-map: Bind \t to 'erc-complete-word
7692         erc-complete-word: New function.
7694         * erc-pcomplete.el(erc-pcomplete-mode):
7695         Use new erc-complete-functions
7696         (erc-pcomplete): Check that we're in the input line, else return nil.
7698         * erc-button.el(erc-button-mode): Use new erc-complete-functions
7699         erc-button-old-tab-command: Removed.
7700         (erc-button-next-or-old): Removed
7701         (erc-button-next): check that we're not in the input line, else just return nil.
7703 2003-01-10  Mario Lang  <mlang@delysid.org>
7705         * erc-dcc.el: cleanup
7707         * erc-dcc.el:
7708         * (erc-dcc-chat-request): No longer use erc-send-ctcp-message.
7710         * erc-dcc.el:
7711         * (erc-dcc-no-such-nick): Also call delete-process if we have a peer already
7713         * erc-dcc.el:
7714         * (erc-dcc-no-such-nick): New function, server event handler for event 401.
7715         If we send a CTCP message requesting something dcc related, we set up an
7716         entry in erc-dcc-list before sending the request (for the server proc object
7717         for listening conns for example).  But if that nick does not exist
7718         on that server, we now nicely cleanup erc-dcc-list again.
7720 2003-01-09  Mario Lang  <mlang@delysid.org>
7722         * erc-dcc.el: Moved code around a bit, and doc fixes
7724         * erc-dcc.el: *** empty log message ***
7726         * erc-dcc.el: Rename erc-dcc-plist to erc-dcc-list
7728 2003-01-09  Damien Elmes  <erc@repose.cx>
7730         * erc-dcc.el(erc-dcc-server (erc-dcc-chat-setup):
7731         use erc's (erc-setup-buffer) to determine how to
7732             display new DCC windows
7733         (erc-dcc-chat-buffer-killed): buffer-local hook for DCC buffers to close the
7734             process
7735         (erc-dcc-chat-close): code common to a killed buffer or a disconnection from
7736             the other side
7737         (erc-dcc-chat-sentinel): use (erc-dcc-chat-close)
7738         (erc-dcc-server-accept): use (erc-log) instead of (message)
7740         * erc.el:
7741         (erc), (erc-setup-buffer): factor out window generation code so DCC can use
7742             it too
7744         * erc-dcc.el:
7745         (erc-dcc-do-CLOSE-command), (erc-dcc-do-LIST-command): work with erc-dcc-plist
7747         * erc-dcc.el:
7748         erc-dcc-alist: became erc-dcc-plist, so we can more easily grab particular
7749             properties
7750         dcc catalog: unify use of DCC: and [dcc] (either's fine, but let's be
7751             consistent)
7752         (erc-dcc-member): takes an arbitrary list of constraints now
7753         (erc-dcc-proc-member): removed, as (erc-dcc-member) can be used for this
7754         (erc-dcc-do-CHAT-command): use the catalog to show the user what's going on
7755         (erc-dcc-chat-server): removed
7756         (erc-dcc-server): takes name sentinel and filter arguments, can be used for
7757             both send and chat now
7759         .. this release means all send/get support is broken until we fix up the
7760         things that still expect to be using an alist. this include /dcc list, /dcc
7761         close
7763 2003-01-09  Francis Litterio  <franl@users.sourceforge.net>
7765         * erc-ring.el(erc-previous-command):
7766         If you have a partially typed input line and press M-p,
7767             you lose what you typed.  Now we save it so you can come back to it.
7769 2003-01-09  Jorgen Schaefer  <forcer@users.sourceforge.net>
7771         * erc-ring.el(erc-add-to-input-ring): s/nullp/null/
7773 2003-01-09  Damien Elmes  <erc@repose.cx>
7775         * erc-ring.el(erc-add-to-input-ring):
7776         set up the ring if it's not already setup
7778         * erc-dcc.el(erc-dcc-member): case insensitive match of nicknames
7779         (erc-dcc-do-CHAT-command): echo what we're doing (at least for now)
7781 2003-01-09  Mario Lang  <mlang@delysid.org>
7783         * erc-dcc.el: (temporarily) fix erc-process setting...
7785         * erc-dcc.el: * (erc-dcc-chat-send-line): Removed
7787         * erc.el:
7788         Check if target is stringp (we can now also have 'dcc as value...)
7790         * erc-dcc.el(erc-dcc-chat-send-input-line):
7791         New function, used for
7792         erc-send-input-line-function.
7793         Use erc-send-current-line now.
7795         * erc-dcc.el: evt to elt...
7797         * erc-dcc.el: Remove () from a var (how silly!)
7799         * erc-dcc.el: * (erc-dcc-get-host): Use format-network-address.
7800         * (erc-dcc-host): Change semantic.  If erc-dcc-host is set, use it.
7801         Otherwise, try to figure out the host by calling erc-dcc-get-host.
7802         * (erc-dcc-server-port): New variable.
7803         * erc-dcc-chat-log: Renamed to erc-dcc-server-accept
7805         * erc-dcc.el(erc-dcc-do-CHAT-command):
7806         Change arg of call to erc-dcc-chat-request from elt to nick
7808 2003-01-09  Francis Litterio  <franl@users.sourceforge.net>
7810         * erc.el(erc-send-current-line):
7811         Now rejects multi-line commands (i.e., lines that
7812             start with "/" and contain newlines).
7814 2003-01-09  Jorgen Schaefer  <forcer@users.sourceforge.net>
7816         * erc-button.el:
7817         Functionality to use TAB to jump to the next button:
7819         (erc-button-next-or-old): New function.
7820         (erc-button-next): New function.
7821         erc-button-keymap: added erc-button-next
7822         erc-button-old-tab-command: New variable.
7823         define-erc-module button: Add and remove 'erc-button-next-or-old as
7824         appropriate.
7826 2003-01-09  Francis Litterio  <franl@users.sourceforge.net>
7828         * erc.el:
7829         New variable: erc-auto-reconnect (defaults to t).  If non-nil, ERC will
7830             automatically reconnect to a server after an unexpected disconnection.
7831         (erc-process-sentinel): Changed to refer to variable erc-auto-reconnect.
7833 2003-01-08  Mario Lang  <mlang@delysid.org>
7835         * erc.el:
7836         * erc-send-input-line-function: New variable, used for dispatch...
7838 2003-01-08  Damien Elmes  <erc@repose.cx>
7840         * erc-dcc.el(erc-dcc-chat-sentinel):
7841         check event type before killing process
7842         (erc-dcc-chat-log): new, handles the setup of dcc chats for incoming
7843             connections
7844         (erc-dcc-chat): use (erc-dcc-chat-setup)
7845         (erc-dcc-chat-setup): code common to incoming and outgoing DCC chats
7846         (erc-dcc-chat-request): request a DCC chat with another user
7847         (erc-dcc-proc-member): locate a member in erc-dcc-alist by process
7849         The very first ERC to ERC DCC chat was held between delysid and resolve today!
7851 2003-01-08  Mario Lang  <mlang@delysid.org>
7853         * erc-track.el(erc-all-buffer-names):
7854         Check for erc-dcc-chat-mode too
7856 2003-01-08  Francis Litterio  <franl@users.sourceforge.net>
7858         * erc-ring.el, erc.el(erc-kill-input):
7859         Resets erc-input-ring-index to nil, so that invoking this
7860             command conceptually puts you after your most recent input in the input
7861             history.
7862         (erc-previous-command and erc-next-command): Changed so that history movement
7863             is more intuitive.  Also preserves the blank input line that marks the
7864             place after the newest command in the history ring (i.e., you'll see a
7865             blank command once every trip around the ring in either direction).
7867 2003-01-08  Mario Lang  <mlang@delysid.org>
7869         * erc-dcc.el(erc-dcc-chat): Add docstring
7870         Add self-test.
7871         Fix error if /dcc chat nick doesn't find the nick
7873 2003-01-08  Francis Litterio  <franl@users.sourceforge.net>
7875         * Makefile:
7876         Changed so that "make" works correctly under Cygwin.  Before this change, the
7877         pathname passed to Emacs on the command line under Cygwin had the form
7878         "/cygwin/c/...", which prevented emacs from finding the file.  Now the pathname
7879         has the form "c:/...".  This works for any drive letter.
7881 2003-01-08  Mario Lang  <mlang@delysid.org>
7883         * erc-button.el: reindent some code, and add TODO to comments
7885         * erc-dcc.el: *** empty log message ***
7887         * erc-dcc.el: Make dcc-chat-ended a notice
7888         Remove now bogus comment
7890 2003-01-08  Damien Elmes  <erc@repose.cx>
7892         * erc-dcc.el(erc-pack-int): from erc-packed-int
7893         (erc-unpack-int): new
7895         * erc-dcc.el(erc-unpack-str): added
7897 2003-01-08  Mario Lang  <mlang@delysid.org>
7899         * erc.el(erc-server-482):
7900         New handler, handles KICK reply if you're not channel-op
7902         * erc-dcc.el: Document SEND in erc-dcc-alist.
7903         Move sproc, parent-proc and file into erc-dcc-alist
7905         * erc-dcc.el: stubs
7907         * erc-dcc.el(erc-dcc-get-host):
7908         Change :iface to :local since Kim committed it now to CVS emacs
7910         * erc-dcc.el(erc-dcc-get-host):
7911         New function, requires the not-yet-in-CVS-emacs local-address.patch to process.c.
7912         Some other minor additions
7914 2003-01-08  Francis Litterio  <franl@users.sourceforge.net>
7916         * erc.el(erc-cmd-IGNORE):
7917         Now returns t to prevent "Bad syntax" error.
7918         (erc-cmd-UNIGNORE): Now returns t to prevent "Bad syntax" error.
7919         (erc-server-PRIVMSG-or-NOTICE): Capitalized first word in message to user.
7921         * erc.el(erc-scroll-to-bottom):
7922         Temporarily bind resize-mini-windows to nil so that
7923             users who have it set to a non-nil value will not suffer from premature
7924             minibuffer shrinkage due to the below recenter call.  I have no idea why
7925             this works, but it solves the problem, and has no negative side effects.
7927 2003-01-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
7929         * erc-dcc.el:
7930         erc-dcc-ctcp-query-chat-regexp: The IP is not really an IP, but a
7931         number (no . allowed there).
7932         (erc-dcc-send-ctcp-string): use let* here to avoid cluttering up the
7933         match data.
7934         Also, use erc-decimal-to-ip to get the IP.
7935         (erc-ip-to-decimal): Removed some pasted ERC timestamps
7936         (erc-decimal-to-ip): New function.
7937         erc-dcc-chat-mode-map: Return map in the initialization.
7939 2003-01-07  Francis Litterio  <franl@users.sourceforge.net>
7941         * erc-match.el(erc-match-fool-p):
7942         Changed to call erc-match-directed-at-fool-p instead of
7943              erc-directed-at-fool-p.
7945 2003-01-07  Mario Lang  <mlang@delysid.org>
7947         * erc-dcc.el(erc-cmd-DCC):
7948         Change (cond ... (t nil)) to (when ...)
7950         * erc-dcc.el: Use erc-current-nick-p
7952 2003-01-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
7954         * erc.el:
7955         erc-join-buffer: Added 'window-noselect to docstring and :type.
7956         erc-auto-query: Added 'window-noselect to :type.
7957         (erc): Treat erc-join-buffer being 'window-noselect appropriately.
7959         * erc.el(erc-current-nick-p): New function.
7960         (erc-nick-equal-p): New function.
7961         (erc-already-logged-in), (erc-server-JOIN), (erc-auto-query),
7962         (erc-server-PRIVMSG-or-NOTICE): Use erc-current-nick-p.
7963         (erc-update-channel-member): Use erc-nick-equal-p.
7965         * erc-match.el(erc-match-current-nick-p):
7966         Renamed from erc-current-nick-p
7967         (erc-match-pal-p): Renamed from erc-pal-p
7968         (erc-match-fool-p): Renamed from erc-fool-p
7969         (erc-match-keyword-p): Renamed from erc-keyword-p
7970         (erc-match-dangerous-host-p): Renamed from erc-dangerous-host-p
7971         (erc-match-directed-at-fool-p): Renamed from erc-directed-at-fool-p
7972         (erc-match-message): Use erc-match-TYPE-p instead of erc-TYPE-p
7974         * erc.el:
7975         Support for IRCnets' "nick/channel temporarily unavailable"
7977         (erc-nickname-in-use): New function (mostly copied from erc-server-433).
7978         (erc-server-433): Use erc-nickname-in-use
7979         (erc-server-437): New function.
7980         erc-server-hook-list: Added (437 erc-server-437).
7982 2003-01-07  Mario Lang  <mlang@delysid.org>
7984         * erc-fill.el: Add autoload cookie
7986         * erc-notify.el:
7987         Now also pass SERVER argument to signon/off hooks, and provide a erc-notify-signon/off function for echo-area printing
7989         * erc-notify.el(erc-notiy-QUIT):
7990         Change use of delq to delete, delq does not work with strings
7992 2003-01-06  Jorgen Schaefer  <forcer@users.sourceforge.net>
7994         * erc.el(erc-ctcp-query-VERSION):
7995         v%s -> %s, so we are no longer vVersion...
7997 2003-01-06  Mario Lang  <mlang@delysid.org>
7999         * erc.el: Small change to erc-ison-p, and fixme tag
8001 2003-01-06  Francis Litterio  <franl@users.sourceforge.net>
8003         * erc.el(erc):
8004         Fixed bug where variable "away" would be nil in new channel buffers
8005                even if the user is away when joining the channel.
8006         (erc-strip-controls): Fixed a bug where erc-strip-controls accidentally
8007                removed all text properties from the string.
8009 2003-01-06  Mario Lang  <mlang@delysid.org>
8011         * erc-dcc.el:
8012         Some stub functions, some code, nothing really works yet
8014         * erc.el(erc-ison-p): New function
8016         * erc-dcc.el: Some functions which will be needed for dcc send
8018         * erc-dcc.el(erc-ip-address-to-decimal):
8019         New function, thanks lawrence
8021         * erc-dcc.el: Again, simplify code, fix stuff, DCC CHAT works now
8023         * erc-dcc.el: Many fixes, chat nearly works now
8025         * erc-netsplit.el: Also detect fast netsplit/joins
8027         * erc-dcc.el: some more fixes
8029         * erc-dcc.el: Fixup stage 1, now dcc get works
8031         * erc-dcc.el: make /dcc LIST work
8033         * erc-dcc.el:
8034         Initial checkin, don't use it!  its really far from complete.  Hackers: help!
8036         * erc-notify.el:
8037         New function erc-notify-NICK, and added signon/off hooks which were missing
8039 2003-01-05  Jorgen Schaefer  <forcer@users.sourceforge.net>
8041         * erc.el(erc-truncate-buffer-to-size):
8042         set inhibit-read-only to t for the
8043         deletion. This is usually done by the function calling the hook, but
8044         not if it's called interactively. Also, rewrote some weird if/if
8045         combination.
8047         * erc-track.el(erc-track-shortennames):
8048         Documentation fix (erc-all-buffers is really
8049         erc-all-buffer-names)
8051         These changes make server buffers be tracked as well, as there are
8052         quite a few interesting things going on there (e.g. CTCP etc.)
8053         (erc-all-buffer-names): Check for (eq major-mode 'erc-mode) instead of
8054         erc-default-recipients.
8055         (erc-track-modified-channels): Don't require a default target (e.g.,
8056         this-channel being non-nil)
8058 2003-01-03  Damien Elmes  <erc@repose.cx>
8060         * erc.el:
8061         erc-auto-query: can now be set to a symbol to control how new messages should
8062             be popped up (or not popped up, as the case may be)
8063         (erc-query): new function which handles the bulk of what (erc-cmd-QUERY) did
8064             previously
8065         (erc-cmd-QUERY): use (erc-query)
8066         (erc-auto-query): use (erc-query)
8068         * erc.el(erc-current-logfile):
8069         Downcase result of log generation function, as IRC is
8070         case insensitive. Fixes problems where "/query user" results in a different
8071         log file to a query from "User". Avoided adding an extra flag to control this
8072         behavior - if you think this was the wrong decision, please correct it and
8073         I'll remember it for next time.
8075 2002-12-31  Francis Litterio  <franl@users.sourceforge.net>
8077         * erc.el(erc-split-command):
8078         Removed assignment to free variable "continue".
8079         (erc-strip-controls): New function.  Takes a string, returns the string with
8080         all IRC color/bold/underline/etc. control codes stripped out.
8081         (erc-interpret-controls): If variable erc-interpret-controls-p is nil, now
8082         uses erc-strip-controls to strip control codes.
8083         (erc-ctcp-reply-ECHO): Changed reference and assignment to free variable "s"
8084         into reference/assignment to "msg", which appears to be the original author's
8085         intent.
8087         * erc-list.el(erc-chanlist):
8088         Changed to use the new erc-once-with-server-event function
8089         instead of the old macro of the same name.
8091         * erc-notify.el(erc-notify-timer):
8092         Changed to use the new erc-once-with-server-event function
8093         instead of the old macro of the same name.  Also fixed a bug were variable
8094         erc-last-ison was being read from a non-server buffer (thus giving its default
8095         value instead of its per-server value).
8097         * erc.el(erc-once-with-server-event):
8098         This is now a function.  It was a macro with a
8099         bug (the call to gensym happened at byte-compile-time not macro-call-time).
8100         (erc-toggle-debug-irc-protocol): Now [return] is bound to this function in
8101         the *erc-protocol* buffer.
8103 2002-12-30  Alex Schroeder  <alex@gnu.org>
8105         * erc-autoaway.el(erc-autoaway-idletimer): Doc,
8106         ref. erc-autoaway-use-emacs-idle.
8107         (autoaway): Doc, explain different idle definitions.  Reestablish
8108         the idletimer only when erc-autoaway-use-emacs-idle is non-nil.
8109         (erc-auto-set-away): Doc, ref erc-auto-discard-away.
8110         (erc-auto-discard-away): Doc, ref erc-auto-set-away.
8111         (erc-autoaway-use-emacs-idle): Doc, ref erc-autoaway-mode, and
8112         added a note that this feature is currently broken.
8113         (erc-autoaway-reestablish-idletimer): Doc.
8114         (erc-autoaway-possibly-set-away): Split test such that
8115         erc-time-diff is only computed when necessary, add a comment why
8116         erc-process-alive is not necessary.
8117         (erc-autoaway-set-away): Test for erc-process-alive.
8119 2002-12-29  Alex Schroeder  <alex@gnu.org>
8121         * erc-autoaway.el:
8122         Changed the order of defcustoms to avoid errors in the :set property
8123         of erc-autoaway-idle-seconds.
8125 2002-12-29  Damien Elmes  <erc@repose.cx>
8127         * erc-track.el:
8128         * (erc-track-get-active-buffer): remove superfluous (+ arg 0)
8130 2002-12-29  Alex Schroeder  <alex@gnu.org>
8132         * erc-autoaway.el(erc-autoaway): Moved the defgroup up to the
8133         top, before the define-erc-module call.
8134         (autoaway): Extended doc.
8135         (erc-autoaway-idle-seconds): Use a :set property to handle
8136         erc-autoaway-use-emacs-idle.
8137         (erc-auto-set-away): Set default to t.  Added doc strings where
8138         necessary, reformatted doc strings such that the first line can
8139         stand on its own.  This is important for the output of M-x
8140         apropos.
8142 2002-12-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
8144         * erc-auto.in:
8145         added (provide 'erc-auto), which is required for (require 'erc-auto) :)
8147         * erc.el(erc-display-prompt):
8148         Set the face property of the prompt to
8149         everything but the last character.
8151         * erc.el(erc-send-current-line):
8152         Check whether point is in the input line. If
8153         not, just beep and do nothing.
8155 2002-12-28  Alex Schroeder  <alex@gnu.org>
8157         * erc.el(erc-bol):
8158         Fixed bug when there is only a prompt, and no property
8159         change.
8161         * erc.el(erc-display-prompt): Rewrote using a save-excursion
8162         and erc-propertize.  No longer use a field for the prompt, but a
8163         plain text property called erc-prompt.
8164         (erc-bol): Use the erc-prompt text property instead of a field.
8165         Return point instead of t.
8166         (erc-parse-current-line): No need to call point here, then, since
8167         erc-bol now returns point.
8169         * Makefile:
8170         make ChangeLog .PHONY, thus forcing it always to be rebuilt.
8172 2002-12-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
8174         * erc.el(erc-log-irc-protocol):
8175         Removed check whether get-buffer-create
8176             returned nil. "The value is never nil", says the docstring.
8178         * erc.el: Day Of The Small Changes
8180         (erc-display-prompt): Make the prompt 'front-sticky, which prevents it
8181             from being modified. It *should* also make end-of-line move to the
8182             end of the field (i.e. the end of the prompt) when point is at the
8183             beginning of the prompt, but it doesn't. Dunno why. :(
8185 2002-12-27  Francis Litterio  <franl@users.sourceforge.net>
8187         * Makefile:
8188         Added "-f" to "rm" command in rule for target "realclean".
8190         * erc.el:
8191         New function: erc-log-irc-protocol.  Consolidates nearly duplicate code
8192         from functions erc-send-command and erc-process-filter into one function.
8194         * erc.el(erc-toggle-debug-irc-protocol):
8195         Removed unneeded argument PREFIX and code
8196         which referenced it at end of function.
8197         (erc-send-command): Now we only append a newline to the logged copy
8198         of output protocol text if it doesn't have one.
8200 2002-12-27  Jorgen Schaefer  <forcer@users.sourceforge.net>
8202         * erc.el(erc-toggle-debug-irc-protocol):
8203         Display buffer if it's not shown
8204             already, and use view-mode.
8205         (erc-toggle-debug-irc-protocol), (erc-send-command),
8206             (erc-process-filter): inhibit-only t to insert into the
8207             *erc-protocol* buffer (view-mode)
8209 2002-12-27  Francis Litterio  <franl@users.sourceforge.net>
8211         * erc.el(erc-mode-map):
8212         Removed keybinding for erc-toggle-debug-irc-protocol.
8213         (erc-toggle-debug-irc-protocol): Now used erc-make-notice to propertize the
8214         face of the enabled/disabled messages in the *erc-protocol* buffer.
8215         (erc-send-command): Now outgoing IRC protocol traffic is logged too.
8217         * erc.el:
8218         Added user-customizable variable erc-debug-irc-protocol.
8219         Added function erc-toggle-debug-irc-protocol.
8220         (erc-process-filter): Now supports IRC protocol logging.  If variable
8221         erc-debug-irc-protocol is non-nil, all IRC protocol traffic is appended
8222         to buffer *erc-protocol*, which is created if necessary.
8224 2002-12-27  Jorgen Schaefer  <forcer@users.sourceforge.net>
8226         * erc.el(erc-display-prompt):
8227         Don't make the prompt intangible; that didn't
8228             make things that much better for the user, but confused ispell,
8229             which checked the prompt when it should check the first word
8231 2002-12-27  Alex Schroeder  <alex@gnu.org>
8233         * AUTHORS: fixed resolve's email add
8235         * AUTHORS: added damien
8237         * erc.el(erc-truncate-buffer-on-save):
8238         Removed documentation that
8239         described behavior now changed.  It used to say "When nil, no
8240         buffer is ever truncated."  This is no longer true; even when
8241         buffers are NOT truncated on save, they can be truncated, eg. by
8242         adding erc-truncate-buffer to the hook.
8243         (erc-logging-enabled): New function.
8244         (erc-current-logfile): New function.
8245         (erc): Use erc-logging-enabled and erc-current-logfile.
8246         (erc-truncate-buffer-to-size): Rewrote it, and made sure to use a
8247         (save-restriction (widen) ...) such that the truncation actually
8248         runs in the whole buffer, not in the last message only (as
8249         erc-insert-post-hook will do!).  This should fix rw's
8250         out-of-bounds error.
8251         (erc-generate-log-file-name-short): Made all but the BUFFER
8252         argument optional.  Doc: Mention
8253         erc-generate-log-file-name-function.
8254         (erc-generate-log-file-name-long): Doc: Mention
8255         erc-generate-log-file-name-function.
8256         (erc-save-buffer-in-logs): Use erc-logging-enabled and
8257         erc-current-logfile.  Doc: Mention erc-logging-enabled.
8259         (erc-encode-string-for-target): Only do the real work when
8260         featurep mule; else just return the string unchanged.
8262 2002-12-27  Damien Elmes  <erc@repose.cx>
8264         * erc.el:
8265         erc-encoding-default: check for (coding-system-p) for older emacs versions
8267         * erc.el(erc-connect): missing ()s added. "don't commit at 2am"
8269         * erc.el(erc-connect):
8270         check if (set-process-coding-system) is available before use
8272 2002-12-27  Alex Schroeder  <alex@gnu.org>
8274         * AUTHORS: added franl
8276 2002-12-26  Alex Schroeder  <alex@gnu.org>
8278         * erc-pcomplete.el(pcomplete-parse-erc-arguments):
8279         Reworked, and fixed a bug that had
8280         caused completions to corrupt preceding text under some circumstances.
8282         * erc.el(erc-encoding-default): New.
8283         (erc-encode-string-for-target): Use it instead of a hard-coded ctext.
8284         (erc-encoding-coding-alist): Doc.
8286 2002-12-26  Francis Litterio  <franl@users.sourceforge.net>
8288         * erc.el:
8289         Removed fix for bug 658552 recently checked-in, because it doesn't work.
8291         * erc.el(erc-kill-buffer-function):
8292         Removed check that connection is up
8293         before running erc-kill-server-hook hooks.  Those hooks should use
8294         erc-process-alive to avoid interacting with the process.
8296         * erc.el:
8297         Fixed erc-send-current-line so it no longer assigns the free variable "s", and
8298         it doesn't move point to end-of-buffer in non-ERC buffers.  Fixed
8299         erc-kill-buffer-function so it doesn't run the erc-kill-server-hook hooks if the
8300         server connection is closed.  Fixed bug 658552, which is described in detail at
8301         http://sourceforge.net/tracker/index.php?func=detail&aid=658552&group_id=30118&atid=398125
8303 2002-12-26  Alex Schroeder  <alex@gnu.org>
8305         * erc.el(erc-cmd-SMV): Bug, now call erc-version-modules.
8307         * erc-pcomplete.el(erc-pcomplete-version): New.
8309 2002-12-26  Francis Litterio  <franl@users.sourceforge.net>
8311         * erc-pcomplete.el:
8312         Fix for bug where you could not complete a nick when there was text following
8313         the nick.
8315 2002-12-25  Alex Schroeder  <alex@gnu.org>
8317         * erc.el(erc-already-logged-in): Use erc-process-alive.
8318         (erc-prepare-mode-line-format): Use erc-process-alive.
8319         (erc-process-alive): Check erc-process for boundp and processp.
8321         * erc.el(erc-kill-buffer-function):
8322         Do not check whether the process is
8323         alive before running the hook, because there might be functions on
8324         the hook that need to run even when the process is dead.  And
8325         function that wants to check this, should use (erc-process-alive).
8326         (erc-process-alive): New function.
8327         (erc-kill-server): Use it.
8328         (erc-kill-channel): Use it.
8330         * erc.el(erc-kill-buffer-function):
8331         Reverted ignore-error change.
8332         ignore-error is dangerous because we might miss bugs in functions
8333         on erc-kill-server-hook.
8335         * erc.el(erc-kill-buffer-function): Use memq instead of member
8336         when checking process-status.  Added doc string with references to
8337         the other hooks.
8338         (erc-kill-server): Only send the command when the erc-process is
8339         still alive.  This prevents the error: "Process
8340         erc-irc.openprojects.net-6667 not running" when killing the buffer
8341         after having used /QUIT.
8343 2002-12-24  Jorgen Schaefer  <forcer@users.sourceforge.net>
8345         * erc.el(erc-server-ERROR):
8346         Show the error reason, not only the originating host.
8348         * erc.el(erc-kill-buffer-function):
8349         (ignore-errors ...) in 'erc-kill-server-hook.
8350             When the process for this server does not exist anymore, the hook
8351             will cause an error, effectively preventing the buffer from being
8352             killed.
8354 2002-12-24  Francis Litterio  <franl@users.sourceforge.net>
8356         * erc-notify.el:
8357         Fixed erc-notify-timer so that it passes the correct nick to
8358         the functions on erc-notify-signoff-hook.
8360 2002-12-24  Alex Schroeder  <alex@gnu.org>
8362         * erc-track.el: Doc
8364         * erc-track.el(erc-make-mode-line-buffer-name): Removed a
8365         superfluous if construct around erc-track-showcount-string.
8366         (erc-track-modified-channels): Use 1+.
8367         Plus some doc and comment changes.
8369 2002-12-23  Mario Lang  <mlang@delysid.org>
8371         * erc.el: Fix (erc-version) string
8373 2002-12-23  Francis Litterio  <franl@users.sourceforge.net>
8375         * erc.el:
8376         Removed unnecessary assignment to free-variable "p" in erc-downcase.
8378         * erc.el:
8379         Now /PART reason strings are generated the same way /QUIT reason strings
8380         are generated (see variable erc-part-reason).  Also, when a server buffer
8381         is killed, a QUIT command is automatically sent to the server.
8383         * erc.el:
8384         Changed erc-string-no-properties so that it is more efficient.  Now it uses
8385         set-text-properties instead of creating and deleting a temporary buffer.
8387 2002-12-21  Jorgen Schaefer  <forcer@users.sourceforge.net>
8389         * erc.el:
8390         erc-kill-input: added a check to prevent a (ding) and an error when
8391             there's nothing to kill (thanks to Francis Litterio, franl on IRC)
8393 2002-12-21  Mario Lang  <mlang@delysid.org>
8395         * erc.el:
8396         AWAY notice duplication prevention. erc-prevent-duplicates now set to ("301") by default, and timeout to 60
8398         * erc.el: erc-prevent-duplicates: New variable, see docstring
8400 2002-12-20  Jorgen Schaefer  <forcer@users.sourceforge.net>
8402         * erc-track.el:
8403         erc-track-modified-channels: Use cddr of cell for old-face. cdr of
8404             cell is '(1 . face-name), i have no idea why :)
8406 2002-12-20  Damien Elmes  <erc@repose.cx>
8408         * erc.el(erc-current-nick):
8409         check the server buffer is active before using
8411         Also tabified and cleaned up some trailing whitespace
8413 2002-12-15  Mario Lang  <mlang@delysid.org>
8415         * erc-track.el: erc-track-count patch by az
8417 2002-12-14  Damien Elmes  <erc@repose.cx>
8419         * erc.el:
8420         last-peers: initialize to a cons. thanks to Francis Litterio
8421             <franl@world.std.com> for the patch
8423         * erc.el:
8424         erc-kill-channel-hook, erc-kill-buffer-hook, (erc-kill-channel):
8425             both hooks now call erc-save-buffer-in-logs, so that query buffers are
8426             saved properly now, and not just channel buffers.
8428 2002-12-13  Alex Schroeder  <alex@gnu.org>
8430         * erc-track.el(erc-unique-channel-names): Fix another #hurd
8431         vs. #hurd-bunny bug.
8433         * erc-match.el(match): No longer modify erc-send-modify-hook,
8434         since it does not work without a parsed text property, anyway.
8435         (erc-keywords): Allow cons cells.
8436         (erc-remove-entry-from-list): Deal with cons cells.
8437         (erc-keyword-p): Ditto.
8438         (erc-match-message): Ditto.
8440         Moved nil to the beginning of the list, removed :tags for the
8441         -type variables:
8442         (erc-current-nick-highlight-type): Ditto.
8443         (erc-pal-highlight-type): Ditto.
8444         (erc-fool-highlight-type): Ditto.
8445         (erc-keyword-highlight-type): Ditto.
8446         (erc-dangerous-host-highlight-type): Ditto.
8447         (erc-log-matches-flag): Moved nil to the beginning.
8449 2002-12-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
8451         * erc.el:
8452         erc-beg-of-input-line: Don't do (goto-char (beginning-of-line)), since
8453             beginning-of-line always moves point and returns nil. Thanks to
8454             franl on IRC for noting this.
8456         * erc-stamp.el:
8457         erc-insert-timestamp-left, erc-insert-timestamp-right: Made the
8458             timestamp a 'field named 'erc-timestamp. Now end-of-line and
8459             beginning-of-line will move over the timestamp.
8461 2002-12-10  Damien Elmes  <erc@repose.cx>
8463         * erc-button.el(erc-button-add-button):
8464         make the created button rear-nonsticky, to allow
8465         cutting and pasting of buttons without worrying about the button properties
8466         being inherited by the text typed afterwards.
8468         * erc.el: save logfile when killing buffer
8470 2002-12-09  Alex Schroeder  <alex@gnu.org>
8472         * erc-track.el(erc-modified-channels-display): Reworked.
8473         (erc-track-face-more-important-p): Removed.
8474         (erc-track-find-face): Return only one face.
8475         (erc-track-modified-channels): Reworked.
8476         (erc-modified-channels-string): Changed from (BUFFER FACE...) to
8477         (BUFFER . FACE)
8479         * erc-stamp.el(erc-insert-timestamp-right): Do not assume
8480         erc-fill-column is available.
8482 2002-12-09  Jorgen Schaefer  <forcer@users.sourceforge.net>
8484         * erc.el:
8485         erc-ech-notices-in-minibuffer-flag, erc-minibuffer-notice: Clarified
8486             the difference in the docstrings.
8488 2002-12-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
8490         * erc.el: erc-noncommands-list: added erc-cmd-SM and erc-cmd-SMV
8492 2002-12-08  Alex Schroeder  <alex@gnu.org>
8494         * erc.el(erc-cmd-SM): New.
8495         (erc-cmd-SMV): New.
8497         * erc.el(erc-modes): New.
8499 2002-12-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
8501         * erc-compat.el:
8502         field-end: use (not (fboundp 'field-end)) instead of (featurep 'xemacs)
8504 2002-12-08  Alex Schroeder  <alex@gnu.org>
8506         * erc.el(erc-version-modules): New.
8508 2002-12-08  Mario Lang  <mlang@delysid.org>
8510         * debian/changelog, debian/control, debian/scripts/startup.erc:
8511         debian release 3.0.cvs.20021208
8513 2002-12-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
8515         * erc.el(erc-split-command): Do the right thing with CTCPs.
8517 2002-12-08  Mario Lang  <mlang@delysid.org>
8519         * erc-stamp.el: Be a bit more functional
8521 2002-12-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
8523         * erc-compat.el:
8524         XEmacs doesn't seem to have field-end, so we provide our own version here.
8526 2002-12-08  Mario Lang  <mlang@delysid.org>
8528         * Makefile: Small fixes to debrelease target
8530 2002-12-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
8532         * erc.el:
8533         make-obsolete-variable: xemacs doesn't have the WHEN parameter, remove it.
8535 2002-12-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
8537         * erc-imenu.el(erc-create-imenu-index):
8538         Use (forward-line 0) instead of
8539           (beginning-of-line) now, sine the latter ignores fields (used in the
8540           prompt).
8542         * erc.el:
8543         Rewrite of the prompt stuff to use a field named 'erc-prompt:
8545         erc-prompt: Removed getter and setter functions. The properties were
8546           already set (and overwritten) in erc-display-prompt.
8547         (erc-prompt): Add the trailing space here, not all over the code.
8548         (erc-display-prompt): Cleaned up a bit. The text-properties now are
8549           valid on the whole prompt. Also, made the prompt 'intangible to
8550           avoid confused users.
8551         (erc-bol): Now use the field 'erc-prompt for finding the prompt
8552         (erc-parse-current-line): Cleaned up considerably. Uses (erc-bol) now.
8553         (erc-load-irc-script-lines): Adjusted for the new (erc-prompt).
8554         (erc-save-buffer-in-logs): Adjusted for the new (erc-prompt).
8556         * erc.el:
8557         erc-uncontrol-input-line: The comment said "Consider it deprecated",
8558         so I removed it now.
8559         erc-prompt-interactive-input: Marked obsolete as of previous change.
8561         * erc.el:
8562         erc-smiley, erc-unmorse: Put at the end to separate it from the
8563         important parts of erc.el.
8565 2002-12-07  Alex Schroeder  <alex@gnu.org>
8567         * erc-stamp.el(erc-insert-timestamp-right): New algorithm.
8569 2002-12-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
8571         * erc.el:
8572         last-peers, erc-message: Explained what last-peers is used for.
8574 2002-12-07  Alex Schroeder  <alex@gnu.org>
8576         * erc-page.el(erc-cmd-PAGE): New function.
8577         (erc-ctcp-query-PAGE): Use the catalog entry for the message, too.
8578         (erc-ctcp-query-PAGE-hook): Added custom type.
8579         (erc-page-function): Changed custom type from ... function-item to
8580         ... function.
8581         As well as doc strings.
8583 2002-12-06  Alex Schroeder  <alex@gnu.org>
8585         * erc-page.el: provide feature at the end
8587 2002-12-06  Brian P Templeton  <bpt@tunes.org>
8589         * erc-nickserv.el:
8590         Added austnet in erc-nickserv.el (thanks to Damien Elmes
8591         <resolve@repose.cx>)
8593 2002-12-05  Mario Lang  <mlang@delysid.org>
8595         * erc-complete.el: Add autoload cookie
8597         * erc-speak.el: Small fix to make proper voice-changes
8599 2002-12-05  Alex Schroeder  <alex@gnu.org>
8601         * erc-lang.el: New
8603 2002-12-03  Jorgen Schaefer  <forcer@users.sourceforge.net>
8605         * erc.el:
8606         erc-mode-map: Put back C-c C-p (PART) and C-c C-q (QUIT)
8608 2002-12-02  Jorgen Schaefer  <forcer@users.sourceforge.net>
8610         * erc.el:
8611         erc-insert-post-hook: Add :options erc-make-read-only, erc-save-buffer-in-logs
8612         erc-send-post-hook: Add :options erc-make-read-only
8614         * erc.el: erc-insert-hook: Removed ("this hook is obsolescent")
8615         erc-insert-post-hook: Added :options '(erc-truncate-buffer)
8617 2002-12-02  Mario Lang  <mlang@delysid.org>
8619         * erc.el: Add missing requires
8621 2002-11-29  Jorgen Schaefer  <forcer@users.sourceforge.net>
8623         * erc.el(erc-quit-reason-normal):
8624         Remove v before %s so it's "Version ..." not
8625            "vVersion ..."
8627 2002-11-26  Alex Schroeder  <alex@gnu.org>
8629         * erc-compat.el(erc-encode-coding-string): Add second argument
8630                 coding-system, and for non-mule xemacsen, use a new defun instead
8631                 of identity.
8633         * erc.el:  (define-erc-module): Use the appropriate group.
8634         (erc-port): Changed custom type.
8635         (erc-insert-hook): Custom group changed to erc-hooks.
8636         (erc-after-connect): ditto
8637         (erc-before-connect): ditto
8638         (erc-disconnected-hook): ditto
8640         * erc-button.el(erc-button): New group, changed all custom groups
8641         from erc to erc-button, but left all erc-faces as-is.
8643         * erc-track.el(erc-track): New group, changed all custom groups
8644         from erc to erc-track.
8646 2002-11-26  Mario Lang  <mlang@delysid.org>
8648         * erc-macs.el:
8649         Macros for erc-victim handling.  Primary idea is to use setf and some fancy things to get nice syntax. have a look
8651 2002-11-26  Jorgen Schaefer  <forcer@users.sourceforge.net>
8653         * erc.el:
8654         pings, erc-cmd-PING, erc-ctcp-reply-PING, catalog entry CTCP-PING:
8655         Cleaned up. Removed buffer-local variable pings which stored a list of
8656         all sent CTCP PING requests. Now send our full time with the CTCP PING
8657         request and interpret the answer.
8659 2002-11-25  Jorgen Schaefer  <forcer@users.sourceforge.net>
8661         * erc.el: nick-stk: replaced by the local variable current-nick.
8663 2002-11-25  Alex Schroeder  <alex@gnu.org>
8665         * erc.el(erc-send-command): Use erc-encode-string-for-target.
8666         (erc-encode-string-for-target): New.
8668         * erc-compat.el(erc-encode-coding-string): Add second argument
8669         coding-system, and for non-mule xemacsen, use a new defun instead
8670         of identity.
8672         * erc-nickserv.el(erc-nickserv-version): New.
8674 2002-11-25  Jorgen Schaefer  <forcer@users.sourceforge.net>
8676         * Makefile:
8677         UNCOMPILED: erc-chess.el depends on chess-network.el, which might not
8678         be installed. Don't compile it.
8680         * erc.el:
8681         erc-mode-map: Added C-a as erc-bol (no reason why it shouldn't be),
8682         and removed C-c C-p (part channel) and C-c C-q (quite server) as these
8683         are a bit drastic in their consequences and easy to mistype.
8685 2002-11-24  Jorgen Schaefer  <forcer@users.sourceforge.net>
8687         * erc-track.el: erc-track-faces-priority-list: Extended list
8689         * erc.el:
8690         channel-members: Updated docstring: We have a VOICE predicate, too.
8692         * erc-track.el(erc-unique-substrings):
8693         Don't shorten a single channel to "#", but
8694         always give at least 2 chars (except when there are no two chars).
8696 2002-11-23  Jorgen Schaefer  <forcer@users.sourceforge.net>
8698         * erc-nickserv.el:
8699         support for BrasNET. Thanks to rw on IRC for the settings.
8701 2002-11-23  Alex Schroeder  <alex@gnu.org>
8703         * erc.el: (erc-default-recipients, erc-session-user-full-name)
8704                 (nick-stk, pings, erc-announced-server-name, erc-connected)
8705                 (channel-user-limit, last-peers, invitation, away, channel-list)
8706                 (last-sent-time, last-ping-time, last-ctcp-time, erc-lines-sent)
8707                 (erc-bytes-sent, quitting, bad-nick, erc-logged-in)
8708                 (erc-default-nicks): Defvars.
8710         * erc-compat.el: Switched tests to iso-8859-1 instead of latin-1.
8712         * erc-compat.el(erc-compat-version): New.
8714 2002-11-22  Alex Schroeder  <alex@gnu.org>
8716         * erc.el(smiley): Smileys are a very small module, now.
8718 2002-11-22  Jorgen Schaefer  <forcer@users.sourceforge.net>
8720         * erc.el:
8721         erc-event-to-hook, erc-event-to-hook-name: eval-and-compile these,
8722             since we need them in a macro. ERC now compiles again!
8724         * erc-speak.el:
8725         erc-minibuffer-privmsg: Removed setting this variable to nil, since it
8726             was removed from erc.el.
8728         * erc.el(erc-interactive-input-map): Added docstring.
8729         (erc-wash-quit-reason): Extended docstring.
8730         (erc-server-ERROR): Added docstring.
8731         (erc-server-321): buffer-local variable channel-list probably
8732             shouldn't be renamed erc-channel-list - removed FIXME.
8734         * erc.el: small cleanup.
8735         ("was not used anymore" here means "not used in erc/*.el nor in
8736         fsbot", thanks to deego for checking that.)
8738         erc-minibuffer-privmsg: Removed (was not used anymore)
8739         (erc-reformat-command): Removed (was not used anymore)
8740         (erc-strip-erc-parsed-property): Removed (was not used anymore)
8741         (erc-process-ctcp-response): Removed (replaced by ctcp-query-XXX-hook)
8742         (erc-send-paragraph): Removed ("Note that this function is obsolete,
8743             erc-send-current-line handles multiline input.")
8744         (erc-input-hook): Removed ("This hook is obsolete. See
8745             `erc-send-pre-hook', `erc-send-modify-hook' and
8746             `erc-send-post-hook' instead.")
8747         (erc-message-hook): Removed ("This hook is obsolete. See
8748             `erc-server-PRIVMSG-hook' and `erc-server-NOTICE-hook'.")
8749         (erc-cmd-default-channel): Removed ("FIXME: no clue what this is
8750             supposed to do." - it was supposed to prepend the default channel
8751             to a command before sending it. E.g. typing "/FOO now!" would send
8752             the IRC command "FOO #mycurrentchannel now!")
8754         * erc.el:
8755         erc-ctcp-query-PING: Send the whole argument back, not just the first
8756         number. This is required for many clients (e.g. irssi, BitchX, ...)
8757         which send their ping times in two different numbers for microsecond
8758         accuracy.
8760 2002-11-22  Alex Schroeder  <alex@gnu.org>
8762         * erc-track.el(erc-track-shorten-function): Allow nil.
8764 2002-11-21  Alex Schroeder  <alex@gnu.org>
8766         * erc-track.el(erc-unique-channel-names): Fixed bug that appeared
8767         if one target name was a substring of another -- eg. #hurd and
8768         #hurd-bunny.  Added appropriate test.
8770 2002-11-20  Jorgen Schaefer  <forcer@users.sourceforge.net>
8772         * erc-track.el:
8773         erc-unique-channel-names: Don't take a substring of channel that could
8774         be longer than the channel, but at most (min (length candidate)
8775         (length channel). (thanks to deego for noticing this)
8777 2002-11-19  Mario Lang  <mlang@delysid.org>
8779         * erc-notify.el: * (require pcomplete): Only when compiling.
8781 2002-11-19  Jorgen Schaefer  <forcer@users.sourceforge.net>
8783         * erc-track.el:
8784         erc-track-faces-priority-list: New variable, defines what faces will
8785         be shown in the modeline. If set to nil, the old behavior ("all")
8786         remains.
8787         erc-track-face-more-important-p: new function
8788         erc-track-find-face: new function
8790 2002-11-19  Alex Schroeder  <alex@gnu.org>
8792         * erc-fill.el(erc-stamp): Require it.
8794         * erc-match.el(away): devar for the compiler.
8796         * erc-stamp.el(stamp): Moved.
8798         * erc.el(erc-version-string): New version.
8800         * erc-autoaway.el(erc-autoaway-idletimer): Moved to the front of
8801         the file.
8803         * erc-auto.in: (generated-autoload-file, command-line-args-left):
8804         Added defvar without value to silence byte compiler.
8806         * Makefile(realclean): renamed fullclean to realclean.
8807         (UNCOMPILED): New list, for erc-bbdb.el, erc-ibuffer.el,
8808         erc-speak.el.
8809         (SOURCE): Do not compile UNCOMPILED.
8810         (release): New target.
8811         (ChangeLog): New target.
8812         (todo): New target.
8814         * erc-complete.el(erc-match): Require it.
8815         (hippie-exp): Require it.
8817         * erc-ezbounce.el(erc): Require it.
8819         * erc-imenu.el(imenu): Require it.
8821         * erc-nickserv.el(erc-networks): Moved up.
8823         * erc-notify.el(pcomplete): Require it.
8825         * erc-replace.el(erc): Require it.
8827         * erc-sound.el(sound): Typo -- define-key in erc-mode-map.
8829         * erc-speedbar.el(dframe): Require it.
8830         (speedbar): Require it.
8832         * erc-track.el(erc-default-recipients): devar for the compiler.
8834         * README: New file.
8836 2002-11-18  Mario Lang  <mlang@delysid.org>
8838         * AUTHORS: File needed for mkChangeLog
8840         * mkChangeLog: Original code by mhp
8842 2002-11-18  Alex Schroeder  <alex@gnu.org>
8844         * erc-button.el(erc-button-list): Renamed to erc-list and moved
8845         to erc.el.
8847         * erc.el(erc-list): New.
8849         * erc-track.el(erc-make-mode-line-buffer-name): Simplified.
8850         (erc-modified-channels-display): Simplified.  Now works with all
8851         faces, and fixes the bug that when two faces where used (bold
8852         erc-current-nick-face), then no faces was added.
8854         * erc-track.el: Lots of new tests.  Moved some defuns around in
8855         the file.
8856         (erc-all-channel-names): Renamed.
8857         (erc-all-buffer-names): New name, now include query buffers as
8858         well.
8859         (erc-modified-channels-update-inside): New variable.
8860         (erc-modified-channels-update): Use it to prevent running display
8861         if already inside it.  This prevented debugging of
8862         `erc-modified-channels-display'.
8863         (erc-make-mode-line-buffer-name): Moved.
8864         (erc-track-shorten-names): Don't test using erc-channel-p as that
8865         failed with query buffers.
8866         (erc-unique-substrings): Move setq i + 1 to the end of the while
8867         loop, so that start is used as a default value instead of start +
8868         1.
8870 2002-11-18  Jorgen Schaefer  <forcer@users.sourceforge.net>
8872         * erc-track.el:
8873         erc-unique-substrings: define this before using it in assert
8875         * erc.el:
8876         with-erc-channel-buffer: Define *before* using this macro. This
8877         hopefully fixes a bug noted on IRC.
8879         * erc-notify.el:
8880         erc-notify-signon-hook, erc-notify-signoff-hook: New hooks. They're
8881         even run when their name suggests!
8883 2002-11-18  Alex Schroeder  <alex@gnu.org>
8885         * erc-list.el: Typo.
8887         * erc-speedbar.el: Whitespace only.
8889         * erc.el(define-erc-module): Avoid defining an alias if name and
8890         alias are the same.
8892         * erc-ibuffer.el: URL
8894         * erc-imenu.el(erc-imenu-version): New constant.
8896         * erc-ibuffer.el(erc-ibuffer-version): New constant.
8898         * erc-ibuffer.el: File header, comments.
8900         * erc-fill.el(erc-fill-version): New constant.
8902         * erc-ezbounce.el(erc-ezb-version): New constant.
8904         * erc-complete.el(erc-complete-version): New constant.
8906         * erc-chess.el(erc-chess-version): New constant.
8908         * erc-chess.el: Whitespace only.
8910         * erc-bbdb.el(erc-bbdb-version): Typo.
8912         * erc-bbdb.el(erc-bbdb-version): New constant.
8913         Lots of whitespace changes.  Changes to the header.
8915         * erc-track.el(erc-track-shorten-aggressively): Doc.
8916         (erc-all-channel-names): New function.
8917         (erc-unique-channel-names): New function.
8918         (unique-substrings): Renamed.
8919         (erc-unique-substrings): New name
8920         (unique-substrings-1): Renamed.
8921         (erc-unique-substring-1): New name.  Added lots of tests.
8922         (erc-track-shorten-names): Call erc-unique-channel-names instead
8924         * erc-match.el(match): Rewrote a as module.
8926 2002-11-17  Alex Schroeder  <alex@gnu.org>
8928         * erc-netsplit.el(erc-netsplit-version): New.
8929         (netsplit): Defined as a module, replacing erc-netsplit-initialize
8930         and erc-netsplit-destroy.
8932 2002-11-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
8934         * erc-track.el(erc-track-switch-buffer):
8935         define-erc-module defines erc-track-mode,
8936         not erc-track-modified-channels-mode.
8938         * erc.el:
8939         Variables erc-play-sound, erc-sound-path, erc-default-sound,
8940         erc-play-command, erc-ctcp-query-SOUND-hook and functions
8941         erc-cmd-SOUND, erc-ctcp-query-SOUND, erc-play-sound, erc-toggle-sound
8942         moved to erc-sound.el
8944         Variables erc-page-function, erc-ctcp-query-PAGE-hook and function
8945         erc-ctcp-query-PAGE moved to erc-page.el
8947         * erc-page.el:
8948         erc-page.el: New file. CTCP PAGE support for ERC, extracted from erc.el.
8950         * erc-sound.el:
8951         defin-erc-module: Typo. Autoload should do erc-sound-mode and "erc-sound".
8953         * erc-sound.el:
8954         erc-sound.el: New file. Contains all the CTCP SOUND stuff from erc.el.
8956         * erc.el(erc-process-ctcp-request):
8957         Removed (old-style CTCP handling)
8958         (erc-join-autogreet): Removed (was broken anyways)
8960 2002-11-17  Alex Schroeder  <alex@gnu.org>
8962         * erc-button.el(erc-button-version): New constant.
8964         * erc-button.el(button): rewrote as a module.
8966 2002-11-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
8968         * erc.el: New functions:
8969         (erc-event-to-hook), (erc-event-to-hook-name): Convert an event to the
8970         corresponding hook. The latter only returns the name, while the former
8971         interns the hook symbol and returns it.
8973 2002-11-17  Alex Schroeder  <alex@gnu.org>
8975         * erc-replace.el:
8976         Practically total rewrite.  All smiley stuff deleted.
8978         * erc-track.el(track): typo.
8980         * erc.el(define-erc-module): Doc change.
8982 2002-11-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
8984         * erc-autoaway.el: Changed to use define-erc-module.
8986         * erc.el(define-erc-module):
8987         Make the enable/disable functions interactive.
8989         * erc.el(erc):
8990         Don't use switch-to-buffer when we're in the minibuffer,
8991         because that does not work. Use display-buffer instead. This leaves
8992         two problems: The point does not advance to the end of the buffer for
8993         whatever reason, and after leaving the minibuffer, the new window gets
8994         buried.
8996 2002-11-17  Alex Schroeder  <alex@gnu.org>
8998         * erc-stamp.el(stamp): Doc change.
9000         * erc-stamp.el(erc-stamp-version): New constant.
9001         (stamp): downcase alias name of the mode.
9003         * erc.el(define-erc-module): Added defalias option, renamed
9004         parameters again.
9006         * erc-track.el: erc-track-modified-channels-mode is now only an
9007         alias to erc-track-mode.  Only erc-track-mode is autoloaded.
9008         (track): Rewrote call to define-erc-module.
9010 2002-11-16  Mario Lang  <mlang@delysid.org>
9012         * debian/README.Debian: * Spelling fix
9014         * erc-fill.el: * Fix autoload definition for erc-fill-mode
9016         * debian/control, debian/maint/postinst, debian/maint/prerm:
9017         * Remove /usr/doc -> /usr/share/doc link handling
9019         * debian/changelog: * Sync with reality
9021         * debian/scripts/startup.erc:
9022         * Add /usr/share/emacs/site-lisp/erc/ to load-path
9023         * (load "erc-auto")
9025         * debian/README.Debian:
9026         * Info about the changes since last release updated
9028         * erc-pcomplete.el: * Fix emacs/xemacs compatibility
9030         * debian/scripts/install: * Don't compile erc-compat, fix ELCDIR
9032         * debian/control: * Change maintainer field
9034         * erc.el:
9035         * (defin-erc-module): Renamed argument mode-name to mname because silly byte-compiler thought we were talking about `mode-name'.
9037         * Makefile: * Added debrelease target
9039         * erc-bbdb.el, erc-pcomplete.el, erc-stamp.el, erc.el:
9040         * (define-erc-module): Added mode-name argument.
9041         * Converted erc-bbdb, erc-pcomplete and erc-stamp to new macro.
9042         * autoload fixes
9044         * erc-bbdb.el:
9045         * Create a global-minor-mode (i.e., make it a proper erc-module)
9047         * erc.el: * (define-erc-module): New defmacro
9049 2002-11-16  Jorgen Schaefer  <forcer@users.sourceforge.net>
9051         * erc-autoaway.el(erc-autoaway-idle-seconds):
9052         t in docstrings should be non-nil
9054 2002-11-16  Alex Schroeder  <alex@gnu.org>
9056         * erc-autoaway.el, erc-button.el, erc-fill.el, erc-match.el,
9057           erc-menu.el, erc-ring.el, erc-track.el:
9058         Cleanup of file headers: copyright years, GPL mumbo-jumbo, commentaries.
9060         * erc-stamp.el(erc-insert-away-timestamp-function):
9061         New custom type.
9062         (erc-insert-timestamp-function): New custom type.
9064         * erc-fill.el(erc-fill-function): Doc, new custom type.
9065         (erc-fill-static): Doc.
9066         (erc-fill-enable): New function.
9067         (erc-fill-disable): New function.
9068         (erc-fill-mode): New function.
9070         * erc-match.el(erc-match-enable): add-hook for both
9071         erc-insert-modify-hook and erc-send-modify-hook.
9072         (erc-match-disable): remove-hook for both
9073         erc-insert-modify-hook and erc-send-modify-hook.
9075 2002-11-15  Jorgen Schaefer  <forcer@users.sourceforge.net>
9077         * erc-autoaway.el:
9078         - Added a way to use auto-away using emacs idle timers
9079         - Renamed erc-set-autoaway to erc-autoaway-possibly-set-away for consistency
9081 2002-11-14  Jorgen Schaefer  <forcer@users.sourceforge.net>
9083         * erc.el: erc-mode-map: Removed the C-c C-g binding for erc-grab
9085         * erc.el:
9086         (erc-server-341) Another instance of the channel/chnl problem i didn't
9087         see last time
9089 2002-11-14  Alex Schroeder  <alex@gnu.org>
9091         * erc-compat.el(erc-decode-coding-string): typo
9093 2002-11-14  Jorgen Schaefer  <forcer@users.sourceforge.net>
9095         * erc.el(erc-server-341):
9096         variable name should be chnl not channel, as it is
9097         used this way in this function, and the other erc-server-[0-9]* use
9098         chnl too.
9100         * erc-autoaway.el:
9101         Set back on all servers, not just the current one, since we're set
9102         away on all servers as well.
9104         * HISTORY: Fixed typo (ngu.org => gnu.org)
9106         * erc-autoaway.el, erc-fill.el, erc.el: erc-autoaway.el:
9107         * new file
9109         * erc.el: Removed auto-discard-away facility (now included in
9110         erc-autoaway.el)
9111         (erc-away-p): new function
9113         * erc-fill.el (erc-fill-variable): Check whether erc-timestamp-format
9114         is bound before using it (erc-fill.el does not require erc-stamp).
9116 2002-11-10  Alex Schroeder  <alex@gnu.org>
9118         * TODO:
9119         TODO: moved it to http://www.emacswiki.org/cgi-bin/wiki.pl?ErcTODO
9121         * erc.el(with-erc-channel-buffer): Rudimentary doc string.
9123 2002-11-09  Alex Schroeder  <alex@gnu.org>
9125         * erc-button.el(erc-nick-popup-alist): Made a defcustom.
9127         * erc-button.el(erc-button-disable): New function.
9128         (erc-button-enable): New function, replaces the add-hook calls at top-level.
9129         (erc-button-mode): New minor mode.
9131 2002-11-08  Alex Schroeder  <alex@gnu.org>
9133         * erc-button.el(erc-button-entry): Use erc-button-syntax-table.
9135         * erc.el, erc-stamp.el: Doc changes.
9137         * erc-match.el(erc-match-mode): New function, replacing the
9138         add-hook.
9139         (erc-match-enable): New function.
9140         (erc-match-disable): New function.
9141         (erc-current-nick-highlight-type): Changed from 'nickname to 'nick
9142         to make it consistent with the others.
9143         (erc-match-message): Ditto.
9145         * erc-button.el(erc-button-syntax-table): New variable.
9146         (erc-button-add-buttons): Use it.
9148 2002-11-06  Mario Lang  <mlang@delysid.org>
9150         * erc.el:
9151         1) (bug) ERC pops up a new buffer and window when being messaged
9152            from an ignored person. fixed
9153         2) (misfeature) ERC notices the user in the minibuffer when it
9154            ignores something - this can get very annoying, since the
9155            minibuffer is also visible when not looking at ERC buffers.
9156            Added a customizable variable for this, the default is nil.
9157         3) (wishlist) There is no IGNORE or UNIGNORE command.
9158            Added.
9159         4) (wishlist) Some IRC clients, notably irssi, allow the user to
9160            ignore "replies" to ignored people. A reply is defined as a
9161            line starting with "nick:", where nick is the nick of an
9162            ignored person. Added that functionality.
9163         Done by Jorgen Schaefer <forcer@forcix.cx>
9165 2002-11-02  Alex Schroeder  <alex@gnu.org>
9167         * erc.el(erc-connect): set-process-coding-system to raw-text.
9169 2002-11-01  Brian P Templeton  <bpt@tunes.org>
9171         * erc-pcomplete.el, erc-stamp.el, erc-track.el:
9172         Fixed more autoloads
9174         * erc-compat.el: Added autoload for erc-define-minor-mode
9176 2002-11-01  Mario Lang  <mlang@delysid.org>
9178         * erc.el: * (erc-send-command): will break long messages into
9179         a bunch of smaller ones, to prevent them from being truncated by the server.
9180         The patch also axes some trailing whitespace. :-) <resolve>
9182 2002-10-31  Alex Schroeder  <alex@gnu.org>
9184         * erc-pcomplete.el(erc-compat): Require.
9185         (erc-completion-mode): Use erc-define-minor-mode.
9187         * erc-track.el(erc-compat): Require.
9188         (erc-track-modified-channels-mode): Use erc-define-minor-mode.
9190         * erc-stamp.el(erc-compat): Require.
9191         (erc-timestamp-mode): Use erc-define-minor-mode.
9193         * erc-compat.el: New file with the code for erc-define-minor-mode,
9194         erc-encode-coding-string and erc-decode-coding-string.  Essentially
9195         all the stuff that cannot be tested for using a simple boundp or
9196         fboundp -- eg. because the number of arguments are wrong.
9198         * erc.el(erc-compat): Require.
9199         (erc-process-coding-system): Moved to erc-compat.el.
9200         (erc-connect): Do not set-process-coding-system.
9201         (encode-coding-string): Compatibility code moved to erc-compat.el.
9202         (decode-coding-string): Compatibility code moved to erc-compat.el.
9203         (erc-encode-coding-string): Compatibility code moved to erc-compat.el.
9204         (erc-decode-coding-string): Compatibility code moved to erc-compat.el.
9206 2002-10-27  Alex Schroeder  <alex@gnu.org>
9208         * erc.el(erc-display-line-1): Removed call to
9209         erc-decode-coding-string.
9210         (erc-parse-line-from-server): Added call to
9211         erc-decode-coding-string before anything gets parsed at all.
9212         (erc-decode-coding-string): Use undecided coding system.
9214 2002-10-24  Sandra Jean Chua  <sacha@free.net.ph>
9216         * erc-button.el, erc.el:
9217         Added LASTLOG command and action for nick-button
9219 2002-10-22  Sandra Jean Chua  <sacha@free.net.ph>
9221         * erc-pcomplete.el:
9222         Fixed nopruning bug, added /MODE channel (mode) [nicks...] completion - mode not completed yet.
9224 2002-10-16  Sandra Jean Chua  <sacha@free.net.ph>
9226         * erc-pcomplete.el:
9227         Fixed 'Hi delysid:' bug in SAY completion after realizing that pcomplete on commands already took care of completing the initial nick:
9229 2002-10-15  Mario Lang  <mlang@delysid.org>
9231         * erc-pcomplete.el: update from sachac
9233 2002-10-13  Alex Schroeder  <alex@gnu.org>
9235         * erc.el(erc-emacs-time-to-erc-time): Catch when tm is nil.
9237 2002-10-11  Andreas Fuchs  <asf@void.at>
9239         * erc.el:
9240         * Fixed `erc-scroll-to-bottom' to scroll to the bottom even when
9241           in the middle of a line. Might also fix the Magic ECHAN Bug[tm]. (-:
9243 2002-10-11  Mario Lang  <mlang@delysid.org>
9245         * erc-nickserv.el: Fixed erc-networks for the opn->freenode change
9247 2002-10-08  Mario Lang  <mlang@delysid.org>
9249         * erc-pcomplete.el:
9250         Make erc-completion-mode work interactively with already joined channel buffers
9252         * erc-chess.el: Add autoload cookies
9254         * erc-notify.el: Add pcomplete support
9256         * erc.el:
9257         Remove autoload statements, remove autoload cookie from erc-mode and erc-info-mode
9259         * erc-fill.el, erc-match.el: add/remove autoload cookies
9261 2002-10-06  Alex Schroeder  <alex@gnu.org>
9263         * erc-pcomplete.el(erc-completion-mode): New global minor mode
9264         with autoload cookie.
9265         (erc-pcomplete-enable): Renamed erc-pcomplete-initialize.
9266         (erc-pcomplete-disable): New function.
9268         * erc-complete.el: Doc changes.
9270         * erc-stamp.el(erc-stamp-enable): Renamed erc-stamp-initialize.
9271         (erc-stamp-disable): Renamed erc-stamp-destroy.
9272         (erc-timestamp-mode): Use new names.
9274         * erc.el: Removed autoload for erc-complete and
9275         erc-track-modified-channels-mode -- the autoload cookie should do
9276         that instead.
9277         (erc-input-message): Doc string, removed binding for erc-complete.
9278         (erc-mode-map): Removed binding for erc-complete.
9280 2002-10-03  Mario Lang  <mlang@delysid.org>
9282         * erc-notify.el:
9283         New functions erc-notify-JOIN and erc-notify-QUIT to catch some common cases (warning, untested)
9285 2002-10-01  Alex Schroeder  <alex@gnu.org>
9287         * erc-stamp.el(erc-timestamp-mode): New function.  Removed call
9288         to erc-stamp-initialize at the end.
9290 2002-09-25  Brian P Templeton  <bpt@tunes.org>
9292         * erc.el:
9293         Added customizable `erc-process-coding-system' variable.
9295 2002-09-22  Brian P Templeton  <bpt@tunes.org>
9297         * erc-fill.el:
9298         `erc-fill-variable' now does the right thing when `erc-hide-timestamps' is non-nil
9300 2002-09-21  Mario Lang  <mlang@delysid.org>
9302         * erc-fill.el:
9303         patch from Peter Solodov <peter@alcor.concordia.ca>  (note, its slightly broken still
9305 2002-09-05  Mario Lang  <mlang@delysid.org>
9307         * erc-pcomplete.el: Added LEAVE as alias for PART
9309 2002-09-04  Mario Lang  <mlang@delysid.org>
9311         * erc-pcomplete.el:
9312         By sachac (good work!) keep up doing such things
9314 2002-08-31  Mario Lang  <mlang@delysid.org>
9316         * erc.el:
9317         A fix for Bug#133267: now you can put (erc-save-buffer-in-logs) on erc-insert-post-hook to save *every* incoming message.
9319 2002-08-30  Brian P Templeton  <bpt@tunes.org>
9321         * erc.el:
9322         Changed default value of erc-common-server-suffixes because of the OPN
9323         name change
9325 2002-08-28  Mario Lang  <mlang@delysid.org>
9327         * erc-stamp.el: Try to reactivate isearch in xemacs
9329         * erc-stamp.el:
9330         fixes issues related to comparative emacsology and a silly bug
9332 2002-08-27  Mario Lang  <mlang@delysid.org>
9334         * erc.el:
9335         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
9337 2002-08-22  Mario Lang  <mlang@delysid.org>
9339         * erc-button.el:
9340         Fixed case-fold-search (thanks sachac), now lambda works in erc-button-alist, added wardwiki+google+symvar+rfc+itime regexps from the wiki
9342 2002-08-19  Mario Lang  <mlang@delysid.org>
9344         * erc-button.el:
9345         erc-nick-popup-alist: New variable to make erc-nick-popup configurable
9347 2002-08-16  Alex Schroeder  <alex@gnu.org>
9349         * erc-button.el(erc-recompute-nick-regexp): Fixed regexp.
9351         * erc-button.el(erc-button-buttonize-nicks): Changed custom type
9352         to integer.
9353         (erc-button-add-buttons): Moved button removal code to new
9354         function.
9355         (erc-button-remove-old-buttons): New function.
9356         (erc-button-add-button): Removed use of overlays and used
9357         erc-button-add-face instead.
9358         (erc-button-add-face): New function to merge faces as text
9359         properties.  This should be much faster when lots of buttons
9360         appear.
9361         (erc-button-list): New helper function.
9363         * erc.el(erc-display-message): Fixed argument list.
9364         (erc-display-prompt): Reduced calls to length, use start-open
9365         property for XEmacs to prevent a little box of erc-prompt-face at
9366         the end of messages other people send.
9367         (erc-refresh-channel-members): Fix XEmacs calls to split-string,
9368         which may return an empty string at the end of the list.  This
9369         would cause hangups in erc-button in re-search-forward loops.
9370         (erc-get-channel-mode-from-keypress): Replaced control codes with
9371         octal escape sequences.
9373 2002-08-14  Mario Lang  <mlang@delysid.org>
9375         * erc-button.el:
9376         Try to be compatible to XEmacs regexp-opt. (Im going to quit this job if I find more of those damn differencies
9378         * debian/README.Debian, debian/scripts/install:
9379         * Added info to README.Debian
9380         * Finished debian/scripts/install
9382 2002-08-13  Mario Lang  <mlang@delysid.org>
9384         * debian/scripts/install: First attempt to fix it
9386         * debian/README.Debian, debian/changelog, debian/scripts/install:
9387         changelog: Changed maintainer and added new entry
9388         README.Debian: Re-explained the byte-compile issue
9389         scripts/install: Exclude erc-bbdb|chess|ibuffer|speedbar from
9390         byte-compiling
9392         * erc-track.el: Added C-c C-SPC in addition to C-c C-@
9394         * erc-notify.el: Little docstring change
9396 2002-08-09  Mario Lang  <mlang@delysid.org>
9398         * erc-stamp.el:
9399         Change one use of set-text-properties to add-text-properties (tnx Lathi)
9401 2002-08-02  Mario Lang  <mlang@delysid.org>
9403         * erc-stamp.el: added erc-timestamp-only-if-changed-flag
9405 2002-07-22  Mario Lang  <mlang@delysid.org>
9407         * erc.el:
9408         Removed timestamp related code and moved into erc-stamp.el
9410         * erc-stamp.el:
9411         Timestamping code moved out of erc.el. Additional, now we can timestamp either on the left or on the right side
9413 2002-07-16  Mario Lang  <mlang@delysid.org>
9415         * erc.el:
9416         * Make ctcp ping return its message in the active buffer, instead of the server buffer
9417         * Corrected minimal typo in catalog
9418         * Added var and variable as alias for /set
9420 2002-07-08  Mario Lang  <mlang@delysid.org>
9422         * erc-track.el:
9423         * New function erc-track-switch-buffer (by resolve)
9424           Bound to C-c C-SPC, enjoy!
9426 2002-07-08  Gergely Nagy  <algernon@debian.org>
9428         * debian/changelog: New snapshot deb
9430         * debian/scripts/install: Rewrote in make.
9431         Does not byte-compile erc-speak.el at all, and excludes erc-track.el too, if
9432         ran for xemacs.
9434         * debian/control: Added dependency on make
9436         * debian/copyright: Updated copyright info
9438         * debian/rules: Use $(wildcard *.el) instead of a hardcoded list
9440 2002-07-03  Diane Murray  <disumu@x3y2z1.net>
9442         * erc.el:
9443         erc-iswitchb now works correctly if erc-modified-channels-alist is non-nil
9445 2002-07-01  Diane Murray  <disumu@x3y2z1.net>
9447         * erc-menu.el:
9448         * changed how we check if we should activate "Track hidden channels" and
9449           whether it should be selected - fixes a bug XEmacs where whole menu bar
9450           does not work if menu is loaded
9452         * erc-menu.el:
9453         * added "Disconnect from server", only selectable if erc-connected is non-nil
9455         * topic is allowed to be set by normal users if channel mode is not +t
9457         * add " ..." after description if arguments needed after selecting menu item
9459         * only allow selecting of menu points needing a channel if current buffer is
9460           a channel buffer - done by testing if channel-members is non-nil
9462         * put erc-match functions in new group "Pals, fools and other keywords"
9464         * erc.el:
9465         * moved definition of erc-show-my-nick to GUI variables section
9467         * erc-connected variable now defined with defvar
9468           now set in channel and query buffers, was only in server buffer before
9469           upon disconnect, set erc-connected to nil in all the server's buffers
9471         * added erc-cmd-GQUIT and its alias erc-cmd-GQ - quit all servers at once
9473         * added interactive function erc-quit-server, bound to C-c C-q
9475         * added erc-server-WALLOPS
9477         * added WALLOPS to english catalog, fixed s461 (was showing message twice)
9479         * typo fixes, spacing change
9481 2002-06-29  Mario Lang  <mlang@delysid.org>
9483         * erc.el: Use pp-to-string in /set (without args)
9485         * erc-netsplit.el:
9486         Make /set anonymous-lign set erc-anonymous-login, also report
9487         which var was set to which val.
9489 2002-06-28  Diane Murray  <disumu@x3y2z1.net>
9491         * erc-menu.el: added "Customize ERC"
9493 2002-06-25  Mario Lang  <mlang@delysid.org>
9495         * erc.el: New variable: erc-use-info-buffers, defaults to nil.
9496           This prevents info-buffers from being created/updated.
9497           Set to t if you use :INFO buffers.
9498           (by rw)
9499         Delete (erc-display-prompt) from reconnect to avoid clutter
9501 2002-06-23  Diane Murray  <disumu@x3y2z1.net>
9503         * erc.el:
9504         erc-get-channel-mode-from-keypress is now bound to C-c C-m
9505         erc-insert-mode-command is taken care of by this function as well
9507 2002-06-21  Mario Lang  <mlang@delysid.org>
9509         * erc-track.el:
9510         Fixed bug where buffer-names suddenly had text-properties.
9512 2002-06-19  Diane Murray  <disumu@x3y2z1.net>
9514         * Makefile: changed erc-auto.el to $(SPECIAL) in make fullclean
9516         * Makefile: remove erc-auto.el on make fullclean
9518 2002-06-18  Diane Murray  <disumu@x3y2z1.net>
9520         * erc-match.el: fixed spelling error
9522         * erc-track.el, erc-match.el: * erc-match.el:
9523           highlight current nickname in its own face (inactive by default):
9524           - added erc-current-nick-highlight-type, erc-current-nick-face,
9525             erc-current-nick-p
9527         * erc-track.el:
9528           added support for erc-current-nick-face
9530 2002-06-17  Diane Murray  <disumu@x3y2z1.net>
9532         * erc.el: * added beginning support for 005 numerics:
9533           - added buffer local variable erc-server-parameters
9534           - added erc-server-005, which sets erc-server-parameters if the server has
9535             used this code to show its parameters
9537 2002-06-16  Diane Murray  <disumu@x3y2z1.net>
9539         * erc.el:
9540         * bugfix: when pasting lines with blank lines in between, remove the blank lines
9541           but send the rest
9543         * since we know the command, use it when checking what's in erc-hide-list
9544           added check to erc-server-KICK
9546         * added some blank lines for better readability
9548 2002-06-16  Alex Schroeder  <alex@gnu.org>
9550         * erc-nickserv.el(erc-nickserv-alist): Fixed typo.
9552 2002-06-15  Alex Schroeder  <alex@gnu.org>
9554         * erc-nickserv.el(erc-networks): Added doc string.
9555         (erc-nickserv-alist): Added doc string.
9557 2002-06-14  Diane Murray  <disumu@x3y2z1.net>
9559         * erc-ring.el:
9560         fixed bug so that the prompt and command always get put at the end of the buffer
9562 2002-06-10  Mario Lang  <mlang@delysid.org>
9564         * erc-nickserv.el: Added iip support.
9565         Added :type for erc-nickserv-passwords custom.
9566         Fixed hook usage.
9568 2002-06-07  Diane Murray  <disumu@x3y2z1.net>
9570         * erc-nickserv.el: * added GalaxyNet
9572         * erc-nickserv-alist:
9573           - sorting networks alphabetically
9574           - added two more pieces of information in erc-nickserv-alist:
9575             word to use for identification and whether to use the nickname
9577         * erc-current-network:
9578           - made regex case insensitive, downcase server to match
9579           - uses the new information
9580           - now uses new variable erc-networks instead of doing checking manually
9582         * added variable erc-networks
9584         * fixed some indentation, documentation
9586 2002-06-07  Mario Lang  <mlang@delysid.org>
9588         * erc.el: Fix for kill-buffer hook stuff
9590 2002-06-06  Mario Lang  <mlang@delysid.org>
9592         * erc.el: Added /squery command
9594 2002-06-06  Diane Murray  <disumu@x3y2z1.net>
9596         * erc-menu.el: * made group Channel modes
9597           - moved change mode and invite only mode to here
9598           - added secret, moderated, no external send, topic lock, limit, key
9600         * check that user is in a channel buffer and user is a channel operator
9601           for all op-related actions
9603         * "Identify to nickserv" needs erc-nickserv-identify defined
9605         * added "Show ERC version"
9607         * erc.el:
9608         * added erc-set-channel-limit, erc-set-channel-key, erc-toggle-channel-mode
9610         * added erc-get-channel-mode-from-keypress, which is bound to C-c m
9611           sends the next character which is typed to one of the 3 new functions
9612           - did not remove erc-invite-only-mode and it's key binding in case
9613             people are used to it, although it probably should be removed...
9615         * in erc-server-MODE:
9616           added check if tgt equal to user's nick
9617           removed erc-display-line, only using the erc-display-message
9619         * added s461 to english catalog
9621         * fixed bug where XEmacs would not quit if erc-quit-reason was
9622           set to erc-quit-reason-various and assoc-default was not defined
9624 2002-06-04  Andreas Fuchs  <asf@void.at>
9626         * erc-ezbounce.el, erc-match.el:
9627         * erc-ezbounce.el: Added. Provides support for ezbouncer; automatic login,
9628                            session management implemented. I've contacted the author
9629                            about stuff in EZBounce's logging.
9630         * erc-match.el: Fixed a stupid mistake where
9631                         "*** Your new nick is <foo>" would trigger an error.
9633 2002-06-04  Diane Murray  <disumu@x3y2z1.net>
9635         * erc-nickserv.el, erc.el: * added erc-nickserv.el
9636         * moved nickserv identification variables and functions to the new file
9637           (require 'erc-nickserv) is now necessary for this to work
9639         * erc.el:
9640         * results of /COUNTRY now formatted as notice; errors are ignored,
9641           fixing
9642           bug which made prompt disappear
9644         * added undefined-ctcp error message to english catalog
9646         * changed some (when (not erc-disable-ctcp-replies) to use unless instead
9647           and some if's without else statements to use when or use
9649         * CTCP replies now use erc-display-message, formatted as notices
9651         * added following to english catalog:
9652           - undefined-ctcp
9653           - CTCP-CLIENTINFO, CTCP-ECHO, CTCP-FINGER, CTCP-PAGE, CTCP-PING,
9654             CTCP-SOUND, CTCP-TIME, CTCP-UNKNOWN, CTCP-VERSION
9655           - s303, s305, s306, s353
9657         * split erc-server-305-or-306 into erc-server-305 and erc-server-306
9659         * KICK already had buffer set, using it
9661         * erc.el:
9662         * erc-format-timestamp now only called from erc-display-message and
9663           erc-send-current-line
9665         * all instances of erc-display-line with erc-highlight-error
9666           changed to use erc-display-message
9668         * added following error messages to english catalog:
9669           bad-ping-response, bad-syntax, cannot-find-file, cannot-read-file,
9670           ctcp-request, flood-ctcp-off, flood-strict-mode, no-default-channel,
9671           no-target, variable-not-bound
9673         * added following server related messages to english catalog:
9674           s324, s329, s331, s332, s333, s341, s406, KICK, KICK-you, KICK-by-you, MODE-nick
9676         * ignoring server codes 315, 369
9678         * added erc-server-341, erc-server-406
9680         * channel topic and mode notices displayed in respective channel buffers if they
9681           exist
9683         * erc-server-KICK: display the message before removing this channel so that we
9684           can track the kick
9686         * send parsed to erc-ctcp-query-ACTION-hook so that actions can be checked
9687           by erc-match
9689         * fixed bug where nil was shown if no reason was given by users on /PART
9691 2002-06-03  Diane Murray  <disumu@x3y2z1.net>
9693         * erc-match.el:
9694         * fixed bug where erc-log-matches produced an error when the value of
9695           (erc-default-target) was not a channel
9696         * use erc-format-timestamp, if it's non-nil, for %t in erc-log-match-format
9698 2002-06-01  Diane Murray  <disumu@x3y2z1.net>
9700         * erc-button.el:
9701         * made action case insensitive in erc-nick-popup and added a more descriptive
9702           error message
9704 2002-05-30  Brian P Templeton  <bpt@tunes.org>
9706         * erc.el:
9707         Removed multiple calls of `erc-prompt' in `erc-display-prompt'
9709 2002-05-29  Mario Lang  <mlang@delysid.org>
9711         * erc.el:
9712         First step timestampkiller cleanup. I'm tired, do the rest tomorrow.
9714         * erc.el:
9715         New functionality: Catch channel/server buffer kills through kill-buffer-hook.
9716         Currently, it only does a PART if you kill a channel buffer.
9718 2002-05-28  Mario Lang  <mlang@delysid.org>
9720         * erc.el:
9721         defvar'ed some buffer-local variables to make elint at least a bit more happy.
9722           Moved comments into docstrings.
9723         Changed some instances of member to memq.
9725         * erc-track.el, erc.el:
9726         * erc.el (erc-message-type-member): New function, used to test
9727         for message type. Require erc-parsed text-property.
9728         * erc-track.el (erc-track-exclude-types): New variable. Defaults
9729         to ("JOIN" "PART") right now for testing, it should eventually set
9730         to nil soon again.
9731         (erc-track-modified-channels): Use above fun and var to optionally
9732         exclude certain message types from channel tracking.
9734 2002-05-28  Diane Murray  <disumu@x3y2z1.net>
9736         * CREDITS: added myself, vain as it sounds ;)
9738 2002-05-25  Mario Lang  <mlang@delysid.org>
9740         * erc.el: * Some small docstring fixes
9741         * (erc-display-line): Now takes also a process object in the buffer argument.
9742           Used for easy sending to the server buffer.
9743         * Several places: Just pass proc, not (process-buffer proc)
9745 2002-05-24  Mario Lang  <mlang@delysid.org>
9747         * erc.el: Mostly docstring fixes/additions
9749         * erc-netsplit.el: Doc fixes, and a new netjoin-done message.
9751         * erc-fill.el: Doc fixes, erc-fill custom group, autoloads.
9753         * erc-netsplit.el: Fix to erc-netsplit-timer.
9755         * erc-netsplit.el: Fixed a silly typo
9757         * erc-maint.el: is this really necessary?
9759         * erc.el: Added new variable erc-hide-list.
9760         It affects erc globally right now, and is used to hide certain IRC type messages like JOIN and PART.
9762         * Makefile: Doh, I should really test this before checkin :)
9764         * Makefile: Silly cut&paste bug fixed
9766         * erc-list.el: Added autoload cookie
9768         * erc-match.el: Added missing require erc.
9770         * erc-notify.el: Autoload cookies and a -initialize function.
9772         * erc-chess.el: Added autoload cookies
9774         * Makefile: Finally, we have a Makefile.
9775         Primarily used for autoload definition generation right now.
9777         * erc-auto.in: First version.
9779         * erc-track.el: Added autoload cookie
9781         * erc-netsplit.el:
9782         New module, used to autodetect and hide netsplits.
9783         (Untested, no netsplit happened yet :) )
9785         * erc-nets.el: Added some old code I once worked on.
9786         Added autoload cookie
9788 2002-05-24  Diane Murray  <disumu@x3y2z1.net>
9790         * erc-fill.el:
9791         removed reference in documentation to old variable, changed it to the new one
9793         * erc.el:
9794         * added new function erc-connection-established which is called after receiving
9795           end of MOTD (does nothing if it's been called before)
9797         * added new hook erc-after-connect which is called from
9798           erc-connection-established with the arguments server (the announced server)
9799           and nick - which other arguments should be sent??
9801         * added buffer variable erc-connected which is set to t the first time
9802           erc-connection-established is called, set to nil again if we've been
9803           disconnected
9805         * set initial user mode
9806           - added custom variable erc-user-mode which can be a string or a function
9807             which returns a string
9808           - new function erc-set-initial-user-mode gets called from
9809             erc-connection-established
9811 2002-05-22  Diane Murray  <disumu@x3y2z1.net>
9813         * erc.el: fixed bug where prompt was missing after reconnect
9815 2002-05-21  Diane Murray  <disumu@x3y2z1.net>
9817         * erc.el:
9818         in erc-nickserv-identify: if network is unknown, just use "Nickserv"
9820         * erc.el: * fixed some typos
9822         * timestamping
9823           - ctcp request messages and replies now have timestamp
9824           - timestamps in front of error messages now in timestamp face
9825           - added timestamp to more error messages
9827         * ctcp reply messages, server ping message updated
9829         * added variable erc-verbose-server-ping - check this instead of erc-paranoid
9831         * added whowas on no such nick:
9832           - added variable erc-whowas-on-nosuchnick
9833           - in erc-server-401 do WHOWAS if erc-whowas-on-nosuchnick is non-nil
9835         * erc.el: forgot documentation for erc-nickserv-alist
9837         * erc.el: NickServ identification changed and enhanced:
9838         - erc-nickserv-identify-autodetect now called from erc-server-NOTICE-hook
9839         - now possible to identify automatically without prompt:
9840           - added custom variables erc-prompt-for-nickserv-password and
9841             erc-nickserv-passwords
9842         - added erc-nickserv-alist containing the different networks' nickserv details
9843         - added function erc-current-network to determine the network symbol
9844         - fixed bug where identification on dalnet didn't work, because they now
9845           require NickServ@services.dal.net
9846           now sends to all NickServ with nick@server where possible
9848 2002-05-17  Diane Murray  <disumu@x3y2z1.net>
9850         * erc-fill.el:
9851         * filling with erc-fill-variable now works with custom defined fill width:
9852           - changed erc-fill-column from defvar to defcustom
9853           - in erc-fill-variable: set fill-column to value of erc-fill-column
9855         * erc.el: erc.el:
9856         * fixed bug where topic wasn't being set when channel name was provided
9858         erc-fill.el:
9859         * filling with erc-fill-variable now works with custom defined fill width:
9860           - changed erc-fill-column from defvar to defcustom
9861           - in erc-fill-variable: set fill-column to value of erc-fill-column
9863 2002-05-16  John Wiegley  <johnw@gnu.org>
9865         * erc.el: whitespace fix
9867 2002-05-15  Diane Murray  <disumu@x3y2z1.net>
9869         * erc.el:
9870         * added explanation of empty string working in erc-quit-reason-various-alist
9871         * removed the text property from erc-send-message, it caused problems
9872           with /SV (as noticed by gbvb on IRC) and is obviously not needed
9873         * when receiving a ctcp query, convert type to uppercase to allow for
9874           "/ctcp nick time" and not just "/ctcp nick TIME"
9875         * timestamp in front of server notices now shown in the timestamp face
9877 2002-05-13  Diane Murray  <disumu@x3y2z1.net>
9879         * erc.el:
9880         - in erc-format-privmessage: `erc-format-timestamp' added to message after
9881           message's text properties are applied so that it doesn't lose its face
9883         - /quit without reason now works when `erc-quit-reason' is set to
9884           `erc-quit-reason-various' and the empty string "" is defined in
9885           `erc-quit-reason-various-alist'
9887 2002-05-13  Andreas Fuchs  <asf@void.at>
9889         * erc-bbdb.el:
9890         * Applied Drewies patch to pop-up on nick changes when -popup-type is 'visible
9892 2002-05-12  Andreas Fuchs  <asf@void.at>
9894         * erc-bbdb.el, erc.el:
9895         * erc-bbdb.el: pop up the buffer on /whois when erc-bbdb-popup-type is 'visible
9896         * erc.el: fix for empty quit reason problem by drewie.
9898 2002-05-12  Mario Lang  <mlang@delysid.org>
9900         * erc.el: disumu nick patch
9901         - added erc-show-my-nick (default t)
9902           if t, show nickname like <nickname>
9903           if nil, only show a > character before the message
9904         - added faces erc-nick-default-face and erc-nick-msg-face
9905           - nicknames (channel, msgs, notices) are now in bold face by default
9906           - the msg face matches the erc-direct-msg-face color
9908 2002-05-10  Alex Schroeder  <alex@gnu.org>
9910         * erc.el(erc-send-pre-hook): Doc change.
9912         * CREDITS: Alexander L. Belikoff is confirmed original author.
9914 2002-05-10  Mario Lang  <mlang@delysid.org>
9916         * erc.el:
9917         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
9919 2002-05-09  Mario Lang  <mlang@delysid.org>
9921         * erc.el: *** empty log message ***
9923 2002-05-06  Mario Lang  <mlang@delysid.org>
9925         * erc.el:
9926         New var: erc-echo-notices-in-minibuffer-flag. defaults to t.
9928 2002-05-04  John Wiegley  <johnw@gnu.org>
9930         * TODO: *** empty log message ***
9932 2002-05-03  Alex Schroeder  <alex@gnu.org>
9934         * erc.el: Copyright notice, version string updates.
9936 2002-05-02  Alex Schroeder  <alex@gnu.org>
9938         * erc.el: Comment: dme is David Edmondson
9940 2002-05-01  Alex Schroeder  <alex@gnu.org>
9942         * erc.el(erc-warn-about-blank-lines): New option.
9943         (erc-send-current-line): Use it.
9944         (erc-quit-reason-various-alist): New option.
9945         (erc-quit-reason): New option.
9946         (erc-quit-reason-normal): New function.
9947         (erc-quit-reason-zippy): New function.
9948         (erc-quit-reason-various): New function.
9949         (erc-cmd-QUIT): Use them.
9951 2002-04-30  Alex Schroeder  <alex@gnu.org>
9953         * erc.el: Version 2.92
9955         * erc.el(erc-send-modify-hook): Default value is nil.
9957 2002-04-27  John Wiegley  <johnw@gnu.org>
9959         * erc.el:
9960         Don't redisplay the prompt if the ERC buffer is no longer alive.
9962 2002-04-26  John Wiegley  <johnw@gnu.org>
9964         * erc.el:
9965         Don't call `set-buffer' on old-buf unless the buffer is valid.  It's
9966         often not when separate frames are being used.
9968 2002-04-23  Mario Lang  <mlang@delysid.org>
9970         * erc-button.el: fixed up erc-nick-regexp
9972 2002-04-22  Brian P Templeton  <bpt@tunes.org>
9974         * erc.el:
9975         `erc-prompt' may now be a function that returns a string (which is
9976         used as the prompt). I don't use Customize but I think customization
9977         of it may be broken if it's not a string.
9979         There is a new `erc-prompt' function that returns the prompt as a
9980         string (e.g., returning either the result of `(funcall erc-prompt)' or
9981         `erc-prompt').
9983         This allows for dynamic prompts, such as a LispWorks-like prompt, or
9984         one containing simply the current channel name. It was requested by
9985         Mojo Nichols (nick michols) in #emacs today, 21-Apr-2002; cf. the
9986         #emacs logs at <URL:http://www.tunes.org/~nef/logs/emacs/02.04.21.
9988 2002-04-17  Mario Lang  <mlang@delysid.org>
9990         * erc.el:
9991         fix erc-send-current-line to work on empty lines again (without sending the prompt)
9992         Fix C-c C-t to not include the nick/time info
9993         (both from antifuchs)
9995         * erc-complete.el: Fix for xemacs elt behavior
9997 2002-04-17  John Wiegley  <johnw@gnu.org>
9999         * erc-chess.el:
10000         Added a missing arg in a call to erc-chess-handler.
10002 2002-04-15  John Wiegley  <johnw@gnu.org>
10004         * erc-chess.el: *** empty log message ***
10006 2002-04-14  John Wiegley  <johnw@gnu.org>
10008         * erc-chess.el: *** empty log message ***
10010 2002-04-12  John Wiegley  <johnw@gnu.org>
10012         * erc-chess.el: *** empty log message ***
10014         * erc-chess.el: bug fixes
10016         * erc-chess.el: *** empty log message ***
10018 2002-04-12  Mario Lang  <mlang@delysid.org>
10020         * erc-chess.el: change order.
10022         * erc-chess.el: more fixing.
10024         Now, the 'match question works. It sends an accept back.
10025         But display popup doesn't work..
10027         * erc-chess.el: fixup (still far from working)
10029 2002-04-11  Mario Lang  <mlang@delysid.org>
10031         * erc.el:
10032         * Added :options entry for erc-mode-hook (erc-add-scroll-to-bottom)
10034 2002-04-11  John Wiegley  <johnw@gnu.org>
10036         * erc.el: remove trailing \n from any sent text
10038         * servers.pl, erc-bbdb.el, erc-button.el, erc-chess.el,
10039           erc-complete.el, erc-fill.el, erc-ibuffer.el, erc-list.el,
10040           erc-match.el, erc-menu.el, erc-nets.el, erc-replace.el,
10041           erc-speak.el, erc-speedbar.el, erc-track.el, erc.el:
10042         clean whitespace
10044         * erc.el: Replaced erc-scroll-to-bottom.
10046 2002-04-11  Mario Lang  <mlang@delysid.org>
10048         * erc-track.el:
10049         try to fix behavior when used with different frames.
10051 2002-04-09  Mario Lang  <mlang@delysid.org>
10053         * erc-chess.el:
10054         fixup release, far from ready for real usage, but it appears to work.
10056         * erc.el:
10057         speed improvements based on elp-instrument-package RET erc- RET results
10059         * erc-chess.el: initial version.
10060         please test it
10061         Get chess.el from johnw's cvs:
10062         cvs -d:pserver:anonymous@alice.dynodns.net:/usr/local/cvsroot login
10063         cvs -d:pserver:anonymous@alice.dynodns.net:/usr/local/cvsroot co chess
10065         (as usual, blank password)
10067         Add the resulting dir to your load-path and require erc-chess.
10069         Usage: Just do /chess nickname
10070         The remote end much use erc, as no other irc client I know of supports this ...
10072         See erc-chess-default-display and maybe set it to chess-images or chess-ics1 if you prefer those over chess-plain.
10073         Also, see erc-chess-user-full-name to set the name you use in chess games.
10075 2002-04-04  Mario Lang  <mlang@delysid.org>
10077         * erc.el: New hackery latenightwise
10079         * erc.el: upupadowndowncase
10081 2002-04-04  Gergely Nagy  <algernon@debian.org>
10083         * debian/changelog: Updated for the new snapshot
10085         * debian/rules: Install README.Debian into the package
10087         * debian/README.Debian: Initial check-in
10089 2002-04-04  Mario Lang  <mlang@delysid.org>
10091         * erc.el:
10092         Fixed that /me in query buffers ended up in server buffer
10094         * erc.el: * Implemented joining +k channels
10096 2002-03-14  Mario Lang  <mlang@delysid.org>
10098         * erc.el: New utility function: erc-channel-list
10099         minor fix to erc-get-buffer. hopefully that helps shapr
10101 2002-03-12  Mario Lang  <mlang@delysid.org>
10103         * erc.el:
10104         New /command: /QUOTE for sending directly to the IRC server
10105         Removed erc-fill from erc-insert-modify-hook. To activate filling, simply customize that var.
10107 2002-03-09  Brian P Templeton  <bpt@tunes.org>
10109         * CREDITS: *** empty log message ***
10111 2002-03-09  Mario Lang  <mlang@delysid.org>
10113         * erc-complete.el:
10114         New variable: erc-nick-completion-ignore-case. Defaults to t.
10116         * erc-track.el:
10117         * erc-track-shorten-name-function can now be set to nil to avoid treating of channel names at all.
10119 2002-03-06  Gergely Nagy  <algernon@debian.org>
10121         * debian/changelog, debian/rules: update to new snapshot
10123 2002-03-06  Mario Lang  <mlang@delysid.org>
10125         * erc.el:
10126         Fixed nasty bug which prevented channel limit from correctly display/handling
10128         * erc-track.el: Made shortening code highly customizable.
10129         Now, there is the variable erc-track-shorten-function which holds
10130         a function which gets called with one argument, CHANNEL-NAMES, which is a list
10131         of strings of the channel names.
10132         It needs to return a list of strings of the same length with the modified values...
10134         * erc-track.el:
10135         Added erc-track-shorten-aggressively, default to nil
10136         if it is set to t, erc will shorten a bit more.
10137         if nil, erc will shorten the name only if it would get shorter than just
10138         one char...
10140         * erc-speak.el: added iirc to the abbreviation expansion list.
10142         * erc-track.el:
10143         Added customization variable: erc-track-use-faces. defaults to t.
10145         * erc-track.el: *** empty log message ***
10147         * erc-track.el:
10148         experimental: Added face support to mode-line channel activity tracker.
10149         Currently we use the faces used for indicating in the buffer (erc-pal-face for channels with pal activity...)
10151 2002-03-05  Mario Lang  <mlang@delysid.org>
10153         * erc-complete.el: * added docfixes (thanks ore)
10155         * erc-track.el: Fixed channel-name reduction.
10156         thanks again alex.
10157         Renamed the vars to erc-track-opt-start and erc-track-opt-cutoff.
10159         * erc.el: fixed another silly error
10161         * erc-track.el: Implemented channel name shortening.
10162         Vars erc-track-cutoff says: all channel names longer than this will be shortened.
10163         Var erc-track-minimum-channel-length says: don't make names shorten than this.
10164         (Thanks go out to kensanata for the nice unique-substrings utility function).
10166         * erc.el 2002-07-15T00:01:34Z!raeburn@raeburn.org: silly typo corrected
10168         * erc.el: New variable: erc-common-server-name-suffixes
10169           This alist can be used to change the server names displayed in mode-line
10170           to a shorter version..
10171         * New function: erc-shorten-server-name (uses var above)
10172         * Changed erc-prepare-mode-line to use erc-shorten-server-name.
10174 2002-02-25  Mario Lang  <mlang@delysid.org>
10176         * erc.el:
10177         CTCP handling rewritten. Seems to work. please test and report probs.
10179 2002-02-24  Mario Lang  <mlang@delysid.org>
10181         * erc.el:
10182         Fixed emacs20 backward compatibility (new defun/alias: erc-propertize)
10184 2002-02-22  Mario Lang  <mlang@delysid.org>
10186         * erc-button.el: *** empty log message ***
10188 2002-02-21  Mario Lang  <mlang@delysid.org>
10190         * erc-button.el, erc.el:
10191         minor fixup related to read-only prompts and command renaming.
10193 2002-02-21  Andreas Fuchs  <asf@void.at>
10195         * erc.el: * modify `erc-remove-text-properties-region' to work.
10196           Could even be a little faster now. (-:
10198 2002-02-21  Mario Lang  <mlang@delysid.org>
10200         * erc-ring.el:
10201         fixed erc-replace-command to behave right when text is read-only.
10202         Also, use erc-insert-marker and (point-max) now.
10204         * erc.el: * Made erc-prompt read-only
10205         * 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
10207 2002-02-19  Mario Lang  <mlang@delysid.org>
10209         * erc-list.el: added comment to docstring
10211         * erc-speak.el: minor updates, use erc-nick-regexp now
10213         * erc.el:
10214         ensure that erc-timer-hook is called inside the server-buffer.
10216 2002-02-19  Andreas Fuchs  <asf@void.at>
10218         * erc-match.el:
10219         * Probably fixed the "number-char-or-marker-p: nil" bug.
10221 2002-02-19  Mario Lang  <mlang@delysid.org>
10223         * erc-notify.el: Initial release.
10225         * erc.el: added #303 handling
10226         moved timer and added an arg (erc-current-time)
10228         * erc-list.el, erc.el:
10229         slightly changed the erc-once-with-server-event macro
10231         * erc-button.el: erc-button-alist: doc fix and custom type fix
10233 2002-02-18  Mario Lang  <mlang@delysid.org>
10235         * erc-list.el, erc.el: new macro: erc-once-with-server-event
10236         erc-list.el: use it
10238         * erc-match.el:
10239         Minor fix related to hook call method change (-until-seccess now)
10241         * erc.el: fixed ctcp behavior abit (with auto-query on)
10243         * erc-list.el: ChanList mode.
10244         Load it, and type M-x erc-chanlist RET
10245         Demonstrates how the new hook system can be nicely used.
10247         * erc.el:
10248         new hook: erc-default-server-hook. This one gets called if we don't have anything defined for a certain IRC server message.
10249         New function: erc-default-server-handler. (used by above hook).
10250         New function: erc-debug-missing-hooks: Used by above hook to save a list of unimplemented server messages.
10251         New function: erc-server-buffer, erc-server-buffer-p.
10252         Various places: use it.
10253         Minor fixup.
10255         * erc-button.el: fix regexp to not buttonize ~user@host hostnames
10257 2002-02-17  Mario Lang  <mlang@delysid.org>
10259         * erc-complete.el, erc.el: Eliminated erc-command-table
10260         Upcased the command defuns (erc-cmd-join is now erc-cmd-JOIN)
10261         Fixed erc-complete to not require erc-command-table.
10262         Implemented erc-cmd-HELP
10263           (You have to try that, its tooo coool!)
10264           e.g. /help auto-q
10265         fixed autoloads for erc-add-pal and so on to be interactive.
10267 2002-02-17  Andreas Fuchs  <asf@void.at>
10269         * erc-match.el:
10270         * Fix unfunctional code in `erc-get-parsed-vector-type'.
10272         * erc-bbdb.el, erc-button.el, erc-match.el, erc.el:
10273         * Be careful: MANY changes ahead. I won't go into too much details.
10275         * erc.el, new file erc-match.el: split out all pattern-matching code.
10276         * erc.el: removed all defcusts for erc-{...}-highlight-props. They are
10277           quite useless, anyway.
10278         * moved erc-add-entry-to-list and -remove- over to erc-match. changed
10279           their arg list.
10280         * erc.el: add autoloads for erc-{add,delete}-{keyword,pal,fool,dangerous-host}
10281         * erc.el: erc-server-PRIVMSG-or-NOTICE:
10282           - remove all the highlighting crap
10283           - add a (when (eq s nil) ...) so that untreated CTCP messages don't
10284             get misdisplayed.
10285         * erc.el: erc-mark-message: removed this function, it's useless
10286         * erc.el: minor bugfixes.
10288         * erc-match.el: first checkin. This file now contains all the pattern
10289           matching stuff. there is now another defcust group, erc-match,
10290           containing all match related stuff (erc-keywords, ...)
10291         * erc-match.el: added functionality to log matching lines. Quite
10292           customizable, check out the docstring of defun erc-log-matches
10293         * erc-match.el: added functionality to make foolish messages
10294           invisible/intangible. This could replace erc-ignore-list
10295           sometime. it's more powerful right now, anyway.
10296         * erc-match.el erc-text-matched-hook: new hook. run when Text matches
10297           anything (pal, fool, etc.).
10299         * erc-button.el: Make nick buttonization customizable.
10300         * erc-button.el: Give nick buttonization a lower priority so that it
10301           does not break url buttons.
10303         * erc-bbdb.el: Add \n to the separators by which we split nicknames.
10305 2002-02-17  Mario Lang  <mlang@delysid.org>
10307         * TODO: Added item
10309 2002-02-17  Brian P Templeton  <bpt@tunes.org>
10311         * CREDITS, erc.el: Added invisible timestamp support.
10313 2002-02-16  Gergely Nagy  <algernon@debian.org>
10315         * debian/changelog, debian/rules, debian/scripts/install:
10316         updated to new snapshot
10318 2002-02-16  Mario Lang  <mlang@delysid.org>
10320         * erc.el:
10321         Fixed channel limit format overflow in mode-line display.
10322         (Having to use floats if integers are to large is quite strange, isn't it?)
10324         * TODO: TODO list created.
10325         Add comments and expand it.
10327         * erc.el:
10328         Fixed bug in query buffer handling (only happend in mixed-case situations)
10330         * erc.el: shapr checkdoc patch #1
10331         massive docfixes! yay, keep going!
10333 2002-02-15  Mario Lang  <mlang@delysid.org>
10335         * erc.el: various other fixes
10336         make s301 a catalog entry
10338 2002-02-15  Andreas Fuchs  <asf@void.at>
10340         * erc.el: * erc-server-NICK and erc-server-INVITE: fixed to use
10341           `erc-display-message'. These I missed in the first checkin.  I
10342           didn't say it in the last log message, but please test these.
10344         * erc-fill.el, erc.el:
10345         * erc.el: updated many functions to use `erc-display-message'. Now, we
10346           should go for getting highlighting out of
10347           erc-server-PRIVMSG-or-NOTICE. The part I want to attack has been
10348           marked.
10349         * erc-fill.el: updated static filling to leave the erc-parsed property alone.
10351 2002-02-15  Mario Lang  <mlang@delysid.org>
10353         * erc.el:
10354         first step, new function: erc-display-message
10356         * erc.el: added numreply 379 and 405.
10358         * erc.el: stupid typo fixed
10360         * erc.el:
10361         Finally renamed erc-frame-dedicated-p to erc-frame-dedicated-flag
10362         Removed usage of erc-interpret-controls from info buffer drawing (major speedup)
10363         Other speedups based on the results from elp.
10364         ERC is now about 300%-500% faster in some situations with very full channels!!!!!
10366 2002-02-14  Andreas Fuchs  <asf@void.at>
10368         * erc.el:
10369         * erc-downcase now downcases {}|^ with []\~ -- 'stolen' from zenirc.
10370         * various checkdoc fixes. Just the upper third of the file, but that
10371           should help a little, too. (-: Again, if you have any writing
10372           skills, take out that dusty keyboard and tap it to the beat of M-x
10373           checkdoc!
10375 2002-02-14  Gergely Nagy  <algernon@debian.org>
10377         * erc.el(erc-format-privmessage):
10378         fix it, so timestamp-coloring works again (patch from antifuchs)
10380 2002-02-14  Mario Lang  <mlang@delysid.org>
10382         * erc.el: Many fixes based on M-x checkdoc RET.
10383         If you have write access, and some english knowledge, help document erc too!
10384         M-x checkdoc RET, and follow the instructions.
10386         * erc-button.el, erc-ibuffer.el: minor fixes
10388         * erc.el: Use nreverse instead of reverse.
10389         Use eq instead of equal where possible.
10390         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)
10392 2002-02-13  Mario Lang  <mlang@delysid.org>
10394         * erc-button.el, erc.el:
10395         In erc.el, new hook: erc-channel-members-changed-hook.
10396         erc-button.el: Now highlight all nicknames. uses regexp-opt.
10398 2002-02-04  Mario Lang  <mlang@delysid.org>
10400         * erc-nets.el:
10401         Database of irc networks. Use erc-server-select to interactively select one.
10403         * erc.el: * erc-format-nick-function: New variable.
10404         * (erc-format-nick): The default for above var. Just return the nick.
10405         * (erc-format-@nick): Prefix NICK with @ or + if OP or VOICE.
10406         * Removed erc-track-modified-channels related code and moved into erc-track.el
10407            Its auto-loaded now
10409         * erc-track.el: Split code from erc.el
10411 2002-02-01  Mario Lang  <mlang@delysid.org>
10413         * erc-ibuffer.el:
10414         * erc-target now uses erc-port-to-string
10416         * servers.pl:
10417         Script to convert mircs servers.ini to a elisp salist kind of thing.
10418         (development tool, it doesn't help you much as a user)
10420         * erc.el:
10421         * erc-display-line-buffer: renamed to erc-display-line-1
10422         * erc-port-equal: New function.
10423         * erc-normalize-port: Used by erc-port-equal
10424         * minor docstring fixes
10426 2002-02-01  Andreas Fuchs  <asf@void.at>
10428         * erc.el:
10429         * erc-already-logged-in-p: compare ports is more robust now.
10431         * erc-button.el: * Add buttonization to erc-send-modify-hook, too
10433 2002-01-31  Mario Lang  <mlang@delysid.org>
10435         * erc.el:
10436         Use insert-before-markers instead of insert in erc-display-line-buffer
10437         This fixed point@column 0 problem and gives us some speedup! yay
10439         * erc-ibuffer.el, erc.el: minor fixes
10441         * erc.el:
10442         * (erc-line-beginning-position): Renamed to erc-beg-of-input-line.
10443         * (erc-line-end-position): Renamed to erc-end-of-input-line.
10444         * erc-multiline-input-p: Variable removed.
10446         * erc.el:
10447         Minor docstring fixes (using M-x checkdoc-current-buffer)
10448           If you find time, and you are native english speaker, do that too!!
10450         * erc.el: fixed macro-invocation
10452 2002-01-31  Andreas Fuchs  <asf@void.at>
10454         * erc.el: * erc-with-all-buffers-of-server: use erc-list-buffers
10455         * erc-process-away, erc-{save,kill}-query-buffers: use it.
10456         * erc-cmd-away-all: new command. Set away/back on all servers.
10458         * erc.el:
10459         * Fix last multiline bug in erc-send-distinguish-noncommands.
10461 2002-01-31  Mario Lang  <mlang@delysid.org>
10463         * erc-ibuffer.el, erc.el: minor fixes
10465 2002-01-30  Mario Lang  <mlang@delysid.org>
10467         * erc-ibuffer.el, erc-menu.el, erc-speak.el, erc.el:
10468         Renamed erc-track-modified-channels-minor-mode to erc-track-modified-channels-mode (at least, its a bit shorter)
10469         Added docstring to erc-server-hooks (through the macro)
10470         Minor docfix in obsolete hook
10472 2002-01-30  Andreas Fuchs  <asf@void.at>
10474         * erc.el:
10475         * erc-send-current-line: fix behavior where buffer changes.
10476         * erc-mark-message: fix stupid face bug. highlighting of pals should work now.
10478         * erc-ring.el, erc.el:
10479         * new hooks: erc-send-pre-hook, erc-send-modify-hook, erc-send-post-hook
10480         * erc-send-this: new variable
10481         * erc-noncommands-list: new constant.
10482         * erc-send-distinguish-noncommands: use it. (First filter function for sending! yay!)
10483         * erc-send-current-line: nearly completely rewritten.
10484           - now handles multiline input. (yay!)
10485           - now uses the three hooks from above.
10486         * erc-process-line: new arg, no-command: don't process this line as a command.
10488 2002-01-30  Mario Lang  <mlang@delysid.org>
10490         * erc-bbdb.el, erc-button.el, erc-speak.el, erc.el:
10491         hook handling rewrite phase 1.
10493 2002-01-30  Andreas Fuchs  <asf@void.at>
10495         * erc.el: * Rework erc-server-PRIVMSG-or-NOTICE
10496         * New function: erc-is-message-ctcp-p
10497         * New function: erc-format-privmessage
10498         * New function: erc-mark-message
10499         * erc-server-PRIVMSG-or-NOTICE: use them.
10501 2002-01-30  Mario Lang  <mlang@delysid.org>
10503         * CREDITS, HISTORY:
10504         Initial checkin.
10506 2002-01-29  Andreas Fuchs  <asf@void.at>
10508         * erc.el: * erc-put-text-properties: make OBJECT optional
10509         * erc-put-text-property: same
10510         * erc-server-PRIVMSG-or-NOTICE: use them.
10511         * Make erc-display-line-buffer: add the "\n" even when the string would be invisible.
10512         * same: make the \n invisible, too (:
10514 2002-01-29  Mario Lang  <mlang@delysid.org>
10516         * erc-ibuffer.el, erc.el:
10517         Rewrote channel tracking using window-configuration-change-hook instead of defadvices.
10519 2002-01-28  Andreas Fuchs  <asf@void.at>
10521         * erc-fill.el, erc.el:
10522         * Macro define-erc-highlight-customization: Ease up defining
10523           erc-{fool,pal,..}-highlight-props defcusts.
10524         * defcusts:
10525           - erc-fool-highlight-props
10526           - erc-pal-highlight-props
10527           - erc-dangerous-host-highlight-props
10528           - erc-keyword-highlight-props
10530           Customizable to either nil or "Hide message".
10531         * erc-string-invisible-p: check for invisible chars in string
10532         * erc-display-line-buffer: use it.
10533         * erc-put-text-properties: put a list of props into a piece of text.
10534         * erc-server-PRIVMSG-or-NOTICE: use it; set appropriate
10535           highlight-props for entire incoming message. This set of changes
10536           allows you to e.g. auto-ignore fools.
10538 2002-01-28  Mario Lang  <mlang@delysid.org>
10540         * erc-ibuffer.el:
10541         Added highlight detection support to the Mark column.
10542         Now p, k, f, and d indicate pal, keyword, fool and dangerous-host related activity.
10544         * erc.el:
10545         Highlight tracking finished. All necessary info should now be in erc-modified-channels.
10547         * erc.el, erc-ibuffer.el, erc-speedbar.el:
10548         Added highlight tracking to track-modified-channels
10549            no display code yet, the info is just kept in erc-modified-channels
10550         Added erc-modified column to ibuffer
10551         speedbar update
10553         * erc-ibuffer.el: Added erc-members column
10555         * erc-ibuffer.el: *** empty log message ***
10557 2002-01-28  Andreas Fuchs  <asf@void.at>
10559         * erc-bbdb.el:
10560         * Fix a slight typo. The hook function should be called in
10561           erc-server-376-hook (-:
10563 2002-01-28  Mario Lang  <mlang@delysid.org>
10565         * erc-ibuffer.el: *** empty log message ***
10567 2002-01-27  Mario Lang  <mlang@delysid.org>
10569         * erc-ibuffer.el: Fixup, it sort of works now. Try it
10571         * erc-ibuffer.el: Initial version
10573 2002-01-26  Mario Lang  <mlang@delysid.org>
10575         * erc.el: *** empty log message ***
10577 2002-01-25  Andreas Fuchs  <asf@void.at>
10579         * erc-bbdb.el: * fix two bad things:
10580           - fix the "proc trick": pass proc as an arg through
10581             ...-insinuate-... to ...-show-entry
10582           - hook highlighting into the 376 hook. This one is bound to get
10583             called (-:
10584         * We now only append to hooks only.
10585         * Highlighting of changing records gets updated automatically.
10587 2002-01-25  Mario Lang  <mlang@delysid.org>
10589         * erc.el: *** empty log message ***
10591 2002-01-25  Andreas Fuchs  <asf@void.at>
10593         * erc-bbdb.el: * nearly complete rewrite of erc-bbdb:
10594           -  Removed code duplication in erc-bbdb-NICK and -JOIN.
10595           -  Made erc-bbdb-show-entry more general and intelligent.
10596           -  erc-bbdb-insinuate-entry is now erc-bbdb-insinuate-and-show-entry
10597              (note the different arglist!):
10598           -  erc-search-name-and-create now creates "John Doe" users if name
10599              is not specified.
10600           -  No sign of "mail" anywhere anymore. It's all finger-host. (-:
10601           -  erc-bbdb-popup-p is now called erc-bbdb-popup-type.
10602           -  New customize values:
10603              . erc-bbdb-irc-channel-field     channel field name
10604              . erc-bbdb-irc-highlight-field   (see below)
10605              . erc-bbdb-auto-create-on-nick-p auto-create record on join
10607         * Highlighting based on BBDB is now here! Specify which type of
10608           highlighting a person in the BBDB (whose nick you know) and have
10609           fun! Read help to erc-bbdb-init-highlighting for details. Changes:
10610           -  new function erc-bbdb-init-highlighting: gets called on server
10611              connect.
10612           -  new function erc-bbdb-highlight-record: highlights a person's
10613              nick names.
10615 2002-01-24  Andreas Fuchs  <asf@void.at>
10617         * erc-button.el:
10618         * Fix the erc-button-alist regexp for EmacsWiki stuff. delYsid's version
10619           is better (-:
10621         * erc-button.el: * Added an Ewiki: specifier to the url-regexp.
10622           <nickname> EmacsWiki: EmacsIRCClient tells you <bla>
10623           should highlight "EmacsWiki: EmacsIRCClient" and allow you to
10624           browse to the wiki when the button is activated.
10625         * new custom: erc-emacswiki-url.
10626         * new function: erc-browse-emacswiki: use it.
10628 2002-01-23  Mario Lang  <mlang@delysid.org>
10630         * erc-bbdb.el:
10631         erc-bbdb-NICK: Added regexp-quote around fingerhost search.
10633 2002-01-10  Andreas Fuchs  <asf@void.at>
10635         * erc.el:
10636         * Channel saving/killing on quit from server implemented:
10637          - defcust erc-save-queries-on-quit: Save server's channel buffers on quitting from server
10638          - defcust erc-kill-queries-on-quit: Kill server's channel buffers on quitting from server
10639          - Macro erc-with-all-buffers-of-server: Run a form inside all the server's query buffers
10640          - Functions erc-{kill,save}-query-buffers: use it.
10641         * Added indent-tabs-mode: t to Local Variables section.
10643 2002-01-07  Andreas Fuchs  <asf@void.at>
10645         * erc-replace.el: * fix stupid documentation errors.
10647 2002-01-07  Mario Lang  <mlang@delysid.org>
10649         * erc.el:
10650         * (toplevel): Revert previous change. This resulted ina  recursive load...
10651            You have to put (require 'erc-button) into your .emacs for now
10653 2002-01-05  Mario Lang  <mlang@delysid.org>
10655         * erc.el:
10656         * Added require for erc-button. This is devel. so I need testers :)
10658         * erc-button.el: * Added proper file headers (GPL).
10660 2002-01-04  Mario Lang  <mlang@delysid.org>
10662         * erc-button.el: * erc-button-alist: Added entry for finger
10664         * erc-button.el: * Removed bogus usage of :button-keymap.
10665         P
10666            Does anyone know what this was supposed to do anyway?
10668         * erc-button.el: * Initial version.
10669         * This module allows a way of buttonizing text in IRC buffers.
10670           Default it is used for URLs, but other things could be added.
10671           see if you can find another use, erc-button-alist
10673 2001-12-18  Mario Lang  <mlang@delysid.org>
10675         * erc.el: * Added missing 747 numreply (banned)
10677 2001-12-15  Gergely Nagy  <algernon@debian.org>
10679         * debian/scripts/install, debian/rules:
10680         updated to 2.1.cvs.20011215-1
10682         * debian/changelog: Debian version 2.1.cvs.20011215-1
10684 2001-12-11  Andreas Fuchs  <asf@void.at>
10686         * erc.el:
10687         * applied a nicer version of mhp's patch to remove the last prompt from
10688           saved logs
10690         * erc-replace.el: * Initial checkin
10692 2001-12-11  Mario Lang  <mlang@delysid.org>
10694         * erc.el:
10695         * fixed bug triggered when reuse-buffer was enabled (the default).
10696           Another silly port type problem. Maybe we should unify that once and for all sometimes...
10698 2001-12-10  Mario Lang  <mlang@delysid.org>
10700         * erc.el: * erc-message-english: New QUIT and s004 entries.
10701         * (erc-save-buffer-on-part): New variable.
10702         * (erc-kill-buffer-on-part): New variable.
10703         * (erc-server-PART): Use above variables.
10704         * (erc-join-channel): Use DEF argument instead of initial input for completing-read.
10706 2001-12-08  Tijs van Bakel  <smoke@wanadoo.nl>
10708         * erc.el: added defcustom erc-nick-uniquifier ^ (i prefer _)
10710 2001-12-07  Gergely Nagy  <algernon@debian.org>
10712         * debian/changelog: changelog for version 2.1.cvs.20011208-1
10714 2001-12-07  Tijs van Bakel  <smoke@wanadoo.nl>
10716         * erc.el:
10717         Added erc-scroll-to-bottom as an erc-insert-hook function.  It still bugs a bit, so please test it, thanks
10719 2001-12-07  Mario Lang  <mlang@delysid.org>
10721         * erc.el: * Fixed silly bug in erc-server-TOPIC (thanks mhp)
10723         * erc-speak.el:
10724         * Fix non-greedy matching bug. That one somehow swallowed text
10726         * erc.el:
10727         Fix Emacs20 problem. For now, we disable erc-track-modified-channels-minor-mode in emacs20
10729 2001-12-07  Andreas Fuchs  <asf@void.at>
10731         * erc-fill.el:
10732         * Fix another stupid one-off error. This time it really works!
10733          (Until I find the next bug. I guess you can hold your breath) (-:
10735 2001-12-06  Andreas Fuchs  <asf@void.at>
10737         * erc-fill.el: * Fixed static filling:
10738         ** No more \ed (continued on next line) lines anymore
10739         ** Fixed bug with previous version where longer lines wouldn't get
10740            filled correctly (i.e. at all)
10742 2001-12-06  Gergely Nagy  <algernon@debian.org>
10744         * debian/changelog: changelog for 2.1.cvs.20011206-1 added
10746 2001-12-06  Andreas Fuchs  <asf@void.at>
10748         * erc.el:
10749         * Don't discard away status when identifying to NickServ
10750         * Modify `erc-already-logged-in': check for port, too.
10752         * erc-fill.el:
10753         * Fix stupid loop non-termination error in erc-fill-static when filling
10754           one-line regions.
10755         * Make erc-count-lines return meaningful values
10757 2001-12-05  Mario Lang  <mlang@delysid.org>
10759         * erc.el:
10760         * (erc-process-input): Make ' /command' work for quoting /commands
10762         * erc-speak.el: see changelog
10764         * erc-fill.el: see erc.el changelog
10766         * erc.el:
10767         * erc-insert-hook: Changed strategy completely, no start end parameters any more.
10768         We narrow-to-region now, that's much cleaner.
10769         * rename erc-fill-region to erc-fill and change the autoload
10770         ** You'll probably need to restart Emacs
10772 2001-12-04  Mario Lang  <mlang@delysid.org>
10774         * erc.el:
10775         * (erc-send-current-line): Fixed long outstanding bug. XEmacs users with erc-fill-region on erc-insert-hook knew that one a long time.
10777         * erc.el: fix order of attack
10779         * erc.el: * macroexpanded define-minor-mode for XEmacs
10781         * erc.el: First try to make channel tracking mouse sensitive
10783         * erc.el: * More erc-message-format conversion.
10784           erc-format-message-english-PART as an example on how to use functions to format message
10785         * (erc-format-message): Fallback mechanism to use english catalog if variable is not bound
10787 2001-12-03  Mario Lang  <mlang@delysid.org>
10789         * erc.el: * (erc-iswitchb): Rewrite, docfix.
10790         Make it use erc-modified-channels as default if available.
10792         * erc-menu.el:
10793         * Fixage related to erc-track-modified-channels-minor-mode rewrite
10795         * erc.el:
10796         * (erc-track-modified-channels-minor-mode): Use buffer objects instead of erc-default-target return value for internal state keeping.
10798         * erc.el: * Made reconnect behave nicer (erc-process-sentinel)
10799         * Rewrote erc-modified-channels-tracking completely.
10800           Its now a minor mode (erc-track-modified-channels-minor-mode)
10801           It uses a list as internal representation now, so all silly string-parsing
10802           related bugs should be gone.
10803           Use (erc-track-modified-channels-minor-mode t) now to toggle this functionality.
10804           Don't set the erc-track-modified-channels-minor-mode variable yourself, use the toggle function
10806 2001-11-29  Gergely Nagy  <algernon@debian.org>
10808         * debian/changelog: final version
10810 2001-11-29  Mario Lang  <mlang@delysid.org>
10812         * erc.el:
10813         * (erc-channel-p): Make it work with string and buffer as parameter. buffer.
10814         * (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.
10815         * Converted some formats, JOIN, JOIN-you, MODE, ...
10817 2001-11-28  Mario Lang  <mlang@delysid.org>
10819         * erc.el:
10820         * (erc-prepare-mode-line-format): Added sanity checks to prevent it from having problems with server buffers where the connection failed
10822         * erc-bbdb.el:
10823         * (erc-bbdb-JOIN): regexp-quote the fingerhost before searching, some people have really strange characters as their user names
10825         * erc.el: Remove a stupid debug like (message ...) call
10827 2001-11-28  Gergely Nagy  <algernon@debian.org>
10829         * debian/changelog: draft of 2.1.cvs.20011128-1
10831         * debian/rules: simplify for the all-in-one erc package
10833         * debian/control: integrated erc-speak back into erc
10835         * debian/maint/conffiles, debian/maint/conffiles.in, debian/maint/postinst,
10836           debian/maint/postinst.in, debian/maint/prerm, debian/maint/prerm.in,
10837           debian/scripts/install, debian/scripts/install.in, debian/scripts/remove,
10838           debian/scripts/remove.in, debian/scripts/startup.erc-speak:
10839         since erc-speak is gone, resurrect the static files, and update them to support the latest erc
10841 2001-11-28  Mario Lang  <mlang@delysid.org>
10843         * erc.el: * (erc-mode): Shouldn't be interactive.
10844         * (erc-info-mode): Ditto.
10846         * erc.el: * (erc-server-352): Added hopcount parsing.
10847         Added call to erc-update-channel-member to fill in channel-members information
10848         on /WHO if the channel is joined.
10850 2001-11-27  Mario Lang  <mlang@delysid.org>
10852         * erc-speedbar.el: *** empty log message ***
10854         * erc-speedbar.el: * (erc-speedbar-expand-user): New function.
10855         Used when more information than just the nick name is available about a dude.
10857         * erc.el: * Fixed stupid edit,checkin,save cycle error :)
10859         * erc.el:
10860         * (erc-generate-log-file-name-default): Renamed to -long
10861         Doc fix.
10862         * (erc-generate-log-file-name-old): Renamed to -long
10863         Doc fix.
10864         * (erc-generate-log-file-name-function): Set default to ...-long
10865         Doc fixes
10867         * erc-speedbar.el: *** empty log message ***
10869 2001-11-26  Mario Lang  <mlang@delysid.org>
10871         * erc-speedbar.el: * Integrated channel names list
10872           what else do we need to replace info buffers???
10873           please test that code and comment on erc-ehlp, thanks
10875         * erc-speedbar.el:
10876         * Added erc-speedbar-goto-buffer and therefore enable switching to the buffers from speedbar
10878         * erc-speedbar.el:
10879         I had to check this in, it works !! sort of,, megaalphagammaversion, first version. test, play, submit ideas/patches
10881 2001-11-26  Gergely Nagy  <algernon@debian.org>
10883         * erc.el(erc-mode): moved erc-last-saved-position here
10884         moved buffer naming code from here..
10885         (erc): ...to here
10886         (erc-generate-log-file-name-old): only prepend target if it exists
10888         made erc-log-insert-log-on-open a defcustom
10890 2001-11-26  Mario Lang  <mlang@delysid.org>
10892         * erc.el:
10893         * Applied antifuchs/mhp patches, the latest on erc-help, unmodified
10894         * New variable: erc-reuse-buffers default to t.
10895         * Modified erc-generate-new-buffer-name to use it. it checks if server and port are the same,
10896           then one can assume that's the same channel/query target again.
10898 2001-11-23  Mario Lang  <mlang@delysid.org>
10900         * erc-bbdb.el:
10901         * new function erc-BBDB-NICK to handle nickname annotation on a nick-change event of a known record
10903         * erc.el: * Remove erc-rename-buffer, its no longer necessary
10904         * Remove erc-autoop-*. it was broken, and needed rewrite anyway
10905         * write erc-already-logged-in in terms of erc-buffer-list and make the duplicate login check work again
10907         * erc.el: * Fixed stupid typo
10909 2001-11-22  Mario Lang  <mlang@delysid.org>
10911         * erc.el: * New local variable, erc-announced-server-name
10912         * erc-mode-line-format supports a new symbol, target-and/or-server
10913         * The mode-line displays the announced server name now (for autojoin later...,
10914           greets Adam)
10915         * New macro, erc-server-hook-list for a nice way to define the defcustoms of the erc-server-*-hook's
10916           Thanks go to the guy from #emacs who helped with that
10917         * erc-fill-region is now autoloaded from erc-fill.el
10918           * erc-fill.el implements a new fill method, erc-fill-static
10919             (setq erc-fill-function 'erc-fill-static)
10920         * Some other things I forgot right now
10922         * erc-bbdb.el: *** empty log message ***
10924         * erc-fill.el: Initial version.
10926         * erc-complete.el:
10927         Applied antifuchs patch to make completion work with (string= erc-prompt "")
10929         * erc-complete.el:
10930         added function erc-nick-completion-exclude-myself
10931         you can set erc-nick-completion to 'erc-nick-completion-exclude-myself to use it
10933 2001-11-21  Mario Lang  <mlang@delysid.org>
10935         * erc-bbdb.el:
10936         * Changed usage of 'finger-host to bbdb-finger-host-field
10938         * erc-bbdb.el:
10939         * Changed WHOIS to use finger-host instead of net field.
10940         * 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.
10941         * Added (regexp-quote ...) for nickname search in erc-bbdb-JOIN
10943 2001-11-20  Mario Lang  <mlang@delysid.org>
10945         * erc-bbdb.el: * Added JOIN support
10947 2001-11-19  Mario Lang  <mlang@delysid.org>
10949         * erc.el:
10950         Initial message catalog code. converted erc-action-format usage to use it
10952         * erc.el: * erc-play-sound: Added XEmacs related check
10954         * erc-bbdb.el: * Initial version, many thanks to Andreas Fuchs
10956         * erc.el: * Fixed silly problem with whois/was handling
10958         * erc.el: * Renamed prev-rd to erc-previous-read
10959         * Removed erc-next-line-add-newlines and s next-line-add-newlines to nil in defun erc by default
10961         * erc.el:
10962         fixed xemacs compatibility prob with delete, thanks Adam
10964 2001-11-18  Mario Lang  <mlang@delysid.org>
10966         * erc.el: numreplies 301 & 461
10968 2001-11-13  Tijs van Bakel  <smoke@wanadoo.nl>
10970         * erc.el:
10971         Added code for error reply 421 "Unknown command", to test the new server parsing system.
10972         This was really easy!  Thanks ZenIRC guys & delysid :-)
10974 2001-11-13  Mario Lang  <mlang@delysid.org>
10976         * erc.el: * Allow connecting to SSL enabled irc servers.
10977            Ugly hack, but it works for now. Be sure to use the numeric irc port 994 so that erc can recognize what you want
10978           good example is
10979         irc server: ircs.segfault.net
10980         port: 994
10982         meet me there, I am still delYsid :)
10984         * erc.el: * some more numreply handlers
10985         * cleanup in erc-process-away-p
10986         * new function erc-display-error-notice
10988         * erc.el: * numreply 501 and 221
10990         * erc.el:
10991         removed obsolete old hook variables. Your functions may break, but it is easy to hook them up to the new hooks.
10992         erc-part-hook: use erc-server-PART-hook instead
10993         erc-kick-hook: use erc-server-KICK-hook instead
10994         and so on
10996         * erc.el:
10997         fixed serious bug which cause privmsgs vanishing when erc-auto-query was set to nil
10999         * erc.el: cleaned up erc-process-filter
11001         * erc.el: * 401 and 320 numreplies implemented
11003         * erc.el: * Removed old/now obsolete code
11005         * erc.el: * Fixed bug in erc-server-MODE
11007 2001-11-12  Mario Lang  <mlang@delysid.org>
11009         * erc.el: fixed it
11011         * erc.el:
11012         *** 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
11014         * erc.el: *** empty log message ***
11016 2001-11-12  Tijs van Bakel  <smoke@wanadoo.nl>
11018         * erc.el:
11019         Fixed bug in erc-get-buffer, now channel names are compared in
11020         a case-insensitive way.
11022 2001-11-12  Mario Lang  <mlang@delysid.org>
11024         * erc.el: erc-server-353
11026 2001-11-12  Tijs van Bakel  <smoke@wanadoo.nl>
11028         * erc.el: Fixed docstring for erc-get-buffer.
11029         Added erc-process to a lot of calls to erc-get-buffer, so
11030         that only the local process is searched.
11032 2001-11-12  Mario Lang  <mlang@delysid.org>
11034         * erc.el: * erc-buffer-filter: do it differently
11036         * erc.el: ugly but working fix for mhp's query problem
11038         * erc.el: * erc-server-PRIVMSG-or-NOTICE
11039           Now, all the server word replies are finished. Going to numreplies now
11041         * erc.el:
11042         * 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
11044         * erc.el: * erc-server-KICK and erc-server-TOPIC. new functions
11045         * erc-server-305-or-306 and erc-server-311-or-314
11047         * erc.el:
11048         * 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?
11050         * erc.el: * erc-server-JOIN
11052         * erc.el: * Ported erc-server-INVITE code
11054         * erc.el: * erc-server-ERROR and erc-server-MODE
11056 2001-11-11  Mario Lang  <mlang@delysid.org>
11058         * erc.el: * zen
11060         * erc.el: * New variable erc-connect-function.
11062         * erc.el:
11063         * New function erc-channel-p and use it where appropriate
11065         * erc.el: * Removed the variable erc-buffer-list completely now
11066         * Moved erc-dbuf around a bit
11068         * erc.el: * Fix silly change in quit/rename msg handling
11070         * erc.el: thanks mhp, fixed
11072         * erc.el: * Tijs van Bakel's work from 10th Nov. merged in
11073         * My additions to that idea merged in too
11074         Basically, this is a major rewrite, if you are scared and want avoid problems,
11075         stay at your current version. It seems fairly stable though.
11076         That changed? erc-buffer-name handling was completely rewritten,
11077         and erc-buffer-list local variable handling removed.
11078         Simplifies alot of code. Poke at it. read the diff. report bug/send patches!
11080         * erc.el: * Added variable listing when /set is used without args
11082 2001-11-10  Mario Lang  <mlang@delysid.org>
11084         * erc.el:
11085         * Comment/structure cleanup, removal of unnecessary code
11087         * erc.el: only some code beautification
11089         * erc-imenu.el:
11090         remove add-hook call, that's done in erc.el now for autoloadability
11092         * erc.el: * Make erc-imenu autoloadable
11094         * erc.el:
11095         * The long promised erc-mode-line-format handling rewrite
11096            Poke at it, try it, play with it, report bugs
11098         * erc.el:
11099         some regex-quote fixes, new function erc-cmd-set, and minor things
11101 2001-11-08  Mario Lang  <mlang@delysid.org>
11103         * erc.el:
11104         * added second timestamp-format (erc-away-timestamp-format) for marking msgs when being away
11106         * erc-complete.el: fixed silly defun
11108         * erc.el: * Rewrote erc-load-irc-script (simplified)
11109         * Removed deprecated code
11111         * erc-speak.el: * reflect changes in erc.el
11113         * erc.el:
11114         * Moved completion related functions into erc-complete.el
11115           placed an autoload instead into erc.el. That quite cool,
11116           because erc-complete.el only gets loaded when you use
11117           TAB first time in erc.
11119         * erc-complete.el: _ Initial checkin
11121         * erc.el: * New function: erc-chain-hook-with-args
11122         * Changed calls to erc-insert-hook to use it
11124 2001-11-07  Mario Lang  <mlang@delysid.org>
11126         * erc.el: * Patch from Fabien Penso
11127           Make completion case insensitive. try it! its cool
11129         * erc.el: * Reduction patch 2
11130           This time, we move the input ring handling into erc-ring.el
11131           Remember that you need (require 'erc-ring) in your .emacs to get the input handling as a feature
11132           And remember, that you don't need it if you don't use input ring :-)
11134         * erc-ring.el: * Initial checkin
11136         * erc.el: * The great reduction patch :-)
11137           moved relevant function from erc.el to new file erc-menu.el and erc-imenu.el
11139         * erc-imenu.el: Initial version
11141         * erc-menu.el: * Initial version
11143         * erc.el: * wording change suggested by Benjamin Drieu
11145 2001-11-07  Tijs van Bakel  <smoke@wanadoo.nl>
11147         * erc.el: Added Emacs version to /SV
11149 2001-11-07  Mario Lang  <mlang@delysid.org>
11151         * erc.el: * Hookification patch, read the diff
11153         * erc.el: too tired for a changelog :)
11155 2001-11-06  Mario Lang  <mlang@delysid.org>
11157         * erc.el:
11158         * make erc-cmd-op and erc-cmd-deop take multiple nicknames as argument
11160 2001-11-06  Gergely Nagy  <algernon@debian.org>
11162         * debian/changelog: sync
11164         * debian/rules: fixed a typo: PKGDIR, not PKIDR
11166 2001-11-06  Mario Lang  <mlang@delysid.org>
11168         * erc.el:
11169         * Changed timestamping when away to use erc-timestamp-format and append the timestamp instead of prepending it..
11170         * minor cleanup, s/(if (not /(unless/ and the like
11172 2001-11-06  Tijs van Bakel  <smoke@wanadoo.nl>
11174         * erc.el: Fixed OP and DEOP commands to return T.
11175         Added SV say-version command.
11176         Added erc-send-message utility function, but it's not used everywhere yet.
11178 2001-11-05  Mario Lang  <mlang@delysid.org>
11180         * erc.el: stupid delYsid, forgot require 'format-spec. good nite
11182         * erc.el:
11183         * new variable erc-action-format. Some erc-notice-prefix fixes again
11185         * erc.el: * erc-minibuffer-privmsg defaults to t
11187         * erc.el:
11188         * Small fix in relation to the transition to erc-make-notice
11190 2001-11-05  Tijs van Bakel  <smoke@wanadoo.nl>
11192         * erc.el:
11193         Renamed erc-message-notices to erc-minibuffer-notice, and renamed erc-prevent-minibuffer-privmsg to erc-minibuffer-privmsg, inverting its functionality
11195         * erc.el: Added support for channel names starting with & + and !.
11196         Also, many changes partially discussed on the mailing list:
11198                 * erc.el (cl): Add requirement for cl package.
11199                 (erc-buffer-list): Make this variable global again.
11200                 (erc-default-face): Fix typo.
11201                 (erc-timestamp-face): Add face for timestamps.
11202                 (erc-join-buffer, erc): Add a 'bury option.
11203                 (erc-send-action): Add timestamp.
11204                 (erc-command-table): Add /CLEAR, /DEOP, /OP, /Q.
11205                 (erc-send-current-line): Add timestamp.
11206                 (erc-send-current-line): Add call to erc-insert-hook.
11207                 (erc-cmd-clear): New command to clear buffer contents.
11208                 (erc-cmd-whois): Fix cut'n'paste-o.
11209                 (erc-cmd-deop): New command to deop a user.
11210                 (erc-cmd-op): New command to op a user.
11211                 (erc-make-notice): Moved a lot of duplicate code here.  Perhaps
11212                 this should also be done for erc-highlight-error.
11213                 (erc-parse-line-from-server): Now NOTICE will also open a new
11214                 query, just as PRIVMSG.
11215                 (erc-parse-line-from-server): Call erc-put-text-property on a
11216                 channel message/notice first, before concatenating nick and
11217                 timestamp &c.
11218                 (erc-message-notices): Add option to display notices in
11219                 minibuffer.
11220                 (erc-fill-region): No longer strip spaces in front of incoming
11221                 messages.
11222                 (erc-parse-current-line): No longer strip spaces in front of text
11223                 input by user.
11225         Hopefully I didn't break too much :(
11227 2001-11-05  Mario Lang  <mlang@delysid.org>
11229         * erc.el:
11230         * New function erc-nickserv-identify-autodetect for erc-insert-hook. Added by default currently.
11232         * erc.el:
11233         * Mini-fix in erc-process-num-reply (= n 353): Added @ as prefix character to make certain channels on opn work again nicely
11235 2001-10-31  Gergely Nagy  <algernon@debian.org>
11237         * debian/changelog: updated to reflect changes
11239         * debian/scripts/install.in:
11240         moved #PKGFLAG# before -f batch-byte-compile
11242 2001-10-29  Mario Lang  <mlang@delysid.org>
11244         * erc.el:
11245         Imenu fixed somehow, added IRC services interactive function for indentify to NickServ. Read the diff
11247 2001-10-26  Gergely Nagy  <algernon@debian.org>
11249         * debian/changelog: sigh. -2
11251 2001-10-25  Gergely Nagy  <algernon@debian.org>
11253         * debian/changelog: updated to reflect changes
11255         * debian/rules: handle conffiles.in too
11257         * debian/maint/conffiles.in: new file
11259         * debian/maint/conffiles: superseded by conffiles.in
11261         * debian/scripts/startup: superseded by startup.erc
11263 2001-10-25  Mario Lang  <mlang@delysid.org>
11265         * debian/scripts/startup.erc-speak: * Initial version
11267         * debian/scripts/startup.erc: * Added and fixes minimal typo
11269 2001-10-25  Gergely Nagy  <algernon@debian.org>
11271         * debian/changelog: updated to reflect changes
11273         * debian/rules:
11274         modified to be able to build the erc-speak package too
11276         * debian/control: added the new erc-speak package
11278         * debian/README.erc-speak, debian/maint/postinst.in, debian/maint/prerm.in,
11279           debian/scripts/install.in, debian/scripts/remove.in:
11280         new file
11282         * debian/maint/postinst, debian/maint/prerm, debian/scripts/install,
11283           debian/scripts/remove:
11284         removed, superseded by its .in counterpart
11286 2001-10-25  Mario Lang  <mlang@delysid.org>
11288         * erc.el: * Fixed some defcustom :type 's
11289         * Added erc-before-connect hook which gets called with server port and nick.
11290           Use this hook to e.g. setup a tunnel before actually connecting.
11291           something like (when (string= server "localhost") ...)
11293 2001-10-24  Mario Lang  <mlang@delysid.org>
11295         * erc.el: * Patch by smoke: fix erc-cmd-* commands and add aliases
11297 2001-10-23  Mario Lang  <mlang@delysid.org>
11299         * erc-speak.el:
11300         * Added a new personality for channel name announcement, This makes streams of flooded channels much easier to listen to,
11301           especially if you are on more than one channel simultaneously.
11303         * erc.el:
11304         * Made the completion postfix customizable through erc-nick-completion-postfix
11306         * erc-speak.el, erc.el:
11307         * Added erc-prevent-minibuffer-privmsg
11309         * erc-speak.el:
11310         * Quickish hack to allow exclusion of timestamps from speaking. see erc-speak-filter-timestamps
11312 2001-10-21  Mario Lang  <mlang@delysid.org>
11314         * erc-speak.el:
11315         * Removed now really obsolete code. Package size reduced by 50%
11317         * erc-speak.el:
11318         * Very important fix! Now erc-speak is really complete. Messages don't get cut anymore. Be sure to use auditory icons,
11319           it's reallllly cool now!!!
11321         * erc-speak.el: *** empty log message ***
11323         * erc-speak.el: * Major simplification. depends on my 2001-10-21 changes to erc.el.
11324         * Things removed, read diff
11326 2001-10-21  Gergely Nagy  <algernon@debian.org>
11328         * debian/changelog: oops, silly typo
11330         * debian/changelog, debian/control, debian/copyright,
11331           debian/maint/conffiles, debian/maint/postinst, debian/maint/prerm,
11332           debian/rules, debian/scripts/install, debian/scripts/remove,
11333           debian/scripts/startup:
11334         initial check-in
11336 2001-10-21  Mario Lang  <mlang@delysid.org>
11338         * erc.el:
11339         * Changed erc-insert-hook to get two arguments, START and END of the region
11340           which got inserted. CAREFUL! This could break stuff, but it makes the hook
11341           much more usable.
11343         * erc.el:
11344         * Made erc-smiley a new option, currently set to t to showoff this feature. :)
11346 2001-10-20  Mario Lang  <mlang@delysid.org>
11348         * erc.el: * Add missing erc-mode-hook variable
11349         * Add smiley-support (preliminary test)
11351 2001-10-20  Alex Schroeder  <alex@gnu.org>
11353         * erc.el:
11354         Replaced all occurrences of put-text-property with a call to
11355         erc-put-text-property.
11356         (erc-put-text-property): New function.
11357         (erc-tracking-modified-channels): Moved to the front of the file such
11358         that it is already defined when the menu is being defined.
11359         (erc-modified-channel-string): Ditto.
11361 2001-10-18  Alex Schroeder  <alex@gnu.org>
11363         * erc.el: Removed some commentary.  The wiki page is the place to
11364         put such information.
11365         (erc-fill-prefix): Doc change.
11366         (erc-notice-highlight-type): Doc change, now a user option.
11367         (erc-pal-highlight-type): Doc change, now a user option.
11368         (erc-fool-highlight-type): New option.
11369         (erc-keyword-highlight-type): New option.
11370         (erc-dangerous-host-highlight-type): New option.
11371         (erc-uncontrol-input-line): Doc change.
11372         (erc-interpret-controls-p): Doc change, now a user option.
11373         (erc-multiline-input): Doc change.
11374         (erc-auto-discard-away): Doc change.
11375         (erc-pals): Changed from string to regexp.
11376         (erc-fools): New option.
11377         (erc-keywords): Renamed from erc-highlight-strings.  WATCH OUT:
11378         Not backwards compatible change!
11379         (erc-dangerous-hosts): Renamed from erc-host-danger-highlight.
11380         WATCH OUT: Not backwards compatible change!
11381         (erc-menu-definition): Added menu entries for fools, keywords and
11382         dangerous hosts.
11383         (erc-mode-map): Changed keybindings from C-c <plain ascii> to
11384         various C-c <C-ascii> combinations.
11385         (erc-dangerous-host-face): Renamed from erc-host-danger-face.
11386         WATCH OUT: Not backwards compatible change!
11387         (erc-fool-face): New face.
11388         (erc-keyword-face): Renamed from erc-highlight-face.  WATCH OUT:
11389         Not backwards compatible change!
11390         (erc-parse-line-from-server): Fixed highlighting in the cases
11391         where (equal erc-pal-highlight-type 'all), added code to handle
11392         erc-fool-highlight-type, erc-dangerous-host-highlight-type
11393         (erc-update-modes): Replaced erc-delete-string with delete.
11394         (erc-keywords): Renamed from erc-highlight-strings, handle
11395         erc-keyword-highlight-type.
11396         (erc-delete-string): Removed.
11397         (erc-list-match): New function.
11398         (erc-pal-p): Use erc-list-match.
11399         (erc-fool-p): New function.
11400         (erc-keyword-p): New function.
11401         (erc-dangerous-host-p): Renamed from erc-host-danger-p, use
11402         erc-list-match.
11403         (erc-directed-at-fool-p): New function.
11404         (erc-add-entry-to-list): New function.
11405         (erc-remove-entry-from-list): New function.
11406         (erc-add-pal): Use erc-add-entry-to-list.
11407         (erc-delete-pal): Use erc-remove-entry-from-list.
11408         (erc-add-fool): New function.
11409         (erc-delete-fool): New function.
11410         (erc-add-keyword): New function.
11411         (erc-delete-keyword): New function.
11412         (erc-add-dangerous-host): New function.
11413         (erc-delete-dangerous-host): New function.
11415 2001-10-07  Mario Lang  <mlang@delysid.org>
11417         * erc.el: * irc vs ircd default port fixed
11419         * erc.el: * Added topic-change to imenu
11421         * erc.el: * More imenu spiffyness
11423         * erc.el: * Added imenu support
11425         * erc.el:
11426         * Fix to /topic to show topic instead of setting it to null :)
11428 2001-10-05  Mario Lang  <mlang@delysid.org>
11430         * erc.el: * First version of erc-rename-buffer
11432         * erc.el: * more header-line tricks.
11434         * erc.el:
11435         * Small fix to do erc-update-mode-line-buffer in erc-update-channel-topic
11437         * erc.el: * Added erc-header-line-format
11439 2001-10-04  Mario Lang  <mlang@delysid.org>
11441         * erc.el: * mini-fix, add msgp to auto-query code
11443         * erc.el: * Added command-names to completion (erc-command-table)
11444         * New variable erc-auto-query. When set, every arriving message to you
11445         will open a query buffer for that sender if not already open.
11446         * Compatibility function fo non-existing line-beginning|end-position functions in XEmacs.
11448 2001-10-03  Mario Lang  <mlang@delysid.org>
11450         * erc.el:
11451         * Removed alot of (progn ...) where they were not necessary
11452         * Changed some (if ...) without else part to (when ...)
11453         * Some (while ...) to use (dolist ...)
11454         * Fix for completion popup generating tracebacks.
11455         * New function erc-arrange-session-in-multiple-windows
11456         * Lots of other stuff, read the diff
11458 2001-10-02  Mario Lang  <mlang@delysid.org>
11460         * erc.el: * Added erc-kill-input and keybinding C-c C-u for it
11462 2001-10-01  Mario Lang  <mlang@delysid.org>
11464         * erc.el: * Another fix to nick-completion
11465         * Additional checks in erc-track-modified-channels
11467 2001-09-26  Mario Lang  <mlang@delysid.org>
11469         * erc.el: * Fixed completion (alex)
11470           * Now popup buffer doesn't destroy your window configuration.
11471         * Fixed away handling (incomplete)
11473 2001-09-24  Mario Lang  <mlang@delysid.org>
11475         * erc.el: Fixed silly quoting-escape error
11477 2001-09-23  Mario Lang  <mlang@delysid.org>
11479         * erc.el: * Added auto-op support (unfinished)
11480         * Added erc-latest-version.
11481         * Added erc-ediff-latest-version.
11483 2001-09-21  Mario Lang  <mlang@delysid.org>
11485         * erc.el:
11486         * Minor menu additions (invite only mode is now a checkbox)
11488 2001-09-20  Mario Lang  <mlang@delysid.org>
11490         * erc.el:
11491         * Fix (erc-cmd-names): This should fix C-c C-n too, hopefully it was the right fix and doesn't break anything else.
11493         * erc.el: * Fixes XEmacs easymenu usage (2nd time).
11495 2001-09-19  Mario Lang  <mlang@delysid.org>
11497         * erc.el:
11498         * (erc-complete-nick): Add ": " only if one completes directly after the erc-prompt, otherwise, add just one space
11500         * erc.el:
11501         * Changed menu-definition to use easymenu (hopefully this now works under XEmacs)
11502         * Fix for custom problem with :must-match on XEmacs (thanks shapr)
11503         * Added /COUNTRY command using (what-domain) from package mail-extr (shapr)
11504         * Fix for case-sensitivity problem with pals (they are now all downcased)
11505         * Different (erc-version) function which now can take prefix argument to insert the version information into the current buffer,
11506           instead of just displaying it in the minibuffer.
11508 2001-09-10  Mario Lang  <mlang@delysid.org>
11510         * erc.el: Updated erc-version-string
11512         * erc.el: Version number change and last read-through...
11514 2001-09-04  Mario Lang  <mlang@delysid.org>
11516         * erc.el: Added some asterisks
11518 2001-08-24  Mario Lang  <mlang@delysid.org>
11520         * erc.el:
11521         Fixed hidden channel buffer tracking (sort of), now using switch-to-buffer for advice.
11522         This version is unofficially named 2.1prebeta1. Please test it and send
11523         fixes to various problems you may encounter so that we can eventually
11524         release 2.1 soon.
11526 2001-08-14  Mario Lang  <mlang@delysid.org>
11528         * erc.el:
11529         Added function erc-bol and keybinding C-c C-a for it (contributed by Benjamin Rutt <brutt@bloomington.in.us)
11531 2001-08-07  Mario Lang  <mlang@delysid.org>
11533         * erc.el:
11534         Checked in lathis code and modified it slightly. Still unsure about set-window-buffer advice, current attempt doesn't seem to work.
11535         Removed (nick -> #channel) from mode-line. (CLOSED) and (AWAY...) should still be displayed when appropriate
11537 2001-08-06  Mario Lang  <mlang@delysid.org>
11539         * erc.el:
11540         added local-variable channel-list in session-buffers and make /LIST use it.
11541         erc-join-channel can now do completion after /LIST was executed
11543 2001-08-05  Mario Lang  <mlang@delysid.org>
11545         * erc.el: Tweaked erc-join-channel and erc-part-from-channel
11547 2001-07-27  Mario Lang  <mlang@delysid.org>
11549         * erc.el: some more defcustom stuff
11551         * erc.el: Patch from Henrik Enberg <henrik@enberg.org>:
11552            Adds variables erc-frame-alist and erc-frame-dedicated-p.
11554         * erc.el: fixed erc-part-from-channel
11556         * erc.el:
11557         fixed match-string problem and added interactive topic setting function.
11559         * erc.el: fixed silly string-match bug
11561         * erc.el:
11562         Added erc-join-channel and erc-part-from-channel (interactive prompts), as well as keybindings. C-c C-j #emacs RET is now enough :)
11564 2001-07-27  Alex Schroeder  <alex@gnu.org>
11566         * erc.el(erc-display-line-buffer): Simplified filling.
11567         (erc-fill-region): New function.
11569 2001-07-27  Mario Lang  <mlang@delysid.org>
11571         * erc.el: Added redundancy check in output
11573 2001-07-26  Alex Schroeder  <alex@gnu.org>
11575         * erc.el(erc-send-action): Add text-property stuff.
11576         (erc-input-action): Removed text-property stuff.
11577         (erc-command-table): Corrected command for DESCRIBE.  Still
11578         doesn't work though.  No idea what it should do.  Looks like a no op.
11579         (erc-cmd-me): Doc change.
11581 2001-07-26  Mario Lang  <mlang@delysid.org>
11583         * erc.el:
11584         fixed one occurrence of a setq with only one argument (XEmacs didn't like that)
11586         * erc.el:
11587         Added erc-next-line-add-newlines customization possibility.
11589         * erc.el:
11590         added erc-fill-prefix for defining your own way of filling and fixed filling somehow
11592         * erc.el:
11593         fixed small incompatibility in erc-parse-line-from-server at (and (= n 353) regexp
11595 2001-07-25  Mario Lang  <mlang@delysid.org>
11597         * erc.el:
11598         Added erc-filling and filling code to erc-display-line-buffer.
11600 2001-07-08  Alex Schroeder  <alex@gnu.org>
11602         * erc.el(try-complete-erc-nick): Make the ": " part of the
11603         expansion
11605         * erc.el: require ring
11607 2001-07-08  Mario Lang  <mlang@delysid.org>
11609         * erc.el: *** empty log message ***
11611 2001-07-07  Mario Lang  <mlang@delysid.org>
11613         * erc.el: typo
11615         * erc.el: omit
11617 2001-07-06  Alex Schroeder  <alex@gnu.org>
11619         * erc.el(erc-mode): Call erc-input-ring-setup.
11620         (erc-send-current-line): Call erc-add-to-input-ring.
11621         (erc-input-ring): New variable.  Currently not buffer local.
11622         (erc-input-ring-index): New variable.  Currently not buffer local.
11623         (erc-input-ring-setup): New function.
11624         (erc-add-to-input-ring): New function.
11625         (erc-previous-command): New function.
11626         (erc-next-command): New function.
11627         (erc-mode-map): Uncommented keybindings for erc-next-command and
11628         erc-previous-command.
11630 2001-07-05  Alex Schroeder  <alex@gnu.org>
11632         * erc.el(erc-highlight-strings): Removed debug message.
11634         * erc.el(erc-join-buffer): Changed default to 'buffer.
11635         (erc-join-info-buffer): Changed default to 'disable.
11636         (erc-nick-completion): Changed default to 'all.
11638 2001-07-04  uid31117  <uid31117@confusibombus>
11640         * erc.el: Resolved...
11642 2001-07-03  Alex Schroeder  <alex@gnu.org>
11644         * erc.el(erc-highlight-strings): New option and new function.
11645         (erc-parse-line-from-server): Use it.
11646         Various empty lines removed.  Various doc strings fixed.
11648         * erc.el: Removed more empty lines.
11650         * erc.el(erc-member-string): replaced by plain member
11651         Otherwise, lots of deleting of empty lines...  I'm not too happy with that
11652         but I feel better when the code is "cleaned up".
11654 2001-07-03  Mario Lang  <mlang@delysid.org>
11656         * erc.el: Ugly hack, but looks nicer when giving commands
11658         * erc-speak.el: ugly hack, but looks nicer now
11660 2001-07-03  Alex Schroeder  <alex@gnu.org>
11662         * erc.el(try-complete-erc-nick): New function.
11663         (erc-try-complete-nick): New function.
11664         (erc-nick-completion): New option.
11665         (erc-complete): Call hippie-expand such that erc-try-complete-nick
11666         will be called eventually.  Based on erc-nick-completion
11667         try-complete-erc-nick will then complete on the nick at point.
11669 2001-07-02  Mario Lang  <mlang@delysid.org>
11671         * erc.el:
11672         Insert (erc-current-nick) instead of (erc-display-prompt). good night :)
11674         * erc.el:
11675         small, but it was annoying, so I just did it (defcustom for erc-join-buffer and erc-join-info-buffer)
11677 2001-06-29  Alex Schroeder  <alex@gnu.org>
11679         * erc.el: Use defface to define all faces.
11680         Removed some history from the commentary, as well as some other
11681         commentary editing.
11683 2001-06-28  Mario Lang  <mlang@delysid.org>
11685         * erc.el: hmm, defcustom for erc-user-full-name
11687         * erc-speak.el, erc.el: *** empty log message ***
11689 2001-06-27  Mario Lang  <mlang@delysid.org>
11691         * erc.el: typo
11693         * erc.el: Some more defcustom
11695         * erc-speak.el: nothing, really
11697 2001-06-26  Mario Lang  <mlang@delysid.org>
11699         * erc.el: Some defcustom stuff. Still no defgroup though :)
11701         * erc.el:
11702         Initial change to erc.el (2.0). Mainly list of ideas and features
11703         and syntax-table entries.
11705         * erc-speak.el, erc.el: Initial Import
11707         * erc-speak.el, erc.el: New file.
11709   Copyright (C) 2001-2015 Free Software Foundation, Inc.
11711   This file is part of GNU Emacs.
11713   GNU Emacs is free software: you can redistribute it and/or modify
11714   it under the terms of the GNU General Public License as published by
11715   the Free Software Foundation, either version 3 of the License, or
11716   (at your option) any later version.
11718   GNU Emacs is distributed in the hope that it will be useful,
11719   but WITHOUT ANY WARRANTY; without even the implied warranty of
11720   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11721   GNU General Public License for more details.
11723   You should have received a copy of the GNU General Public License
11724   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
11726 ;; Local Variables:
11727 ;; coding: utf-8
11728 ;; add-log-time-zone-rule: t
11729 ;; End: