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