1 ZenIRC TODO list -- Last updated 1998-05-07
5 Strip ^F, ^P, ^U, ^B and ^_ from receieved PRIVMSG, NOTICE and
6 TOPIC. Possibly add functions for this in zenirc.color.el at a later
11 Add optional function to strip off whitespaces at the end of messages.
13 * Show Y-class when using /trace command.
15 * Define current-time for emacs 18.
16 Define current-time-string in 18 so that it can format arbitrary time values.
20 Instead of trying to send to hack current-time-string, or represent big
21 integers and such, just send the printed representation of a call to
22 current-time. Then when the reply comes back, read the result and
23 compare the conses. The way to compute the difference of these times is
25 (defsubst time-difference (a b)
26 (+ (lsh (- (car b) (car a)) 16)
27 (- (car (cdr b)) (car (cdr a)))))
29 This returns the number of seconds elapsed.
31 I would like to remove the kiwi-derived routines anyway.
35 Make it not trigger if you see the person leave or join a channel.
39 Make it add nicks seen based on zenirc-complete-add-list, would be
40 nice to add things on /trace and /userhost.
42 * Allow messages from specific users, or different types of messages, to go
43 into different buffers.
45 If a general mechanism is implemented for this, zenirc-dcc.el should use
48 It is likely that zenirc-message will have take a new arg, indicating
49 into which buffer the message should go.
51 [1995-03-16 Noah is working on this as part of a general purpose library
54 [1996-07-22 Jason (and Per) is working on another solution to this.]
56 * Implement "filters", to distinguish semantics from hooks.
58 Some things, like the zenirc-format-nickuserhost-hook, don't really want
59 to run all the functions; it wants to terminate as soon as a desirable
60 formatting is completed.
62 There are other instances where two hooks do not necessarily want to be
63 run independently. For instance, zenirc-away.el only wants to display an
64 away message if the current away message for a user is not in its cache
67 But in general, hooks want to be run independently of each other since
68 they may perform some completely orthogonal action, so if some other hook
69 wants to abort running the rest of the hook list, the user is screwed.
71 I propose a "filter" mechanism which provides a way to specify ordering,
72 i.e. they should be able to say "I need to be run before foo but after
73 bar" (and this requirement also assumes that bar must necessarily be run
74 after foo). Packages which use this new mechamism may have to know some
75 details about other packages for this to work, but that's a given. These
76 filters would be of a different nature from the hooks now being used.
78 I do not have a specific interface in mind yet, but I suspect that
79 filters will generally be run via the hook mechanism, i.e. one will
82 (zenirc-add-hook 'zenirc-foo-hook
85 (apply 'zenirc-run-filter 'zenirc-foo-filter args))))
87 * Update non-english message catalogs with new strings added to the client
88 since it they were first created.
90 * Write a texinfo manual.
92 * Make 'undo' only apply to unsent text.
94 * Make recieved text 'read-only'.
99 * /list with regexp's.
101 * Finish zenirc-eval.el.
103 This should operate as a CTCP message that reads a sexp and evaluates it.
104 In addition to regular eval, there should be an eval-print or some other
105 macro that takes the result and sends it in the CTCP reply. Since irc
106 messages are limited to 255 chars or so, the syntactic sugar would be
109 For the sake of security weenies, it should have an access list, probably
110 a list of regexps of user@host addresses which are allowed to send
113 Perhaps there should also be a "novice" flag which displays the form to
114 be evaluated in the minibuffer (or a display buffer) and query for
115 confirmation before doing anything.
117 * Write zenirc-alias.el
119 ircII like alias but not as smart.
121 * Write zenirc-save.el
122 This should save some default values to a special zenirc.rc file
123 which ZenIRC loads during startup.
125 * Write zenirc-eliza.el
127 This should implement an eliza bot via doctor.el.
129 * Write zenirc-swedish-chef.el
131 This should be a process filter that converts everything people say into
132 swedish-chef speak, and it should have an abbrev table that dynamically
133 converts user input as well.
135 * Write zenirc-face.el
137 This should be code for Emacs 19 and XEmacs to support highlighting
138 for ^Vregions^V and the like.
140 * Write zenirc-mcelwane.el
142 Upcase words RANDOMLY on INPUT!
144 * zenirc supporting bold controls
146 From: Andrew J Cosgriff <ajc@bing.wattle.id.au>
147 any chance of zenirc supporting bold controls and stuff (^B et al.) ?