(cal-menu-goto-menu): Use "Go To".
[emacs.git] / lisp / erc / ChangeLog
blobfc230ddbe0e88e15ef8c9b2e3244340c3d3c1792
1 2008-02-20  Michael Olson  <mwolson@gnu.org>
3         * erc.el (erc-notice-face): Fix this face for Emacs 21 users.
5 2008-02-05  Juanma Barranquero  <lekktu@gmail.com>
7         * erc.el (erc-valid-nick-regexp):
8         * erc-button.el (erc-button-syntax-table):
9         * erc-match.el (erc-match-syntax-table): Replace `legal' with `valid'.
11 2008-02-04  Jeremy Maitin-Shepard  <jbms@cmu.edu>
13         * erc.el (erc-cmd-QUERY): Bind the value of `erc-auto-query' to
14         `erc-query-display' rather than `erc-join-buffer'.  This fixes a
15         bug where the value of erc-auto-query was being ignored.
17 2008-01-31  Michael Olson  <mwolson@gnu.org>
19         * erc-dcc.el (erc-dcc-do-GET-command, erc-dcc-do-SEND-command):
20         Improve docstring.  If FILE argument is split into multiple
21         arguments, re-join them into a single string, separated by a
22         space.  This fixes an issue where the user wants to send or
23         receive a file with spaces in its name.  It is assumed that no one
24         will try sending or receiving a file with multiple consecutive
25         spaces in its name, otherwise this fix will fail.
27         * erc.el (erc-mode-map): Add binding for C-c C-x to
28         erc-quit-server, since rcirc.el binds its quit command in a
29         similar manner.  Thanks to Jari Aalto for the suggestion.
31 2008-01-28  Diane Murray  <disumu@x3y2z1.net>
33         * erc-list-old.el (list-old): Define module as list-old, not list.
34         This fixes a bug where an unknown module error would occur when
35         starting ERC and using the list-old module.
37         * erc-track.el (erc-track-find-face): If no choice was found
38         return nil to use the default mode-line faces.
40 2008-01-26  Michael Olson  <mwolson@gnu.org>
42         * erc.el (erc-version-string): Release ERC 5.3.
44         * Makefile (VERSION): Update.
45         (EXTRAS): Remove erc-list.el after all, because this is mainly for
46         users of the version that comes with Emacs, and they will have
47         erc-list.el by Emacs 23.
48         (MISC): Add ChangeLog.07.
49         (elpa): Fix build issue.  Add proper version to erc-pkg.el.
51         * README.extras: Mention Emacs 23.
53         * erc-pkg.el: Make the version string a template.
55         * erc.texi (Obtaining ERC): Update extras URLs for 5.3.
56         (Development): Write instructions for git, and remove those for
57         Arch.
58         (History): Mention the switch to git.
60 2008-01-25  Michael Olson  <mwolson@gnu.org>
62         * NEWS: Update.
64         * erc-goodies.el (keep-place): New module which keeps your place
65         in unvisited ERC buffers when new messages arrive.  This is mostly
66         taken from Johan Bockgård's init file.
67         (erc-noncommands-list): Move to correct place.
69         * erc-networks.el: Add a module definition.
71         * erc-services.el (erc-nickserv-identify-mode): Force-enable the
72         networks module, because we need it to set erc-network for us.
74         * erc-track.el (erc-track-faces-normal-list): Indicate in the
75         docstring that this variable can be set to nil.
77         * erc.el: On second thought, don't load erc-networks.  Just enable
78         the networks module by default.
79         (erc-modules): Add option for keep-place and networks.  Enable
80         networks by default.
81         (erc-version-string): Make release candidate 1 available.
83 2008-01-24  Michael Olson  <mwolson@gnu.org>
85         * erc.el: Load erc-networks.el so that functions get access to the
86         `erc-network-name' function.
88         * erc-track.el (erc-track-faces-normal-list): Add
89         erc-dangerous-host-face.
90         (erc-track-exclude-types): Add 333 and 353 to the default list of
91         things to ignore, and explain what they are in the docstring.
93 2008-01-23  Michael Olson  <mwolson@gnu.org>
95         * erc-track.el (erc-track-faces-priority-list): Move
96         erc-nick-default-face higher, so that it can be used for the
97         activity indication effect.  Add erc-current-nick-face,
98         erc-pal-face, erc-dangerous-host-face, and erc-fool-face by
99         themselves.
100         (erc-track-faces-normal-list): New option that contains a list of
101         faces to consider "normal".
102         (erc-track-position-in-mode-line): Minor docfix.
103         (erc-track-find-face): Use erc-track-faces-normal-list to produce
104         a sort of blinking activity effect.
106 2008-01-22  Michael Olson  <mwolson@gnu.org>
108         * erc-button.el (erc-button-add-nickname-buttons): When in a
109         channel buffer, only look at nicks from the current channel.
110         Thanks to e1f for the report.
112 2008-01-21  Michael Olson  <mwolson@gnu.org>
114         * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): Remove,
115         since we can use the default `assert' function without it causing
116         us any problems, even in Emacs 21.  Thanks to bojohan for the
117         suggestion.
119         * erc-goodies.el (move-to-prompt): Use the "XEmacs" method
120         instead, because the [remap ...] method interferes with
121         delete-selection-mode.
122         (erc-move-to-prompt): Rename from erc-move-to-prompt-xemacs.
123         Deactivate mark and call push-mark before moving point.  Thanks to
124         bojohan for the suggestion.
125         (erc-move-to-prompt-setup): Rename from
126         erc-move-to-prompt-init-xemacs.
128         * erc-track.el (erc-track-faces-priority-list): Replace erc-button
129         with '(erc-button erc-default-face) so that we only care about
130         buttons that are part of normal text.  Adjust customization type
131         to handle this case.  Make erc-nick-default-face a list.  Handle
132         pals, fools, current nick, and dangerous hosts.
133         (erc-track-find-face): Simplify.  Adapt for list of faces case.
134         (erc-faces-in): Don't deflate lists of faces.  Add them as-is.
135         (erc-track-face-priority): Use equal instead of eq.
137 2008-01-20  Michael Olson  <mwolson@gnu.org>
139         * erc-goodies.el (erc-move-to-prompt, erc-move-to-prompt-xemacs):
140         Fix off-by-one error that caused the point to move when placed at
141         the beginning of some already-typed text.  Thanks to e1f for the
142         report.
144         * erc-dcc.el, erc-xdcc.el: Add simple module definitions.
146         * erc.el (erc-modules): Add dcc and xdcc.
148 2008-01-19  Michael Olson  <mwolson@gnu.org>
150         * erc-bbdb.el (erc-bbdb-insinuate-and-show-entry): Work around bug
151         in XEmacs 21.4 that throws an error when the first argument to
152         run-at-time is nil.
154         * erc-button.el (button): Undo XEmacs-specific change to all ERC
155         buffers when module is removed.
156         (erc-button-setup): Rename from erc-button-add-keys, and move
157         XEmacs-specific stuff here.
159         * erc-goodies.el (erc-unmorse): Improve regexp for detecting
160         morse.  Deal with the morse style that has "/ " at the end of
161         every letter.
162         (erc-imenu-setup): New function that sets up Imenu support.  Add
163         it instead of a lambda form to erc-mode-hook.
164         (scrolltobottom): Remove erc-scroll-to-bottom from all ERC buffers
165         when module is removed.  Activate the functionality in all ERC
166         buffers when the module is activated, rather than leaving it up to
167         the user.
168         (move-to-prompt): New module that moves to the ERC prompt if a
169         user tries to type elsewhere in the buffer, and then inserts their
170         keystrokes there.  This is mostly taken from Johan Bockgård's init
171         file.
172         (erc-move-to-prompt): New function that implements this.
173         (erc-move-to-prompt-xemacs): New function that implements this for
174         XEmacs.
175         (erc-move-to-prompt-init-xemacs): New function to perform the
176         extra initialization step needed for XEmacs.
178         * erc-page.el, erc-replace.el: Fix header and footer.
180         * erc-track.el (erc-track-minor-mode-maybe): Take an optional
181         buffer arg so that we can put this in erc-connect-pre-hook.  If
182         given this argument, include it in the check to determine whether
183         to activate erc-track-minor-mode.
184         (track): Add erc-track-minor-mode-maybe to erc-connect-pre-hook,
185         so that we can use it as soon as a connection is attempted.
187         * erc.el (erc-format-network, erc-format-target-and/or-network):
188         Use erc-network-name function instead, and check to see whether
189         that function is bound.  This fixes an error in process filter for
190         people who did not have erc-services or erc-networks loaded.
191         (erc-modules): Add move-to-prompt module and enable it by
192         default.  Thanks to e1f for the suggestion.
194 2008-01-18  Michael Olson  <mwolson@gnu.org>
196         * Makefile (EXTRAS): Include erc-list-old.el.
198         * erc-dcc.el (erc-dcc-verbose): Rename from erc-verbose-dcc.
199         (erc-pack-int): Rewrite to not depend on a count argument.
200         (erc-unpack-int): Rewrite to remove 4-character limitation.
201         (erc-dcc-server): Call set-process-coding-system and
202         set-process-filter-multibyte so that the contents get sent out
203         without modification.
204         (erc-dcc-send-filter): Don't take a substring -- just pass the
205         whole string to erc-unpack-int.
206         (erc-dcc-receive-cache): New option that indicates the number of
207         bytes to let the receive buffer grow before flushing it.
208         (erc-dcc-file-name): New buffer-local variable to keep track of
209         the filename of the currently-received file.
210         (erc-dcc-get-file): Disable undo for a speed increase.  Set
211         erc-dcc-file-name.  Truncate the file before writing to it.
212         (erc-dcc-append-contents): New function to append the contents of
213         a buffer to a file and then erase the contents of the buffer.
214         (erc-dcc-get-filter): Flush buffer contents after exceeding
215         erc-dcc-receive-cache.  This allows large files to be downloaded
216         without storing the whole thing in memory.
217         (erc-dcc-get-sentinel): Flush any remaining contents before
218         closing.  No need to save buffer.
219         (erc-dcc-listen-host): New option that determines which IP address
220         to listen on.
221         (erc-dcc-public-host): New option that determines which IP address
222         to advertise when sending a file.  This is useful for people who
223         are on a local subnet.  Together, these two options replace
224         erc-dcc-host.
226         * erc.el (erc-mode-line-format): Add %N and %S.  %N is the name of
227         the network, and %S is much like %s but with the network name
228         trumping the server name.  Default to "%S %a".  Thanks to e1f for
229         the suggestion.
230         (erc-format-network): New function that formats the network name.
231         (erc-format-target-and/or-network): New function that formats both
232         the network name and target, falling back on the server name if
233         the network name is not available.
234         (erc-update-mode-line-buffer): Add the new format spec items.
236 2008-01-17  Michael Olson  <mwolson@gnu.org>
238         * erc.el (erc-join-buffer): Improve documentation.
239         (erc-query-display): New option indicating how to display a query
240         buffer that is made by using the /QUERY command.  The default is
241         to display the query in a new window.
242         (erc-cmd-QUERY): Use it.  Improve docstring.
243         (erc-auto-query): Default this to 'window-noselect instead,
244         because I've already seen bug reports about new users thinking
245         that ERC didn't display their test messages.  Improve
246         customization type.
247         (erc-notice-face): Make this work with XEmacs.
248         (erc-join-buffer): Mention 'buffer in docstring.  Improve
249         customization type.
251         * erc-dcc.el (erc-dcc-send-sentinel): Better handle case where elt
252         is nil, in order to avoid an error.  Thanks to Brent Goodrick for
253         the initial patch.
254         (erc-dcc-display-send): New function split from erc-dcc-send-hook.
255         (erc-dcc-send-connect-hook): Use it -- we don't like lambda forms
256         in hooks.
257         (erc-dcc-send-filter): Display byte count if the client confirmed
258         too much, and kill the buffer.  Otherwise a DoS might be possible
259         by making Emacs run out of RAM.
261         * erc-backend.el (erc-server-connect): Detect early on whether the
262         connection attempt has failed in order to avoid confusing error
263         messages.
265         * erc-networks.el (erc-server-alist): Add Rizon network.
267         * erc-services.el (erc-nickserv-passwords): Add Rizon to options.
268         (erc-nickserv-alist): Add support for Rizon.
270         * erc-track.el (erc-track-find-face): Don't let buttons in notices
271         trump default text.  Use catch/throw.  Default to first element of
272         FACES is nothing is found.
274         * erc-xdcc.el: Add local variables for proper indentation setup.
276 2008-01-15  Michael Olson  <mwolson@gnu.org>
278         * erc-backend.el (erc-server-coding-system): Docfix.
279         (erc-coding-system-for-target): Pass the `target' argument along
280         as the first and only argument.  It's not good to just depend on a
281         dynamic binding.
283 2008-01-10  Michael Olson  <mwolson@gnu.org>
285         * erc-backend.el (321, 322): Split message-displaying parts into
286         new functions, which are added to each response's respective
287         hook.  This makes them easier to disable.
289         * erc-list.el: New file from Tom Tromey.  Use erc-propertize
290         instead of propertize.  Require 'erc.
291         (list): New module definition.  Remove message-displaying
292         functions for 321 and 322 response handlers when enabling the
293         module, and restore them when disabling.  As a sanity check,
294         remove the erc-list-handle-322 function when disabling the module.
295         (erc-list-handle-322): Handle the case where we run the LIST
296         command, but do not go through the normal steps.
297         (erc-cmd-LIST): Add docstring.  Strip initial space from line if
298         it is non-nil.  Use make-local-variable to silence compiler
299         warning.  Capture current buffer and pass it to
300         erc-list-install-322-handler.
301         (erc-list-install-322-handler): Take server-buffer argument, so
302         that we are certain of being in the right buffer.  Use 4th
303         argument to add-hook, so that erc-server-322-functions is only
304         modified in one buffer.
306         * erc-list-old.el: Renamed from old erc-list.el.
308         * erc.el (erc-modules): Add list-old.
309         (erc-set-topic): Handle case where there are no newlines in the
310         existing topic, which happens when /LIST is run.
311         (erc-notice-face): If we have less than 88 colors, make this
312         blue.  Otherwise the text will be pink in a tty, which looks
313         dreadful.  Thanks to e1f for the report.
314         (erc-remove-parsed-property): New option that determines whether
315         to remove the erc-parsed property after displaying a message.
316         This should have the effect of making ERC take up less memory.
317         (erc-display-line-1): Use it.
319 2008-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
321         * erc-ibuffer.el (erc-channel-modes):
322         Pass mode-name through format-mode-line
325 See ChangeLog.07 for earlier changes.
327     Copyright (C) 2008 Free Software Foundation, Inc.
329   This file is part of GNU Emacs.
331   GNU Emacs is free software; you can redistribute it and/or modify
332   it under the terms of the GNU General Public License as published by
333   the Free Software Foundation; either version 3, or (at your option)
334   any later version.
336   GNU Emacs is distributed in the hope that it will be useful,
337   but WITHOUT ANY WARRANTY; without even the implied warranty of
338   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
339   GNU General Public License for more details.
341   You should have received a copy of the GNU General Public License
342   along with GNU Emacs; see the file COPYING.  If not, write to the
343   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
344   Boston, MA 02110-1301, USA.
346 ;; Local Variables:
347 ;; coding: utf-8
348 ;; add-log-time-zone-rule: t
349 ;; End:
351 ;; arch-tag: 15787dfd-e091-4c8c-8b88-747b474e1ac7