From: Lawrence M. <we...@gm...> - 2005-01-06 16:17:18
|
Michael Olson wrote: > I'm planning on putting together a release of erc on Friday the 6th. > If there are any major changes that still need to be completed, please > let me know. > Do we have a policy on what copyrights to list in `debian/copyright'? > If not, I guess I'll add everyone who is listed in `AUTHORS'. Hi there, here's a possible NEWS file, can people look at it and add comments, corrections, additions? * Changes since ERC 4.0 ** Channel members are now stored as a hash-table. `erc-server-users' and `erc-channel-users' are now hash-tables, rather than alists. This significantly increases performance, especially in large channels. Each channel member is stored as an `erc-server-user' struct, with additional information about the channels they are on stored in an `erc-channel-user' struct. Code using old alist-style channel members needs to be updated to work with hash-tables. This new code also removes the need for erc-members.el, which has been removed. ** The way ERC deals with input from the server has changed. All server response code is now in a new file, erc-backend.el. There should be no real user visible changes. There are, however, a few major changes for implementors, and module writers: o The PARSED response that all handlers get called with is no longer a vector, but an `erc-response' struct. This means LESS MAGIC NUMBERS in the ERC source code, but a few changes in how you get at parsed responses. The sender is accessed via `erc-response.sender'. The command is accessed via `erc-response.command'. The arguments to the command (everything after the command and before the colon) are accessed via `erc-response.command-args'. This is a /list/ of arguments in the order they appear in the unparsed response. The contents of the response is accessed via `erc-response.contents'. Should, for some reason, you want to do something with the /unparsed/ response, you can get it via `erc-response.unparsed'. o The `erc-server-hook-list' mechanism is gone. All server response handlers should be defined with `define-erc-response-handler'. This defines functions and corresponding hook variables. The mapping of server commands to hook variables is no longer done via `erc-event-to-hook', but through an #'equal hashtable, `erc-server-responses'. In order to find a hook you do: (erc-get-hook command) See the docstring of `define-erc-response-handler' for more information. o ALL hook variables have been renamed. In accordance with recommendations in the Emacs Lisp manual, the hook variables are no longer called `erc-server-FOO-hook', but rather `erc-server-FOO-functions'. This is to indicate that the functions they call take arguments. All the modules in ERC have been updated to reflect this change, but external module authors should beware. ** ERC has a new way of displaying nicknames in a channel. The new file erc-nicklist.el defines a new command `erc-nicklist' which pops up a small Emacs window showing the nicknames of all members of the current channel. The implementation is not complete and is rather proof-of-concept for now. The result is something a bit like erc-speedbar, but not quite as invasive, and doesn't require use of a new frame. -- Lawrence Mitchell <we...@gm...> |