680f0971b047d1b3e6b6e195bb8b8ca0e3dc7d87
[elisp/riece.git] / lisp / ChangeLog
1 2003-06-23  Daiki Ueno  <ueno@unixuser.org>
2
3         * riece-handle.el (riece-handle-join-message): Don't call
4         riece-switch-to-channel.
5         (riece-handle-part-message): Don't decode message if it is empty.
6         (riece-handle-kick-message): Ditto.
7         (riece-handle-quit-message): Ditto.
8         (riece-handle-kill-message): Ditto.
9
10         * riece-commands.el (riece-command-part): Show the current channel
11         as default candidate.
12
13         * riece-identity.el (riece-completing-read-identity): Accept
14         optional 5th argument `initial'.
15
16         * riece-unread.el (riece-unread-update-channel-list-buffer):
17         Simplified.
18
19         * riece-filter.el (riece-sentinel): Don't bind
20         riece-inhibit-update-buffers.
21
22         * riece-display.el (riece-redisplay-buffer): New variable.
23         (riece-inhibit-update-buffers): Abolish.
24         (riece-update-channel-list-buffer): Memorize
25         encoded identity as text property on each line. 
26
27         * riece.el (riece-channel-list-mode): Make riece-redisplay-buffer
28         buffer local.
29         (riece-user-list-mode): Ditto.
30
31 2003-06-22  Daiki Ueno  <ueno@unixuser.org>
32
33         * riece-display.el (riece-inhibit-update-buffers): New variable.
34         * riece-filter.el (riece-sentinel): Bind
35         riece-inhibit-update-buffers while removing channels from
36         riece-current-channels.
37         * riece-unread.el (riece-unread-display-message-function): Don't
38         update channel list buffer when riece-inhibit-update-buffers is
39         non-nil.
40         (riece-unread-channel-switch-hook): Ditto.
41         (riece-unread-insinuate): Add
42         riece-unread-update-channel-list-buffer to
43         riece-update-buffer-functions.
44
45         * riece-commands.el (riece-command-switch-to-channel): Call
46         riece-redisplay-buffers instead of riece-command-configure-windows.
47
48         * riece-identity.el (riece-completing-read-identity): Remove nil
49         from riece-current-channels before converting it to an alist.
50
51 2003-06-12  Daiki Ueno  <ueno@unixuser.org>
52
53         * riece-naming.el (riece-naming-assert-join): Call
54         riece-update-buffers.
55         (riece-naming-assert-part): Ditto.
56
57         * riece-filter.el (riece-sentinel): Don't bind
58         riece-overriding-server-name; use riece-part-channel.
59
60         * riece-display.el (riece-switch-to-channel): Don't set
61         riece-channel-buffer.
62         (riece-update-buffers): Set riece-channel-buffer here.
63
64         * riece-commands.el (riece-command-switch-to-channel-by-number): Fixed.
65         (riece-command-close-server): Fixed completion bug.
66         (riece-command-universal-server-name-argument): Ditto.
67
68 2003-06-12  Daiki Ueno  <ueno@unixuser.org>
69
70         * riece-doctor.el: Don't require 'doctor; autoload doctor-mode and
71         doctor-read-print.
72
73         * riece-handle.el (riece-handle-nick-message): Use
74         riece-decode-identity to decode user.
75         (riece-handle-join-message): Ditto.
76         (riece-handle-part-message): Ditto.
77         (riece-handle-kick-message): Ditto.
78         (riece-handle-quit-message): Ditto.
79         (riece-handle-kill-message): Ditto.
80         (riece-handle-invite-message): Ditto.
81         (riece-handle-topic-message): Ditto.
82         (riece-handle-mode-message): Ditto.
83
84 2003-06-12  Daiki Ueno  <ueno@unixuser.org>
85
86         * riece-message.el (riece-own-channel-message): Abolish.
87
88         * riece-commands.el (riece-command-send-message): Don't use
89         riece-own-channel-message.
90
91         * riece-doctor.el (riece-doctor-reply): Don't use
92         riece-own-channel-message.
93         (riece-doctor-hello-regexp): New user option.
94         (riece-doctor-bye-regexp): New user option.
95
96 2003-06-11  Daiki Ueno  <ueno@unixuser.org>
97
98         * riece-identity.el (riece-identity-member-no-server): Abolish.
99
100         * riece-doctor.el (riece-doctor-patients): Make it global variable.
101         (riece-doctor-after-privmsg-hook): Use riece-identity-member
102         instead of riece-identity-member-no-server.
103
104 2003-06-11  Daiki Ueno  <ueno@unixuser.org>
105
106         * riece-doctor.el: New add-on.
107         * COMPILE (riece-modules): Add riece-doctor.
108         * Makefile.am (EXTRA_DIST): Add riece-doctor.el
109
110 2003-06-11  Daiki Ueno  <ueno@unixuser.org>
111
112         * riece-handle.el (riece-handle-nick-message): Follow the change
113         of riece-identity-member.
114
115         * riece-commands.el (riece-command-next-channel): Use
116         riece-identity-member instead of riece-identity-member-no-server.
117         (riece-command-previous-channel): Ditto.
118
119 2003-06-11  Daiki Ueno  <ueno@unixuser.org>
120
121         * riece-identity.el (riece-completing-read-identity): Remove nil
122         from channels before completing-read.
123
124         * riece-message.el (riece-message-make-name): Fix condition for priv.
125         (riece-message-make-global-name): Ditto.
126         (riece-message-buffer): Ditto.
127
128         * riece-misc.el (riece-current-nickname): Use
129         riece-with-identity-buffer.
130
131 2003-06-11  Daiki Ueno  <ueno@unixuser.org>
132
133         * riece-message.el (riece-message-parent-buffers): Regard message's
134         speaker as target when priv mode.
135
136         * riece-display.el (riece-update-channel-indicator): Decode
137         riece-current-channel even in priv mode.
138
139         * riece-identity.el (riece-decode-identity): Respect prefix-only.
140         (riece-completing-read-identity): Check if illegal characters in
141         channel name.
142
143 2003-06-08  Daiki Ueno  <ueno@unixuser.org>
144
145         * riece.el (riece-buffer-mode-alist): Add riece-user-list-buffer.
146         * riece-globals.el (riece-user-buffer-format): Abolish.
147         (riece-user-list-buffer): Default to " *Users*".
148         * riece-display.el (riece-user-list-buffer-name): Abolish.
149         (riece-user-list-buffer-create): Abolish.
150
151 2003-06-08  Daiki Ueno  <ueno@unixuser.org>
152
153         * riece-filter.el (riece-handle-numeric-reply): Don't decode messages.
154         (riece-handle-message): Ditto.
155         (riece-sentinel): Clear system here.
156
157         * riece-server.el (riece-server-process-name): New function.
158         (riece-server-process): New function.
159         (riece-close-server): Abolish.
160
161         * riece-identity.el: Adopt vector object representation for
162         identity objects.
163         (riece-with-identity-buffer): New macro.
164         (riece-decode-identity): New function.
165         (riece-encode-identity): New function.
166
167         * riece-globals.el (riece-process-list): New variable.
168         (riece-server-process-alist): Abolish.
169         (riece-channel-buffer-alist): Abolish.
170         (riece-user-list-buffer-alist): Abolish.
171         (riece-short-channel-indicator): New variable.
172
173         * riece-channel.el: Assume that we are already in the server buffer.
174         * riece-user.el: Likewise.
175
176 2003-06-06  OHASHI Akira  <bg66@koka-in.org>
177
178         * riece-ndcc.el (riece-ndcc-server-sentinel): Close a parenthesis.
179
180         * riece-rdcc.el (riece-rdcc-insinuate): Don't use the 3rd argument of
181         `add-to-list'.
182
183 2003-06-06  Daiki Ueno  <ueno@unixuser.org>
184
185         * riece-channel.el (riece-forget-channel): Fixed.
186         (riece-channel-modeless-regexp): Abolish.
187         (riece-channel-modeless-p): Abolish.
188
189 2003-06-06  OHASHI Akira  <bg66@koka-in.org>
190
191         * riece-unread.el (riece-unread-display-message-function): Delete the
192         target before adding to list.
193         (riece-unread-switch-to-channel): New function.
194         (riece-unread-insinuate): Bind "\C-c\C-u" to riece-command-mode-map.
195         Bind "u" to riece-dialogue-mode-map.
196         Bind "u" to riece-channel-list-mode-map.
197
198         * riece.el (riece-channel-list-mode-map): Don't bind
199         `riece-command-unread-channel'.
200
201 2003-06-04  Yoichi NAKAYAMA  <yoichi@geiin.org>
202
203         * riece-000.el,riece-200.el,riece-300.el,riece-400.el,riece-500.el,
204         riece-commands.el,riece-filter.el,riece-handle.el,riece-highlight.el
205         riece-identity.el,riece-message.el,riece-misc.el,riece-naming.el,
206         riece.el: Don't require riece-inlines since it has been removed.
207
208 2003-06-03  Daiki Ueno  <ueno@unixuser.org>
209
210         * riece-display.el (riece-update-user-list-buffer): Rename from
211         riece-user-list-update-buffer.
212         (riece-update-channel-list-buffer): Rename from
213         riece-channel-list-update-buffer.
214
215 2003-06-03  Daiki Ueno  <ueno@unixuser.org>
216
217         * riece-identity.el (riece-identity-canonicalize-prefix): Moved
218         from riece-inlines.el; renamed from scandinavian-downcase.
219         (riece-identity-equal-no-server): Moved from riece-inlines.el;
220         renamed from scandinavian-equal-ignore-case.
221         (riece-identity-equal-no-server-safe): New function.
222         (riece-identity-member-no-server): Moved from riece-inlines.el;
223         renamed from scandinavian-member-ignore-case.
224         (riece-identity-member-no-server-safe): New function.
225
226         * riece-inlines.el: Removed.
227         * COMPILE (riece-modules): Remove riece-inlines.
228         * Makefile.am (EXTRA_DIST): Remove riece-inlines.el.
229
230 2003-06-03  Daiki Ueno  <ueno@unixuser.org>
231
232         * riece-rdcc.el (riece-rdcc-sentinel): Don't call delete-process
233         explicitly.
234         * riece-ndcc.el: Don't call delete-process explicitly.
235         * riece-server.el (riece-close-server-process): Don't call
236         delete-process explicitly unless riece-debug == t.
237
238 2003-06-03  Daiki Ueno  <ueno@unixuser.org>
239
240         * riece-inlines.el (scandinavian-downcase): New inline function.
241         (scandinavian-equal-ignore-case): Rename from
242         string-equal-ignore-case.
243         (scandinavian-member-ignore-case): Rename from
244         string-list-member-ignore-case.
245
246         * riece-identity.el (riece-identity-equal): Rename from
247         riece-identity-equal-no-server; use scandinavian-equal-ignore-case.
248         (riece-identity-equal-safe): Rename from riece-identity-equal.
249         (riece-identity-member): Rename from riece-identity-member-no-server.
250         (riece-identity-member-safe): Rename from riece-identity-member.
251         (riece-identity-assoc): Rename from riece-identity-assoc-no-server.
252         (riece-identity-assoc-safe): Rename from riece-identity-assoc.
253
254 2003-06-03  Daiki Ueno  <ueno@unixuser.org>
255
256         * riece-rdcc.el: Require 'riece-ctcp.
257         (riece-rdcc-insinuate): Add "DCC" to
258         riece-ctcp-additional-clientinfo.
259
260         * riece-ctcp.el (riece-ctcp-additional-clientinfo): New variable.
261         (riece-command-ctcp-clientinfo): New command.
262         (riece-ctcp-insinuate): Bind it in riece-dialogue-mode-map.
263         (riece-handle-ctcp-clientinfo-request): New handler.
264         (riece-handle-ctcp-clientinfo-response): New handler.
265
266         * riece-server.el (riece-open-server): No need to use
267         get-buffer-create to reuse process buffer.
268
269 2003-06-03  Daiki Ueno  <ueno@unixuser.org>
270
271         * riece-rdcc.el (riece-command-dcc-send): Generate new buffer for
272         DCC process.
273         (riece-command-dcc-receive): Likewise; don't set buffer-file-name.
274
275         * riece-server.el (riece-server-keyword-map): `:coding-system' ->
276         `:coding'.
277         (riece-open-server): Follow the change.
278
279         * riece-ctcp.el (riece-command-ctcp-action): New command.
280         (riece-ctcp-insinuate): Bind it in riece-dialogue-mode-map.
281         (riece-handle-ctcp-action-request): New handler.
282
283         * riece.el (riece-command-mode): Enclose status indicators with
284         `{}'; show riece-user-indicator.
285         (riece-channel-mode): Likewise.
286         (riece-dialogue-mode): Enclose status indicators with `{}'.
287         * riece-globals.el (riece-user-indicator): New indicator.
288         (riece-freeze-indicator): Default to "-".
289         * riece-display.el (riece-update-channel-indicator): Don't update
290         modeline.
291         (riece-update-status-indicators): Set riece-user-indicator.
292         * riece-300.el (riece-handle-324-message): Update channel indicator.
293
294 2003-06-02  Daiki Ueno  <ueno@unixuser.org>
295
296         * riece.el (riece-command-mode): Don't set riece-freeze-indicator.
297         (riece-dialogue-mode): Call riece-update-status-indicators.
298         (riece-channel-mode): Add riece-operator-indicator to
299         mode-line-buffer-identification.
300         * riece-user.el (riece-make-user): New attribute `operator'.
301         (riece-user-operator): New function.
302         (riece-user-set-operator): New function.
303         (riece-user-toggle-away): New function.
304         (riece-user-toggle-operator): New function.
305         * riece-misc.el (riece-own-frozen): Revive.
306         * riece-message.el (riece-display-message): Reset riece-freeze if
307         riece-freeze == 'own && (riece-message-own-p message).
308         * riece-globals.el (riece-own-freeze): Abolish; use riece-freeze.
309         (riece-operator-indicator): New variable.
310         * riece-display.el (riece-update-status-indicators): New function.
311         (riece-update-buffer-functions): Add it.
312         * riece-commands.el (riece-command-toggle-freeze): Don't call
313         riece-freeze.
314         (riece-command-toggle-own-freeze): Don't call riece-own-freeze.
315         * riece-300.el (riece-handle-302-message): Use
316         riece-user-toggle-away instead of riece-user-set-away.
317         (riece-handle-301-message): Ditto.
318         (riece-handle-305-message): Ditto.
319         (riece-handle-306-message): Ditto.
320         (riece-handle-352-message): Ditto.
321
322 2003-06-02  Yoichi NAKAYAMA  <yoichi@geiin.org>
323
324         * riece-commands.el (riece-command-next-channel): Circularly
325         follow the channel list.
326         (riece-command-previous-channel): Ditto.
327
328 2003-06-02  Daiki Ueno  <ueno@unixuser.org>
329
330         * riece.el (riece-command-mode): Set default value of riece-freeze
331         & riece-own-freeze.
332         * riece-options.el (riece-away-message): New user option.
333         * riece-commands.el (riece-command-toggle-away): Query user away
334         message.
335         * riece-300.el (riece-handle-301-message): Set user's away status.
336         (riece-handle-305-message): Ditto.
337         (riece-handle-306-message): Ditto.
338         (riece-handle-302-message): Ditto.
339         (riece-handle-352-message): Ditto.
340
341 2003-06-02  Daiki Ueno  <ueno@unixuser.org>
342
343         * riece-rdcc.el: Require riece-globals, riece-misc, riece-channel,
344         and riece-identity.
345         (riece-command-dcc-receive): Check the existence of
346         set-buffer-multibyte.
347
348 2003-06-02  Daiki Ueno  <ueno@unixuser.org>
349
350         * Riece: Version 0.0.3 released.
351         * riece-version.el (riece-version-number): Bump up to 0.0.3.
352
353         * riece-ctcp.el (riece-handle-ctcp-request): Catch errors occured
354         in hooks.
355         (riece-handle-ctcp-response): Ditto.
356
357 2003-06-01  Daiki Ueno  <ueno@unixuser.org>
358
359         * riece-user.el (riece-rename-user): Don't modify entry when
360         old-name == new-name.
361
362         * riece-display.el (riece-configure-windows): Use window-buffer
363         instead of current-buffer.
364
365         * riece-rdcc.el (riece-rdcc-server-address): Default to nil.
366         (riece-rdcc-ruby-command): New user option.
367         (riece-rdcc-send-program): New user option.
368         (riece-rdcc-decode-address-program): New user option.
369         (riece-rdcc-substitute-variables): New function.
370         (riece-command-dcc-send): Use it.
371         (riece-rdcc-decode-address): Use it.
372
373 2003-06-01  Daiki Ueno  <ueno@unixuser.org>
374
375         * riece-rdcc.el: New add-on.
376
377         * Makefile.am (EXTRA_DIST): Add riece-rdcc.el
378
379 2003-06-01  Daiki Ueno  <ueno@unixuser.org>
380
381         * riece-ndcc.el: New add-on.
382         * Makefile.am (EXTRA_DIST): Add riece-ndcc.el
383
384 2003-05-31  Daiki Ueno  <ueno@unixuser.org>
385
386         * riece-server.el (riece-open-server): Simplify message.
387
388         * riece-commands.el (riece-command-open-server): Throw an error
389         when the server is already opened.
390
391         * riece-filter.el (riece-sentinel): Simplified.
392
393         * riece-display.el (riece-user-list-update-buffer): Check the
394         existence of riece-user-list-buffer.
395         (riece-channel-list-update-buffer): Check the existence of
396         riece-channel-list-buffer.
397         (riece-set-window-points): Ditto.
398
399         * riece-commands.el (riece-command-open-server): Simplified.
400         (riece-command-toggle-channel-buffer-mode): Set
401         riece-save-variables-are-dirty to t.
402         (riece-command-toggle-user-list-buffer-mode): Ditto.
403         (riece-command-toggle-channel-list-buffer-mode): Ditto.
404
405         * riece-server.el (riece-start-server): Abolish.
406         (riece-open-server): Set riece-server-process-alist and
407         riece-server-process here.
408
409 2003-05-31  Daiki Ueno  <ueno@unixuser.org>
410
411         * riece-filter.el (riece-sentinel): Close process even if
412         riece-reconnect-with-password == t.
413         (riece-handle-message): Catch errors occured in hooks.
414
415         * riece-server.el (riece-open-server): Reuse server buffer.
416         (riece-close-server-process): Delete process even if process is
417         not running.
418
419 2003-05-31  Daiki Ueno  <ueno@unixuser.org>
420
421         * riece-server.el (riece-open-server): No need to reset
422         riece-reconnect-with-password.
423
424         * riece-filter.el (riece-sentinel): Don't call riece when
425         riece-reconnect-with-password = t and process !=
426         riece-server-process.
427
428         * riece-url.el: Fix usage.
429
430         * riece-inlines.el (string-list-member-ignore-case): Remove docstring.
431
432         * riece-unread.el: New add-on.
433         * COMPILE (riece-modules): Add riece-unread.
434         * Makefile.am (EXTRA_DIST): Add riece-unread.el
435
436         * riece-300.el (riece-handle-322-message): New handler.
437         (riece-handle-323-message): New handler.
438
439 2003-05-30  Daiki Ueno  <ueno@unixuser.org>
440
441         * riece-display.el (riece-configure-windows): Select other window
442         when minibuffer is active.
443
444         * riece-commands.el (riece-command-list): New command.
445         (riece-command-enter-message-as-notice): New command.
446         * riece.el (riece-command-mode-map): Bind
447         riece-command-enter-message-as-notice and riece-command-list.
448
449         * riece-server.el (riece-close-server): Skip nil when leaving
450         channels before closing server.
451
452 2003-05-30  Daiki Ueno  <ueno@unixuser.org>
453
454         * Riece: Version 0.0.2 released.
455         * riece-version.el (riece-version-number): Bump up to 0.0.2.
456
457         * riece.el (riece-load-and-build-addon-dependencies): Fixed.
458         * riece-url.el (riece-url-requires): Don't assert dependency on
459         riece-highlight unless it appears in riece-addons.
460
461         * riece-url.el: New add-on.
462         * COMPILE (riece-modules): Add riece-url.
463
464         * riece-message.el (riece-message-make-bracket): Abolish.
465         * riece-highlight.el (riece-highlight-font-lock-keywords):
466         Give up to fontify "-nick-" or "-nick server-".
467
468         * riece-highlight.el (riece-highlight-font-lock-keywords):
469         Simplified regexp.
470
471         * riece-ctcp.el (riece-handle-ctcp-request): Don't bind user.
472         (riece-handle-ctcp-response): Ditto.
473
474         * riece-highlight.el: Make it an add-on.
475         (riece-highlight-insinuate): New function.
476         * riece.el: Don't require 'riece-highlight.
477         * riece-options.el (riece-addons): Turn on riece-highlight and
478         riece-ctcp by default.
479
480         * riece-display.el (riece-configure-windows-predicate): New function.
481         (riece-configure-windows-predicate): New user option.
482         (riece-redisplay-buffers): Use it.
483
484         * riece-complete.el: Require 'cl for butlast.
485
486         * Makefile.am (elc): Renamed from "compile".
487
488         * riece.el (riece-dialogue-mode-map): Bind
489         riece-command-toggle-channel-list-buffer-mode.
490
491         * riece-display.el (riece-configure-windows): Typo fixed.
492
493         * riece-user.el (riece-user-toggle-channel): Use member instead of
494         memq.
495
496 2003-05-29  Daiki Ueno  <ueno@unixuser.org>
497
498         * riece-ctcp.el (riece-ctcp-insinuate): New function.
499
500         * riece-options.el (riece-addons): New user option.
501         (riece-addon-directory): New user option.
502
503         * riece.el (riece-load-and-build-addon-dependencies): New function.
504         (riece-insinuate-addons): New function.
505         (riece): Call riece-insinuate-addons.
506
507         * riece-misc.el (riece-get-users-on-server): Moved from
508         riece-commands.el.
509
510         * riece-ctcp.el: New file.
511         * COMPILE (riece-modules): Add riece-ctcp.
512         * Makefile.am (EXTRA_DIST): Add riece-ctcp.el
513
514 2003-05-29  Daiki Ueno  <ueno@unixuser.org>
515
516         * Riece: Version 0.0.1 released.
517
518         * riece-commands.el (riece-command-names): New command.
519         (riece-command-who): New command.
520
521         * riece.el (riece-dialogue-mode-map): Bind riece-command-names and
522         riece-command-who.
523
524         * riece-300.el (riece-handle-341-message): New handler.
525         (riece-handle-352-message): New handler.
526
527         * riece-commands.el (riece-command-invite): Don't accept channel
528         argument; throw an error when user is not on a channel.
529         (riece-command-kick): New command.