1 2006-02-13 Michael Olson <mwolson@gnu.org>
3 * erc-dcc.el: Use (eval-when-compile (require 'cl)).
5 2006-02-12 Michael Olson <mwolson@gnu.org>
7 * erc-autoaway.el, erc-dcc.el, erc-ezbounce.el, erc-fill.el,
8 erc-goodies.el, erc-hecomplete.el, erc-ibuffer.el, erc-identd.el,
9 erc-imenu.el, erc-join.el, erc-lang.el, erc-list.el, erc-log.el,
10 erc-match.el, erc-menu.el, erc-netsplit.el, erc-networks.el,
11 erc-notify.el, erc-page.el, erc-pcomplete.el, erc-replace.el,
12 erc-ring.el, erc-services.el, erc-sound.el, erc-speedbar.el,
13 erc-spelling.el, erc-track.el, erc-truncate.el, erc-xdcc.el: Add
14 2006 to copyright years, to comply with the changed guidelines.
16 2006-02-11 Michael Olson <mwolson@gnu.org>
18 * erc.el (erc-update-modules): Make some requirements shorter, so
19 that it's easier to see why they are needed.
21 * erc-stamp.el (erc-timestamp-use-align-to): Renamed from
22 `erc-timestamp-right-align-by-pixel'. Set the default based on
23 whether we are in Emacs 22, and using X. Improve documentation.
24 (erc-insert-aligned): Remove calculation of offset, since
25 :align-to pos works after all. Unlike the previous solution, this
26 one works when erc-stamp.el is compiled.
27 (erc-insert-timestamp-right): Don't add length of string, and then
28 later remove its displayed width. This puts timestamps after
29 erc-fill-column when erc-timestamp-right-column is nil, rather
30 than before it. It also fixes a subtle bug. Remove use of
31 `current-window', since there is no variable by that name in
32 Emacs21, Emacs22, or XEmacs21 beta. Check to see whether
33 `erc-fill-column' is non-nil before using it.
35 2006-02-11 Diane Murray <disumu@x3y2z1.net>
37 * erc-list.el: Define `list' module which sets the alias
38 `erc-cmd-LIST' to `erc-list-channels' when enabled and
39 `erc-list-channels-simple' when disabled.
40 (erc-list-channels): Was `erc-cmd-LIST', renamed.
41 (erc-list-channels-simple): New function.
43 * erc.el (erc-modules): Added `list' to enabled modules. Moved
44 customization options left in source code.
46 * erc-menu.el (erc-menu-definition): Use `erc-list-channels'.
48 * erc-spelling.el (define-erc-module): Make sure there's a buffer
49 before calling `with-current-buffer'.
51 2006-02-10 Michael Olson <mwolson@gnu.org>
53 * Makefile (debbuild): Split from debrelease.
54 (debrevision-mwolson): New rule that causes a Debian revision to
57 * erc.el (erc-migrate-modules): Use a better algorithm. Thanks to
59 (erc-modules): Change use of 'pcomplete to 'completion.
61 2006-02-09 Diane Murray <disumu@x3y2z1.net>
63 * erc.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
64 (erc-get-parsed-vector-type): Moved here from erc-match.el.
66 * erc-match.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
67 (erc-get-parsed-vector-type): Moved these functions to erc.el
68 since they can be useful outside of the text matching module.
70 * erc-dcc.el, erc-stamp.el, erc-xdcc.el: Changed "Emacs IRC Client"
73 2006-02-07 Michael Olson <mwolson@gnu.org>
75 * ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.04,
76 ChangeLog.05: Rename from ChangeLog.NNNN in order to disambiguate
79 * erc-goodies.el: Comment fix.
81 * erc-hecomplete.el: Rename from erc-complete.el. Update
82 commentary. Use define-erc-module so that it's possible to
84 (erc-hecomplete): Rename function from `erc-complete'.
85 (erc-hecomplete): Rename group from `erc-old-complete'. Docfix.
87 * erc-join.el: Rename from erc-autojoin.el.
89 * erc-networks.el: Rename from erc-nets.el.
91 * erc-services.el: Rename from erc-nickserv.el.
93 * erc-stamp.el (erc-insert-aligned): Don't take 3rd argument. Use
94 the simpler `indent-to' function when
95 `erc-timestamp-right-align-by-pixel' is nil.
96 (erc-insert-timestamp-right): If the timestamp goes on the
97 following line, don't add timestamp properties to the spaces in
100 * erc.el (erc-migrate-modules): New function that eases migration
102 (erc-modules): Call erc-migrate-modules in the :get accessor.
103 (erc-modules, erc-update-modules): Update for new modules names.
104 (erc-cmd-SMV): Remove, since this does not give useful output due
105 to the version strings being removed from ERC modules.
107 2006-02-05 Michael Olson <mwolson@gnu.org>
109 * erc-spelling.el (erc-spelling-init): If
110 `erc-spelling-dictionaries' is nil, do not set
111 ispell-local-dictionary. Before, it was being set to nil, which
112 was causing a long delay while the ispell process restarted.
113 (erc-spelling-unhighlight-word): New function that removes
114 flyspell properties from a spell-checked word.
115 (erc-spelling-flyspell-verify): Don't spell-check nicks or words
116 that have '/' before them.
118 2006-02-04 Michael Olson <mwolson@gnu.org>
120 * erc-autojoin.el: Use (eval-when-compile (require 'cl)).
122 * erc-complete.el (erc-nick-completion-exclude-myself)
123 (erc-try-complete-nick): Use better function for getting list of
126 * erc-goodies.el: Docfix.
128 * erc-stamp.el: Use new arch tagline, since the other one wasn't
129 being treated properly.
131 * erc.el (erc-version-string): Release ERC 5.1.1
133 2006-02-03 Zhang Wei <id.brep@gmail.com> (tiny change)
135 * erc.el (erc-version-string): Don't hard-code Emacs version.
136 (erc-version): Use emacs-version.
138 2006-01-31 Michael Olson <mwolson@gnu.org>
140 * erc-stamp.el: Update copyright years.
142 2006-01-30 Simon Josefsson <jas@extundo.com>
144 * erc.el (erc-open-ssl-stream): Use tls.el.
146 2006-01-30 Michael Olson <mwolson@gnu.org>
148 * erc-stamp.el (erc-timestamp-right-align-by-pixel): New option
149 that determines whether to use pixel values to align right
150 timestamps. The default is not to do so, since it only works with
151 Emacs22 on X, and even then some people have trouble.
152 (erc-insert-aligned): Use `erc-timestamp-right-align-by-pixel'.
154 2006-01-29 Michael Olson <mwolson@gnu.org>
156 * ChangeLog, ChangeLog.2005, ChangeLog.2004, ChangeLog.2003,
157 ChangeLog.2002, ChangeLog.2001: Add "See ChangeLog.NNNN" line for
158 earlier changes. Use utf-8 encoding. Fix some accent typos.
160 * erc-speedbar.el (erc-speedbar-buttons): Fix reference to free
162 (erc-speedbar-goto-buffer): Fix compiler warning.
164 * erc-ibuffer.el: Use `define-ibuffer-filter' instead of
165 `ibuffer-degine-limiter'. Use `define-ibuffer-column' instead of
166 `ibuffer-define-column'. Require 'ibuf-ext so that the macros
167 work without compiler warnings.
169 * man/erc.texi (Obtaining ERC, Installation): Note that these
170 sections may be skipped if using the version of ERC that comes
173 2006-01-29 Edward O'Connor <ted@oconnor.cx>
175 * erc-viper.el: Remove. Now that ERC is included in Emacs, these
176 work-arounds live in Viper itself.
178 2006-01-28 Michael Olson <mwolson@gnu.org>
180 * erc-*.el, erc.texi, NEWS: Add Arch taglines as per Emacs
183 * erc-*.el: Space out copyright years like the rest of Emacs. Use
184 the Emacs copyright statement. Refer to ourselves as ERC rather
185 than "Emacs IRC Client", since there are now several IRC clients
188 * erc-compat.el (erc-emacs-build-time): Define as a variable.
190 * erc-log.el (erc-log-setup-logging): Use write-file-functions.
192 * erc-ibuffer.el: Require 'erc.
194 * erc-stamp.el (erc-insert-aligned): Only use the special text
195 property when window-system is X.
197 * erc.texi: Adapt for inclusion in Emacs.
199 2006-01-28 Johan Bockgård <bojohan@users.sourceforge.net>
201 * erc.el (erc-format-message): More `cl' breakage; don't use
204 2006-01-27 Michael Olson <mwolson@gnu.org>
206 * debian/changelog: Update for new release.
208 * debian/control (Description): Update.
210 * debian/rules: Concatenate ChangeLog for 2005.
212 * Makefile (MISC): Include ChangeLog.2005 and erc.texi.
213 (debrelease, release): Copy images directory.
215 * NEWS: Spelling fixes. Add items for recent changes.
217 * erc.el (erc): Move call to erc-update-modules before the call to
218 erc-mode. This should fix a timestamp display issue.
219 (erc-version-string): Release ERC 5.1.
221 2006-01-26 Michael Olson <mwolson@gnu.org>
223 * erc-stamp.el (erc-insert-aligned): New function that inserts
224 text in an perfectly-aligned way relative to the right margin. It
225 only works well with Emacs22. A sane fallback is provided for
226 other versions of Emacs.
227 (erc-insert-timestamp-right): Use the new function.
229 2006-01-25 Edward O'Connor <ted@oconnor.cx>
231 * erc.el (erc-modules): Ensure that `erc-button-mode' gets enabled
232 before `erc-match-mode'.
234 * erc-match.el (match): Append `erc-match-message' to
235 `erc-insert-modify-hook'.
237 2006-01-25 Michael Olson <mwolson@gnu.org>
239 * FOR-RELEASE: Mark last release requirement as done.
241 * Makefile (realclean, distclean): Remove docs.
243 * erc.texi: Take care of all pre-5.1 items.
245 * erc-backend.el (erc-server-send, erc-server-send-queue): Wrap
246 `process-send-string' in `condition-case' to avoid an error when
249 * erc-stamp.el (erc-insert-timestamp-right): Try to deal with
250 variable-width characters in the timestamp and on the same line.
251 The latter is a kludge, but it seems to work with most of the
252 input I've thrown at it so far. It's certainly better than going
253 past the end of line consistently when we have variable-width
254 characters on the same line. When `erc-timestamp-intangible' is
255 non-nil, add intangible properties to the whitespace as well, so
256 that hitting <end> does what you'd expect.
258 * erc.el (erc-flood-protect, erc-toggle-flood-control): Update
259 this to only use boolean values for `erc-flood-protect'. Update
261 (erc-cmd-QUIT): Set the active buffer to be the server buffer, so
262 that any QUIT-related messages go there.
263 (erc): Try to be more clever about re-using channel buffers when
264 automatically re-connecting. Thanks to e1f for noticing.
266 2006-01-23 Michael Olson <mwolson@gnu.org>
268 * ChangeLog.2005: Remove erroneous line.
270 * FOR-RELEASE: Make that the Makefile tweaking is complete.
271 (NEWS): Mark as done.
273 * Makefile (MANUAL): New option indicating the name of the manual.
274 (PREFIX, ELISPDIR, INFODIR): New options that specify the
275 directories to install lisp code and info manuals to. PREFIX is
276 used only by ELISPDIR and INFODIR.
277 (all): Call `lisp' and create the manual.
278 (lisp): Compile lisp code.
279 (%.info, %.html): New rules that make Info files and HTML files,
280 respectively, from a TexInfo source.
281 (doc): Create both the Info and HTML versions of the manual. This
282 is for the user -- we never call it automatically.
283 (install-info): Install Info files.
284 (install-bin): Install compiled and source Lisp files.
285 (todo): Remove, since it seems pointless.
289 * README: Add Installation instructions. Tweak layout.
291 * erc.texi: Work on some pre-5.1 items.
293 * erc-stamp.el, erc-track.el: Move some functions and options in
294 order to get rid of a few compiler warnings.
296 * erc.el (erc-modules): Enable readonly by default. This will
297 prevent new users from accidentally removing old messages, which
298 could be disconcerting. Also enable stamp by default, since
299 timestamps are a fairly standard feature among IRC clients.
301 * erc-button.el: Munge whitespace.
303 * erc-identd.el (erc-identd-start): Instead of throwing an error,
304 just try to use the obsolete function.
306 2006-01-22 Michael Olson <mwolson@gnu.org>
308 * erc-backend.el (erc-decode-string-from-target): Make sure that
309 we have a string as an argument. If not, coerce it to the empty
310 string. Hopefully, this will work painlessly around an edge case
311 related to quitting ERC around the same time a message comes in.
313 2006-01-22 Johan Bockgård <bojohan@users.sourceforge.net>
315 * erc-track.el: Use `(eval-when-compile (require 'cl))' (for
317 (erc-find-parsed-property): Simplify.
318 (erc-track-get-active-buffer): Fix logic. Simplify.
319 (erc-track-switch-buffer): Remove unused variable `dir'. Simplify.
321 * erc-speak.el: Doc fixes.
322 (erc-speak-region): `propertize' --> `erc-propertize'.
324 * erc-dcc.el (erc-dcc-chat-parse-output): `propertize' -->
327 * erc-button.el (erc-button-add-button): Take erc-fill-prefix into
328 account when wrapping URLs.
330 * erc-bbdb.el (erc-bbdb-elide-display): Doc fix.
332 * erc-backend.el (define-erc-response-handler): Doc fix.
334 2006-01-22 Michael Olson <mwolson@gnu.org>
336 * erc.el (erc-update-modules): Use `require' instead of `load',
337 but prevent it from causing errors, in order to preserve the
340 2006-01-21 Michael Olson <mwolson@gnu.org>
342 * FOR-RELEASE (Source): Mark cl task as done.
344 * Makefile (erc-auto.el): Call erc-generate-autoloads rather than
346 (erc-auto.el, %.elc): Don't show command, just its output.
348 * NEWS: Add items from 2005-01-01 to 2005-08-13.
350 * debian/copyright (Copyright): Update.
352 * erc-auto.in (erc-generate-autoloads): Rename from
355 * erc.el, erc-autoaway.el, erc-backend.el: Use
356 erc-server-process-alive instead of erc-process-alive.
358 * erc.el, erc-backend.el, erc-ezbounce.el, erc-list.el,
359 erc-log.el, erc-match.el, erc-nets.el, erc-netsplit.el,
360 erc-nicklist.el, erc-nickserv.el, erc-notify.el, erc-pcomplete.el:
361 Use (eval-when-compile (require 'cl)), so that compilation doesn't
364 * erc-fill.el, erc-truncate.el: Whitespace munging.
366 * erc.el: Update copyright notice. Remove eval-after-load code.
367 (erc-with-buffer): Docfix.
368 (erc-once-with-server-event, erc-once-with-server-event-global)
369 (erc-with-buffer, erc-with-all-buffers-of-server): Use erc-gensym
371 (erc-banlist-update): Use erc-delete-if instead of delete-if.
372 (erc): Call `erc-update-modules' here.
374 * erc-backend.el: Require 'erc-compat to minimize compiler
376 (erc-decode-parsed-server-response): Docfix.
377 (erc-server-process-alive): Move here from erc.el and rename from
379 (erc-server-send, erc-remove-channel-users): Make sure process is
380 alive before sending data to it.
382 * erc-bbdb.el: Update copyright years.
383 (erc-bbdb-whois): Remove overexuberant comment.
385 * erc-button.el: Require erc-fill, since we make liberal use of
388 * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): New
389 functions, the latter of which provides an `assert' equivalent.
390 (erc-remove-if-not): New function that provides a simple
391 implementation of `remove-if-not'.
392 (erc-gensym): New function that provides a simple implementation
394 (erc-delete-if): New function that provides a simple
395 implementation of `delete-if'.
396 (erc-member-if): New function that provides a simple
397 implementation of `member-if'.
398 (field-end): Remove this, since it is unused, and later versions
399 of XEmacs have this function already.
400 (erc-function-arglist): Moved here from erc.el.
401 (erc-delete-dups): New compatibility function for dealing with
403 (erc-subseq): New function copied from cl-extra.el.
405 * erc-dcc.el: Require pcomplete during compilation to avoid
407 (erc-unpack-int, erc-dcc-send-filter)
408 (erc-dcc-get-filter): Use erc-assert instead of assert.
409 (pcomplete/erc-mode/DCC): Use erc-remove-if-not instead of
412 * erc-match.el (erc-log-matches): Fix compiler warning.
414 * erc-nicklist.el: Update copyright notice.
415 (erc-nicklist-menu): Change use of caadr to (car (cadr ...)).
416 (erc-nicklist-bitlbee-connected-p): Remove.
417 (erc-nicklist-insert-medium-name-or-icon): Accept channel
418 argument. Use it to determine whether we are on bitlbee. Now
419 that bitlbee names its channel "&bitlbee", this is trivial.
420 (erc-nicklist-insert-contents): Pass channel as specified above.
421 Don't try to determine whether we are on bitlbee here.
422 (erc-nicklist-channel-users-info): Use erc-remove-if-not instead
424 (erc-nicklist-search-for-nick): Use erc-member-if instead of
427 * erc-notify.el (erc-notify-QUIT): Use erc-delete-if with a
428 partially-evaluated lambda expression instead of `delete' and
431 * erc-track.el: Use erc-assert.
432 (erc-track-modified-channels): Remove use of `return'.
433 (erc-track-modified-channels): Use `cadr' instead of `second',
434 since otherwise we would need yet another eval-when-compile line.
436 2006-01-19 Michael Olson <mwolson@gnu.org>
438 * erc-backend.el (erc-process-sentinel-1): Remove attempt to
439 detect SIGPIPE, since it doesn't work.
441 2006-01-10 Diane Murray <disumu@x3y2z1.net>
443 * erc-spelling.el: Updated copyright years.
444 (define-erc-module): Enable/disable `flyspell-mode' for all open
446 (erc-spelling-dictionaries): Reworded customize description.
448 * erc.el (erc-command-symbol): New function.
449 (erc-extract-command-from-line): Use `erc-command-symbol'. This
450 fixes a bug where "Symbol's function definition is void:
451 erc-cmd-LIST" would be shown after typing /list at the prompt (the
452 command was interned because erc-menu.el uses it and is enabled by
453 default whereas erc-list.el is not).
455 * NEWS: Started a list of renamed variables.
457 * erc.el: Reworded the message sent when defining variable
459 (erc-command-indicator-face): Doc fix.
460 (erc-modules): Enable the match module by default which makes
461 current nickname highlighting on as the default.
463 * erc-button.el: Updated copyright years.
464 (erc-button): New face.
465 (erc-button-face): Use `erc-button'.
466 (erc-button-nickname-face): New customizable variable.
467 (erc-button-add-nickname-buttons, erc-button-add-buttons-1): Send
468 new argument to `erc-button-add-button'.
469 (erc-button-add-button): Doc fix. Added new argument to function
470 definition, NICK-P. If it's a nickname, use
471 `erc-button-nickname-face', otherwise use `erc-button-face'. This
472 makes channel tracking and buttons work better together when
473 `erc-button-buttonize-nicks' is enabled, since there is a nickname
474 on just about every line.
476 * erc-track.el (erc-track-use-faces): Doc fix.
477 (erc-track-faces-priority-list): Added `erc-button' to list.
478 (erc-track-priority-faces-only): Doc fix.
480 2006-01-09 Diane Murray <disumu@x3y2z1.net>
482 * erc-button.el (erc-button-url-regexp): Use `concat' so the
483 regexp is not one long line.
484 (erc-button-alist): Fixed so that customizing works correctly.
485 Reorganized. Removed lambda functions with more than two lines.
487 (erc-button-describe-symbol, erc-button-beats-to-time): New
488 functions. Moved from `erc-button-alist'.
490 2006-01-07 Michael Olson <mwolson@gnu.org>
492 * erc-backend.el (erc-process-sentinel-1): Don't try to re-open a
493 process if a SIGPIPE occurs. This happens when a new message
494 comes in at the same time a /quit is requested.
495 (erc-process-sentinel): Use string-match rather than string= to do
496 these comparisons. Matching literal newlines makes me nervous.
498 * erc-track.el (erc-track-remove-from-mode-line): Handle case
499 where global-mode-string is not a list. Emacs22 permits this.
502 See ChangeLog.05 for earlier changes.
504 Copyright (C) 2006 Free Software Foundation, Inc.
505 Copying and distribution of this file, with or without modification,
506 are permitted provided the copyright notice and this notice are preserved.
512 ;; arch-tag: 865a75f6-2bcb-46df-bf0c-b514dadf688a