Mercurial > emacs
comparison etc/ERC-NEWS @ 68451:fc745b05e928
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-22
Creator: Michael Olson <mwolson@gnu.org>
Install ERC.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sun, 29 Jan 2006 13:08:58 +0000 |
parents | |
children | 86c478cccc57 |
comparison
equal
deleted
inserted
replaced
68450:a3ba4ef5d590 | 68451:fc745b05e928 |
---|---|
1 ERC NEWS -*- outline -*- | |
2 | |
3 * Changes since ERC 5.0.4 | |
4 | |
5 ** Improve XEmacs compatibility. | |
6 | |
7 ** Namespace changes | |
8 | |
9 *** Now ERC doesn't use global variable space. | |
10 Renamed all variables that didn't start with "erc-". | |
11 | |
12 o `away' is now `erc-away' | |
13 | |
14 o `current-nick' is now `erc-server-current-nick' | |
15 | |
16 o `last-peers' is now `erc-server-last-peers' | |
17 | |
18 o `last-ping-time' is now `erc-server-last-ping-time' | |
19 | |
20 o `last-sent-time' is now `erc-server-last-sent-time' | |
21 | |
22 o `lines-sent' is now `erc-server-lines-sent' | |
23 | |
24 o `quitting' is now `erc-server-quitting' | |
25 | |
26 *** Remove the `with-erc-channel-buffer' function. | |
27 | |
28 ** Bugfixes | |
29 | |
30 *** Don't inadvertently destroy face properties. | |
31 | |
32 *** Load erc scripts in a safer way. | |
33 | |
34 *** Don't insert a timestamp if text at point is invisible. | |
35 | |
36 *** Don't hide messages from those in `erc-fools' by default. | |
37 Color their nicks instead. | |
38 | |
39 *** Use a more foolproof method of encoding and decoding strings | |
40 before sending to a channel. | |
41 | |
42 ** Backend changes | |
43 | |
44 *** Renamed some server-specific variables | |
45 | |
46 o `erc-announced-server-name' is now `erc-server-announced-name' | |
47 | |
48 o `erc-auto-reconnect' is now `erc-server-auto-reconnect' | |
49 | |
50 o `erc-connect-function' is now `erc-server-connect-function' | |
51 | |
52 o `erc-default-coding-system' is now `erc-server-coding-system' | |
53 | |
54 o `erc-duplicate-timeout' is now `erc-server-duplicate-timeout' | |
55 | |
56 o `erc-duplicates' is now `erc-server-duplicates' | |
57 | |
58 o `erc-lag' is now `erc-server-lag' | |
59 | |
60 o `erc-prevent-duplicates' is now `erc-server-prevent-duplicates' | |
61 | |
62 o `erc-previous-read' is now `erc-server-filter-data' | |
63 | |
64 o `erc-process' is now `erc-server-process' | |
65 | |
66 o `erc-ping-handler' is now `erc-server-send-ping-handler' | |
67 | |
68 o `erc-ping-interval' is now `erc-server-send-ping-interval' | |
69 | |
70 *** Renamed some functions | |
71 | |
72 o `erc-connect' is now `erc-server-connect' | |
73 | |
74 o `erc-process-filter' is now `erc-server-filter-function' | |
75 | |
76 o `erc-send-command' is now `erc-server-send' | |
77 | |
78 o `erc-send-single-line' is now `erc-send-input' | |
79 | |
80 o `erc-setup-periodical-server-ping' is now | |
81 `erc-server-setup-periodical-server-ping' | |
82 | |
83 o `erc-split-command is now `erc-split-line' | |
84 | |
85 *** New options | |
86 | |
87 o erc-server-flood-margin, erc-server-flood-penalty: New options | |
88 that allow tweaking of flood control. | |
89 | |
90 o erc-split-line-length: The maximum line length of a single | |
91 message. | |
92 | |
93 *** New variables | |
94 | |
95 o erc-server-flood-last-message, erc-server-flood-queue, | |
96 erc-server-flood-timer: Flood control. | |
97 | |
98 o erc-server-processing-p: Indicate when we're currently processing | |
99 a message. | |
100 | |
101 *** Remove some options | |
102 | |
103 o `erc-flood-limit' | |
104 o `erc-flood-limit2' | |
105 | |
106 ** New customization group `erc-server' for dealing with IRC servers. | |
107 | |
108 ** ERC can now be installed by doing `make install' from the command line. | |
109 | |
110 ** ERC now has a manual in erc.texi. | |
111 Type `make doc' to generate HTML and Info versions of it. | |
112 | |
113 ** ERC no longer depends on cl.el. | |
114 Only the macros in cl-macs.el are used. | |
115 | |
116 ** Fix an edge case when quitting as new messages come in. | |
117 | |
118 ** Make flood protection toggle-able as on/off, removing the 'strict option. | |
119 | |
120 ** If possible, re-use channel buffers when reconnecting to a server. | |
121 | |
122 ** Text in ERC buffers is now read-only by default. | |
123 To get the previous behavior, | |
124 | |
125 ** Changes and additions to modules | |
126 | |
127 *** Auto-join (erc-autojoin.el) | |
128 | |
129 **** Recognize the Azzurra server. | |
130 | |
131 *** BBDB (erc-bbdb.el) | |
132 | |
133 **** When the user types /WHOIS, ask for a record to merge to. | |
134 | |
135 **** Store the displayed name of a BitlBee contact. | |
136 The new `erc-bbdb-bitlbee-name-field' option specifies the field to use | |
137 to store this information. | |
138 | |
139 **** Don't prompt for a name on /JOIN or /NICK. | |
140 | |
141 *** Button (erc-button.el) | |
142 | |
143 **** Fix customization of `erc-button-alist' | |
144 | |
145 **** New option `erc-button-nickname-face' determines the face to use | |
146 when coloring ERC nicknames. | |
147 | |
148 *** Channel tracking (erc-track.el) | |
149 | |
150 **** Remove channels from the modified channels list if not currently | |
151 connected. This should remove residue from the mode line after | |
152 quitting ERC. | |
153 | |
154 **** Recognize buttonized text | |
155 | |
156 *** Highlighting (erc-match.el) | |
157 | |
158 **** Highlight current nickname by default. | |
159 | |
160 **** Added the option of beeping when certain matches occur. | |
161 Add `erc-beep-on-match' to `erc-text-matched-hook' to enable | |
162 beeping. Set the new variable `erc-beep-match-types' which match | |
163 types that make beeps. | |
164 | |
165 *** Nicklist (erc-nicklist.el) | |
166 | |
167 **** Fix a couple of errors. | |
168 | |
169 **** Make sure a stray mouse click doesn't trigger an error. | |
170 | |
171 **** Insert icons from the /images directory next to nicks. | |
172 This indicates their away status. The location is customizable via | |
173 the new `erc-nicklist-icons-directory' option. | |
174 | |
175 If you do not want these icons, set `erc-nicklist-use-icons' to nil. | |
176 | |
177 *** Nickserv identification (erc-nickserv.el) | |
178 | |
179 **** Recognize Azzurra and OFTC networks. | |
180 | |
181 *** Old completion (erc-complete.el) | |
182 | |
183 **** Disable by default. | |
184 | |
185 *** Programmable completion (erc-pcomplete.el) | |
186 | |
187 **** Enable by default. | |
188 | |
189 *** Timestamps (erc-stamp.el) | |
190 | |
191 **** On Emacs22, align right timestamps perfectly, even if variable-width | |
192 characters are used. If we aren't using Emacs22, move text farther | |
193 away from the right margin when variable-width characters are used. | |
194 It is considered better to misalign the stamp by a bit than to go past | |
195 the right margin. | |
196 | |
197 **** Enable by default | |
198 | |
199 ** New modules | |
200 | |
201 *** Spell-checking (erc-spelling.el) | |
202 | |
203 **** Use flyspell in ERC. | |
204 | |
205 *** Viper compatibility (erc-viper.el) | |
206 | |
207 **** Helps ERC work correctly in viper-mode. | |
208 | |
209 * Fixes since ERC 5.0.3 | |
210 | |
211 ** Fix a problem with undo in channels. | |
212 | |
213 * Fixes since ERC 5.0.2 | |
214 | |
215 ** Fix typo in the `ctcp-request-to' entry of the English catalog. | |
216 | |
217 ** Debugging with edegug has been made easier in all of the | |
218 erc-with-* and with-erc* macros. | |
219 | |
220 ** Non-ASCII character sets should be better supported when sending | |
221 and processing messages. | |
222 | |
223 ** A load failure with erc-autoaway.el and Emacs21 has been fixed. | |
224 | |
225 ** A few XEmacs warnings were fixed. | |
226 | |
227 ** Changes and additions to modules | |
228 | |
229 *** Backend (erc-backend.el) | |
230 | |
231 **** Move the check for hidden messages into `erc-display-message' | |
232 so there isn't so much replicated code. | |
233 | |
234 **** Add `definition-name' property to constructed symbols so that | |
235 `find-function' and `find-variable' will be able to locate them. | |
236 | |
237 **** Make sure logs are inserted info the correct channel buffers. | |
238 There was previously an error when using `erc-insert-log-on-open' in | |
239 combination with autojoin to multiple channels. | |
240 | |
241 *** Button (erc-button.el) | |
242 | |
243 **** The layering of `erc-button-face' on other faces in ERC buffers | |
244 has been improved. | |
245 | |
246 *** Channel tracking (erc-track.el) | |
247 | |
248 **** Use optimal amount of whitespace around modified channels | |
249 indicator. Previously, there was an additional unnecessary space. | |
250 | |
251 **** Fix an error that occurred when unchecked buffers existed when | |
252 invoking /QUIT. | |
253 | |
254 * Fixes since ERC 5.0.1 | |
255 | |
256 ** If a channel key is required for a certain channel, ERC will prompt | |
257 for one if `erc-prompt-for-channel-key' is non-nil. | |
258 | |
259 ** ERC doesn't try to reconnect if the network connection is refused | |
260 when using `open-network-stream-nowait' as the `erc-connect-function'. | |
261 | |
262 ** Messages from multiple servers will not go to the currently active | |
263 buffer. The messages from each server will be contained in the most | |
264 recently active channel/server buffer that corresponds with the | |
265 server. | |
266 | |
267 ** Some text messages were cleaned up slightly. | |
268 | |
269 ** Button faces should no longer "cover" other faces. | |
270 | |
271 ** Made some XEmacs compatibility fixes. | |
272 | |
273 ** Nicknames containing a backslash are now correctly highlighted as | |
274 current-nick and buttonized as nicks. | |
275 | |
276 ** `erc-server-select' doesn't offer networks without servers as a | |
277 choice anymore. | |
278 | |
279 ** Non-ASCII character support has been improved. | |
280 | |
281 ** Changes and additions to modules | |
282 | |
283 *** Menu (erc-menu.el) | |
284 | |
285 **** You can now save logs and truncate buffers from the menu-bar. | |
286 | |
287 * Fixes since ERC 5.0 | |
288 | |
289 ** Narrowing in ERC buffers no longer causes formatting errors. | |
290 | |
291 ** The BBDB module now loads correctly when customizing `erc-modules'. | |
292 | |
293 ** The value of `erc-button-face' is now respected. | |
294 | |
295 ** Fixed a bug which caused a read-only error during connection. | |
296 | |
297 ** Server buffers are now tracked correctly. | |
298 This means that `erc-track-priority-faces-only', `erc-track-exclude', | |
299 and `erc-track-exclude-types' now work with server buffers. | |
300 | |
301 * Changes since ERC 4.0 | |
302 | |
303 ** Channel members are now stored as a hash-table. | |
304 `erc-server-users' and `erc-channel-users' are now hash-tables, rather | |
305 than alists. This significantly increases performance, especially in | |
306 large channels. Each channel member is stored as an `erc-server-user' | |
307 struct, with additional information about the channels they are on | |
308 stored in an `erc-channel-user' struct. Code using old alist-style | |
309 channel members needs to be updated to work with hash-tables. | |
310 This new code also removes the need for erc-members.el, which has been | |
311 removed. | |
312 | |
313 ** The way ERC deals with input from the server has changed. | |
314 All server response code is now in a new file, erc-backend.el. There | |
315 should be no real user visible changes. There are, however, a few | |
316 major changes for implementers, and module writers: | |
317 | |
318 *** The PARSED response that all handlers get called with is | |
319 no longer a vector, but an `erc-response' struct. | |
320 | |
321 This means LESS MAGIC NUMBERS in the ERC source code, but a few | |
322 changes in how you get at parsed responses. | |
323 | |
324 The sender is accessed via `erc-response.sender'. | |
325 | |
326 The command is accessed via `erc-response.command'. | |
327 | |
328 The arguments to the command (everything after the command and | |
329 before the colon) are accessed via `erc-response.command-args'. | |
330 This is a /list/ of arguments in the order they appear in the | |
331 unparsed response. | |
332 | |
333 The contents of the response is accessed via | |
334 `erc-response.contents'. | |
335 | |
336 Should, for some reason, you want to do something with the | |
337 /unparsed/ response, you can get it via `erc-response.unparsed'. | |
338 | |
339 *** The `erc-server-hook-list' mechanism is gone. | |
340 | |
341 All server response handlers should be defined with | |
342 `define-erc-response-handler'. This defines functions and | |
343 corresponding hook variables. | |
344 | |
345 The mapping of server commands to hook variables is no longer | |
346 done via `erc-event-to-hook', but through an #'equal hashtable, | |
347 `erc-server-responses'. In order to find a hook you do: | |
348 | |
349 (erc-get-hook command) | |
350 | |
351 See the docstring of `define-erc-response-handler' for more | |
352 information. | |
353 | |
354 *** ALL hook variables have been renamed. | |
355 | |
356 In accordance with recommendations in the Emacs Lisp manual, | |
357 the hook variables are no longer called `erc-server-FOO-hook', | |
358 but rather `erc-server-FOO-functions'. This is to indicate | |
359 that the functions they call take arguments. | |
360 | |
361 All the modules in ERC have been updated to reflect this change, | |
362 but external module authors should beware. | |
363 | |
364 ** The values of `erc-mode-line-format' and `erc-header-line-format' | |
365 are now defined as strings to be formatted using `format-spec'. | |
366 `erc-mode-line-format' does not replace the whole mode-line anymore, | |
367 only `mode-line-buffer-identification' is set. This way, personal | |
368 mode-line configurations are not modified and all key bindings work as | |
369 expected. The process status (connecting, closed) is now shown in | |
370 `mode-line-process'. | |
371 | |
372 ** Customization of ERC variables has been made easier. Variables | |
373 have been split into more groups for better organization. | |
374 | |
375 ** New variables | |
376 | |
377 o `erc-send-whitespace-lines' - Set this to send lines even if they | |
378 are empty. | |
379 | |
380 o `erc-manual-set-nick-on-bad-nick-p' - If the nickname you chose is | |
381 already taken or not allowed, your nick is not changed and you can | |
382 try again manually if this is non-nil. | |
383 | |
384 o `erc-mode-line-away-status-format' - You can now set what is shown | |
385 in the mode-line when you are away. | |
386 | |
387 o `erc-header-line-uses-help-echo-p' - The header-line now uses the | |
388 help-echo property. You can set this to nil to disable it. | |
389 | |
390 o `erc-format-query-as-channel-p' - Set this to nil to have messages | |
391 in the query buffer formatted like private messages. | |
392 | |
393 o `erc-show-channel-key-p' - The channel key is now shown with the | |
394 other channel modes in the header line. Set this to nil if you | |
395 want it hidden. | |
396 | |
397 o `erc-prompt-for-channel-key' - Set this if you want to be prompted | |
398 for the channel key (channel's mode is +k) when you call | |
399 `erc-join-channel' interactively. | |
400 | |
401 o `erc-kill-server-buffer-on-quit' - If non-nil, kill the server | |
402 buffer automatically when you quit. | |
403 | |
404 ** New hooks | |
405 | |
406 o `erc-join-hook' - Called when you join a channel. | |
407 | |
408 o `erc-kick-hook' - Called when you are kicked from a channel. The | |
409 channel's buffer is sent as an argument to functions called from | |
410 this hook. | |
411 | |
412 o `erc-nick-changed-functions' - Whenever your nickname changes | |
413 successfully, the functions in this hook are run with the | |
414 arguments NEW-NICK and OLD-NICK. | |
415 | |
416 ** New command /WHOAMI - Do a /WHOIS on your current nickname. | |
417 | |
418 ** The key binding for changing channel modes is now C-c C-o. | |
419 | |
420 ** Removed variables | |
421 | |
422 o `erc-echo-notices-in-minibuffer-flag' and | |
423 `erc-echo-notices-in-current-buffer' - You should use | |
424 `erc-echo-notice-hook' and `erc-echo-notice-always-hook' instead. | |
425 | |
426 o `erc-prompt-interactive-input' has been removed (commented out) | |
427 because nickname completion does not work with it. | |
428 | |
429 o All INFO buffer-related variables and functions have been removed. | |
430 | |
431 ** You can now disable modules by setting `erc-modules' with the | |
432 customization interface. | |
433 | |
434 ** Changes and additions to modules | |
435 | |
436 *** Autoaway (erc-autoaway.el) | |
437 | |
438 **** New variable `erc-autoaway-no-auto-back-regexp' - Add text which, | |
439 when you type anything matching it, will not automatically discard | |
440 your away status when `erc-auto-discard-away' is non-nil. | |
441 | |
442 *** Filling (erc-fill.el) | |
443 | |
444 **** New variable `erc-fill-variable-maximum-indentation' - Don't | |
445 indent more than this many characters when indenting a message from a | |
446 user with a long nickname. | |
447 | |
448 *** Goodies (erc-goodies.el) | |
449 | |
450 **** Miscellaneous small modules have been moved from erc.el. | |
451 The functions erc-add-scroll-to-bottom, erc-make-read-only, | |
452 erc-send-distinguish-noncommands, erc-interpret-controls, erc-unmorse, | |
453 erc-smiley, and erc-occur, which were defined in the main erc.el file | |
454 have been moved to erc-goodies.el and have mostly been translated to | |
455 the modules scrolltobottom, readonly, noncommands, irccontrols, smiley | |
456 and unmorse. | |
457 | |
458 **** New variables | |
459 | |
460 o `erc-input-line-position' - The line number to use with | |
461 `erc-scroll-to-bottom'. | |
462 | |
463 o `erc-beep-p' - Beep if there is a \C-g control character in a | |
464 message. | |
465 | |
466 *** Channel lists (erc-list.el) | |
467 | |
468 **** New variable `erc-chanlist-highlight-face' - A face used for | |
469 highlighting the current line. | |
470 | |
471 *** Highlighting (erc-match.el) | |
472 | |
473 **** `erc-current-nick-highlight-type' has new options: 'keyword and | |
474 'nick-or-keyword. | |
475 | |
476 *** Menu (erc-menu.el) | |
477 | |
478 **** The `IRC' menu is now automatically added to `erc-mode' buffers. | |
479 | |
480 *** Networks (erc-nets.el) | |
481 | |
482 **** The functions for determining current network are in this file. | |
483 There were a couple of functions spread about in different files which | |
484 each had a different way of determining the current network. The | |
485 methods have been combined, and the big list of known networks | |
486 (`erc-networks-alist') is being put to use. You can access the | |
487 network's name by calling the new function `erc-network'. This | |
488 returns the name of the current network as a symbol or 'Unknown if it | |
489 could not determine which network it is. | |
490 | |
491 *** Nicklist (erc-nicklist.el) | |
492 | |
493 **** ERC has a new way of displaying nicknames in a channel. | |
494 The new file erc-nicklist.el defines a new command `erc-nicklist' | |
495 which pops up a small Emacs window showing the nicknames of all | |
496 members of the current channel. The implementation is not complete | |
497 and is rather proof-of-concept for now. The result is something a bit | |
498 like erc-speedbar, but not quite as invasive, and doesn't require use | |
499 of a new frame. | |
500 | |
501 *** Internet services / Nickserv (erc-nickserv.el) | |
502 | |
503 **** Network detection is now taken care of by erc-nets.el. | |
504 The function `erc-current-network' is deprecated, use `erc-network' | |
505 instead. The variable `erc-networks' has been removed, use | |
506 `erc-networks-alist'. The network symbols used in | |
507 `erc-nickserv-alist' now match those in `erc-networks-alist'. | |
508 | |
509 **** New variable `erc-nickserv-identify-mode' - Choose which method | |
510 to use for automatic identification: you can wait for Nickserv to ask | |
511 you to identify (the default), or send an identify message | |
512 automatically after you change your nickname. | |
513 | |
514 *** Speedbar (erc-speedbar.el) | |
515 | |
516 **** New variable `erc-speedbar-sort-users-type' - Sort users in a | |
517 channel by activity, alphabetically, or not at all. | |
518 | |
519 *** Timestamps (erc-stamp.el) | |
520 | |
521 **** `erc-timestamp-only-if-changed-flag' now works when | |
522 `erc-insert-timestamp-function' is set to 'erc-insert-timestamp-left. | |
523 | |
524 **** New variable `erc-timestamp-intangible' - Set this to nil if | |
525 timestamps should not have the 'intangible property. | |
526 | |
527 *** Channel tracking (erc-track.el) | |
528 | |
529 **** Using faces to indicate channel activity in the modeline now works | |
530 in XEmacs. | |
531 | |
532 **** New variables | |
533 | |
534 o `erc-track-priority-faces-only' - Ignore changes in a channel | |
535 unless there is a face from the `erc-track-faces-priority-list' in | |
536 the message. | |
537 | |
538 o `erc-track-exclude-server-buffer' - Ignore changes in the server | |
539 buffer. | |
540 | |
541 o `erc-track-position-in-mode-line' - Set the position in the | |
542 mode-line where modified channels are shown (only works in GNU | |
543 Emacs versions above 21.3). | |
544 | |
545 * Changes since ERC 3.0.cvs.20030119 | |
546 | |
547 ** The module system has again changed a lot. You can now customize | |
548 the variable `erc-modules' and define once and for all which | |
549 extension modules you want to use. This unfortunately may require | |
550 you to change your current erc initialisation code a bit, if you | |
551 have some existing customsations. On the other hand, this change | |
552 makes the configuration of extension modules a lot easier for new | |
553 users. In theory, you should be able to configure all aspects of | |
554 ERC by using the customize interface, you should no longer really | |
555 need to write Lisp code for trivial customizations. | |
556 | |
557 By default, the following modules are now loaded: (pcomplete | |
558 netsplit fill track ring button autojoin) | |
559 | |
560 Please use M-x customize-variable RET erc-modules RET to change the | |
561 default if it does not suite your needs. | |
562 | |
563 ** THe symbol used in `erc-nickserv-passwords' for debian.org IRC servers | |
564 (formerly called OpenProjects, now FreeNode) has changed from | |
565 openprojects to freenode. You may need to update your configuration | |
566 for a successful automatic nickserv identification. | |
567 | |
568 * Changes since ERC 2.93.cvs.20020819 | |
569 | |
570 ** New module erc-dcc: | |
571 | |
572 This finally implements DCC. It requires server sockets to fully work | |
573 in both directions. This feature is currently only available in Emacs | |
574 21.3.50 (CVS). Here is a short list of what should work though. | |
575 | |
576 ** Compatibility: | |
577 * Emacs 21.2, DCC get, and accepting DCC chat offers. | |
578 * XEmacs 21, Only accepting DCC chat offers. | |
579 | |
580 ** erc is switching to global-minor-modes for activation of submodules. | |
581 | |
582 This allows you to customize such a mode and get automatic loading of | |
583 the module. No longer putting a lot of require statments in .emacs. | |
584 At least this is the long-term plan, not all modules are converted | |
585 yet. | |
586 | |
587 ** The most important user visible change is that you now need to activate | |
588 erc-completion-mode, to get TAB completion. The new completion code | |
589 is based on pcomplete. To get the old code, manually load | |
590 erc-complete and bind TAB to erc-complete in erc-mode-map. | |
591 | |
592 To activate completion on startup, put (erc-completion-mode 1) in your | |
593 .emacs file. | |
594 | |
595 Same applies to timestamps. You no longer need to (require | |
596 'erc-stamp), you can customize the variable `erc-timestamp-mode', and | |
597 the rest should be automatic. | |
598 | |
599 arch-tag: 2b21b387-6cdc-4192-889c-6743cfffdcb1 |