merge trunk
[emacs.git] / lisp / erc / ChangeLog.03
blob5f04cf8ebe594116f75dfbfab482d847cad5c9f8
1 2003-12-30  Francis Litterio  <franl@users.sourceforge.net>
3         * erc.el(erc-cmd-HELP):
4         Changed to prefer giving help for erc-cmd-* functions over
5            similarly-named Elisp functions (e.g., erc-cmd-LIST vs. list).
7 2003-12-28  Francis Litterio  <franl@users.sourceforge.net>
9         * erc.el(erc-query-buffer-p): Added this function.
11 2003-12-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
13         * erc.el(erc-cmd-SV): Use erc-emacs-build-time.
15         * erc-compat.el: erc-emacs-build-time: New variable.
17         * erc.el(erc-cmd-SAY):
18         Reintroduced the feature where the spaces between
19         "/SAY" and the rest of the line were being sent with the message.
21 2003-12-28  Francis Litterio  <franl@users.sourceforge.net>
23         * erc.el(erc-server-buffer-p):
24         Fixed a bug where this function sometimes would return
25             nil when it should return t.
27 2003-12-27  Francis Litterio  <franl@users.sourceforge.net>
29         * erc.el(erc-generate-new-buffer-name):
30         Really fixed a bug where ERC would reuse
31             a connected server buffer when erc-reuse-buffers is non-nil.
32         (erc-cmd-JOIN): Now we tell the user when he attempts to join the same
33             channel twice on the same server.
35         * erc.el(erc-generate-new-buffer-name):
36         Fixed a bug where ERC would reuse a connected server buffer when erc-reuse-buffers is non-nil.
38         * erc.el(erc-cmd-SAY):
39         Fixed a bug where the spaces between "/SAY" and the rest of the
40             line were being sent with the message.
42         * erc-list.el: Fixed another typo.
44         * erc-list.el: Fixed a typo.
46         * erc-list.el:
47         Added text to the top of the channel list buffer describing the keybinding for
48         function erc-chanlist-join-channel.
50         * erc-list.el: Minor appearance changes.  No functional change.
52         * erc-list.el:
53         Implemented function erc-chanlist-join-channel.  Added variable
54         erc-chanlist-channel-line-regexp.  Got rid of function
55         erc-chanlist-pre-command-hook.  Changed the logic for how channel lines are
56         highlighted.
58 2003-12-26  Francis Litterio  <franl@users.sourceforge.net>
60         * erc-list.el:
61         Removed a bunch of unused code.  No semantic change.
63         * erc-list.el: Added lots of functionality.
65 2003-12-15  Mario Lang  <mlang@delysid.org>
67         * erc-track.el, erc.el:
68         New custom type erc-message-type, use it in erc-hide-list and erc-track-exclude-types
70 2003-12-14  Alex Schroeder  <alex@gnu.org>
72         * erc-track.el(track-when-inactive): New module.
73         (erc-track-visibility): New option.
74         (erc-buffer-activity): New variable.
75         (erc-buffer-activity-timeout): New variable.
76         (erc-user-is-active): New function.
77         (erc-buffer-visible): New function.
78         (erc-modified-channels-update): Replace get-buffer-window call
79         with call to erc-buffer-visible.
80         (erc-track-modified-channels): Ditto.
82 2003-12-14  Lawrence Mitchell  <wence@gmx.li>
84         * erc-track.el(erc-modified-channels-update):
85         Force update of modeline.  Makes sure
86         that the tracked channels disappear in other buffers too.
88 2003-12-06  Lawrence Mitchell  <wence@gmx.li>
90         * erc.el(define-erc-module):
91         New optional argument LOCAL-P.  If non-nil, then
92         mode will be created as buffer-local rather than a global mode.
93         (erc-cmd-CTCP): Fix indentation from last commit.
95         * erc-compat.el(erc-define-minor-mode):
96         Deal with :global and :group keywords.
98         * erc-nickserv.el(erc-current-network):
99         Make server regex more permissive.
101         * erc.el(erc-cmd-CTCP):
102         Don't add a space to end of command when ARGS are
103         empty.  This fixes a bug whereby requests of the form "VERSION " were
104         being sent, and ignored.
106 2003-11-27  Lawrence Mitchell  <wence@gmx.li>
108         * erc-log.el: From Adrian Aichner <adrian@xemacs.org>
109         * erc-log.el (erc-log-file-coding-system): Use 'binary
110         coding-system under XEmacs (instead of 'emacs-mule).
111         * erc-log.el (erc-w32-invalid-file-characters): Removed as no
112         longer needed.
113         * erc-log.el (erc-generate-log-file-name-long): Use
114         `convert-standard-filename', which exists in XEmacs too.
116 2003-11-16  Mario Lang  <mlang@delysid.org>
118         * erc-identd.el: Code provided by johnw, thanks!
120 2003-11-09  Lawrence Mitchell  <wence@gmx.li>
122         * erc.el(erc-latest-version): Clean up docstring.
123         Remove requirement for w3, wrap REQUIRE statement in IGNORE-ERRORS.
124         Update viewcvs url to correct location.
125         (erc-ediff-latest-version): Make sure that we find the uncompiled
126         erc.el, error if not.
128 2003-11-07  Mario Lang  <mlang@delysid.org>
130         * erc.el: Add more info to /sv
132 2003-11-06  Francis Litterio  <franl@users.sourceforge.net>
134         * erc.el: Added optional argument BUFFER to erc-server-buffer-p.
136 2003-11-04  Mario Lang  <mlang@delysid.org>
138         * AUTHORS: Add sachac
140 2003-11-02  Lawrence Mitchell  <wence@gmx.li>
142         * erc.el(erc-server-366):
143         chnl is 4th element of parsed, not fifth.
144         (erc-channel-end-receiving-names): Pass correct number of arguments
145         to delete-if-not.
147         * erc.el(erc-update-current-channel-member):
148         Use erc-downcase when comparing
149         nick entries.  Cleanup indentation.
151 2003-11-01  Lawrence Mitchell  <wence@gmx.li>
153         * erc-sound.el: Added a (provide 'erc-sound) line.
155         * erc.el(erc-cmd-NAMES): send to TGT, not CHANNEL.
157 2003-10-29  Sandra Jean Chua  <sacha@free.net.ph>
159         * erc-pcomplete.el, erc.el, CREDITS:
160         Merged Jeremy Maitin-Shepard's patch for time-sensitive nick completion.
162 2003-10-27  Mario Lang  <mlang@delysid.org>
164         * Makefile, debian/changelog:
165         New Debian package 4.0.cvs.20031027
167 2003-10-25  Mario Lang  <mlang@delysid.org>
169         * erc.el: Fix typo tuncate->truncate
171 2003-10-24  Mario Lang  <mlang@delysid.org>
173         * erc-dcc.el: From Stephan Stahl <stl@isogmbh.de>:
174         (erc-dcc-send-block): Kill buffer if transfer completed correctly.
176 2003-10-22  Mario Lang  <mlang@delysid.org>
178         * erc-track.el(erc-track-disable):
179         Do not deactivate all advices for `switch-to-buffer',
180         just disable the erc specific one. (Bug#217022).
182 2003-10-18  Lawrence Mitchell  <wence@gmx.li>
184         * erc-log.el(erc-log-file-coding-system): New variable.
185         (erc-save-buffer-in-logs): Use it.
187 2003-10-17  Mario Lang  <mlang@delysid.org>
189         * erc.el(erc-interpret-mirc-color): New boolean defcustom
191         * erc.el: Do not use -nowait on darwin (thanks johnw)
193 2003-10-15  Lawrence Mitchell  <wence@gmx.li>
195         * erc.el(define-erc-module):
196         Set erc-FOO-mode appropriately in erc-FOO-enable
197         and erc-FOO-disable.
199 2003-10-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
201         * erc-autoaway.el(erc-mode):
202         Reset idletime on connect. Fixes an annoying bug which
203         flooded the server with always on reconnect.
204         (erc-autoway-reset-idletime): Accept optional args so we can hook it
205         onto erc-server-001-hook.
207 2003-10-10  Mario Lang  <mlang@delysid.org>
209         * erc.el(erc-hide-list): Add a nice defcustom type
211 2003-10-08  Mario Lang  <mlang@delysid.org>
213         * Makefile, debian/changelog, debian/control:
214         Debian snapshot 20031008
216         * erc-speedbar.el:
217         Patch from Eric M. Ludlam <eric@siege-engine.com>:
218          - (erc-install-speedbar-variables): Add functions list (needs new speedbar?)
219          - (erc-speedbar-buttons): Add doc.  Clear the buffer
220          - (erc-speedbar-sort-channel-members): New function.
221          - (erc-speedbar-expand-channel): Call new sort function.  Change some visuals.
222          - (erc-speedbar-insert-user): Change some visuals based on channel data.
223          - (erc-speedbar-line-text, erc-speedbar-item-info): New functions
224         Add proper elisp file header.
226 2003-10-02  Lawrence Mitchell  <wence@gmx.li>
228         * erc-match.el(erc-match-syntax-table): New variable.
229         (erc-match-current-nick-p): Use it.
231         * erc.el(erc-quit-reason-zippy, erc-part-reason-zippy): Use
232         `erc-replace-regexp-in-string' rather than
233         `replace-regexp-in-string'.
234         (erc-command-indicator-face): New face, used to show commands if
235         `erc-hide-prompt' is nil and `erc-command-indicator' is non-nil.
236         (erc-command-indicator): Clean up doc-string.
237         (erc-display-prompt): New optional argument FACE, use this rather
238         than `erc-prompt-face' to fontify the prompt if non-nil.
239         (erc-send-current-line): Pass in `erc-command-indicator-face' to
240         `erc-display-prompt'.
242         * erc-compat.el(erc-replace-regexp-in-string): New function.
243         Alias for `replace-regexp-in-string' on Emacs 21.
244         Argument massaging for `replace-in-string' for XEmacs.
246 2003-09-28  Jorgen Schaefer  <forcer@users.sourceforge.net>
248         * erc.el(erc-keywords): Removed. Wasn't used by anything.
250 2003-09-25  Lawrence Mitchell  <wence@gmx.li>
252         * erc.el: ERC-HIDE-PROMPT: add custom group
253         ERC-COMMAND-INDICATOR: new variable.
254         ERC-COMMAND-INDICATOR: new function.
255         ERC-DISPLAY-PROMPT: new argument, PROMPT, used to override default
256         prompt.
257         ERC-SEND-CURRENT-LINE: pass ERC-COMMAND-INDICATOR to ERC-DISPLAY-PROMPT.
259 2003-09-24  Jorgen Schaefer  <forcer@users.sourceforge.net>
261         * erc.el(erc-parse-line-from-server):
262         Ignore empty lines as required by RFC.
264 2003-09-17  Mario Lang  <mlang@delysid.org>
266         * erc.el: Add lag time calculation
268 2003-09-13  Mario Lang  <mlang@delysid.org>
270         * Makefile, debian/README.Debian, debian/changelog:
271         New debian release
273         * erc-notify.el:
274         Call erc-notify-install-message-catalogs on load, not on module init
276         * erc.el(erc-update-modules):
277         Use `load' instead of `require'.  XEmacs appears
278         to have the NOERROR arg only sometimes... Strange
280         * erc.el: No fboundp if we have a defvar
282         * erc.el: Properly defvar erc-ping-handler
284 2003-09-11  Damien Elmes  <erc@repose.cx>
286         * erc.el(erc-setup-periodical-server-ping):
287         check if erc-ping-handler is
288             bound before referencing it
290 2003-09-10  Mario Lang  <mlang@delysid.org>
292         * erc.el(erc-cmd-NICK):
293         Warn about exceeded NICKLEN if we know it.
295         * erc.el: Make erc-server-PONG obey erc-verbose-server-ping.
296         Cancel old `erc-ping-handler' timer when restablishing connection in the same
297         buffer.
299         * debian/changelog, Makefile: New debian snapshot
301         * erc-dcc.el, erc-xdcc.el:
302         Use new function erc-dcc-file-to-name to convert spaces to underscores
304         * erc-xdcc.el: Add autoload for erc-xdcc-add-file
306 2003-09-08  Mario Lang  <mlang@delysid.org>
308         * erc-dcc.el: indent fixes and copyright update
310         * erc.el:
311         erc-send-ping-interval: New defcustom which defaults to 60.
312         Every 60 seconds, we send PING now.
313         This should fix the "connection silently lost" bug.
314         Please test this change extensively, and report problems.
316 2003-09-07  Alex Schroeder  <alex@gnu.org>
318         * erc.el(erc-default-coding-system):
319         Test for undecided and utf-8
320         before setting.
322 2003-09-01  Mario Lang  <mlang@delysid.org>
324         * erc.el(erc-modules): Add some more symbols to the set
326         * erc.el(erc-modules):  * erc.el(erc-modules): Add :greedy t to the set in
328         * erc-dcc.el:
329         More autoloads which make dcc autoload upon ctcp dcc query received.
331         * erc-dcc.el(erc-cmd-DCC): Add Autoload.
332         (pcomplete/erc-mode/DCC): Ditto, makes DCC autoloadable just by using
333         completion.
334         Also only offer "send" if fboundp make-network-process.
336         * erc-autojoin.el: Update copyright
338         * erc-autojoin.el(erc-autojoin-add):
339         Only add the channel if it is not already there.
341         * erc-notify.el:
342         Use `define-erc-module' instead of old `erc-notify-initialize'.
343         Now defines the global minor mode erc-notify-mode, and should also
344         be controllable via `erc-modules' with symbol `notify'.
346         * erc.el(erc-modules):
347         Fix paren-in-column-zero bug in docstring.
348         Add a sort of bogus, but still better :type.
349         Add autojoin and netsplit by default.
350         (erc-update-modules): Don't barf with an error if `require' fails.
351         We can still error out if the mode is not defined.
353 2003-08-31  Andreas Fuchs  <asf@void.at>
355         * erc.el:
356         * make 353 (NAMES reply) output go into the appropriate channel buffer
357           (if it exists) or into the active erc buffer (if not).
359 2003-08-29  mtoledo  <mtoledo@confusibombus>
361         * erc.el:
362         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.
364 2003-08-29  Mario Lang  <mlang@delysid.org>
366         * erc.el: Fix typo in varname which led to a compiler warning
368         * AUTHORS: Added lawrence
370 2003-08-27  Mario Lang  <mlang@delysid.org>
372         * erc-dcc.el:
373         Set process and file-coding system to 'binary (for Windows)
375         * erc-stamp.el: Rename custom group erc-timestamp to erc-stamp.
377 2003-08-07  Lawrence Mitchell  <wence@gmx.li>
379         * erc-fill.el(erc-fill-disable):
380         Remove erc-fill, not erc-fill-static from
381         erc-insert-modify-hook.
383 2003-08-05  Francis Litterio  <franl@users.sourceforge.net>
385         * erc.el(erc-send-current-line):
386         Now we display the prompt for previously entered commands
387             based on the value of customization variable erc-hide-prompt.  This change is
388             closely related to the immediate previous version by wencem.
390 2003-08-04  Lawrence Mitchell  <wence@gmx.li>
392         * erc.el(erc-send-current-line):
393         If we're sending a command, don't display
394         the prompt.
396 2003-08-04  Damien Elmes  <erc@repose.cx>
398         * erc-track.el: patch from David Edmondson (dme AT dme DOT org)
400         This patch makes button 3 on the erc-track buffer names in the
401         modeline show the selected buffer in another window. It's analogous to
402         button 2 which shows the buffer in the current window.
404 2003-07-31  Francis Litterio  <franl@users.sourceforge.net>
406         * erc.el(erc-display-line-1):
407         Fixed bad indentation on one line.  No semantic change.
409 2003-07-29  Lawrence Mitchell  <wence@gmx.li>
411         * erc-match.el:
412         Quote open paren in docstring of erc-text-matched-hook
414         * erc.el: Anchor match only at beginning in erc-ignored-user-p.
416         * erc-button.el: New variable erc-button-wrap-long-urls.
417         Modified erc-button-add-buttons:
418           New optional argument REGEXP.
419           If we're buttonizing a URL and erc-button-wrap-long-urls is
420           non-nil, try and wrap them
422         Modified erc-button-add-buttons-1:
423           Pass regexp to erc-button-add-buttons.
425 2003-07-28  Francis Litterio  <franl@users.sourceforge.net>
427         * erc.el(erc-network-name):
428         Improved docstring.  Removed an unnecessary call to erc-server-buffer.
430 2003-07-28  Mario Lang  <mlang@delysid.org>
432         * erc.el: By lawrence:
433         (erc-ignored-user-p): Use anchored regexp.
434         (smiley): Fix missing quote in `remove-hook' call.
436 2003-07-26  Francis Litterio  <franl@users.sourceforge.net>
438         * erc-nets.el, erc-nickserv.el, erc.el:
439         Changed all references to Openprojects into references to Freenode.
441 2003-07-25  Francis Litterio  <franl@users.sourceforge.net>
443         * erc.el:
444         Now variable erc-debug-irc-protocol is defvar'ed instead of defcustom'ed.
445         Made the docstring clearer too.
447         * erc.el: Fixed a wrong-type-argument error from window-live-p.
449 2003-07-15  Damien Elmes  <erc@repose.cx>
451         * erc-log.el(erc-log-setup-logging):
452         set buffer-file-name to "", as (basic-save-buffer)
453             will prompt for a buffer name before invoking hooks. the buffer-file-name
454             will be overridden by (erc-save-buffer-in-logs) anyway - the main danger
455             of doing this is write-file-contents hooks. Let's see if anyone complains.
456         (erc-save-buffer-in-logs): return t, so that further write hooks are not run
458 2003-07-09  Damien Elmes  <erc@repose.cx>
460         * erc-dcc.el(erc-dcc-open-network-stream):
461         -nowait still crashes emacs cvs - disable for now
463 2003-07-02  Francis Litterio  <franl@users.sourceforge.net>
465         * erc.el(erc): Minor docstring modification.
467 2003-07-01  Damien Elmes  <erc@repose.cx>
469         * erc-match.el(erc-match-current-nick-p):
470         match only on word boundaries
472         * erc-log.el(erc-log-setup-logging):
473         not sure how this crept in again - make sure we set
474             buffer-file-name to nil, since otherwise it is not possible to open
475             previous correspondence in another buffer while a conversation is open
477 2003-06-28  Francis Litterio  <franl@users.sourceforge.net>
479         * erc.el(erc-network-name):
480         Now makes some intelligent guesses if the server didn't tell
481             us the network name.
483 2003-06-28  Alex Schroeder  <alex@gnu.org>
485         * erc.el(erc-default-coding-system): Use utf-8 as the default
486         encoding for outgoing stuff and undecided as the default for
487         incoming stuff.
488         (erc-coding-sytem-for-target): New.
489         (erc-encode-string-for-target): Use it.
490         (erc-decode-string-from-target): Use it.  Removed the flet
491         erc-default-target hack and documented the dynamically bound
492         variable `target' instead.
494 2003-06-25  Francis Litterio  <franl@users.sourceforge.net>
496         * erc.el(erc-log-irc-protocol):
497         Now we keep point on the bottom line of the window
498             displaying the *erc-protocol* buffer if it is at the end of the
499             *erc-protocol* buffer.
501         * erc.el:
502         Added some text to the docstring for variable erc-debug-irc-protocol.
504 2003-06-23  Francis Litterio  <franl@users.sourceforge.net>
506         * erc-dcc.el(erc-dcc-auto-mask-p):
507         Fixed a docstring typo that caused a load-time error.
509         * erc-dcc.el(erc-dcc-auto-mask-p):
510         Changed reference to undefined variable erc-dcc-auto-mask-list
511             to erc-dcc-auto-masks.
512         Changed default value of variable erc-dcc-auto-masks to nil and added text to its
513             docstring.
515         * erc-notify.el(erc-notify-timer and erc-notify-QUIT):
516         Added network name to notify_off message.
518         * erc.el(erc-network-name):
519         Now returns the name of the IRC server if the network name
520             cannot be determined.
522         * erc-notify.el(erc-notify-JOIN and erc-notify-NICK):
523         Added argument ?m to call to erc-display-message.
525         * erc-dcc.el(erc-dcc-do-LIST-command):
526         Fixed a bug where I assumed (plist-get elt :type)
527             returns a string -- it really returns a symbol.
529         * erc-notify.el(erc-notify-timer):
530         Now we include the network name in the notify_on message.
532         * erc.el:
533         New function: erc-network-name.  Returns the name of the network that the
534             current buffer is associate with.  Not every server sends the 005 messages
535             that enable the network name to be known.  If the network name is
536             not known, the string "UNKNOWN" is returned.
538         * erc-dcc.el(erc-dcc-chat-setup):
539         Added a comment.  Fixed a bug where a DCC CHAT buffer has no
540             prompt when it first appears.
542         * erc-dcc.el(erc-dcc-chat-parse-output):
543         Now a DCC chat buffer displays the nick using
544             erc-nick-default-face just like in a channel buffer.
546 2003-06-22  Francis Litterio  <franl@users.sourceforge.net>
548         * erc.el(erc-display-prompt):
549         Fixed incorrect indentation.  No semantic change.
551         * erc.el(erc-strip-controls):
552         Minor change to regexp that matches IRC color control
553             codes.  I was seeing usage as follows: ^C07colored text^C^C04other color.
554             Now we strip a ^C followed by zero, one, or two digits.  Before this change,
555             we stripped a ^C followed by one or two digits.
557         * erc-dcc.el(erc-dcc-do-LIST-command):
558         Improved format of output of /DCC LIST.  Now the
559             "Size" column for a DCC GET includes the percentage of the file that has
560             been retrieved.
561         (erc-dcc-do-GET-command): Now it works if erc-dcc-default-directory is set.
563 2003-06-19  Damien Elmes  <erc@repose.cx>
565         * erc-log.el:
566         * added quickstart information to the comments up the top
568 2003-06-16  Mario Lang  <mlang@delysid.org>
570         * erc.el:
571         Default to open-network-stream on MS Windows. (thanks lawrence)
573 2003-06-11  Damien Elmes  <erc@repose.cx>
575         * erc.el(erc-process-input-line):
576         refactor so that wrong-number-of-arguments is
577             caught when using do-not-parse-args - this lets do-not-parse-args
578             commands display help messages on incorrect syntax in a uniform manner.
579             This no longer raises a bad-syntax error - was this a catch-all to stop a
580             backtrace? Does it belong?
581         (erc-cmd-APPENDTOPIC): the correct way to display help when you want to
582             accept an arbitrary string is to (signal 'wrong-number-of-arguments nil).
583             This fixes a bug where people could not /at topics with a space in them.
585 2003-06-09  Damien Elmes  <erc@repose.cx>
587         * erc.el:
588         Re-add the last few changes which weren't merged for some reason.
590         * erc.el(erc-cmd-APPENDTOPIC): show help when given no arguments
592         Patch from MrBump. Fixes problem with erc-set-topic inserting ^C characters
593         into the topic. Also removes dependency on CL.
595 2003-06-08  Jorgen Schaefer  <forcer@users.sourceforge.net>
597         * erc.el:
598         Added comment to explain (eval-after-load "erc" '(erc-update-modules)).
600 2003-06-01  Mario Lang  <mlang@delysid.org>
602         * erc-pcomplete.el: Add completion for /unignore
604 2003-05-31  Alex Schroeder  <alex@gnu.org>
606         * erc-compat.el(erc-encode-coding-string): The default binding,
607         if encode-coding-string was not available, must be a defun that
608         takes multiple arguments.  Did that.
610 2003-05-30  Mario Lang  <mlang@delysid.org>
612         * erc.el:
613         Add handlers for 313 and 330 (by arne@rfc2549.org, thanks)
615 2003-05-30  Damien Elmes  <erc@repose.cx>
617         * erc.el:
618         patch from MrBump to make /mode #foo +b work again (erc-cmd-BANLIST only
619         temporarily changes them now)
621 2003-05-29  Alex Schroeder  <alex@gnu.org>
623         * erc.el(erc-select):
624         server is now defaulted with erc-compute-server.
625         A few cosmetic fixes.
626         (erc-default-coding-system): Renamed from erc-encoding-default.
627         (erc-encoding-default): Renamed to erc-default-coding-system.
628         (erc-encoding-coding-alist): Documentation updated to cover regexps.
629         (erc-encode-string-for-target): Now considers keys of
630         erc-encoding-coding-alist to be regexps.  Rely on erc-compat
631         wrt. MULE support.
632         (erc-decode-string-from-target): New function.
633         (erc-send-current-line): eq -> char-equal fix.
634         (erc-server-TOPIC): topic is now decoded with
635         erc-decode-string-from-target.
636         (erc-parse-line-from-server): Line from server is no longer decoded
637         here.
638         (erc-server-PRIVMSG-or-NOTICE): Message from a user is decoded here,
639         sspec -> sender-spec for clarity.  Cosmetic if -> when fix.
640         (erc-server-TOPIC): sspec -> sender-spec
641         (erc-server-WALLOPS): Ditto.
643         * erc-compat.el(erc-decode-coding-string):
644         Now requires coding-system as an argument.
646 2003-05-15  Mario Lang  <mlang@delysid.org>
648         * erc.el:
649         erc-part|quit-hook is only run on a part|quit directed to our nick, reflect that in the docstring to avoid confusion
651 2003-05-01  Andreas Fuchs  <asf@void.at>
653         * erc-truncate.el:
654         * erc-truncate-buffer-to-size: use fboundp. Scheme takes its toll...
656 2003-05-01  Jorgen Schaefer  <forcer@users.sourceforge.net>
658         * erc-truncate.el: remove require of erc-log
659         (erc-truncate-buffer-to-size): use erc-save-buffer-in-logs when it's
660         there, else, don't.
662 2003-04-29  Andreas Fuchs  <asf@void.at>
664         * erc-log.el, erc-truncate.el, erc.el: erc.el:
665                 * erc-cmd-QUIT: Remove references to code in erc-log.el, to
666                   not force autoloading of erc-log.el
667                 * erc-server-PART: ditto.
668                 * erc-quit-hook: new hook, run when /quit command is
669                   processed.
670                 * erc-cmd-QUIT: use it.
671                 * erc-part-hook: new hook, run then PART message is
672                   processed.
673                 * erc-cmd-PART: use it.
674                 * erc-connect-pre-hook: new hook, run before connection to IRC
675                   server is started.
676                 * erc: use it.
677                 * erc-max-buffer-size: Move truncation variables and functions
678                   to erc-truncate.el
679                 * erc-truncate-buffer-on-save: moved to erc-log.el
680                 * erc-initialize-log-marker: new function.
681         * erc-log.el:
682                 * erc-truncate-buffer-on-save: New defcust here; from erc.el
683                 * erc-truncate-buffer-on-save: Put it in group `erc-log'
684                 * erc-log-channels-directory: Remove trailing slash from
685                   default value.
686                 * Add functions to erc-connect-pre-hook, erc-part-hook and
687                   erc-quit-hook to avoid getting autoloaded.
689         * erc-truncate.el:
690                 * Contains the truncation functions and defcusts from erc.el.
691                 * define-erc-module clause added; new erc-truncate-mode.
693 2003-04-29  Jorgen Schaefer  <forcer@users.sourceforge.net>
695         * erc.el(erc):
696         Check whether erc-save-buffer-in-logs is bound, too
698         * erc.el(erc):
699         Check whether erc-logging-enabled is bound before using it - not
700         everyone is using erc-log.el!
702 2003-04-28  Andreas Fuchs  <asf@void.at>
704         * erc-log.el:
705         * while we're at it, remove the (declare (ignore ignore)) statements.
707         * erc-log.el:
708         * add autoload statement for erc-log-mode/etc. Sorry for the delay.
710         * erc-log.el, erc.el: * erc.el:
711                 - move variables and functions to erc-log.el:
712                          defgroup `erc-log'
713                          defcustom `erc-log-channels-directory'
714                          defcustom `erc-log-insert-log-on-open'
715                          defcustom `erc-generate-log-file-name-function'
716                          defun `erc-save-buffer-in-logs' (autoloads from erc-log.el)
717                          defuns `erc-generate-log-file-name-*'
718                          defun `erc-current-logfile'
719                          defun `erc-logging-enabled' (autoloads from erc-log.el)
720                 - erc-truncate-buffer-to-size: fix for double-saving bug when
721                   writing out truncated buffer contents. Thanks, lawrence mitchell <wence@gmx.li>!
722                 - erc-remove-text-properties-region: Fix case for read-only text.
723                 - erc-send-current-line: update insert-marker before calling the hooks.
724                                          also, wrap (erc-display-prompt) so that it doesn't toggle
725                                          buffer-modified-p.
726                 - erc-interpret-controls: remove /very/ old commented-out function
727                 - erc-last-saved-position: make it a marker
728                 - erc: use it.
730         * erc-log.el: (thanks, lawrence mitchell <wence@gmx.li>!)
731                 - Move logging code from erc.el here
732                 - define-erc-module log: add; minor mode erc-log-mode is the
733                   same as adding the `erc-save-buffer-in-logs' to
734                   erc-send-post-hook and `erc-insert-post-hook'.
735                 - erc-w32-invalid-file-characters: add.
736                 - erc-enable-logging: add.
737                 - erc-logging-enabled: use it.
738                 - erc-logging-enabled: autoload.
739                 - erc-save-buffer-in-logs: fix for truncating saved buffer with read-only text.
740                 - erc-save-buffer-in-logs: use erc-last-saved-position.
741                 - erc-save-buffer-in-logs: fix saving half-written messages on
742                   the prompt when saving the log file. (simply uses
743                   erc-insert-marker as an upper bound for saving).
745 2003-04-27  Damien Elmes  <erc@repose.cx>
747         * erc.el:       * erc.el: erc-modules: added
749 2003-04-27  Alex Schroeder  <alex@gnu.org>
751         * Makefile(UNCOMPILED): Added erc-compat.el.
752         (clean): Remove .elc files, too.
753         Patch by Hynek Schlawack <hynek+erc@hys.in-berlin.de>
755 2003-04-22  Damien Elmes  <erc@repose.cx>
757         * erc-button.el:
758         erc-button-keymap: set the parent keymap to erc-mode-map
760 2003-04-20  Damien Elmes  <erc@repose.cx>
762         * erc.el:
763         erc-official-location: shouldn't the official location be the base URL of erc?
765         * erc.el:
766         erc-modules: updated the docstring to make the semantics clearer
768 2003-04-19  Mario Lang  <mlang@delysid.org>
770         * erc.el:
771         Fix problem where % in NOTICE produced errors (from mmc)
773 2003-04-18  Damien Elmes  <erc@repose.cx>
775         * erc.el(erc-toggle-debug-irc-protocol):
776         moved a reference to 'buf' inside the let
777             statement which defines it. it's difficult to tell what the original
778             intentions were here - at the moment the debug window is displayed when
779             toggling either way.
781         * README, erc.el:
782         (erc-update-modules: added a condition in for erc-nickserv -> erc-services
784         * erc-pcomplete.el:
785         - that change to erc-update-modules making it require the modules first means
786           we don't need any special case handling here, so i reverted the previous
787           change
789         * erc.el:
790         - don't require 'erc-auto, since windows users don't have access to make.
791           instead, we handle it in (erc-update-modules)
793 2003-04-17  Damien Elmes  <erc@repose.cx>
795         * README, Makefile:
796         Updated Makefile and documentation to reflect the new release
798         * erc.el:
799         - note the previous change also updated the release number to erc 4.0!
800         (erc-connect): fix a bug introduced by the previous release
802         * erc.el:
803         fixed about 20 instances of (message (format ...)) which will break if the
804         format returns a string with %s in it
806         * erc.el: erc-error-face: make it red, not pink
808         * erc-pcomplete.el:
809         since pcomplete is autoloaded via erc-completion-mode, and completion is in
810         erc-modules by default, we remove completion when pcomplete is added
812         * erc.el(define-erc-module): no need for delete, use delq
814         * erc-members.el(erc-nick-channels):
815         (erc-person-channels) takes one arg
816         (erc-format-user): again, they all take an arg
818         * erc.el:
819         - require erc-auto when loading, so the default `erc-modules' can be loaded.
820           this makes erc-auto no longer a convenience but a necessity - all the name
821           of user friendliness.
822         (define-erc-module): the enable and disable routines now update erc-modules
823             accordingly
824         erc-modules: new variable controlling the modules which erc has loaded/will
825             load. when customizing, it will automatically enable modules. it won't
826             automatically disable modules which are removed, yet.
827         (erc-update-modules): enable all modules in `erc-modules'
829         * erc-dcc.el(erc-dcc-open-network-stream):
830         use the -nowait equiv if available
831         erc-dcc-server-port: removed
832         erc-dcc-port-range: allows a range of values, so you can have more than one
833             dcc
834         (erc-dcc-server): support erc-dcc-port-range
835         (erc-dcc-chat): use OCHAT for outgoing chat for now. we need to fix the
836             issues with allowing more than one chat with the same person
838         * erc.el:
839         erc-log-channels: removed; set the directory to start logging
840         (erc-directory-writeable-p): create directory if it doesn't exist, check if
841             it's writable
842         (erc-logging-enabled): don't reference erc-log-channels
844 2003-04-07  Damien Elmes  <erc@repose.cx>
846         * erc.el(erc):
847         but when inserting the contents of a previous logfile, use the logfile
848             name, not ""!
850         * erc.el(erc):
851         set buffer-file-name to "", since we have a custom saving function and
852             it's not needed. this enables one to open a log file with previous
853             correspondence, while talking to the person at the same time
855 2003-03-29  Francis Litterio  <franl@users.sourceforge.net>
857         * erc.el(erc-prepare-mode-line-format):
858         Now strips all text properties from the target before
859             putting it in the mode line.  Keeps the mode line looking consistent.
860         (erc-channel-p): Improved docstring.
862 2003-03-28  Alex Schroeder  <alex@gnu.org>
864         * erc.el(erc-generate-log-file-name-with-date): New function.
865         (erc-generate-log-file-name-function): Make it available.
867 2003-03-24  Mario Lang  <mlang@delysid.org>
869         * erc.el:
870         Fix erc-prompt and erc-user-mode custom :type (Closes: #185794)
872 2003-03-20  Damien Elmes  <erc@repose.cx>
874         * erc.el:
875         erc-server-hook-list: correct documentation of ordering of (proc parsed)
877 2003-03-16  Alex Schroeder  <alex@gnu.org>
879         * erc-track.el(erc-modified-channels-string):
880         Make it a risky-local-variable.
882 2003-03-16  Jorgen Schaefer  <forcer@users.sourceforge.net>
884         * erc-track.el(erc-track-modified-channels):
885         Use (point-min) if we don't find a
886         parsed-property, so it won't error out with nil...
888 2003-03-16  Damien Elmes  <erc@repose.cx>
890         * erc-track.el(erc-track-switch-buffer):
891         removed call to erc-modified-channels-update, as
892             this is done correctly on buffer switching in both emacs and xemacs now
894 2003-03-15  Damien Elmes  <erc@repose.cx>
896         * erc-track.el(erc-find-parsed-property):
897         simplified a little, so it shouldn't return nil anymore
899         * erc.el: erc-send-post-hook: document narrowing which occurs
901 2003-03-14  Alex Schroeder  <alex@gnu.org>
903         * erc-track.el(erc-find-parsed-property): New function.
904         (erc-track-modified-channels): Use it instead of relying on
905         point-min.
907 2003-03-12  Mario Lang  <mlang@delysid.org>
909         * erc.el:
910         Fix erc-set-topic to accept a channel name as first word
912 2003-03-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
914         * erc-dcc.el:
915         Small patch (<10 lines, also slightly modified by Jorgen Schäfer) from
916         David Spreen <netzwurm@debian.org> to add hostmask-authentication to
917         DCC auto-accept.
919         erc-dcc-auto-mask-list: New variable
920         (erc-dcc-handle-ctcp-send): Check erc-dcc-auto-mask-list
921         (erc-dcc-auto-mask-p): New function
922         erc-dcc-send-request: Docstring now mentions erc-dcc-auto-mask-list
924 2003-03-10  Francis Litterio  <franl@users.sourceforge.net>
926         * erc-ring.el(erc-clear-input-ring):
927         New function.  Erases the contents of the input ring for
928            the current ERC buffer.
930 2003-03-08  Francis Litterio  <franl@users.sourceforge.net>
932         * erc.el:
933         (erc-display-line-1) and (erc-send-current-line): Now these functions reset erc-insert-this
934             to t as soon as possible after consuming the value of that variable.  See the comments in
935             the code for the strange symptom this fixes.
936         (erc-bol): Changed to call point-at-eol instead of line-end-position.  This increases XEmacs
937             portability, since XEmacs doesn't have line-end-position.  Patch suggested by Scott Evans
938             on the ERC mailing list.
940 2003-03-04  Damien Elmes  <erc@repose.cx>
942         * erc.el: banlist*: patch from mrbump to avoid using cl packages
944 2003-03-04  Francis Litterio  <franl@users.sourceforge.net>
946         * erc.el:
947         Changed erc-noncommands-list from a constant to variable, so that users can
948             add their own erc-cmd-* functions to the list.  Improved the docstring too.
950 2003-03-02  Francis Litterio  <franl@users.sourceforge.net>
952         * erc.el(erc-server-353):
953         Now the output of "/NAMES #channel" appears in the currently
954             active ERC buffer, even if the user is not a member of #channel.
956         * erc.el(erc-cmd-DEOP):
957         Fixed a syntax error: invalid read syntax ")" caused by my last change.
959 2003-03-01  Francis Litterio  <franl@users.sourceforge.net>
961         * erc.el(erc-cmd-DEOP):
962         Fixed a wrong-type-argument error caused by calling split-string
963             on a list instead of on a string.  Removed the call to split-string entirely,
964             because it wasn't needed.
966         * erc.el(erc-cmd-HELP):
967         Changed to use intern-soft instead of intern.  Now "/HELP floob"
968             doesn't create a void function symbol erc-cmd-FLOOB.
970 2003-02-25  Damien Elmes  <erc@repose.cx>
972         * erc.el(erc-cmd-SERVER):
973         remove erroneous references to line, use server instead
975 2003-02-23  Francis Litterio  <franl@users.sourceforge.net>
977         * erc.el(erc-toggle-debug-irc-protocol):
978         Fixed a bug where the global value of
979             kill-buffer-hook was being modified instead of the buffer-local value.
981 2003-02-22  Francis Litterio  <franl@users.sourceforge.net>
983         * erc.el(erc-cmd-KICK):
984         Now supports any number of words in the REASON string.  Examples
985             of the /KICK command are:
986               /KICK franl You don't belong here
987               /KICK franl Bye
988               /KICK franl
989               /KICK #channel franl Go away now
990               /KICK #channel franl Bye
991               /KICK #channel franl
993 2003-02-16  Jorgen Schaefer  <forcer@users.sourceforge.net>
995         * erc-stamp.el(erc-insert-timestamp-right):
996         Make the timestamp rear-nonsticky, so
997         C-e works at the beginning of the next line.
999 2003-02-16  Andreas Fuchs  <asf@void.at>
1001         * erc-stamp.el:
1002         * s/choose/choice/ in customize options, as kensanata requested.
1004 2003-02-15  Francis Litterio  <franl@users.sourceforge.net>
1006         * erc.el(erc-toggle-debug-irc-protocol):
1007         Now if the *erc-protocol* buffer is killed,
1008             logging is turned off.  Prior to this change, the buffer would come back
1009             into existence (generally unbeknownst to the user) after being killed.
1011 2003-02-11  Damien Elmes  <erc@repose.cx>
1013         * erc.el(erc-send-current-line):
1014         we can't inhibit everything here when not connected,
1015             as the user will expect commands like /server still to work. the
1016             erc-cmd-handler should recover from errors instead
1018 2003-02-10  Damien Elmes  <erc@repose.cx>
1020         * erc.el:
1021         * we now run erc-after-connect on 422 (no motd) messages as well as the motd
1022           messages
1023         (erc-login): revert the previous change
1025         * erc.el(erc-login): register that we're connected
1027 2003-02-10  Mario Lang  <mlang@delysid.org>
1029         * erc-members.el: * Provide erc-members
1030         * Fix excessive )
1031         * Comment out broken self-tests
1033 2003-02-07  Damien Elmes  <erc@repose.cx>
1035         * erc.el(erc-connect):
1036         notify the user we're trying to connect when using asych
1037             connections
1039         * erc.el(erc-connect): support an asynchronous connection
1040         (erc-process-sentinel): ditto
1042         * erc-track.el:
1043         * advise switch-to-buffer in the case of xemacs, since it doesn't have
1044           window-configuration-change-hook
1046         * erc.el(erc-send-current-line):
1047         if not connected, refuse to send either a message or
1048             a command
1050         * erc.el: (erc-save-buffer-in-logs):
1051             - check for a sensible region before saving the buffer. if the
1052               connection process is killed early on, there is not a sensible region
1053               to save
1054             - don't set buffer-file-name on save. we don't need it, and it means we
1055               can now find-file a log while an existing query is open with that
1056               user
1058         * erc.el(erc-process-input-line):
1059         when displaying the help for a function, if no
1060             documentation exists, don't fall over
1061         (erc-cmd-SAY): new function for quoting lines beginning with /
1062         (erc-server-NICK):
1063             - fix a bug where the "is now known as" message doesn't appear on newly
1064               created /query buffers
1065             - when a user changes their nick, update the query to point to the new
1066               nick
1068         * erc.el(erc-send-current-command):
1069         don't reject multi-line commands. since
1070             multiline-p is used as the no-command arg to erc-process-current-line,
1071             multi-line text is never interpreted as a command. i believe this is the
1072             correct behavior - it allows people to post the output of things like df
1073             (sans header). if you want to change this, please provide a rationale
1074             in the changelog
1076         * erc.el(erc-send-current-line):
1077         only match the first line when determining if a
1078             multi-line command is allowed
1080 2003-02-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
1082         * erc-bbdb.el(erc-bbdb-highlight-record):
1083         Use alternate strings, not character
1084         classes to split the nick-field.
1086 2003-02-06  Francis Litterio  <franl@users.sourceforge.net>
1088         * erc.el(erc-process-sentinel):
1089         Now we set erc-connected to nil every time we disconnect
1090             from a server, not just when an unexpected disconnect happens.
1092         * erc.el(erc-connected):
1093         Removed redundant defvar of this variable.  Improved the
1094             docstring.
1095         (erc-login): Changed to send a correct RFC2812 USER message (see section
1096             3.1.3 of RFC2812 for the documentation of the semantics of each argument
1097             of the USER message.
1099 2003-02-02  Damien Elmes  <erc@repose.cx>
1101         * erc.el(erc-cmd-NOTICE): fix from mrbump
1103 2003-01-31  Francis Litterio  <franl@users.sourceforge.net>
1105         * erc.el(erc-cmd-JOIN):
1106         Now we only send one JOIN command to the server when a channel
1107             key is provided.
1109 2003-01-30  Francis Litterio  <franl@users.sourceforge.net>
1111         * erc.el(erc-remove-channel-member):
1112         Fixed so that it runs erc-channel-members-changed-hook
1113             with the channel buffer current, as is documented in the docstring for variable
1114             erc-channel-members-changed-hook: "The buffer where the change happened is
1115             current while this hook is called."
1117 2003-01-28  Francis Litterio  <franl@users.sourceforge.net>
1119         * erc.el:
1120         (erc-ignored-user-p),(erc-cmd-IGNORE),(erc-cmd-UNIGNORE): Now nicks are ignored
1121             on a per-server basis.  Now, erc-ignore-list is only valid in server
1122             buffers!  Do not reference it in channel buffers.
1124         * erc.el(erc-cmd-IGNORE):
1125         Now says "Ignore list is empty" if it erc-ignore-list is empty
1126             instead of showing an empty list.
1128 2003-01-25  Alex Schroeder  <alex@gnu.org>
1130         * erc-nickserv.el(services): Defined a module
1132 2003-01-25  Jorgen Schaefer  <forcer@users.sourceforge.net>
1134         * erc.el(erc-process-ctcp-query):
1135         Display recipient of CTCP query if it's not
1136         our current nick.
1138         * erc.el(erc-cmd-WHOIS):
1139         Accept an optional second argument SERVER.
1141 2003-01-25  Alex Schroeder  <alex@gnu.org>
1143         * erc-stamp.el(stamp): erc-add-timestamp must always be added
1144         with the APPEND parameter -- not only when adding it on the right.
1146 2003-01-24  Alex Schroeder  <alex@gnu.org>
1148         * erc-members.el(erc-channel-members-changed-hook): Obsolete, use
1149         erc-members-changed-hook instead.  When it is set, add its content
1150         to erc-members-changed-hook.
1151         (erc-update-channel-member): Obsolete, use erc-update-member
1152         instead.  Defalias to that effect.
1153         (erc-remove-channel-member): New and already obsolete.  Use
1154         erc-remove-nick-from-channel instead.
1155         (erc-update-channel-info-buffer): Obsolete, use ignore instead.
1156         Yes, these have to go.
1157         (erc-channel-member-to-user-spec): Obsolete, use erc-format-user
1158         instead.
1159         (erc-format-user): New.
1160         (erc-ignored-reply-p): New, use it.
1162         * erc-members.el:
1163         Further along the way.  Any function from erc.el that uses
1164         channel-members should end up in this file, rewritten to use
1165         erc-members.
1167         (erc-person): Call erc-downcase before getting
1168         something from the hash.
1169         (erc-nick-in-channel): Checking whether erc-process must be used is
1170         unnecessary -- this will be done in erc-person.
1171         (erc-nick-channels): New.
1172         (erc-add-nick-to-channel, erc-update-member): Call erc-downcase
1173         before putting something into the hash.
1174         (erc-buffer-list-with-nick): New.
1175         (erc-format-nick, erc-format-@nick): New, backwards incompatible.
1176         Must check for other places that call these!
1177         (erc-server-PRIVMSG-or-NOTICE): Use the new version.
1179         * erc-compat.el(view-mode-enter): defalias to view-mode, if
1180         view-mode-enter is not fboundp and view-mode is -- as is the case
1181         in XEmacs.  We need view-mode-enter in erc-match.el.
1183 2003-01-23  Francis Litterio  <franl@users.sourceforge.net>
1185         * erc.el(erc-default-server-handler):
1186         Minor performance improvement: allow the lambda
1187             expression to be byte-compiled.
1189 2003-01-23  Damien Elmes  <erc@repose.cx>
1191         * erc.el(erc-cmd-BANLIST):
1192         in the absence of a fill-column, use the screen width
1194 2003-01-22  Damien Elmes  <erc@repose.cx>
1196         * erc.el:
1197         patch from MrBump to delay fetching the banlist until /bl is run, so we don't
1198         fetch it when joining a channel anymore
1200         * erc-ring.el:
1201         * instead of adjusting hooks when loaded, provide (erc-ring-mode). you'll
1202           need to run (erc-ring-mode 1) now to get the ring
1203         * (erc-previous-command), (erc-next-command):
1204             - check if the ring exists and create it if necessary
1205             - don't do anything if the ring is empty
1207         * erc-pcomplete.el:
1208         Put "how to use" documentation in the comments up the top
1210 2003-01-21  Alex Schroeder  <alex@gnu.org>
1212         * erc-autojoin.el(erc-autojoin-version): New.
1214         * erc-autojoin.el(erc-autojoin-add): Added body.
1215         (erc-autojoin-remove): Added body.
1216         (erc-autojoin): Provide it.
1218 2003-01-21  Damien Elmes  <erc@repose.cx>
1220         * erc.el: erc-cmd-*: removed a bunch of references to force
1222 2003-01-21  Alex Schroeder  <alex@gnu.org>
1224         * erc-autojoin.el(erc-autojoin-channels-alist): More doc.
1226 2003-01-20  Alex Schroeder  <alex@gnu.org>
1228         * erc-autojoin.el:
1229         new, based on resolve's mail, and the stuff on the wiki
1231         * erc-members.el: new
1233 2003-01-19  Mario Lang  <mlang@delysid.org>
1235         * debian/README.Debian, debian/changelog, debian/scripts/install,
1236           debian/scripts/startup.erc, Makefile:
1237         Prepare for 20030119 debian package
1239         * erc-dcc.el: <rant>
1240         * (erc-decimal-to-ip): Since XEmacs decides that return a completely
1241         and utterly wrong number from string-to-number if it is larger than
1242         the integer boundary, instead of sanely converting the thing to
1243         a float, we now (concat dec ".0").
1244         </rant>
1246         * erc.el:
1247         * (erc-log-irc-protocol): Use erc-propertize, not propertize
1249 2003-01-19  Alex Schroeder  <alex@gnu.org>
1251         * erc-button.el(erc-button-add-buttons): Added regexp-quote for
1252         the list case, too.
1254 2003-01-19  Damien Elmes  <erc@repose.cx>
1256         * erc-dcc.el(erc-dcc-member): fix for case where a prop is nil
1258         * erc-dcc.el(erc-dcc-member):
1259         fix for xemacs's version of plist-member
1261 2003-01-19  Mario Lang  <mlang@delysid.org>
1263         * erc-notify.el: Delete empty strings from the ison-list
1265         * erc-track.el:
1266         * (erc-track-switch-buffer): Call erc-modified-channels-update here.
1268         * erc-track.el: * toplevel: require 'erc-match
1270         * erc-track.el: * (erc-track-mode): Make autoload interactive
1272         * erc-button.el: * (button): Make the autoload interactive
1274         * erc.el:
1275         * (erc-mode): Comment out the case-table stuff, breaks xemacs
1276         * (erc-downcase): Revert.
1278         * erc-dcc.el:
1279         * (erc-dcc-handle-ctcp-send): Use erc-decimal-to-ip on the ip we get...
1281         * erc-speak.el:
1282         Eliminate reference to erc-nick-regexp, which no longer exists
1284 2003-01-19  Alex Schroeder  <alex@gnu.org>
1286         * erc-stamp.el(erc-timestamp-right-column): New, default nil.
1287         (erc-insert-timestamp-right): Use it, if non-nil.  Verbose
1288         doc string.
1290 2003-01-18  Jorgen Schaefer  <forcer@users.sourceforge.net>
1292         * erc.el(erc-downcase): Use the old behavior in non-CVS Emacs.
1294         * erc.el(erc-cmd-QUIT): Remove &rest. The correct fix follows.
1295         (erc-cmd-GQUIT): Pass "" to erc-cmd-QUIT.
1296         (erc-mode): Use the case-table only in CVS Emacs. See comment.
1298         * erc.el(erc-cmd-QUIT): make reason optional.
1300         * erc.el(erc-cmd-GQUIT): Fixed typo.
1302 2003-01-17  Mario Lang  <mlang@delysid.org>
1304         * erc.el:
1305         * (erc-current-logfile): call expand-file-name, so that downcase doesn't mess up ~
1307         * erc.el: * (erc-mode): Define a proper case-table.
1308         * (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...
1310         * erc-button.el: * (erc-button-add-buttons): regex-quote the nick
1312 2003-01-17  Alex Schroeder  <alex@gnu.org>
1314         * erc-button.el(button): erc-channel-members-changed-hook no
1315         longer has erc-recompute-nick-regexp.
1316         (erc-button-alist): Use channel-members instead of
1317         erc-nick-regexp.
1318         (erc-button-add-buttons): Split some code into
1319         erc-button-add-buttons-1, and now handle strings, lists, and
1320         alists.  Regular expressions in lists and alists are enclosed in
1321         < and >.
1322         (erc-button-add-buttons-1): New.
1323         (erc-nick-regexp): Deleted.
1324         (erc-recompute-nick-regexp): Deleted.
1326         * erc-button.el: Remove require cl again.
1327         (erc-mode-map): No longer bind widget-backward and widget-forward.
1328         (erc-button-alist): Explain why byte-compiling makes no sense, and
1329         remove all calls to byte-compile.
1330         (erc-button-keymap): Define it the standard way, without exposing
1331         the list nature of the keymap.
1332         (erc-button-marker-list): Deleted.
1333         (erc-button-add-buttons): Simplify.  In particular, create the
1334         button using the real callback, instead of using the intermediate
1335         erc-button-push, and only store the data as described for
1336         erc-button-alist.
1337         (erc-button-remove-old-buttons): Simplify.  No more list munging.
1338         Instead, just remove all the properties that we add in
1339         erc-button-add-button.
1340         (erc-widget-press-button): Deleted.
1341         (erc-button-click-button): New, for mouse clicks.  Moves point to
1342         where the mouse is, and calls erc-button-push.
1343         (erc-button-push): Instead of matching again, just use the
1344         erc-callback and erc-data properties at point to do the right
1345         thing.
1346         (erc-button-entry): Deleted.
1347         (erc-button-next): Use error instead of the beep plus message
1348         combo.
1350 2003-01-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
1352         * erc-autoaway.el(erc-autoaway-set-back):
1353         Don't pass a force argument to erc-cmd-GAWAY.
1355         * erc.el(erc-cmd-AWAY): Removed usage of the force variable.
1357 2003-01-17  Alex Schroeder  <alex@gnu.org>
1359         * erc-button.el(button):
1360         erc-recompute-nick-regexp is no longer added to
1361         erc-channel-members-changed-hook unconditionally, but only if
1362         erc-button-mode is enabled, and if it is disabled, it is removed
1363         again.
1364         (erc): Require cl for delete-if.
1365         (erc-button-remove-old-buttons): Rewrote using delete-if to
1366         prevent excesive consing.  Having the marker list is still ugly,
1367         so another solution needs to be found.
1369 2003-01-17  Jorgen Schaefer  <forcer@users.sourceforge.net>
1371         * erc.el(erc-banlist-store):
1372         Don't assume there's always a setter in the banlist reply.
1374 2003-01-17  Alex Schroeder  <alex@gnu.org>
1376         * erc-button.el(erc-button-url-regexp): Changed regexp according
1377         to a suggestion by Max Froumentin <mf@w3.org>.
1379 2003-01-17  Mario Lang  <mlang@delysid.org>
1381         * erc.el:
1382         fix erc-remove-channel-member again to not error out on nil as first arg...
1384         * erc.el: * (erc-occur): New function
1386 2003-01-17  Damien Elmes  <erc@repose.cx>
1388         * erc.el: erc-banlist-*: return nil so further hooks are called
1390         * erc.el(erc-server-368):
1391         suppress "end of ban list" messages - use /listbans now
1393         * erc.el(erc-send-current-line):
1394         removed the check for leading whitespace again - the
1395             only time we want to prohibit multi-line commands is if / is the first
1396             thing on the line
1397         (erc-get-arglist): new defun for reading a function's arglist which should
1398             work with older copies of emacs. we use help-function-arglist if it's
1399             available, though, since that has support for reading subrs, etc
1401         * erc.el(erc-cmd-JOIN): fixed (again)
1403         * erc.el: * fixed call to erc-cmd-NICK when connecting
1404         * support for listing bans and mass unbanning, again thanks to MrBump
1406         * erc.el(erc-set-topic):
1407         patch from MrBump (Mark Triggs, mst@dishvelled.net) to strip
1408             control chars and topic attribution in C-c C-t
1410 2003-01-16  Mario Lang  <mlang@delysid.org>
1412         * erc.el:
1413         * (erc-remove-channel-member): Do not use delq, modify the list using setcdr like delq does.
1414         In theory, this should be way faster since the list doesn't get traverse two times.
1415         Measurement didn't show any real difference though :(, this system is flawed for channels with >300 users it seems...
1416         Also moved some defcustoms up.
1418 2003-01-16  Brian P Templeton  <bpt@tunes.org>
1420         * erc.el: moved misplaced paren
1422 2003-01-16  Damien Elmes  <erc@repose.cx>
1424         * erc.el(erc-cmd-UNIGNORE):
1425         reference argument directly - no string matching
1427         * erc.el(erc-extract-command-from-line):
1428         hmm, thinko in the canonicalization. should
1429             be fixed
1431 2003-01-16  Francis Litterio  <franl@users.sourceforge.net>
1433         * erc.el(erc-send-current-line):
1434         Changed the regexp used to match /COMMANDs so that leading
1435             whitespace is taken into account.
1437 2003-01-16  Mario Lang  <mlang@delysid.org>
1439         * erc-dcc.el: * (erc-dcc-do-SEND-command): Fix it
1441         * erc-ezbounce.el, erc-lang.el: Arglist changes...
1443         * erc.el: Various docstring fixes and additions.
1445         * erc-notify.el:
1446         * (erc-cmd-NOTIFY): Change the function arglist to (&rest args)
1448         * erc-netsplit.el: * (erc-cmd-WHOLEFT): Has no args...
1450 2003-01-16  Damien Elmes  <erc@repose.cx>
1452         * erc-fill.el:
1453         erc-fill-column: default to 78, so things like docstrings don't get wrapped
1454             in an ugly manner
1456 2003-01-16  Mario Lang  <mlang@delysid.org>
1458         * erc.el:
1459         * (erc-cmd-default): Take a substring, now /mode works again.
1460         * (erc-cmd-AWAY): Put do-not-parse-args t
1461         * (erc-cmd-GAWAY): Ditto, and fix it.
1462         * (erc-cmd-CTCP): Switch to argument system.
1463         * (erc-cmd-KICK): Do the same.
1465 2003-01-15  Mario Lang  <mlang@delysid.org>
1467         * erc-dcc.el:
1468         * (erc-cmd-DCC): Fixed for the new scheme, simplified.
1469         * (erc-dcc-do-CHAT-command): Ditto.
1470         * (erc-dcc-do-CLOSE-command): Ditto.
1471         * (erc-dcc-do-LIST-command): Ditto.
1473 2003-01-15  Damien Elmes  <erc@repose.cx>
1475         * erc.el:
1476         erc-error-face: setting a background doesn't work so well with multi-line
1477             messages, so we don't. fg color is negotiable ;-)
1478         (erc-cmd-QUERY): fixed, new doco, suppress (erc-delete-query) until we fix it
1479         (erc-send-current-line): allow multi-line messages provided they don't start
1480             with a slash - there's no need to prohibit them if the slash isn't the
1481             first character
1483         * erc.el: * bad-syntax now reports like incorrect-args
1484         * bunch of extra cmds fixed, nick, sv etc.
1486         * erc.el(erc-cmd-HELP): fixed
1487         (erc-extract-command-from-line): when determining canon-defun, make sure we
1488             have a valid symbol
1489         (erc-cmd-KICK): fixed
1491         * erc.el:
1492         * removed duplicate do-no-parse-args properties for the defaliased defuns
1493         (erc-process-input-line): show function signature when incorrect args
1494         (erc-extract-command-from-line): canonicalize defaliases before extracting
1495             plist
1496         (erc-cmd-CLEAR): fixed
1497         (erc-cmd-UNIGNORE): fixed again
1499         * erc.el(erc-cmd-SET): fixed
1500         (erc-cmd-UNIGNORE): fixed
1501         (erc-process-input-line): report when incorrect arguments are provided to a
1502             command, and show the command's docstring
1504         * erc.el(erc-cmd-APPENDTOPIC): fixed
1505         (erc-process-input-line): more informative error message than 'bad syntax'
1507 2003-01-15  Mario Lang  <mlang@delysid.org>
1509         * erc.el: * (erc-cmd-IGNORE): fixed
1511         * erc.el: * (erc-cmd-NAMES): fixed
1513         * erc.el:
1514         * (erc-cmd-CLEARTOPIC): Simplify, fix doc, make interactive
1516 2003-01-15  Damien Elmes  <erc@repose.cx>
1518         * erc.el(erc-cmd-JOIN):
1519         correct invite behavior, and document it.
1521 2003-01-15  Mario Lang  <mlang@delysid.org>
1523         * erc.el: * (erc-cmd-PART): Put 'do-not-parse-args t
1525 2003-01-15  Damien Elmes  <erc@repose.cx>
1527         * erc.el(erc-cmd-JOIN): new cmd argument syntax
1528         (erc-process-input-line): check if (erc-extract-command-from-line) returned a
1529             list, and apply if that's the case
1531         * erc.el:
1532         erc-cmd-*: remove optional force and references to `force' in the code
1533         (erc-cmd-AMSG): call erc-trim-string, not trim-string
1535 2003-01-15  Mario Lang  <mlang@delysid.org>
1537         * erc.el:
1538         * (erc-cmd-CLEARTOPIC): LINE is now ARGS and already parsed.
1539         Set erc-cmd-TOPIC to 'do-not-parse-args for now.
1540         (comment: I think we should have 'first, so that only first word is parsed...
1541          Or we could autodetect erc-channel-p in the parser before that somehow...)
1543         * erc.el: * (erc-cmd-OP): LINE is PEOPLE now, and already parsed.
1545         * erc-notify.el:
1546         * (erc-cmd-NOTIFY): Arg LINE is now ARGS, and already parsed.
1548 2003-01-15  Jorgen Schaefer  <forcer@users.sourceforge.net>
1550         * erc-stamp.el(erc-insert-timestamp-right):
1551         Prefer erc-fill-column to window-width,
1552         because on wide screens the timestamp could wander off too far to the
1553         right.
1555 2003-01-15  Mario Lang  <mlang@delysid.org>
1557         * erc.el: This is the "everything is suddenly broken!" release
1558         You know, this is CVS, you can still go back, and wait until the transition
1559         is finished, but here is patch one, which basically breaks every command
1560         which is typed on the prompt.
1561         Hit me, we can still revert, but something needs to be done about this.
1562         * (erc-extract-command-from-line): intern-soft the function here.
1563         If the function symbol has a property 'do-not-parse-args, operate as before,
1564         otherwise, split the arguments prior to calling the command handler.
1565         * (erc-process-input-line): Updated to accommodate the change above.
1566         * (erc-send-distinguish-noncommands): Ditto.
1567         * (erc-cmd-NAMES): Ditto.
1568         * (erc-cmd-ME): Put 'do-not-parse-args property.
1570         * erc-dcc.el:nick:      * erc-dcc.el: * erc-dcc-list: Renamed
1571         * (erc-dcc-member). Treat :nick as either a nick!user@host or nick,
1572         do appropriate comparisons, simplified.
1573         * (erc-dcc-list-add): New functions
1574         various callers of (cons (list ...) erc-dcc-list) updated.
1575         Other stuff I'm too bored to document now
1577 2003-01-15  Jorgen Schaefer  <forcer@users.sourceforge.net>
1579         * erc-stamp.el(erc-insert-timestamp-right):
1580         Removed redundant code that overrid the
1581         window-width. Now subtracts (length string) from every found
1582         indentation positions.
1584 2003-01-14  Mario Lang  <mlang@delysid.org>
1586         * erc.el:
1587         * (erc-cmd-AMSG): Remove useless call to erc-display-message.
1589         * erc-dcc.el:
1590         * erc-dcc-chat/send-request: New variables, control how to treat
1591         incoming dcc chat or send requests. Can be set to 'ask, which behaves
1592         like it did before, 'auto, which accepts automatically, and
1593         'ignore, which ignores those type of requests completely.
1594         * (erc-cmd-CREQ): New user-level command.
1595         * (erc-cmd-SREQ): Ditto.
1597         * erc.el: * (erc-cmd-AMSG). New command.
1599         * erc-xdcc.el: * (erc-xdcc): delete empty strings from ARGS
1601         * erc-dcc.el: * erc-dcc-ipv4-regexp: New constant
1602         * (erc-ip-to-decimal): Use it.
1603         * erc-dcc-host:valid-regexp erc-dcc-ipv4-regexp:
1604         * erc-dcc-host: :type
1605         * (pcomplete/erc-mode/DCC): Add completion for GET and CLOSE.
1606         * Some docstring/comment fixes.
1608         * erc-stamp.el:
1609         * (erc-insert-timestamp-right): Subtract (length string) from
1610         POS in any case, otherwise, linewrap occurs.
1612         * erc-dcc.el:
1613         * Fixed the unibyte-multibyte problem (now a dcc get buffer is (set-buffer-multibyte nil),
1614           and saves correctly (tried with 21.3.50)). Thanks to Eli for suggesting it!
1615         * Added :start-time plist property/value to GET handling so that we can calculate elapsed-time.
1616         * Some (unwind-protect (progn (set-buffer ...) ...)) constructs replaced with (with-current-buffer ...)
1618 2003-01-13  Mario Lang  <mlang@delysid.org>
1620         * erc-xdcc.el:
1621         * erc-xdcc-help-text: New variable which makes replies to the originator
1622         much more flexible.
1623         * erc-xdcc-help-format: Removed.
1624         * (erc-xdcc-help): Handle the new variable.
1625         * (erc-xdcc): Simplified
1627         * erc-xdcc.el: * erc-xdcc-handler-alist: New variable.
1628         * (erc-xdcc): Move code for list and send sub-commands into
1629         * (erc-xdcc-help): New function.
1630         * (erc-xdcc-list): New function.
1631         * (erc-xdcc-send): New function.
1633 2003-01-12  Jorgen Schaefer  <forcer@users.sourceforge.net>
1635         * erc.el(erc-server-JOIN):
1636         Oops, send MODE command only when *we* joined a channel.
1638         * erc.el:
1639         Fixing ERCs behavior wrt IRCnet's !channels have a different name for
1640         JOIN than in reality (e.g. you can join !forcertest or !!forcertest
1641         and really get to !ABCDEforcertest)
1643         (erc-cmd-JOIN): Removed erc-send-command MODE.
1644         (erc-server-JOIN): Ask for MODE now.
1646 2003-01-12  Damien Elmes  <erc@repose.cx>
1648         * erc-dcc.el:
1649         (erc-dcc-get-filter), (erc-dcc-get-file): store size as a string, not an
1650             integer. check size > 0 for the case where a size wasn't provided, since
1651             string-to-int will return 0 on an empty string
1653 2003-01-12  Mario Lang  <mlang@delysid.org>
1655         * erc-dcc.el: * Use RAWFILE arg with find-file-noselect
1656         * Fix alist/plist conversion left-over
1657         * Add verbose-info about sending blocks.
1659 2003-01-11  Mario Lang  <mlang@delysid.org>
1661         * erc-dcc.el: * (pcomplete-erc-mode/DCC): Fixes
1663         * erc-xdcc.el: Initial version.
1665         * erc-pcomplete.el:
1666         * (erc-pcomplete): Fix so that cycle-completion works again.
1667         * (pcomplete-parse-erc-arguments): If there is a space after the last word
1668         before point, we need to return a "" arg, and it's position.
1670         * erc-dcc.el: Fix to pcomplete/erc-mode/DCC
1672         * erc-dcc.el: * (pcomplete/erc-mode/DCC): New function
1674         * erc-dcc.el: *** empty log message ***
1676         * erc-dcc.el: Move code around, just basic changes
1678 2003-01-11  Jorgen Schaefer  <forcer@users.sourceforge.net>
1680         * erc-stamp.el(erc-insert-timestamp-right):
1681         Check whether erc-fill-column is
1682         available before using it. Else default to fill-column or if
1683         everything else fails, the window width of the current window. For the
1684         fill-columns, use them directly as the starting position for the
1685         timestamp.
1687 2003-01-11  Andreas Fuchs  <asf@void.at>
1689         * erc-stamp.el:
1690         erc-insert-timestamp-right: use correct window's window-width. If
1691                           buffer is not in a window, use erc-fill-column.
1693 2003-01-11  Mario Lang  <mlang@delysid.org>
1695         * erc-dcc.el:   * erc-dcc.el: * (erc-dcc-do-LIST-command): Fix
1697         * erc-dcc.el:
1698         * buffer-local variables erc-dcc-sent-marker and erc-dcc-send-confirmed marker removed
1699           Keep This info in erc-dcc-member :sent and :confirmed plist values
1700         * :     * :buffer plist for :type 'SEND removed, since we can get this with (marker-buffer
1701         * erc-dcc-send-connect-hook: New hook, defaults to erc-dcc-send-block and erc-dcc-send-connected, which now prints a msg...
1703         * erc-dcc.el:
1704         * (erc-dcc-chat-accept): Renamed from erc-dcc-chat. Callers updated.
1705         * (erc-dcc-chat): Renamed from erc-dcc-chat-request.
1706         Callers updated, and interactive form added.
1707         * (erc-dcc-server-accept): No longer do any type-specific stuff.
1708         * (erc-dcc-chat-sentinel): Call erc-dcc-chat-setup if event is "open from "
1709         from here, otherwise call erc-dcc-chat-close.
1711         * (
1713         * erc-dcc.el: *** empty log message ***
1715         * erc-dcc.el: Moved some functions around.
1716         Doc string fixes.
1717         "/dcc send nick filename" works now
1719 2003-01-11  Alex Schroeder  <alex@gnu.org>
1721         * erc.el(erc-send-command): Fixed flood protect message.
1723         * erc-button.el(erc-button-syntax-table): Make `-' a legal nick
1724         constituent.
1726 2003-01-10  Mario Lang  <mlang@delysid.org>
1728         * erc-dcc.el: Some more steps toward dcc send.
1730 2003-01-10  Francis Litterio  <franl@users.sourceforge.net>
1732         * erc-notify.el(erc-notify-timer):
1733         Changed to make it IRC-case-insensitive when comparing nicks.
1734         (erc-notify-JOIN): Changed to make it IRC-case-insensitive when comparing nicks.
1735         (erc-notify-NICK): Changed to make it IRC-case-insensitive when comparing nicks.
1736         (erc-notify-QUIT): Changed to make it IRC-case-insensitive when comparing nicks.
1737         (erc-cmd-NOTIFY): Now "/notify -l" lists the nicks on your notify list.  Now
1738             when you remove a nick from your notify list, you no longer receive a spurious
1739             signoff notification for that nick.  Changed to make it IRC-case-insensitive when
1740             comparing nicks.
1742         * erc.el(erc-ison-p):
1743         Fixed so it calls erc-member-ignore-case instead of member.
1745         * erc.el(erc-member-ignore-case):
1746         New function.  Just like member-ignore-case, but obeys
1747             the IRC protocol case matching rules.
1749 2003-01-10  Damien Elmes  <erc@repose.cx>
1751         * erc-dcc.el:
1752         (erc-dcc-do-GET-command), (erc-dcc-get-file): use the plist syntax, this
1753             fixes dcc get again
1755 2003-01-10  Jorgen Schaefer  <forcer@users.sourceforge.net>
1757         * erc.el: erc-complete-functions: New variable.
1758         erc-mode-map: Bind \t to 'erc-complete-word
1759         erc-complete-word: New function.
1761         * erc-pcomplete.el(erc-pcomplete-mode):
1762         Use new erc-complete-functions
1763         (erc-pcomplete): Check that we're in the input line, else return nil.
1765         * erc-button.el(erc-button-mode): Use new erc-complete-functions
1766         erc-button-old-tab-command: Removed.
1767         (erc-button-next-or-old): Removed
1768         (erc-button-next): check that we're not in the input line, else just return nil.
1770 2003-01-10  Mario Lang  <mlang@delysid.org>
1772         * erc-dcc.el: cleanup
1774         * erc-dcc.el:
1775         * (erc-dcc-chat-request): No longer use erc-send-ctcp-message.
1777         * erc-dcc.el:
1778         * (erc-dcc-no-such-nick): Also call delete-process if we have a peer already
1780         * erc-dcc.el:
1781         * (erc-dcc-no-such-nick): New function, server event handler for event 401.
1782         If we send a CTCP message requesting something dcc related, we set up an
1783         entry in erc-dcc-list before sending the request (for the server proc object
1784         for listening conns for example).  But if that nick does not exist
1785         on that server, we now nicely cleanup erc-dcc-list again.
1787 2003-01-09  Mario Lang  <mlang@delysid.org>
1789         * erc-dcc.el: Moved code around a bit, and doc fixes
1791         * erc-dcc.el: *** empty log message ***
1793         * erc-dcc.el: Rename erc-dcc-plist to erc-dcc-list
1795 2003-01-09  Damien Elmes  <erc@repose.cx>
1797         * erc-dcc.el(erc-dcc-server (erc-dcc-chat-setup):
1798         use erc's (erc-setup-buffer) to determine how to
1799             display new DCC windows
1800         (erc-dcc-chat-buffer-killed): buffer-local hook for DCC buffers to close the
1801             process
1802         (erc-dcc-chat-close): code common to a killed buffer or a disconnection from
1803             the other side
1804         (erc-dcc-chat-sentinel): use (erc-dcc-chat-close)
1805         (erc-dcc-server-accept): use (erc-log) instead of (message)
1807         * erc.el:
1808         (erc), (erc-setup-buffer): factor out window generation code so DCC can use
1809             it too
1811         * erc-dcc.el:
1812         (erc-dcc-do-CLOSE-command), (erc-dcc-do-LIST-command): work with erc-dcc-plist
1814         * erc-dcc.el:
1815         erc-dcc-alist: became erc-dcc-plist, so we can more easily grab particular
1816             properties
1817         dcc catalog: unify use of DCC: and [dcc] (either's fine, but let's be
1818             consistent)
1819         (erc-dcc-member): takes an arbitrary list of constraints now
1820         (erc-dcc-proc-member): removed, as (erc-dcc-member) can be used for this
1821         (erc-dcc-do-CHAT-command): use the catalog to show the user what's going on
1822         (erc-dcc-chat-server): removed
1823         (erc-dcc-server): takes name sentinel and filter arguments, can be used for
1824             both send and chat now
1826         .. this release means all send/get support is broken until we fix up the
1827         things that still expect to be using an alist. this include /dcc list, /dcc
1828         close
1830 2003-01-09  Francis Litterio  <franl@users.sourceforge.net>
1832         * erc-ring.el(erc-previous-command):
1833         If you have a partially typed input line and press M-p,
1834             you lose what you typed.  Now we save it so you can come back to it.
1836 2003-01-09  Jorgen Schaefer  <forcer@users.sourceforge.net>
1838         * erc-ring.el(erc-add-to-input-ring): s/nullp/null/
1840 2003-01-09  Damien Elmes  <erc@repose.cx>
1842         * erc-ring.el(erc-add-to-input-ring):
1843         set up the ring if it's not already setup
1845         * erc-dcc.el(erc-dcc-member): case insensitive match of nicknames
1846         (erc-dcc-do-CHAT-command): echo what we're doing (at least for now)
1848 2003-01-09  Mario Lang  <mlang@delysid.org>
1850         * erc-dcc.el: (temporarily) fix erc-process setting...
1852         * erc-dcc.el: * (erc-dcc-chat-send-line): Removed
1854         * erc.el:
1855         Check if target is stringp (we can now also have 'dcc as value...)
1857         * erc-dcc.el(erc-dcc-chat-send-input-line):
1858         New function, used for
1859         erc-send-input-line-function.
1860         Use erc-send-current-line now.
1862         * erc-dcc.el: evt to elt...
1864         * erc-dcc.el: Remove () from a var (how silly!)
1866         * erc-dcc.el: * (erc-dcc-get-host): Use format-network-address.
1867         * (erc-dcc-host): Change semantic.  If erc-dcc-host is set, use it.
1868         Otherwise, try to figure out the host by calling erc-dcc-get-host.
1869         * (erc-dcc-server-port): New variable.
1870         * erc-dcc-chat-log: Renamed to erc-dcc-server-accept
1872         * erc-dcc.el(erc-dcc-do-CHAT-command):
1873         Change arg of call to erc-dcc-chat-request from elt to nick
1875 2003-01-09  Francis Litterio  <franl@users.sourceforge.net>
1877         * erc.el(erc-send-current-line):
1878         Now rejects multi-line commands (i.e., lines that
1879             start with "/" and contain newlines).
1881 2003-01-09  Jorgen Schaefer  <forcer@users.sourceforge.net>
1883         * erc-button.el:
1884         Functionality to use TAB to jump to the next button:
1886         (erc-button-next-or-old): New function.
1887         (erc-button-next): New function.
1888         erc-button-keymap: added erc-button-next
1889         erc-button-old-tab-command: New variable.
1890         define-erc-module button: Add and remove 'erc-button-next-or-old as
1891         appropriate.
1893 2003-01-09  Francis Litterio  <franl@users.sourceforge.net>
1895         * erc.el:
1896         New variable: erc-auto-reconnect (defaults to t).  If non-nil, ERC will
1897             automatically reconnect to a server after an unexpected disconnection.
1898         (erc-process-sentinel): Changed to refer to variable erc-auto-reconnect.
1900 2003-01-08  Mario Lang  <mlang@delysid.org>
1902         * erc.el:
1903         * erc-send-input-line-function: New variable, used for dispatch...
1905 2003-01-08  Damien Elmes  <erc@repose.cx>
1907         * erc-dcc.el(erc-dcc-chat-sentinel):
1908         check event type before killing process
1909         (erc-dcc-chat-log): new, handles the setup of dcc chats for incoming
1910             connections
1911         (erc-dcc-chat): use (erc-dcc-chat-setup)
1912         (erc-dcc-chat-setup): code common to incoming and outgoing DCC chats
1913         (erc-dcc-chat-request): request a DCC chat with another user
1914         (erc-dcc-proc-member): locate a member in erc-dcc-alist by process
1916         The very first ERC to ERC DCC chat was held between delysid and resolve today!
1918 2003-01-08  Mario Lang  <mlang@delysid.org>
1920         * erc-track.el(erc-all-buffer-names):
1921         Check for erc-dcc-chat-mode too
1923 2003-01-08  Francis Litterio  <franl@users.sourceforge.net>
1925         * erc-ring.el, erc.el(erc-kill-input):
1926         Resets erc-input-ring-index to nil, so that invoking this
1927             command conceptually puts you after your most recent input in the input
1928             history.
1929         (erc-previous-command and erc-next-command): Changed so that history movement
1930             is more intuitive.  Also preserves the blank input line that marks the
1931             place after the newest command in the history ring (i.e., you'll see a
1932             blank command once every trip around the ring in either direction).
1934 2003-01-08  Mario Lang  <mlang@delysid.org>
1936         * erc-dcc.el(erc-dcc-chat): Add docstring
1937         Add self-test.
1938         Fix error if /dcc chat nick doesn't find the nick
1940 2003-01-08  Francis Litterio  <franl@users.sourceforge.net>
1942         * Makefile:
1943         Changed so that "make" works correctly under Cygwin.  Before this change, the
1944         pathname passed to Emacs on the command line under Cygwin had the form
1945         "/cygwin/c/...", which prevented emacs from finding the file.  Now the pathname
1946         has the form "c:/...".  This works for any drive letter.
1948 2003-01-08  Mario Lang  <mlang@delysid.org>
1950         * erc-button.el: reindent some code, and add TODO to comments
1952         * erc-dcc.el: *** empty log message ***
1954         * erc-dcc.el: Make dcc-chat-ended a notice
1955         Remove now bogus comment
1957 2003-01-08  Damien Elmes  <erc@repose.cx>
1959         * erc-dcc.el(erc-pack-int): from erc-packed-int
1960         (erc-unpack-int): new
1962         * erc-dcc.el(erc-unpack-str): added
1964 2003-01-08  Mario Lang  <mlang@delysid.org>
1966         * erc.el(erc-server-482):
1967         New handler, handles KICK reply if you're not channel-op
1969         * erc-dcc.el: Document SEND in erc-dcc-alist.
1970         Move sproc, parent-proc and file into erc-dcc-alist
1972         * erc-dcc.el: stubs
1974         * erc-dcc.el(erc-dcc-get-host):
1975         Change :iface to :local since Kim committed it now to CVS emacs
1977         * erc-dcc.el(erc-dcc-get-host):
1978         New function, requires the not-yet-in-CVS-emacs local-address.patch to process.c.
1979         Some other minor additions
1981 2003-01-08  Francis Litterio  <franl@users.sourceforge.net>
1983         * erc.el(erc-cmd-IGNORE):
1984         Now returns t to prevent "Bad syntax" error.
1985         (erc-cmd-UNIGNORE): Now returns t to prevent "Bad syntax" error.
1986         (erc-server-PRIVMSG-or-NOTICE): Capitalized first word in message to user.
1988         * erc.el(erc-scroll-to-bottom):
1989         Temporarily bind resize-mini-windows to nil so that
1990             users who have it set to a non-nil value will not suffer from premature
1991             minibuffer shrinkage due to the below recenter call.  I have no idea why
1992             this works, but it solves the problem, and has no negative side effects.
1994 2003-01-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
1996         * erc-dcc.el:
1997         erc-dcc-ctcp-query-chat-regexp: The IP is not really an IP, but a
1998         number (no . allowed there).
1999         (erc-dcc-send-ctcp-string): use let* here to avoid cluttering up the
2000         match data.
2001         Also, use erc-decimal-to-ip to get the IP.
2002         (erc-ip-to-decimal): Removed some pasted ERC timestamps
2003         (erc-decimal-to-ip): New function.
2004         erc-dcc-chat-mode-map: Return map in the initialization.
2006 2003-01-07  Francis Litterio  <franl@users.sourceforge.net>
2008         * erc-match.el(erc-match-fool-p):
2009         Changed to call erc-match-directed-at-fool-p instead of
2010              erc-directed-at-fool-p.
2012 2003-01-07  Mario Lang  <mlang@delysid.org>
2014         * erc-dcc.el(erc-cmd-DCC):
2015         Change (cond ... (t nil)) to (when ...)
2017         * erc-dcc.el: Use erc-current-nick-p
2019 2003-01-07  Jorgen Schaefer  <forcer@users.sourceforge.net>
2021         * erc.el:
2022         erc-join-buffer: Added 'window-noselect to docstring and :type.
2023         erc-auto-query: Added 'window-noselect to :type.
2024         (erc): Treat erc-join-buffer being 'window-noselect appropriately.
2026         * erc.el(erc-current-nick-p): New function.
2027         (erc-nick-equal-p): New function.
2028         (erc-already-logged-in), (erc-server-JOIN), (erc-auto-query),
2029         (erc-server-PRIVMSG-or-NOTICE): Use erc-current-nick-p.
2030         (erc-update-channel-member): Use erc-nick-equal-p.
2032         * erc-match.el(erc-match-current-nick-p):
2033         Renamed from erc-current-nick-p
2034         (erc-match-pal-p): Renamed from erc-pal-p
2035         (erc-match-fool-p): Renamed from erc-fool-p
2036         (erc-match-keyword-p): Renamed from erc-keyword-p
2037         (erc-match-dangerous-host-p): Renamed from erc-dangerous-host-p
2038         (erc-match-directed-at-fool-p): Renamed from erc-directed-at-fool-p
2039         (erc-match-message): Use erc-match-TYPE-p instead of erc-TYPE-p
2041         * erc.el:
2042         Support for IRCnets' "nick/channel temporarily unavailable"
2044         (erc-nickname-in-use): New function (mostly copied from erc-server-433).
2045         (erc-server-433): Use erc-nickname-in-use
2046         (erc-server-437): New function.
2047         erc-server-hook-list: Added (437 erc-server-437).
2049 2003-01-07  Mario Lang  <mlang@delysid.org>
2051         * erc-fill.el: Add autoload cookie
2053         * erc-notify.el:
2054         Now also pass SERVER argument to signon/off hooks, and provide a erc-notify-signon/off function for echo-area printing
2056         * erc-notify.el(erc-notiy-QUIT):
2057         Change use of delq to delete, delq does not work with strings
2059 2003-01-06  Jorgen Schaefer  <forcer@users.sourceforge.net>
2061         * erc.el(erc-ctcp-query-VERSION):
2062         v%s -> %s, so we are no longer vVersion...
2064 2003-01-06  Mario Lang  <mlang@delysid.org>
2066         * erc.el: Small change to erc-ison-p, and fixme tag
2068 2003-01-06  Francis Litterio  <franl@users.sourceforge.net>
2070         * erc.el(erc):
2071         Fixed bug where variable "away" would be nil in new channel buffers
2072                even if the user is away when joining the channel.
2073         (erc-strip-controls): Fixed a bug where erc-strip-controls accidentally
2074                removed all text properties from the string.
2076 2003-01-06  Mario Lang  <mlang@delysid.org>
2078         * erc-dcc.el:
2079         Some stub functions, some code, nothing really works yet
2081         * erc.el(erc-ison-p): New function
2083         * erc-dcc.el: Some functions which will be needed for dcc send
2085         * erc-dcc.el(erc-ip-address-to-decimal):
2086         New function, thanks lawrence
2088         * erc-dcc.el: Again, simplify code, fix stuff, DCC CHAT works now
2090         * erc-dcc.el: Many fixes, chat nearly works now
2092         * erc-netsplit.el: Also detect fast netsplit/joins
2094         * erc-dcc.el: some more fixes
2096         * erc-dcc.el: Fixup stage 1, now dcc get works
2098         * erc-dcc.el: make /dcc LIST work
2100         * erc-dcc.el:
2101         Initial checkin, don't use it!  its really far from complete.  Hackers: help!
2103         * erc-notify.el:
2104         New function erc-notify-NICK, and added signon/off hooks which were missing
2106 2003-01-05  Jorgen Schaefer  <forcer@users.sourceforge.net>
2108         * erc.el(erc-truncate-buffer-to-size):
2109         set inhibit-read-only to t for the
2110         deletion. This is usually done by the function calling the hook, but
2111         not if it's called interactively. Also, rewrote some weird if/if
2112         combination.
2114         * erc-track.el(erc-track-shortennames):
2115         Documentation fix (erc-all-buffers is really
2116         erc-all-buffer-names)
2118         These changes make server buffers be tracked as well, as there are
2119         quite a few interesting things going on there (e.g. CTCP etc.)
2120         (erc-all-buffer-names): Check for (eq major-mode 'erc-mode) instead of
2121         erc-default-recipients.
2122         (erc-track-modified-channels): Don't require a default target (e.g.,
2123         this-channel being non-nil)
2125 2003-01-03  Damien Elmes  <erc@repose.cx>
2127         * erc.el:
2128         erc-auto-query: can now be set to a symbol to control how new messages should
2129             be popped up (or not popped up, as the case may be)
2130         (erc-query): new function which handles the bulk of what (erc-cmd-QUERY) did
2131             previously
2132         (erc-cmd-QUERY): use (erc-query)
2133         (erc-auto-query): use (erc-query)
2135         * erc.el(erc-current-logfile):
2136         Downcase result of log generation function, as IRC is
2137         case insensitive. Fixes problems where "/query user" results in a different
2138         log file to a query from "User". Avoided adding an extra flag to control this
2139         behavior - if you think this was the wrong decision, please correct it and
2140         I'll remember it for next time.
2142 See ChangeLog.02 for earlier changes.
2144         Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
2146   This file is part of GNU Emacs.
2148   GNU Emacs is free software: you can redistribute it and/or modify
2149   it under the terms of the GNU General Public License as published by
2150   the Free Software Foundation, either version 3 of the License, or
2151   (at your option) any later version.
2153   GNU Emacs is distributed in the hope that it will be useful,
2154   but WITHOUT ANY WARRANTY; without even the implied warranty of
2155   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2156   GNU General Public License for more details.
2158   You should have received a copy of the GNU General Public License
2159   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
2161 ;; Local Variables:
2162 ;; coding: utf-8
2163 ;; End: