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