Add 2009 to copyright years.
[bpt/emacs.git] / lisp / erc / ChangeLog
1 2009-01-03 Michael Olson <mwolson@gnu.org>
2
3 * erc.el (erc-user-input): Do not include text properties when
4 returning user input.
5
6 2008-11-19 Andy Stewart <lazycat.manatee@gmail.com>
7
8 * erc.el (erc-header-line-uses-tabbar-p): New option that makes
9 tabbar mode usable with ERC if set to non-nil.
10 (erc-update-mode-line-buffer): Use it.
11
12 2008-11-19 Glenn Morris <rgm@gnu.org>
13
14 * erc-compat.el (help-function-arglist): Autoload it.
15
16 2008-10-03 Michael Olson <mwolson@gnu.org>
17
18 * erc-dcc.el (english): Increase size heading by two places.
19 (erc-dcc-byte-count): Move higher.
20 (erc-dcc-do-LIST-command): Use erc-dcc-byte-count to get accurate
21 count. Coerce byte total to floating point before performing
22 computation, otherwise division will truncate to 0.
23 (erc-dcc-append-contents): Update erc-dcc-byte-count.
24 (erc-dcc-get-filter): Don't update erc-dcc-byte-count, because
25 that will give incorrect size totals. Instead, figure out how
26 much we have by summing byte count and current buffer size.
27 (erc-dcc-get-sentinel): Don't update erc-dcc-byte-count.
28
29 2008-10-01 Michael Olson <mwolson@gnu.org>
30
31 * erc-dcc.el (erc-pack-int): Make sure returned string is within 4
32 bytes. Always return a 4-byte string, so that we conform to the
33 CTCP spec.
34 (erc-most-positive-int-bytes): New constant representing the
35 number of bytes that most-positive-fixnum can be stored in.
36 (erc-most-positive-int-msb): New constant representing the
37 contents of the most significant byte of most-positive-fixnum.
38 (erc-unpack-int): Make sure that the integer we get back can be
39 represented in Emacs.
40 (erc-dcc-do-CLOSE-command): Update docstring. Don't use the line
41 variable. Try to disambiguate between type and nick when only one
42 is provided. Validate both type and nick arguments. Allow
43 matching by just nick.
44 (erc-dcc-append-contents): Set inhibit-read-only to t. Prevent
45 auto-compression from triggering when we write the contents to a
46 file.
47 (erc-dcc-get-file): Prevent auto-compression from triggering when
48 we truncate a file.
49
50 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
51
52 * erc.el: Remove code for Carbon.
53
54 2008-06-07 Glenn Morris <rgm@gnu.org>
55
56 * erc/erc-autoaway.el, erc/erc-ibuffer.el, erc/erc-menu.el:
57 * erc/erc-stamp.el, erc/erc.el: Remove unnecessary eval-when-compiles.
58
59 2008-05-30 Diane Murray <disumu@x3y2z1.net>
60
61 * erc-backend.el (328): New response handler.
62
63 * erc.el (english): Add 328 to catalog.
64
65 2008-05-29 Diane Murray <disumu@x3y2z1.net>
66
67 * erc-services.el (erc-nickserv-alist): Update REGEXP and
68 SUCCESS-REGEXP for freenode.
69
70 2008-05-05 Juanma Barranquero <lekktu@gmail.com>
71
72 * erc-goodies.el (erc-noncommands-list, noncommands)
73 (erc-control-characters, erc-interpret-controls-p)
74 (erc-interpret-mirc-color): Fix typos in docstrings.
75 (erc-controls-highlight): Reflow docstring.
76
77 2008-04-26 Johan Bockgård <bojohan@gnu.org>
78
79 * erc.el (erc-put-text-properties): Don't use mapcar*.
80 (erc-display-line-1): Fix argument order in call to
81 erc-put-text-properties.
82
83 2008-04-14 Michael Olson <mwolson@gnu.org>
84
85 * erc.el (erc-remove-text-properties-region): Disable this command
86 by default. Thanks to e1f for the suggestion.
87
88 2008-02-20 Michael Olson <mwolson@gnu.org>
89
90 * erc.el (erc-notice-face): Fix this face for Emacs 21 users.
91
92 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
93
94 * erc.el (erc-valid-nick-regexp):
95 * erc-button.el (erc-button-syntax-table):
96 * erc-match.el (erc-match-syntax-table): Replace `legal' with `valid'.
97
98 2008-02-04 Jeremy Maitin-Shepard <jbms@cmu.edu>
99
100 * erc.el (erc-cmd-QUERY): Bind the value of `erc-auto-query' to
101 `erc-query-display' rather than `erc-join-buffer'. This fixes a
102 bug where the value of erc-auto-query was being ignored.
103
104 2008-01-31 Michael Olson <mwolson@gnu.org>
105
106 * erc-dcc.el (erc-dcc-do-GET-command, erc-dcc-do-SEND-command):
107 Improve docstring. If FILE argument is split into multiple
108 arguments, re-join them into a single string, separated by a
109 space. This fixes an issue where the user wants to send or
110 receive a file with spaces in its name. It is assumed that no one
111 will try sending or receiving a file with multiple consecutive
112 spaces in its name, otherwise this fix will fail.
113
114 * erc.el (erc-mode-map): Add binding for C-c C-x to
115 erc-quit-server, since rcirc.el binds its quit command in a
116 similar manner. Thanks to Jari Aalto for the suggestion.
117
118 2008-01-28 Diane Murray <disumu@x3y2z1.net>
119
120 * erc-list-old.el (list-old): Define module as list-old, not list.
121 This fixes a bug where an unknown module error would occur when
122 starting ERC and using the list-old module.
123
124 * erc-track.el (erc-track-find-face): If no choice was found
125 return nil to use the default mode-line faces.
126
127 2008-01-26 Michael Olson <mwolson@gnu.org>
128
129 * erc.el (erc-version-string): Release ERC 5.3.
130
131 * Makefile (VERSION): Update.
132 (EXTRAS): Remove erc-list.el after all, because this is mainly for
133 users of the version that comes with Emacs, and they will have
134 erc-list.el by Emacs 23.
135 (MISC): Add ChangeLog.07.
136 (elpa): Fix build issue. Add proper version to erc-pkg.el.
137
138 * README.extras: Mention Emacs 23.
139
140 * erc-pkg.el: Make the version string a template.
141
142 * erc.texi (Obtaining ERC): Update extras URLs for 5.3.
143 (Development): Write instructions for git, and remove those for Arch.
144 (History): Mention the switch to git.
145
146 2008-01-25 Michael Olson <mwolson@gnu.org>
147
148 * NEWS: Update.
149
150 * erc-goodies.el (keep-place): New module which keeps your place
151 in unvisited ERC buffers when new messages arrive. This is mostly
152 taken from Johan Bockgård's init file.
153 (erc-noncommands-list): Move to correct place.
154
155 * erc-networks.el: Add a module definition.
156
157 * erc-services.el (erc-nickserv-identify-mode): Force-enable the
158 networks module, because we need it to set erc-network for us.
159
160 * erc-track.el (erc-track-faces-normal-list): Indicate in the
161 docstring that this variable can be set to nil.
162
163 * erc.el: On second thought, don't load erc-networks. Just enable
164 the networks module by default.
165 (erc-modules): Add option for keep-place and networks. Enable
166 networks by default.
167 (erc-version-string): Make release candidate 1 available.
168
169 2008-01-24 Michael Olson <mwolson@gnu.org>
170
171 * erc.el: Load erc-networks.el so that functions get access to the
172 `erc-network-name' function.
173
174 * erc-track.el (erc-track-faces-normal-list): Add
175 erc-dangerous-host-face.
176 (erc-track-exclude-types): Add 333 and 353 to the default list of
177 things to ignore, and explain what they are in the docstring.
178
179 2008-01-23 Michael Olson <mwolson@gnu.org>
180
181 * erc-track.el (erc-track-faces-priority-list): Move
182 erc-nick-default-face higher, so that it can be used for the
183 activity indication effect. Add erc-current-nick-face,
184 erc-pal-face, erc-dangerous-host-face, and erc-fool-face by
185 themselves.
186 (erc-track-faces-normal-list): New option that contains a list of
187 faces to consider "normal".
188 (erc-track-position-in-mode-line): Minor docfix.
189 (erc-track-find-face): Use erc-track-faces-normal-list to produce
190 a sort of blinking activity effect.
191
192 2008-01-22 Michael Olson <mwolson@gnu.org>
193
194 * erc-button.el (erc-button-add-nickname-buttons): When in a
195 channel buffer, only look at nicks from the current channel.
196 Thanks to e1f for the report.
197
198 2008-01-21 Michael Olson <mwolson@gnu.org>
199
200 * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): Remove,
201 since we can use the default `assert' function without it causing
202 us any problems, even in Emacs 21. Thanks to bojohan for the
203 suggestion.
204
205 * erc-goodies.el (move-to-prompt): Use the "XEmacs" method
206 instead, because the [remap ...] method interferes with
207 delete-selection-mode.
208 (erc-move-to-prompt): Rename from erc-move-to-prompt-xemacs.
209 Deactivate mark and call push-mark before moving point. Thanks to
210 bojohan for the suggestion.
211 (erc-move-to-prompt-setup): Rename from
212 erc-move-to-prompt-init-xemacs.
213
214 * erc-track.el (erc-track-faces-priority-list): Replace erc-button
215 with '(erc-button erc-default-face) so that we only care about
216 buttons that are part of normal text. Adjust customization type
217 to handle this case. Make erc-nick-default-face a list. Handle
218 pals, fools, current nick, and dangerous hosts.
219 (erc-track-find-face): Simplify. Adapt for list of faces case.
220 (erc-faces-in): Don't deflate lists of faces. Add them as-is.
221 (erc-track-face-priority): Use equal instead of eq.
222
223 2008-01-20 Michael Olson <mwolson@gnu.org>
224
225 * erc-goodies.el (erc-move-to-prompt, erc-move-to-prompt-xemacs):
226 Fix off-by-one error that caused the point to move when placed at
227 the beginning of some already-typed text. Thanks to e1f for the
228 report.
229
230 * erc-dcc.el, erc-xdcc.el: Add simple module definitions.
231
232 * erc.el (erc-modules): Add dcc and xdcc.
233
234 2008-01-19 Michael Olson <mwolson@gnu.org>
235
236 * erc-bbdb.el (erc-bbdb-insinuate-and-show-entry): Work around bug
237 in XEmacs 21.4 that throws an error when the first argument to
238 run-at-time is nil.
239
240 * erc-button.el (button): Undo XEmacs-specific change to all ERC
241 buffers when module is removed.
242 (erc-button-setup): Rename from erc-button-add-keys, and move
243 XEmacs-specific stuff here.
244
245 * erc-goodies.el (erc-unmorse): Improve regexp for detecting
246 morse. Deal with the morse style that has "/ " at the end of
247 every letter.
248 (erc-imenu-setup): New function that sets up Imenu support. Add
249 it instead of a lambda form to erc-mode-hook.
250 (scrolltobottom): Remove erc-scroll-to-bottom from all ERC buffers
251 when module is removed. Activate the functionality in all ERC
252 buffers when the module is activated, rather than leaving it up to
253 the user.
254 (move-to-prompt): New module that moves to the ERC prompt if a
255 user tries to type elsewhere in the buffer, and then inserts their
256 keystrokes there. This is mostly taken from Johan Bockgård's init
257 file.
258 (erc-move-to-prompt): New function that implements this.
259 (erc-move-to-prompt-xemacs): New function that implements this for
260 XEmacs.
261 (erc-move-to-prompt-init-xemacs): New function to perform the
262 extra initialization step needed for XEmacs.
263
264 * erc-page.el, erc-replace.el: Fix header and footer.
265
266 * erc-track.el (erc-track-minor-mode-maybe): Take an optional
267 buffer arg so that we can put this in erc-connect-pre-hook. If
268 given this argument, include it in the check to determine whether
269 to activate erc-track-minor-mode.
270 (track): Add erc-track-minor-mode-maybe to erc-connect-pre-hook,
271 so that we can use it as soon as a connection is attempted.
272
273 * erc.el (erc-format-network, erc-format-target-and/or-network):
274 Use erc-network-name function instead, and check to see whether
275 that function is bound. This fixes an error in process filter for
276 people who did not have erc-services or erc-networks loaded.
277 (erc-modules): Add move-to-prompt module and enable it by
278 default. Thanks to e1f for the suggestion.
279
280 2008-01-18 Michael Olson <mwolson@gnu.org>
281
282 * Makefile (EXTRAS): Include erc-list-old.el.
283
284 * erc-dcc.el (erc-dcc-verbose): Rename from erc-verbose-dcc.
285 (erc-pack-int): Rewrite to not depend on a count argument.
286 (erc-unpack-int): Rewrite to remove 4-character limitation.
287 (erc-dcc-server): Call set-process-coding-system and
288 set-process-filter-multibyte so that the contents get sent out
289 without modification.
290 (erc-dcc-send-filter): Don't take a substring -- just pass the
291 whole string to erc-unpack-int.
292 (erc-dcc-receive-cache): New option that indicates the number of
293 bytes to let the receive buffer grow before flushing it.
294 (erc-dcc-file-name): New buffer-local variable to keep track of
295 the filename of the currently-received file.
296 (erc-dcc-get-file): Disable undo for a speed increase. Set
297 erc-dcc-file-name. Truncate the file before writing to it.
298 (erc-dcc-append-contents): New function to append the contents of
299 a buffer to a file and then erase the contents of the buffer.
300 (erc-dcc-get-filter): Flush buffer contents after exceeding
301 erc-dcc-receive-cache. This allows large files to be downloaded
302 without storing the whole thing in memory.
303 (erc-dcc-get-sentinel): Flush any remaining contents before
304 closing. No need to save buffer.
305 (erc-dcc-listen-host): New option that determines which IP address
306 to listen on.
307 (erc-dcc-public-host): New option that determines which IP address
308 to advertise when sending a file. This is useful for people who
309 are on a local subnet. Together, these two options replace
310 erc-dcc-host.
311
312 * erc.el (erc-mode-line-format): Add %N and %S. %N is the name of
313 the network, and %S is much like %s but with the network name
314 trumping the server name. Default to "%S %a". Thanks to e1f for
315 the suggestion.
316 (erc-format-network): New function that formats the network name.
317 (erc-format-target-and/or-network): New function that formats both
318 the network name and target, falling back on the server name if
319 the network name is not available.
320 (erc-update-mode-line-buffer): Add the new format spec items.
321
322 2008-01-17 Michael Olson <mwolson@gnu.org>
323
324 * erc.el (erc-join-buffer): Improve documentation.
325 (erc-query-display): New option indicating how to display a query
326 buffer that is made by using the /QUERY command. The default is
327 to display the query in a new window.
328 (erc-cmd-QUERY): Use it. Improve docstring.
329 (erc-auto-query): Default this to 'window-noselect instead,
330 because I've already seen bug reports about new users thinking
331 that ERC didn't display their test messages. Improve
332 customization type.
333 (erc-notice-face): Make this work with XEmacs.
334 (erc-join-buffer): Mention 'buffer in docstring. Improve
335 customization type.
336
337 * erc-dcc.el (erc-dcc-send-sentinel): Better handle case where elt
338 is nil, in order to avoid an error. Thanks to Brent Goodrick for
339 the initial patch.
340 (erc-dcc-display-send): New function split from erc-dcc-send-hook.
341 (erc-dcc-send-connect-hook): Use it -- we don't like lambda forms
342 in hooks.
343 (erc-dcc-send-filter): Display byte count if the client confirmed
344 too much, and kill the buffer. Otherwise a DoS might be possible
345 by making Emacs run out of RAM.
346
347 * erc-backend.el (erc-server-connect): Detect early on whether the
348 connection attempt has failed in order to avoid confusing error
349 messages.
350
351 * erc-networks.el (erc-server-alist): Add Rizon network.
352
353 * erc-services.el (erc-nickserv-passwords): Add Rizon to options.
354 (erc-nickserv-alist): Add support for Rizon.
355
356 * erc-track.el (erc-track-find-face): Don't let buttons in notices
357 trump default text. Use catch/throw. Default to first element of
358 FACES is nothing is found.
359
360 * erc-xdcc.el: Add local variables for proper indentation setup.
361
362 2008-01-15 Michael Olson <mwolson@gnu.org>
363
364 * erc-backend.el (erc-server-coding-system): Docfix.
365 (erc-coding-system-for-target): Pass the `target' argument along
366 as the first and only argument. It's not good to just depend on a
367 dynamic binding.
368
369 2008-01-10 Michael Olson <mwolson@gnu.org>
370
371 * erc-backend.el (321, 322): Split message-displaying parts into
372 new functions, which are added to each response's respective
373 hook. This makes them easier to disable.
374
375 * erc-list.el: New file from Tom Tromey. Use erc-propertize
376 instead of propertize. Require 'erc.
377 (list): New module definition. Remove message-displaying
378 functions for 321 and 322 response handlers when enabling the
379 module, and restore them when disabling. As a sanity check,
380 remove the erc-list-handle-322 function when disabling the module.
381 (erc-list-handle-322): Handle the case where we run the LIST
382 command, but do not go through the normal steps.
383 (erc-cmd-LIST): Add docstring. Strip initial space from line if
384 it is non-nil. Use make-local-variable to silence compiler
385 warning. Capture current buffer and pass it to
386 erc-list-install-322-handler.
387 (erc-list-install-322-handler): Take server-buffer argument, so
388 that we are certain of being in the right buffer. Use 4th
389 argument to add-hook, so that erc-server-322-functions is only
390 modified in one buffer.
391
392 * erc-list-old.el: Renamed from old erc-list.el.
393
394 * erc.el (erc-modules): Add list-old.
395 (erc-set-topic): Handle case where there are no newlines in the
396 existing topic, which happens when /LIST is run.
397 (erc-notice-face): If we have less than 88 colors, make this
398 blue. Otherwise the text will be pink in a tty, which looks
399 dreadful. Thanks to e1f for the report.
400 (erc-remove-parsed-property): New option that determines whether
401 to remove the erc-parsed property after displaying a message.
402 This should have the effect of making ERC take up less memory.
403 (erc-display-line-1): Use it.
404
405 2008-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
406
407 * erc-ibuffer.el (erc-channel-modes):
408 Pass mode-name through format-mode-line
409
410
411 See ChangeLog.07 for earlier changes.
412
413 Copyright (C) 2008, 2009 Free Software Foundation, Inc.
414
415 This file is part of GNU Emacs.
416
417 GNU Emacs is free software: you can redistribute it and/or modify
418 it under the terms of the GNU General Public License as published by
419 the Free Software Foundation, either version 3 of the License, or
420 (at your option) any later version.
421
422 GNU Emacs is distributed in the hope that it will be useful,
423 but WITHOUT ANY WARRANTY; without even the implied warranty of
424 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
425 GNU General Public License for more details.
426
427 You should have received a copy of the GNU General Public License
428 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
429
430 ;; Local Variables:
431 ;; coding: utf-8
432 ;; add-log-time-zone-rule: t
433 ;; End:
434
435 ;; arch-tag: 15787dfd-e091-4c8c-8b88-747b474e1ac7