NOTE: This patch has been committed.
xemacs-packages source patch:
Diff command: cvs -q diff -u
Files affected: xemacs-packages/riece/lisp/test/lunit.el
xemacs-packages/riece/lisp/test/Makefile.am xemacs-packages/riece/lisp/riece.el
xemacs-packages/riece/lisp/riece-xemacs.el xemacs-packages/riece/lisp/riece-version.el
xemacs-packages/riece/lisp/riece-user.el xemacs-packages/riece/lisp/riece-unread.el
xemacs-packages/riece/lisp/riece-signal.el xemacs-packages/riece/lisp/riece-server.el
xemacs-packages/riece/lisp/riece-options.el xemacs-packages/riece/lisp/riece-misc.el
xemacs-packages/riece/lisp/riece-message.el xemacs-packages/riece/lisp/riece-menu.el
xemacs-packages/riece/lisp/riece-log.el xemacs-packages/riece/lisp/riece-layout.el
xemacs-packages/riece/lisp/riece-keyword.el xemacs-packages/riece/lisp/riece-irc.el
xemacs-packages/riece/lisp/riece-handle.el xemacs-packages/riece/lisp/riece-globals.el
xemacs-packages/riece/lisp/riece-foolproof.el xemacs-packages/riece/lisp/riece-filter.el
xemacs-packages/riece/lisp/riece-emacs.el xemacs-packages/riece/lisp/riece-display!
.el xemacs-packages/riece/lisp/riece-ctcp.el xemacs-packages/riece/lisp/riece-compat.el
xemacs-packages/riece/lisp/riece-commands.el xemacs-packages/riece/lisp/riece-channel.el
xemacs-packages/riece/lisp/riece-button.el xemacs-packages/riece/lisp/riece-biff.el
xemacs-packages/riece/lisp/riece-alias.el xemacs-packages/riece/lisp/riece-addon.el
xemacs-packages/riece/lisp/riece-400.el xemacs-packages/riece/lisp/riece-300.el
xemacs-packages/riece/lisp/riece-000.el xemacs-packages/riece/lisp/Makefile.am
xemacs-packages/riece/lisp/COMPILE xemacs-packages/riece/doc/riece-ja.texi
xemacs-packages/riece/doc/riece-en.texi xemacs-packages/riece/doc/irchat-copyright.el
xemacs-packages/riece/package-info.in xemacs-packages/riece/configure.ac
xemacs-packages/riece/acinclude.m4 xemacs-packages/riece/README xemacs-packages/riece/NEWS
xemacs-packages/riece/Makefile.am xemacs-packages/riece/Makefile
Index: xemacs-packages/riece/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/ChangeLog,v
retrieving revision 1.14
diff -u -F^( -u -r1.14 ChangeLog
--- xemacs-packages/riece/ChangeLog 7 Dec 2004 21:48:46 -0000 1.14
+++ xemacs-packages/riece/ChangeLog 20 Mar 2005 09:09:56 -0000
@@ -1,3 +1,17 @@
+2005-03-06 Daiki Ueno <ueno(a)unixuser.org>
+
+ * Riece: Version 1.0.8 released.
+ * configure.ac: Bump up version to 1.0.8.
+
+2005-02-05 Daiki Ueno <ueno(a)unixuser.org>
+
+ * Riece: Version 1.0.7 released.
+ * configure.ac: Bump up version to 1.0.7.
+
+2004-12-07 Daiki Ueno <ueno(a)unixuser.org>
+
+ * README.ja: New file.
+
2004-12-07 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 1.17 released.
Index: xemacs-packages/riece/Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/Makefile,v
retrieving revision 1.14
diff -u -F^( -u -r1.14 Makefile
--- xemacs-packages/riece/Makefile 7 Dec 2004 21:48:46 -0000 1.14
+++ xemacs-packages/riece/Makefile 20 Mar 2005 09:09:56 -0000
@@ -20,7 +20,7 @@
# This XEmacs package contains the riece IRC client package
VERSION = 1.17
-AUTHOR_VERSION = 1.0.6
+AUTHOR_VERSION = 1.0.8
MAINTAINER = Daiki Ueno <ueno(a)unixuser.org>
PACKAGE = riece
PKG_TYPE = regular
@@ -29,24 +29,27 @@
include ../../Local.rules.inc
-ELCS = lisp/riece-compat.elc lisp/riece-xemacs.elc lisp/riece-globals.elc \
- lisp/riece-options.elc lisp/riece-version.elc lisp/riece-coding.elc \
- lisp/riece-complete.elc lisp/riece-addon.elc lisp/riece-mode.elc \
- lisp/riece-identity.elc lisp/riece-channel.elc lisp/riece-user.elc \
- lisp/riece-misc.elc lisp/riece-signal.elc lisp/riece-layout.elc \
- lisp/riece-display.elc lisp/riece-server.elc lisp/riece-naming.elc \
- lisp/riece-message.elc lisp/riece-filter.elc lisp/riece-handle.elc \
- lisp/riece-000.elc lisp/riece-200.elc lisp/riece-300.elc \
- lisp/riece-400.elc lisp/riece-500.elc lisp/riece-commands.elc \
- lisp/riece-irc.elc lisp/riece.elc lisp/riece-ctcp.elc \
- lisp/riece-highlight.elc lisp/riece-log.elc lisp/riece-mini.elc \
- lisp/riece-rdcc.elc lisp/riece-url.elc lisp/riece-unread.elc \
- lisp/riece-doctor.elc lisp/riece-alias.elc lisp/riece-foolproof.elc \
- lisp/riece-guess.elc lisp/riece-history.elc lisp/riece-button.elc \
- lisp/riece-keyword.elc lisp/riece-menu.elc lisp/riece-icon.elc \
- lisp/riece-async.elc lisp/riece-lsdb.elc lisp/riece-xface.elc \
- lisp/riece-ctlseq.elc lisp/riece-ignore.elc lisp/riece-hangman.elc \
- lisp/riece-biff.elc lisp/riece-kakasi.elc lisp/riece-yank.elc
+ELCS = lisp/riece-000.elc lisp/riece-200.elc lisp/riece-300.elc \
+ lisp/riece-400.elc lisp/riece-500.elc lisp/riece-addon.elc \
+ lisp/riece-alias.elc lisp/riece-async.elc lisp/riece-biff.elc \
+ lisp/riece-button.elc lisp/riece-channel.elc lisp/riece-coding.elc \
+ lisp/riece-commands.elc lisp/riece-compat.elc lisp/riece-complete.elc \
+ lisp/riece-ctcp.elc lisp/riece-ctlseq.elc lisp/riece-debug.elc \
+ lisp/riece-display.elc lisp/riece-doctor.elc lisp/riece-emacs.elc \
+ lisp/riece-eval.elc lisp/riece-filter.elc lisp/riece-foolproof.elc \
+ lisp/riece-globals.elc lisp/riece-google.elc lisp/riece-guess.elc \
+ lisp/riece-handle.elc lisp/riece-hangman.elc lisp/riece-highlight.elc \
+ lisp/riece-history.elc lisp/riece-icon.elc lisp/riece-identity.elc \
+ lisp/riece-ignore.elc lisp/riece-irc.elc lisp/riece-kakasi.elc \
+ lisp/riece-keepalive.elc lisp/riece-keyword.elc lisp/riece-layout.elc \
+ lisp/riece-log.elc lisp/riece-lsdb.elc lisp/riece-menu.elc \
+ lisp/riece-message.elc lisp/riece-mini.elc lisp/riece-misc.elc \
+ lisp/riece-mode.elc lisp/riece-naming.elc lisp/riece-ndcc.elc \
+ lisp/riece-options.elc lisp/riece-rdcc.elc lisp/riece-server.elc \
+ lisp/riece-signal.elc lisp/riece-skk-kakutei.elc \
+ lisp/riece-toolbar.elc lisp/riece-unread.elc lisp/riece-url.elc \
+ lisp/riece-user.elc lisp/riece-version.elc lisp/riece-xemacs.elc \
+ lisp/riece-xface.elc lisp/riece-yank.elc lisp/riece.elc
EXTRA_SOURCES = lisp/riece-emacs.el lisp/riece-skk-kakutei.el lisp/url-riece.el
AUTOLOAD_PATH = lisp
@@ -58,5 +61,7 @@
endif
PRELOADS = -eval \("push \"./lisp\" load-path"\)
+
+DATA_1_FILES = $(wildcard lisp/*.xpm)
include ../../XEmacs.rules
Index: xemacs-packages/riece/Makefile.am
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/Makefile.am,v
retrieving revision 1.2
diff -u -F^( -u -r1.2 Makefile.am
--- xemacs-packages/riece/Makefile.am 5 Sep 2004 09:04:14 -0000 1.2
+++ xemacs-packages/riece/Makefile.am 20 Mar 2005 09:09:56 -0000
@@ -1,5 +1,5 @@
SUBDIRS = lisp doc
-EXTRA_DIST = INSTALL-CVS
+EXTRA_DIST = INSTALL-CVS README.ja NEWS.ja
AUTOMAKE_OPTIONS = no-dependencies
if XEMACS
Index: xemacs-packages/riece/NEWS
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/NEWS,v
retrieving revision 1.1.1.1
diff -u -F^( -u -r1.1.1.1 NEWS
--- xemacs-packages/riece/NEWS 25 Oct 2003 09:25:38 -0000 1.1.1.1
+++ xemacs-packages/riece/NEWS 20 Mar 2005 09:09:56 -0000
@@ -0,0 +1,492 @@
+* Major changes in 1.0.8
+
+** Mitigate file locking scheme of riece-log. (ueno)
+
+** Format idle seconds in human readable form. (ueno)
+
+** Separate riece-obarray into riece-channel-obarray and
+ riece-user-obarray. (kaoru)
+
+** Fixed bugs caused by mishandling of channel names (which should be
+ case insensitive.) (ueno)
+
+** Support SXEmacs version names. (Steve Youngs)
+
+** Support CTCP TIME. (Steve Youngs)
+
+** Ignore directories under ~/.riece/addons. (kaoru)
+
+** Fixed wrong-number-of-arguments error on riece-command-part. (yoichi)
+
+** Fixed a bug which assumes existence of ~/.riece/addons when
+ startup. (ueno)
+
+* Major changes in 1.0.7
+
+** New add-on riece-toolbar. (ueno)
+ riece-toolbar displays icons on toolbar. Currently not all the
+ icons are included.
+
+** New add-on riece-keepalive. (ueno)
+ riece-keepalive spontaneously sends a PING message to server to
+ keep an IRC connection.
+
+** New add-on riece-google. (bg66)
+ riece-google searches on Google and sends the result to the channel.
+
+** New add-on riece-eval. (bg66)
+ riece-eval evaluates elisp expression and sends the result to the channel.
+
+** Some add-ons are enabled by default. (ueno)
+ riece-log, riece-alias, riece-ctlseq, and riece-keyword are now
+ enabled by default.
+
+** New command riece-command-suspend-resume. (ueno)
+ riece-command-suspend-resume saves or restores the current window
+ configuration.
+
+** Preserve cursor position when clicking button widget. (ueno)
+
+** Decorate modeline indicator with faces. (ueno)
+
+** Count users in NAMES reply. (ueno)
+
+** New user option riece-part-message. (ueno)
+
+** Add-ons located in riece-addon-directory are automatically enabled. (ueno)
+
+** Default value of riece-buffer-dispose-function is now kill-buffer. (ueno)
+
+** Backtrace when encountered an error in process-filter. (ueno)
+
+** Ask channel key to user when it is required. (ueno)
+
+** Automatic buffer shrinking is now disabled by default. (ueno)
+
+** New directory structure for riece-log. (ueno)
+
+** Fixed a bug in user-renamed signal-filter. (kaoru)
+
+** Fixed a bug in riece-command-enable-addon and
+ riece-command-disable-addon. (yoichi)
+
+* Major changes in 1.0.6
+
+** Bundle url-riece, a backend of url-irc which comes with the recent
+ GNU Emacs. (Yamato-san)
+
+** New user option riece-url-regexp-alist to allow users to define
+ mapping from arbitrary strings (such as "Bug#12345") to URL. (This
+ feature is a backport from Liece) (ueno)
+
+** New modeline indicator which represents user's channel operator
+ status in the current channel. (ueno, thanks to k-to)
+
+** Remove multiple lines at a time when shrinking channel buffers.
+ Number of lines to be removed is controlled by
+ riece-shrink-buffer-remove-lines option. (ueno, thanks to ysjj)
+
+** riece-alias-alist now works again. (ueno)
+
+** Fixed a bug in flow control for sending long messages, introduced
+ in 1.0.4. (ueno)
+
+** New command riece-submit-bug-report to generate a template for good
+ problem report. (ueno)
+
+** Accept radical IRC proxy programs which break with tradition of the
+ original IRC server implementation. (ueno, thanks to k-to san)
+
+** New key bind C-c # <number> to switch channel by number. (ueno,
+ thanks to ysjj)
+
+** If a prefix-argument is given, riece-yank sends message as a NOTICE. (bg66)
+
+* Major changes in 1.0.5
+
+** Added some test cases. (ueno)
+
+** Alternate separator string for channel names. (ueno)
+ In case riece-alias-alternate-separator set to "@", rewriting will
+ be done as follows:
+
+ "#riece" -> "#riece"
+ "#riece localhost" -> "#riece@localhost"
+ "#ch@nnel" -> "#ch@@nnel"
+ "#ch@nnel localhost" -> "#ch@@nnel@localhost"
+
+** Fixed interop bug in DCC. (ueno)
+
+** New add-on riece-yank to send strings from kill-ring. (by Yamato-san)
+
+** English translation of texinfo document is included. (ueno)
+
+* Major changes in 1.0.4
+
+** Do "flow control" to avoid flooding. (ueno)
+
+** Automatically open servers when joining channels at startup. Users
+ can now omit riece-startup-server-list settings. (ueno)
+
+** riece-mini provides a command to browse recent messages. (bg66)
+
+* Major changes in 1.0.3
+
+NOTE: This release includes some fixes to long standing bugs in essential features. I
recommend to upgrade from the older versions.
+
+** Remove nonexistent users from user list. (Thanks to Yamashita-san)
+
+** Improved line truncation customizability. Users can now control it
+ by simply setting truncate-lines on each buffer. (Thanks to
+ Yamashita-san)
+
+** Added new user option riece-window-center-line to control buffer
+ scrolling behavior.
+
+** Fixed completion bug in command buffer. (Thanks to Yamashita-san)
+
+** Remove chat partner from channel list when he/she resigned from
+ IRC. (Thanks to Morimoto-san)
+
+** Exit immediately after an error occurred in connecting to the
+ default IRC server. (Thanks to k-to san)
+
+* Major changes in 1.0.2
+
+** Fixed problem hiding menubar menus when riece-url is enabled.
+
+** Split IRC protocol interface from the core modules.
+
+** Fixed minor bugs.
+
+* Major changes in 1.0.1
+
+** Arranged background colors of modeline faces (for XEmacs)
+
+** When changing channel modes, do not prepend ":" to MODE message
+ (Thanks to Yamada-san)
+
+** Added riece-foolproof add-on which prevents miss posting to
+ channels (by Takahashi-san)
+
+** Arranged the order of modeline elements on channel buffers (by
+ Takahashi-san)
+
+** Changed open/close bracket for displaying own notices (by Takahashi-san)
+
+** Don't register signal-slot functions duplicatedly.
+
+** New user command riece-command-beginning-of-buffer bound to C-c Home.
+
+** For frozen channels, preserve cursor position of channel buffers
+ while zapping between other channels.
+
+** Follow the change in emacs-cvs, check the return value of
+ current-word (by Nakayama-san)
+
+** Fixed random number generation logic for riece-hangman (by Takahashi-san)
+
+** Signal "No text to send" error if user types C-c p on an empty line.
+
+** New user option riece-startup-ignored-user-list: which can be used
+ to set up riece-ignored-user-list in ~/.riece/init.el.
+
+** Allow sending/receiving files whose names contain whitespaces.
+
+* Major changes in 1.0.0
+
+** New UI for enabling/disabling add-ons (to enter this mode, C-c ^)
+
+** Fixed bug that a user couldn't quit password input with C-g.
+
+** New add-on "riece-hangman" which allows channel members to play hangman(6).
+
+** Display error message on C-c q when no IRC process are running.
+
+** New add-on "riece-ignore" which allows to ignore messages from
+ particular users.
+
+** Accept nicknames consisting more than 9 letters.
+
+** Avoid duplicate initialization of add-ons.
+
+** New add-on "riece-biff" which displays biff mark ("[R]") on
+ mode-line. (by Ohashi-san)
+
+** New add-on "riece-kakasi" which converts Japanese to roman string.
+
+** Fixed prompt strings to indicate the current action more
+ precisely. (suggested by Yamashita-san)
+
+* Major changes in 0.2.2
+
+** Interpret control sequences used in IRC such as ^B, ^V, ^_, etc.
+ This feature is implemented as an add-on called riece-ctlseq.
+
+** Fixed bug that private messages were not treated as unread.
+
+** Buffer "freeze" status can be toggled in each buffer respectively.
+ (use C-t C-f)
+
+** Use canonicalized channel names to locate directories where log
+ files are stored. (by Ohashi-san)
+
+* Major changes in 0.2.0
+
+** Introduced "signal-slot" (as in Qt, GTK+) mechanism to routing
+ display events.
+
+** When a user requests NAMES, insert nicknames into the channel buffer.
+
+** Fixed bug in riece-lsdb. (by Nakayama-san)
+
+* Major changes in 0.1.8
+
+** Added riece-lsdb add-on which cooperates with LSDB.
+** Added riece-xface add-on which displays X-Faces in user list buffer.
+
+** Fixed bug that channel names were treated case sensitively.
+
+** Handle messages from other clients which use the same IRC proxy.
+ (by Takahashi-san)
+
+* Major changes in 0.1.7
+
+** Added riece-async add-on which provides safe connection to an IRC
+ server via local proxy which responds to PING requests while Emacs
+ is busy or suspended.
+
+** Fixed changing user away status bug when riece-away-message is set.
+ (Thanks to Fujimura-san)
+
+** Remove side effects on standard-syntax-table when loading.
+ (Thanks to Hori-san)
+
+** Can join channels on several servers at startup by setting
+ riece-startup-server-list as well as riece-startup-channel-list.
+
+** New user option `riece-log-coding-system' to specify default coding
+ system used for log files.
+
+** New user option `riece-keyword-notify-functions' called when
+ someone spoke a message including the specified keyword. Please use
+ it instead of `riece-notify-keyword-functions'(very confusing
+ name!).
+
+** riece-log-flashback also restores faces and buttons.
+
+** riece-{unread,mini} ignores NOTICE and CTCP ACTION messages.
+
+* Major changes in 0.1.6
+
+** Fixed running problems on Emacs 20.7.
+
+** Fixed compilation failure on XEmacs 21.1.
+
+** Allow riece-rdcc to receive large files without memory consumption.
+
+** Check channel modes when joinning if riece-gather-channel-modes == t.
+
+** Fixed run-idle-timer usage to shrink channel buffers.
+
+** Fixed buffer scrolling behavior when switching channels.
+
+** Allow to specify qualified channel names in
+ riece-log-directory-map. (by Ohashi-san)
+
+* Major changes in 0.1.5
+
+** Added 6 new window layouts.
+
+** Automatically save/restore the current window layout.
+
+** Added riece-icon add-on which decorates buffers with icons.
+
+** Speedup in redrawing the user list buffer.
+
+** Improve usability of CTCP ACTION (Thanks to knu-san)
+
+** Fixed bug in riece-rdcc which causes freeze on DCC SEND.
+
+** When riece server was opened, Do riece-command-configure-windows
+ instead of signaling. (Thanks to Ohashi-san)
+
+** Fixed bug in C-c o (riece-command-set-operators) and C-c v
+ (riece-command-set-speakers).
+
+** Shrink buffers when they exceeds riece-max-buffer-size.
+
+* Major changes in 0.1.4
+
+** Bind "N" instead of "\C-n" to riece-command-names in channel
+ buffers. (thanks to Takahashi-san)
+
+** Fixed bug causing an error when the user typed C-c C-t a
+ (riece-command-toggle-away). (thanks to Maeda-san)
+
+** Don't redisplay buffers when the current selected window doesn't
+ display Riece buffers.
+
+** Don't reuse buffers created by different programs. Genereate new
+ buffer in such case.
+
+** Fixed bug which doesn't allow to join a channel whose name is
+ beginning with "!!".
+
+** When riece-keyword is effective, don't check if the message from
+ myself contains given keywords.
+
+** Signal an error when the user issues a command which assumes the
+ current channel though the current channel is not available.
+
+** Added riece-menu add-on which adds a menu entry in the menubar.
+
+* Major changes in 0.1.3
+
+** Treat channel names in PRIVMSG/NOTICE messages case-insensitively.
+
+** When riece-history is effective, mark the last visited channel with "+".
+
+** Added riece-button add-on which decorates buffers with buttons and
+ define some popup-menus.
+
+** Added riece-keyword add-on which notifies the user when the arrived
+ message contains given keywords.
+
+ If you are using XEmacs and want to be notified of keywords with
+ sound, add the following lines to your ~/.riece/init.el:
+
+ (load-default-sounds)
+ (setq riece-keywords '("foo" "bar"))
+ (add-hook 'riece-notify-keyword-functions
+ (lambda (keyword) (play-sound 'cuckoo)))
+
+* Major changes in 0.1.2
+
+** Fixed bug when joinning a channel using a key.
+
+** Revive riece-startup-channel-list.
+
+** New user option riece-rdcc-save-directory is added.
+
+** Fixed unable to interrupt password input.
+
+** Fixed bug in the INVITE handler.
+
+** Prompt a channel name when the user joins the invited channel.
+
+** Fixed bug that occasionally kept riece-channel-list-indicator not
+ up to date.
+
+* Major changes in 0.1.1
+
+** Load some add-ons by default.
+
+** Fixed bug with riece-default-channel-binding not working.
+
+** Mark the current channel with "*" in *Channels* buffer.
+
+** If riece-debug is turned off, don't report connection status when exiting.
+
+** New add-on: riece-history manages channel switching history.
+
+** New add-on: riece-guess offers the next channel user may want to check.
+
+ Tips:
+
+ If you have the following lines in ~/.riece/init.el:
+
+ (setq riece-guess-channel-try-functions
+ '(riece-guess-channel-from-unread
+ riece-guess-channel-from-history))
+
+ By hitting `C-c g' repeatedly, you can check channels in the
+ following order:
+
+ 1. Channels where there is unread message.
+ 2. Channels where you have visited recently.
+ 3. The rest.
+
+* Major changes in 0.1.0
+
+** Use vectors to represent channels and users.
+
+** Improve process management:
+ -- Server names are now embedded in process names.
+ -- Integrate scattered connection management code into riece-server.el.
+ -- Force disconnect if the server does not respond after sending QUIT.
+
+** New add-on: riece-doctor.el allows to pretended to be a doctor.
+
+** Window configuration can be easily switched by hitting C-c t l.
+
+** New add-on: riece-skk-kakutei.el avoids ▽ being included in
+ spoken text, when you are using SKK. (by Takahashi-san)
+
+** New predefined layout which emulates "top" window-style as in Liece.
+ (by Takahashi-san)
+
+* Major changes in 0.0.4
+
+** Added riece-mini add-on which allows conversation through a
+ minibuffer (by Ohashi-san).
+
+** Added log collector add-on (riece-log) (by Ohashi-san).
+
+** riece-command-next-channel (C-c >) and
+ riece-command-previous-channel (C-c <) now follow the channel list
+ circularly (by Nakayama-san).
+
+** When riece-unread is enabled, you can quickly check the unread
+ channels by hitting C-c C-u (by Ohashi-san).
+
+** Display of status indicators obeys some IRC messages.
+
+** Replaced ptexinfmt.el with the version which does not depend on
+ APEL (Thanks to Yamaoka-san).
+
+* Major changes in 0.0.3
+
+** Fix bug connecting to two servers which require passwords (Thanks
+ to Nakayama-san)
+
+** Fix inconsistency when changing case of letters in nickname
+
+** Catch all errors occured in handler hooks
+
+** Support DCC file transfer (riece-ndcc.el, riece-rdcc.el)
+
+** Add "mark unread channels" add-on (riece-unread.el)
+
+** Add Japanese texinfo manual (I'll translate it in the future)
+
+* Major changes in 0.0.2
+
+** Don't use APEL functions (pop, push)
+
+** "depcomp" was missing in the previous archive (sorry!)
+
+** Fix bug building on Windows environment (Thanks to Ohashi-san)
+
+** Fix inconsistency when changing nickname
+
+** Fix bug on C-c C-t u (M-x riece-command-toggle-user-list-mode)
+
+** Provide add-on mechanism
+
+** Partial support for CTCP
+
+** Make font-lock related module (riece-highlight) add-on
+
+** Revive URL collector (formerly liece-url) as add-on
+
+* Major changes in 0.0.1
+
+** Initial release.
+
+* For details of changes, see the file ChangeLog.
+
+Local variables:
+mode: outline
+paragraph-separate: "[ ]*$"
+end:
cvs server: xemacs-packages/riece/NEWS.ja is a new entry, no comparison available
Index: xemacs-packages/riece/README
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/README,v
retrieving revision 1.1.1.1
diff -u -F^( -u -r1.1.1.1 README
--- xemacs-packages/riece/README 25 Oct 2003 09:25:38 -0000 1.1.1.1
+++ xemacs-packages/riece/README 20 Mar 2005 09:09:56 -0000
@@ -1,7 +1,6 @@
* What's this?
-Riece is an IRC client for Emacs. The development has started to
-redesign the Liece IRC client.
+Riece is an IRC client for Emacs.
Riece provides the following features:
@@ -12,7 +11,7 @@
- Setup is easy. Automatically save/restore the configuration.
- Riece uses separate windows to display users, channels, and
dialogues. The user can select the window layout.
-- Step-by-step instructions (currently written in Japanese) are included.
+- Step-by-step instructions (in info format) are included.
- Mostly compliant with RFC 2812.
* Directory tree
cvs server: xemacs-packages/riece/README.ja is a new entry, no comparison available
Index: xemacs-packages/riece/acinclude.m4
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/acinclude.m4,v
retrieving revision 1.1.1.1
diff -u -F^( -u -r1.1.1.1 acinclude.m4
--- xemacs-packages/riece/acinclude.m4 25 Oct 2003 09:25:38 -0000 1.1.1.1
+++ xemacs-packages/riece/acinclude.m4 20 Mar 2005 09:09:56 -0000
@@ -1,11 +1,11 @@
-AC_DEFUN(AC_DEFINE_GNUS_PRODUCT_NAME,
+AC_DEFUN([AC_DEFINE_GNUS_PRODUCT_NAME],
[echo $ac_n "defining gnus product name... $ac_c"
AC_CACHE_VAL(EMACS_cv_GNUS_PRODUCT_NAME,[EMACS_cv_GNUS_PRODUCT_NAME=$1])
GNUS_PRODUCT_NAME=${EMACS_cv_GNUS_PRODUCT_NAME}
AC_MSG_RESULT(${GNUS_PRODUCT_NAME})
AC_SUBST(GNUS_PRODUCT_NAME)])
-AC_DEFUN(AC_CHECK_EMACS,
+AC_DEFUN([AC_CHECK_EMACS],
[dnl Check for Emacsen.
dnl Apparently, if you run a shell window in Emacs, it sets the EMACS
@@ -35,7 +35,7 @@
AC_SUBST(EMACS)
AC_SUBST(XEMACS)])
-AC_DEFUN(AC_EMACS_LISP, [
+AC_DEFUN([AC_EMACS_LISP], [
elisp="$2"
if test -z "$3"; then
AC_MSG_CHECKING(for $1)
@@ -55,7 +55,7 @@
fi
])
-AC_DEFUN(AC_CHECK_EMACS_FLAVOR,
+AC_DEFUN([AC_CHECK_EMACS_FLAVOR],
[AC_MSG_CHECKING([what a flavor does $EMACS have])
dnl Ignore cache.
@@ -76,7 +76,7 @@
esac
AC_MSG_RESULT($EMACS_cv_SYS_flavor)])
-AC_DEFUN(AC_PATH_LISPDIR, [
+AC_DEFUN([AC_PATH_LISPDIR], [
AC_CHECK_EMACS_FLAVOR
if test "$prefix" = NONE; then
AC_MSG_CHECKING([prefix for your Emacs])
@@ -113,7 +113,7 @@
AC_SUBST(lispdir)
])
-AC_DEFUN(AC_PATH_ETCDIR, [
+AC_DEFUN([AC_PATH_ETCDIR], [
AC_ARG_WITH(etcdir,[ --with-etcdir=DIR Where to install etc files],
etcdir=${withval})
AC_MSG_CHECKING([where etc files should go])
if test -z "$etcdir"; then
@@ -128,7 +128,7 @@
dnl Check whether a function exists in a library
dnl All '_' characters in the first argument are converted to '-'
dnl
-AC_DEFUN(AC_EMACS_CHECK_LIB, [
+AC_DEFUN([AC_EMACS_CHECK_LIB], [
if test -z "$3"; then
AC_MSG_CHECKING(for $2 in $1)
fi
@@ -150,7 +150,7 @@
dnl
dnl Perform sanity checking and try to locate the W3 package
dnl
-AC_DEFUN(AC_CHECK_W3, [
+AC_DEFUN([AC_CHECK_W3], [
AC_MSG_CHECKING(for acceptable W3 version)
dnl Ignore cache.
@@ -184,7 +184,7 @@
dnl
dnl Perform sanity checking and try to locate the W3 package
dnl
-AC_DEFUN(AC_CHECK_URL, [
+AC_DEFUN([AC_CHECK_URL], [
AC_MSG_CHECKING(for acceptable URL version)
dnl Ignore cache.
@@ -220,7 +220,7 @@
dnl Bitstream Courier.
dnl
-AC_DEFUN(GNUS_CHECK_FONTS, [
+AC_DEFUN([GNUS_CHECK_FONTS], [
test "$LATEX" = t && LATEX=
test "$LATEX" || AC_PATH_PROGS(LATEX, latex, no)
AC_MSG_CHECKING(for available fonts)
@@ -305,7 +305,7 @@
AC_SUBST(USE_FONTS)
])
-AC_DEFUN(AC_EXAMINE_PACKAGEDIR,
+AC_DEFUN([AC_EXAMINE_PACKAGEDIR],
[dnl Examine PACKAGEDIR.
AC_EMACS_LISP(PACKAGEDIR,
(let (package-dir)\
@@ -323,7 +323,7 @@
(or package-dir \"\")),
"noecho")])
-AC_DEFUN(AC_PATH_PACKAGEDIR,
+AC_DEFUN([AC_PATH_PACKAGEDIR],
[dnl Check for PACKAGEDIR.
if test ${EMACS_FLAVOR} = xemacs; then
AC_MSG_CHECKING([where the XEmacs package is])
@@ -345,7 +345,7 @@
fi
AC_SUBST(PACKAGEDIR)])
-AC_DEFUN(AC_ADD_LOAD_PATH,
+AC_DEFUN([AC_ADD_LOAD_PATH],
[dnl Check for additional load path.
AC_ARG_WITH(addpath,
[ --with-addpath=PATH search Emacs-Lisp libraries with PATH
Index: xemacs-packages/riece/configure.ac
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/configure.ac,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 configure.ac
--- xemacs-packages/riece/configure.ac 5 Dec 2004 04:12:51 -0000 1.5
+++ xemacs-packages/riece/configure.ac 20 Mar 2005 09:09:56 -0000
@@ -1,10 +1,7 @@
-AC_INIT(configure.ac)
-AC_PREREQ(2.50)
-AM_INIT_AUTOMAKE(riece, 1.0.6)
-
-AC_ISC_POSIX
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
+AC_INIT
+AC_CONFIG_SRCDIR([configure.ac])
+AC_PREREQ(2.59)
+AM_INIT_AUTOMAKE(riece, 1.0.8)
AC_CHECK_EMACS
AC_PATH_LISPDIR
@@ -12,7 +9,8 @@
AM_CONDITIONAL(XEMACS, test ${EMACS_FLAVOR} = xemacs)
-AC_OUTPUT(Makefile \
+AC_CONFIG_FILES([Makefile
lisp/Makefile
lisp/test/Makefile
-doc/Makefile)
+doc/Makefile])
+AC_OUTPUT
Index: xemacs-packages/riece/package-info.in
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/package-info.in,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 package-info.in
--- xemacs-packages/riece/package-info.in 5 Dec 2004 04:12:51 -0000 1.3
+++ xemacs-packages/riece/package-info.in 20 Mar 2005 09:09:56 -0000
@@ -13,7 +13,7 @@ (riece
filename FILENAME
md5sum MD5SUM
size SIZE
- provides (riece-compat riece-xemacs riece-globals riece-options riece-version
riece-coding riece-complete riece-addon riece-mode riece-identity riece-channel riece-user
riece-misc riece-signal riece-layout riece-display riece-server riece-naming riece-message
riece-filter riece-handle riece-000 riece-200 riece-300 riece-400 riece-500 riece-commands
riece-irc riece riece-ctcp riece-highlight riece-log riece-mini riece-rdcc riece-url
riece-unread riece-doctor riece-alias riece-foolproof riece-guess riece-history
riece-button riece-keyword riece-menu riece-icon riece-async riece-lsdb riece-xface
riece-ctlseq riece-ignore riece-hangman riece-biff riece-kakasi riece-yank)
+ provides (riece-compat riece-xemacs riece-globals riece-options riece-debug
riece-version riece-coding riece-complete riece-addon riece-mode riece-identity
riece-channel riece-user riece-misc riece-signal riece-layout riece-display riece-server
riece-naming riece-message riece-filter riece-handle riece-000 riece-200 riece-300
riece-400 riece-500 riece-commands riece-irc riece riece-ctcp riece-highlight riece-log
riece-mini riece-rdcc riece-url riece-unread riece-doctor riece-alias riece-skk-kakutei
riece-foolproof riece-guess riece-history riece-button riece-keyword riece-menu riece-icon
riece-async riece-lsdb riece-xface riece-ctlseq riece-ignore riece-hangman riece-biff
riece-kakasi riece-yank riece-toolbar riece-eval riece-google riece-keepalive)
requires (REQUIRES)
type regular
))
Index: xemacs-packages/riece/doc/irchat-copyright.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/doc/irchat-copyright.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 irchat-copyright.el
--- xemacs-packages/riece/doc/irchat-copyright.el 5 Dec 2004 04:12:56 -0000 1.4
+++ xemacs-packages/riece/doc/irchat-copyright.el 20 Mar 2005 09:09:56 -0000
@@ -1,9 +1,9 @@
;;; -*- emacs-lisp -*-
;;;
-;;; $Id: irchat-copyright.el,v 1.4 2004/12/05 04:12:56 daiki Exp $
+;;; $Id: irchat-copyright.el,v 1.1 2003/10/22 20:07:07 ueno Exp $
;;;
(defvar irchat-copyright "
- $Id: irchat-copyright.el,v 1.4 2004/12/05 04:12:56 daiki Exp $
+ $Id: irchat-copyright.el,v 1.1 2003/10/22 20:07:07 ueno Exp $
Internet Relay CHAT interface for GNU Emacs
Copyright (C) 1989 Tor Lillqvist
@@ -49,9 +49,6 @@ (defvar irchat-copyright "
;;;
;;; $Log: irchat-copyright.el,v $
-;;; Revision 1.4 2004/12/05 04:12:56 daiki
-;;; Sync riece with upstream version 1.0.6
-;;;
;;; Revision 1.1 2003/10/22 20:07:07 ueno
;;; (EXTRA_DIST) Add irchat-copyright.el.
;;;
Index: xemacs-packages/riece/doc/riece-en.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/doc/riece-en.texi,v
retrieving revision 1.1
diff -u -F^( -u -r1.1 riece-en.texi
--- xemacs-packages/riece/doc/riece-en.texi 5 Dec 2004 04:12:57 -0000 1.1
+++ xemacs-packages/riece/doc/riece-en.texi 20 Mar 2005 09:09:56 -0000
@@ -3,7 +3,7 @@
@setfilename riece-en.info
@settitle Riece -- An IRC client for Emacsen --
@c %**end of header
-@set VERSION 1.0.6
+@set VERSION 1.0.8
@c @documentlanguage en
@dircategory GNU Emacs Lisp
@@ -14,7 +14,7 @@
@ifinfo
This file describes Riece.
-Copyright (C) 2003,2004 Daiki Ueno.
+Copyright (C) 2003,2004,2005 Daiki Ueno.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -33,7 +33,7 @@
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 2003 Daiki Ueno.
+Copyright @copyright{} 2003,2004,2005 Daiki Ueno.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -67,8 +67,7 @@
has been unmaintainable for a long time), while providing a user
interface (mostly) compatible with Liece.
-For now it does not have rich functions as an IRC client, but there are
-noteworthy improvements as compared with Liece:
+There are noteworthy improvements as compared with Liece:
@itemize @bullet
@item
@@ -95,8 +94,6 @@
@itemize @bullet
@item
http://www.nongnu.org/riece/
-@item
http://wiliki.designflaw.org/index.cgi?Riece&l=jp
-@item
http://www.unixuser.org/~ueno/liece/
@end itemize
@node Getting started, Basic usage, Overview, Top
@@ -135,7 +132,7 @@
commands instead of the above:
@example
-./configure --with-xemacs[=xemacs-21.4.15]
+./configure --with-xemacs[=xemacs-21.4.17]
make package
make install-package
@end example
@@ -260,7 +257,7 @@ (by default, it is located at @file{~/.r
put on the left side of the modeline like:
@example
-Riece: --- ueno #Liece [n]
+Riece: --- ueno #Riece [n]
@end example
In this case, @samp{---} are indicators. From left to right their
Index: xemacs-packages/riece/doc/riece-ja.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/doc/riece-ja.texi,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 riece-ja.texi
--- xemacs-packages/riece/doc/riece-ja.texi 5 Dec 2004 04:12:57 -0000 1.5
+++ xemacs-packages/riece/doc/riece-ja.texi 20 Mar 2005 09:09:56 -0000
@@ -3,7 +3,7 @@
@setfilename riece-ja.info
@settitle Riece -- An IRC client for Emacsen --
@c %**end of header
-@set VERSION 1.0.6
+@set VERSION 1.0.8
@c @documentlanguage ja
@dircategory GNU Emacs Lisp
@@ -14,7 +14,7 @@
@ifinfo
This file describes Riece.
-Copyright (C) 2003,2004 Daiki Ueno.
+Copyright (C) 2003,2004,2005 Daiki Ueno.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -33,7 +33,7 @@
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 2003 Daiki Ueno.
+Copyright @copyright{} 2003,2004,2005 Daiki Ueno.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -70,15 +70,15 @@
書き直したものです。ユーザインターフェースの大部分は Liece のものを踏襲
しています。
-現在のところ IRC クライアントとしての機能は十分ではありませんが、Liece
-にはない特長がいくつかあります。以下にそれらの一部を挙げます。
+Riece には Liece にはない特長がいくつかあります。
+以下にそれらの一部を挙げます。
@itemize @bullet
@item 複数の IRC サーバに同時に接続可能
@item アドオンにより機能の追加や取り外しが可能
@item 他の elisp パッケージに依存しないため、インストールが簡単
@item 設定が簡単で、前回起動時の設定を記録・復元する仕組みを提供
-@item 段階的な操作説明書(現在は日本語のみ)が附属
+@item 段階的な操作説明書が附属
@item 最新の IRC のクライアントプロトコル (RFC2812) に準拠
@end itemize
@@ -86,8 +86,6 @@
@itemize @bullet
@item
http://www.nongnu.org/riece/
-@item
http://wiliki.designflaw.org/index.cgi?Riece&l=jp
-@item
http://www.unixuser.org/~ueno/liece/
@end itemize
@node Getting started, Basic usage, Overview, Top
@@ -126,7 +124,7 @@
XEmacs のパッケージとしてインストールする場合には以下のようにします。
@example
-./configure --with-xemacs[=xemacs-21.4.15]
+./configure --with-xemacs[=xemacs-21.4.17]
make package
make install-package
@end example
@@ -249,7 +247,7 @@ (autoload 'riece "riece" "Start Riece" t
自分の現在の状態を示す印が表示されます。
@example
-Riece: --- ueno #Liece [n]
+Riece: --- ueno #Riece [n]
@end example
ここで、@samp{---} の部分には左から順に以下の意味があります。
@@ -410,7 +408,7 @@ (完全に禁止していれば @samp{F}!
千�m
宣矮�� 襠 ╂竢粤�蜈竇�闕轣鈔�濶鍄) でチャンネルに参加します。ここで、
チャンネル名の後に空白で区切ってサーバ名を続けます。空白を入力するには、
-@kbd{C-q} を使います。たとえば、サーバ @samp{irc6} 上の @samp{#Liece} に参加するには @kbd{C-c j #Liece C-q SPC
irc6} とタイプすることになります。
+@kbd{C-q} を使います。たとえば、サーバ @samp{irc6} 上の @samp{#Riece} に参加するには @kbd{C-c j #Riece C-q SPC
irc6} とタイプすることになります。
@end enumerate
チャンネルに入らずにコマンドを送るには、@kbd{C-c M}
@@ -560,12 +558,21 @@ (Emacs 21.3 の make-network-proces
日本語の通らない端末で、日本語をローマ字で表示
@item riece-yank
@kbd{C-c y} で kill-ring から文字列を送信
+@item riece-toolbar
+ツールバーを表示
+@item riece-eval
+入力された文字列を lisp オブジェクトとして評価
+@item riece-google
+キーワードを Google で検索
+@item riece-keepalive
+IRC サーバとの接続を保持
@end table
これらのうち、@samp{riece-highlight} と @samp{riece-ctcp}、
@samp{riece-url}、 @samp{riece-unread}、 @samp{riece-guess}、
@samp{riece-history}、 @samp{riece-button}、@samp{riece-menu}、
-@samp{riece-ignore} はデフォルトで組み込まれています。
+@samp{riece-ignore}、@samp{riece-log}、@samp{riece-alias}、
+@samp{riece-ctlseq}、@samp{riece-keyword} はデフォルトで組み込まれています。
アドオンを組み込むには @code{riece-addons} を設定します。たとえば
@samp{riece-alias} を組み込む場合には、(a)file{~/.riece/init.el} に以下のよ
@@ -669,10 +676,10 @@ (add-to-list 'riece-addons 'riece-skk-ka
@example
(setq riece-default-channel-binding
- '("#Liece" "#emacsen" nil "#debianjp"))
+ '("#Riece" "#emacsen" nil "#debianjp"))
@end example
-1: #Liece, 2: #emacsen, 4: #debianjp のように割当てられます。nil はデフォ
+1: #Riece, 2: #emacsen, 4: #debianjp のように割当てられます。nil はデフォ
ルトでは自動割当ての対象にならないこと意味し、新たなチャンネルに参加した
場合、そのチャンネルが 3 番目のチャンネルとして扱われます。
@@ -684,7 +691,7 @@ (setq riece-default-channel-binding
@example
(setq riece-startup-channel-list
- '(("#secret" "password") "#Liece"))
+ '(("#secret" "password") "#Riece"))
@end example
複数のサーバ上のチャンネルに参加するには、
Index: xemacs-packages/riece/lisp/COMPILE
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/COMPILE,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 COMPILE
--- xemacs-packages/riece/lisp/COMPILE 5 Dec 2004 04:12:59 -0000 1.5
+++ xemacs-packages/riece/lisp/COMPILE 20 Mar 2005 09:09:56 -0000
@@ -7,6 +7,7 @@ (defvar riece-modules
'riece-emacs)
'(riece-globals
riece-options
+ riece-debug
riece-version
riece-coding
riece-complete
@@ -71,18 +72,43 @@ (defvar riece-modules
riece-hangman
riece-biff
riece-kakasi
- riece-yank))))
+ riece-yank
+ riece-toolbar
+ riece-eval
+ riece-google
+ riece-keepalive))))
+
+(defvar riece-icons
+ '(riece-command-quit
+ riece-command-join
+ riece-command-part
+ riece-command-previous-channel
+ riece-command-next-channel
+ riece-command-change-layout
+ riece-submit-bug-report))
(defun riece-compile-modules (modules)
- (let ((load-path (cons nil load-path)))
+ (let ((load-path (cons nil load-path))
+ error-modules)
(while modules
(let ((source (expand-file-name
(concat (symbol-name (car modules)) ".el"))))
(if (file-newer-than-file-p source (concat source "c"))
(condition-case error
(byte-compile-file source)
- (error))))
- (setq modules (cdr modules)))))
+ (error
+ (setq error-modules (cons (car modules) error-modules))))))
+ (setq modules (cdr modules)))
+ (if error-modules
+ (princ (concat "\n\
+ WARNING: ---------------------------------------------------------
+ WARNING: Couldn't compile following modules:
+ WARNING:
+ WARNING: " (mapconcat #'symbol-name error-modules ", ") "\n\
+ WARNING:
+ WARNING: You should probably stop here, try \"make distclean\" to clear
+ WARNING: the last build, and then reconfigure.
+ WARNING: ---------------------------------------------------------\n\n")))))
(defun riece-install-modules (modules dest just-print)
(unless (or just-print (file-exists-p dest))
@@ -104,6 +130,19 @@ (defun riece-install-modules (modules de
name)))))
(setq modules (cdr modules))))
+(defun riece-install-icons (icons dest just-print)
+ (unless (or just-print (file-exists-p dest))
+ (make-directory dest t))
+ (while icons
+ (let ((name (symbol-name (car icons))))
+ (when (file-exists-p (expand-file-name (concat name ".xpm")))
+ (princ (format "%s.xpm -> %s\n" name dest))
+ (unless just-print
+ (copy-file (expand-file-name (concat name ".xpm"))
+ (expand-file-name (concat name ".xpm") dest)
+ t t))))
+ (setq icons (cdr icons))))
+
(defun riece-install-just-print-p ()
(let ((flag (getenv "MAKEFLAGS"))
case-fold-search)
@@ -117,6 +156,10 @@ (defun riece-install ()
(riece-install-modules
riece-modules
(expand-file-name "riece" (car command-line-args-left))
+ (riece-install-just-print-p))
+ (riece-install-icons
+ riece-icons
+ (expand-file-name "riece" (car command-line-args-left))
(riece-install-just-print-p)))
(defun riece-compile-package ()
@@ -135,13 +178,18 @@ (defun riece-install-package ()
'(auto-autoloads custom-load))
(expand-file-name "riece"
(expand-file-name "lisp" (car command-line-args-left)))
+ (riece-install-just-print-p))
+ (riece-install-icons
+ riece-icons
+ (expand-file-name "riece"
+ (expand-file-name "lisp" (car command-line-args-left)))
(riece-install-just-print-p)))
(defun riece-test ()
(let ((load-path (cons (expand-file-name "test") (cons nil load-path)))
(files (directory-files "test" t "^test-.*\\.el$"))
suite)
- (require 'lunit)
+ (require 'lunit-report)
(setq suite (lunit-make-test-suite))
(while files
(when (file-regular-p (car files))
Index: xemacs-packages/riece/lisp/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/ChangeLog,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 ChangeLog
--- xemacs-packages/riece/lisp/ChangeLog 5 Dec 2004 04:12:59 -0000 1.5
+++ xemacs-packages/riece/lisp/ChangeLog 20 Mar 2005 09:09:57 -0000
@@ -1,3 +1,456 @@
+2005-03-06 Daiki Ueno <ueno(a)unixuser.org>
+
+ * Riece: Version 1.0.8 released.
+ * riece-version.el (riece-version-number): Bump up to 1.0.8.
+
+2005-03-06 Daiki Ueno <ueno(a)unixuser.org>
+
+ * COMPILE (riece-compile-modules): Print summary.
+
+2005-03-05 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-version.el: Bind emacs-program-version.
+ * riece-debug.el: Require 'riece-options for riece-debug.
+
+ * riece-log.el (riece-log-insinuate): Use user-uid instead of
+ user-login-name and escape system-name for riece-log-lock-file.
+
+2005-03-02 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-log.el (riece-log-lock-file): Define with defvar.
+ (riece-log-display-message-function): Use riece-log-lock-file as
+ LOCKNAME of write-region.
+ (riece-log-insinuate): Generate name for riece-log-lock-file.
+
+2005-02-27 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-300.el (riece-handle-317-message): Format idle seconds in
+ human readable form.
+ (riece-handle-301-message): Don't use riece-user-regexp.
+ (riece-handle-311-message): Ditto.
+ (riece-handle-312-message): Ditto.
+ (riece-handle-317-message): Ditto.
+ (riece-handle-319-message): Ditto.
+
+ * riece-ctcp.el (riece-handle-ctcp-action-request): Prepend target.
+ (riece-command-ctcp-action): Ditto.
+
+2005-02-25 TAKAHASHI Kaoru <kaoru(a)kaisei.org>
+
+ * riece-globals.el (riece-obarray-size, riece-obarray): Abolish.
+ (riece-channel-obarray-size, riece-user-obarray-size)
+ (riece-channel-obaary, riece-user-obarray): New variables.
+ * riece-user.el (riece-find-user, riece-forget-user)
+ (riece-rename-user, riece-get-user): Use `riece-user-obarray'
+ instead of `riece-user-obarray'.
+ * riece-channel.el (riece-find-channel, riece-forget-channel)
+ (riece-get-channel): Use `riece-channel-obarray' instead of
+ `riece-obarray'.
+ * riece-misc.el (riece-get-identities-on-server): Ditto.
+ * riece-server.el (riece-reset-process-buffer): Ditto.
+
+2005-02-24 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-unread.el (riece-unread-after-switch-to-channel-function):
+ Clear riece-unread-channels case insensitively.
+
+ * riece-300.el (riece-handle-353-message): Use
+ riece-identity-assoc to pick an entry from
+ riece-353-message-alist.
+ (riece-handle-366-message): Ditto.
+ Reported by Steve Youngs <steve(a)sxemacs.org>.
+
+2005-02-19 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-debug.el (riece-funcall-ignore-errors): New function.
+ * riece-signal.el (riece-emit-signal): Use riece-funcall-ignore-errors.
+ * riece-filter.el (riece-handle-numeric-reply): Use
+ riece-funcall-ignore-errors.
+ (riece-handle-message): Ditto.
+ * riece-ctcp.el (riece-handle-ctcp-request): Use
+ riece-funcall-ignore-errors.
+
+2005-02-18 Steve Youngs <steve(a)sxemacs.org>
+
+ * riece-ctcp.el (riece-handle-ctcp-time-request): New.
+ (riece-handle-ctcp-time-response): New.
+ (riece-command-ctcp-time): New.
+ (riece-ctcp-enable): Add `riece-command-ctcp-time'.
+ (riece-ctcp-disable): Ditto.
+
+ * riece-layout.el (riece-layout-alist): Minor doc string fix --
+ escape a couple of parens.
+
+ * riece-version.el: defvar sxemacs-codename at compile time.
+ (riece-extended-version): Simplify the XEmacs section, add support
+ for SXEmacs.
+
+2005-02-17 TAKAHASHI Kaoru <kaoru(a)kaisei.org>
+
+ * riece-addon.el (riece-resolve-addons): Fixed
+ avoid add directory to addons condition.
+
+2005-02-10 TAKAHASHI Kaoru <kaoru(a)kaisei.org>
+
+ * riece-addon.el (riece-resolve-addons): Don't add directory to
+ addons.
+
+2005-02-09 Yoichi NAKAYAMA <yoichi(a)geiin.org>
+
+ * riece-commands.el (riece-command-part): Fix argument.
+
+2005-02-07 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-filter.el (riece-filter): Simplified.
+
+ * riece-addon.el (riece-resolve-addons): Check the existence of
+ riece-addon-directory.
+
+2005-02-06 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-filter.el (riece-filter): Modified regexp.
+
+2005-02-05 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece.el (riece-exit): Clear riece-window-configuration frame
+ parameter.
+ * riece-commands.el (riece-command-suspend-resume): Don't attempt
+ to restore window-configuration if the cdr of
+ riece-window-configuration frame parameter is nil.
+
+ * riece-filter.el (riece-chomp-string): New function.
+ (riece-filter): Use it.
+
+2005-02-05 Daiki Ueno <ueno(a)unixuser.org>
+
+ * Riece: Version 1.0.7 released.
+ * riece-version.el (riece-version-number): Bump up to 1.0.7.
+
+2005-02-05 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-keyword.el (riece-keyword-face): Change defface spec for tty.
+
+ * riece-toolbar.el (riece-toolbar-description): New constant.
+
+ * riece-keepalive.el: Require 'riece-options.
+ (riece-keepalive-ping-repeat): Define with defcustom.
+ (riece-keepalive-description): New constant.
+
+ * riece.el (riece-dialogue-mode-map): Bind
+ riece-command-suspend-resume.
+ * riece-commands.el (riece-command-suspend-resume): New command.
+
+ * riece-options.el (riece-addons): Enable riece-keyword by default.
+
+ * riece-button.el (riece-identity-button-popup-menu): Changed
+ interactivbe spect "@e" -> "e".
+ (riece-identity-button-click): New function.
+ (riece-make-identity-button-map): Bind riece-identity-button-click.
+
+2005-02-04 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-options.el (riece-part-message): New user option.
+ (riece-addons): Enable riece-alias and riece-ctlseq by default.
+ (riece-max-buffer-size): Change the default value to nil.
+
+ * riece-commands.el (riece-command-part): Use riece-part-message.
+
+2005-02-04 OHASHI Akira <bg66(a)koka-in.org>
+
+ * riece-eval.el (riece-eval-form): New function.
+ (riece-eval-display-message-function): Use it.
+
+2005-02-04 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-000.el (riece-handle-001-message): Use
+ riece-command-join-channel to join startup channels.
+
+ * riece-filter.el (riece-filter): Accept lines which end with LF.
+
+ * riece-300.el (riece-353-message-alist): Renamed from riece-353-users.
+ (riece-handle-353-message): Don't parse the reply.
+ (riece-handle-366-message): Parse 353 replies here; count users.
+
+ * riece-log.el (riece-log-enable): Add debug message.
+
+ * riece-keepalive.el: New add-on.
+ * COMPILE (riece-modules): Add riece-keepalive.
+ * Makefile.am (EXTRA_DIST): Add riece-keepalive.el.
+
+2005-02-04 OHASHI Akira <bg66(a)koka-in.org>
+
+ * riece-biff.el (riece-biff-functions): Abolish.
+ (riece-biff-after-display-message-function): Follow the change above.
+
+2005-02-04 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-server.el (riece-close-server-process): Switch to process
+ buffer when running riece-after-close-hook.
+
+ * COMPILE (riece-icons): Add all symbols from riece-toolbar-items.
+
+ * Makefile.am (EXTRA_DIST): Add riece-command-previous-channel.xpm,
+ riece-command-next-channel.xpm, and riece-submit-bug-report.xpm.
+
+ * riece-menu.el (riece-menu-items): Add "Submit Bug Report".
+
+ * riece-toolbar.el (riece-toolbar-items): Add riece-submit-bug-report.
+
+ * riece-compat.el (riece-read-passwd): Changed default value.
+
+ * riece-400.el (riece-handle-475-message): Don't bind inhibit-quit
+ when reading channel key.
+
+ * riece-irc.el (riece-irc-open-server): Don't bind inhibit-quit
+ when reading password.
+
+ * riece-compat.el (riece-read-passwd): Bind inhibit-quit.
+
+ * riece-commands.el (riece-command-join): Abolished prefix-arg
+ (channel key).
+
+ * riece-options.el (riece-buffer-dispose-function): Changed the
+ default value from bury-buffer to kill-buffer.
+ * riece-log.el (riece-log-lock-directory): New user option.
+ (riece-log-enable): Create lock directory.
+ (riece-log-disable): Remove lock directory.
+
+ * riece-addon.el (riece-resolve-addons): Don't use FILES-ONLY
+ argument of directory-files.
+
+2005-02-04 OHASHI Akira <bg66(a)koka-in.org>
+
+ * riece-google.el (riece-google-default-lang): Change value.
+ (riece-google-display-message-function): Follow the change above.
+
+2005-02-03 OHASHI Akira <bg66(a)koka-in.org>
+
+ * riece-google.el: New add-on.
+ * COMPILE (riece-modules): Add riece-google.
+ * Makefile.am (EXTRA_DIST): Add riece-google.el.
+
+2005-02-03 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-400.el (riece-handle-475-message): New handler; query
+ channel key.
+
+2005-02-03 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-addon.el (riece-resolve-addon-dependencies): Rename from
+ riece-resolve-addon.
+ (riece-resolve-addon): Append add-ons under riece-addon-directory.
+
+2005-02-02 TAKAHASHI Kaoru <kaoru(a)kaisei.org>
+
+ * riece-message.el (riece-display-message): When filter-function
+ return nil, escape from while loop.
+
+2005-02-02 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-debug.el (riece-debug-standard-output-buffer): Use
+ riece-temp-buffer.
+ * riece.el: Add riece-temp-buffer.
+ * riece-globals.el (riece-temp-buffer): New variable.
+
+2005-02-02 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-signal.el (riece-emit-signal): Use riece-ignore-errors.
+
+ * riece-filter.el (riece-handle-numeric-reply): Use
+ riece-ignore-errors.
+ (riece-handle-message): Ditto.
+
+ * riece-ctcp.el (riece-handle-ctcp-request): Use
+ riece-ignore-errors.
+ (riece-handle-ctcp-response): Ditto.
+
+ * riece-debug.el: New file.
+ * COMPILE (riece-modules): Add riece-debug.
+ * Makefile.am (EXTRA_DIST): Add riece-debug.el.
+
+2005-02-02 OHASHI Akira <bg66(a)koka-in.org>
+
+ * riece-eval.el (riece-eval-regexp): Fix regexp.
+ (riece-eval-display-message-function): Follow the change above.
+
+2005-02-02 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-server.el (riece-close-server-process): Run
+ riece-after-close-hook.
+
+ * riece-log.el (riece-log-insert): Bind file-name-coding-system
+ and default-file-name-coding-system to nil.
+
+2005-02-01 OHASHI Akira <bg66(a)koka-in.org>
+
+ * riece-eval.el: New add-on.
+ * COMPILE (riece-modules): Add riece-eval.
+ * Makefile.am (EXTRA_DIST): Add riece-eval.el.
+
+2005-01-30 TAKAHASHI Kaoru <kaoru(a)kaisei.org>
+
+ * riece-display.el (riece-display-connect-signals): Check nick or
+ channel, before call `riece-channel-get-users'.
+
+2004-12-15 Yoichi NAKAYAMA <yoichi(a)geiin.org>
+
+ * riece-addon.el (riece-command-enable-addon): Fixed.
+ (riece-command-disable-addon): Ditto.
+
+2004-12-14 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-alias.el (riece-alias-abbrev-identity-string): Return a
+ copy of a string since text properties will be set on it.
+ (riece-alias-expand-identity-string): Ditto.
+
+ * riece-emacs.el (riece-normalize-modeline-string): Don't
+ concatenate elements in modeline string.
+
+2004-12-13 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-display.el (riece-update-channel-list-indicator):
+ Normalize modeline indicator.
+
+ * riece-xemacs.el (riece-normalize-modeline-string): New alias.
+ * riece-emacs.el (riece-normalize-modeline-string): New function.
+ (riece-normalize-modeline-string-1): New function.
+
+2004-12-13 Daiki Ueno <ueno(a)unixuser.org>
+
+ * test/Makefile.am (EXTRA_DIST): Add test-riece.el.
+ * test/test-riece.el: New test cases.
+
+ * riece.el (riece-shrink-buffer): Fixed bug.
+
+ * riece-options.el (riece-username): Changed the default value to
+ user-full-name.
+
+2004-12-12 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-command-previous-channel.xpm: New file.
+ * riece-command-next-channel.xpm: New file.
+
+ * COMPILE (riece-icons): New variable.
+ (riece-install-icons): New function.
+ (riece-install): Install icons.
+ (riece-install-package): Ditto.
+
+2004-12-12 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-options.el (riece-addons): Add riece-toolbar.
+
+ * riece-log.el (riece-log-flashback): Fixed regexp.
+
+ * riece-menu.el (riece-menu-items): Add "Next Channel" and
+ "Previous Channel".
+
+ * riece-toolbar.el: Support XEmacs.
+ (riece-toolbar-items): Renamed from
+ riece-toolbar-item-list.
+ (riece-tool-bar-local-item-from-menu): Abolished.
+ (riece-toolbar-find-menu-item): New function.
+ (riece-make-toolbar-from-menu): New function.
+ (riece-set-toolbar): New function.
+ (riece-toolbar-insinuate-in-command-buffer): Use them.
+
+2004-12-11 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-toolbar.el: New add-on.
+ * COMPILE (riece-modules): Add riece-toolbar.
+ * Makefile.am (EXTRA_DIST): Add riece-toolbar.el.
+
+2004-12-10 Daiki Ueno <ueno(a)unixuser.org>
+
+ * test/test-riece-log.el
+ (test-riece-log-display-message-function): "yes" -> "true".
+
+ * test/Makefile.am (EXTRA_DIST): Add lunit-report.el and
+ test-riece-log.el.
+
+2004-12-10 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece.el (riece-shrink-buffer): Shrink buffer based on chars
+ instead of lines.
+
+ * riece-options.el (riece-shrink-buffer-remove-chars): New user option.
+ (riece-shrink-buffer-remove-lines): Abolish.
+
+2004-12-08 Daiki Ueno <ueno(a)unixuser.org>
+
+ * test/test-riece-log.el (test-riece-log-delete-directory):
+ Suppress file-name encoding.
+
+ * riece-log.el (riece-log-get-directory): Fixed bug in
+ riece-log-directory-map handling.
+
+ * test/test-riece-log.el
+ (test-riece-log-display-message-function): New test case.
+
+2004-12-08 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-log.el (riece-log-flashback): Fixed custom spec.
+ (riece-log-date-face): New face.
+ (riece-log-insert): Don't append date string to the end of log
+ lines if they arrived today.
+ (riece-log-flashback): Insert "Recent messages ...:"; call
+ riece-after-insert-functions.
+
+ * riece-handle.el (riece-handle-part-message): Call riece-naming
+ assert-part after inserting changes in channel buffers.
+ * riece-display.el (riece-part-channel): Call
+ riece-buffer-dispose-function on parted channel buffer.
+
+2004-12-08 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-log.el (riece-log-display-message-function): Suppress
+ further file-name encoding.
+
+2004-12-07 Daiki Ueno <ueno(a)unixuser.org>
+
+ * test/lunit-report.el: New file split from lunit.el.
+
+ * riece-options.el (riece-addons): Add 'riece-log.
+
+ * test/test-riece-log.el (lunit-test-case-setup): #riece -> =23riece.
+
+ * riece-log.el (riece-log-insert): Renamed from
+ riece-log-flashback-1; simplified.
+ (riece-log-get-files): Check existence of directory.
+ (riece-log-get-directory): New implementation.
+ [cf. <Liece:00396>]
+
+2004-12-07 TAKAHASHI Kaoru <kaoru(a)kaisei.org>
+
+ * riece-foolproof.el (riece-foolproof-command-send-message-function):
+ Check invisible text.
+
+2004-12-07 Daiki Ueno <ueno(a)unixuser.org>
+
+ * test/test-riece-log.el (test-riece-log-encode-file-name): New
+ test case.
+ (test-riece-log-encode-file-name-mule): New test case.
+ (test-riece-log-decode-file-name): New test case.
+ (test-riece-log-decode-file-name-mule): New test case.
+
+ * riece-log.el (riece-log-file-name-coding-system): New user option.
+ (riece-log-encode-file-name): New function.
+ (riece-log-decode-file-name): New function.
+
+2004-12-06 Daiki Ueno <ueno(a)unixuser.org>
+
+ * test/test-riece-log.el: New test cases.
+
+ * riece-log.el: Collect logs across dates.
+ (riece-log-get-files): New function.
+ (riece-log-flashback-1): New function.
+ (riece-log-flashback): Use it.
+
+2004-12-05 Daiki Ueno <ueno(a)unixuser.org>
+
+ * riece-message.el (riece-display-message-1): Call
+ riece-after-display-message-functions in riece-message-buffer.
+ [cf. <Liece:00391>]
+
2004-12-05 Daiki Ueno <ueno(a)unixuser.org>
* Riece: Version 1.0.6 released.
Index: xemacs-packages/riece/lisp/Makefile.am
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/Makefile.am,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 Makefile.am
--- xemacs-packages/riece/lisp/Makefile.am 5 Dec 2004 04:12:59 -0000 1.5
+++ xemacs-packages/riece/lisp/Makefile.am 20 Mar 2005 09:09:57 -0000
@@ -3,19 +3,22 @@
EXTRA_DIST = COMPILE ChangeLog ChangeLog.Liece \
riece-000.el riece-200.el riece-300.el riece-400.el riece-500.el \
riece-addon.el riece-channel.el riece-coding.el riece-commands.el \
- riece-compat.el riece-complete.el riece-display.el riece-emacs.el \
- riece-filter.el riece-globals.el riece-handle.el riece-highlight.el \
- riece-identity.el riece-message.el riece-misc.el riece-mode.el \
- riece-naming.el riece-options.el riece-server.el riece-signal.el \
- riece-user.el riece-version.el riece-xemacs.el riece-irc.el riece.el \
- riece-ctcp.el riece-url.el riece-unread.el \
+ riece-compat.el riece-complete.el riece-debug.el riece-display.el \
+ riece-emacs.el riece-filter.el riece-globals.el riece-handle.el \
+ riece-highlight.el riece-identity.el riece-message.el riece-misc.el \
+ riece-mode.el riece-naming.el riece-options.el riece-server.el \
+ riece-signal.el riece-user.el riece-version.el riece-xemacs.el \
+ riece-irc.el riece.el riece-ctcp.el riece-url.el riece-unread.el \
riece-ndcc.el riece-rdcc.el riece-log.el riece-mini.el \
riece-doctor.el riece-alias.el riece-layout.el riece-skk-kakutei.el \
riece-guess.el riece-history.el riece-button.el riece-keyword.el \
riece-menu.el riece-icon.el riece-async.el riece-lsdb.el \
riece-xface.el riece-ctlseq.el riece-ignore.el riece-hangman.el \
riece-biff.el riece-kakasi.el riece-foolproof.el riece-yank.el \
- url-riece.el
+ riece-toolbar.el riece-eval.el riece-google.el riece-keepalive.el \
+ url-riece.el \
+ riece-command-previous-channel.xpm riece-command-next-channel.xpm \
+ riece-submit-bug-report.xpm
CLEANFILES = auto-autoloads.el custom-load.el *.elc
FLAGS ?= -batch -q -no-site-file
Index: xemacs-packages/riece/lisp/riece-000.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-000.el,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 riece-000.el
--- xemacs-packages/riece/lisp/riece-000.el 5 Sep 2004 09:04:19 -0000 1.3
+++ xemacs-packages/riece/lisp/riece-000.el 20 Mar 2005 09:09:57 -0000
@@ -60,7 +60,7 @@ (defun riece-handle-001-message (prefix
(if (equal (riece-identity-server
(setq identity (riece-parse-identity (car entry))))
riece-server-name)
- (riece-command-join identity (nth 1 entry)))
+ (riece-command-join-channel identity (nth 1 entry)))
(setq channel-list (cdr channel-list))))
(run-hooks 'riece-after-login-hook))
Index: xemacs-packages/riece/lisp/riece-300.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-300.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-300.el
--- xemacs-packages/riece/lisp/riece-300.el 5 Dec 2004 04:12:59 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-300.el 20 Mar 2005 09:09:57 -0000
@@ -93,7 +93,7 @@ (defun riece-handle-303-message (prefix
"\n")))
(defun riece-handle-301-message (prefix number name string)
- (if (string-match (concat "^\\(" riece-user-regexp "\\) :?")
string)
+ (if (string-match (concat "^\\([^ ]+\\) :?") string)
(let ((user (match-string 1 string))
(message (substring string (match-end 0))))
(riece-user-toggle-away user t)
@@ -127,8 +127,7 @@ (defun riece-handle-306-message (prefix
(defun riece-handle-311-message (prefix number name string)
(if (string-match
- (concat "^\\(" riece-user-regexp
- "\\) \\([^ ]+\\) \\([^ ]+\\) \\* :?")
+ (concat "^\\([^ ]+\\) \\([^ ]+\\) \\([^ ]+\\) \\* :?")
string)
(let ((user (match-string 1 string))
(name (substring string (match-end 0)))
@@ -148,7 +147,7 @@ (defun riece-handle-311-message (prefix
(defun riece-handle-312-message (prefix number name string)
(if (string-match
- (concat "^\\(" riece-user-regexp "\\) \\([^ ]+\\) :?")
+ (concat "^\\([^ ]+\\) \\([^ ]+\\) :?")
string)
(riece-insert-info
(list riece-dialogue-buffer riece-others-buffer)
@@ -174,23 +173,35 @@ (defun riece-handle-313-message (prefix
(defun riece-handle-317-message (prefix number name string)
(if (string-match
- (concat "^\\(" riece-user-regexp "\\) \\([0-9]+\\) ")
+ (concat "^\\([^ ]+\\) \\([0-9]+\\) ")
string)
- (let ((user (match-string 1 string))
- (idle (match-string 2 string)))
+ (let* ((user (match-string 1 string))
+ (seconds (string-to-number (match-string 2 string)))
+ (units (list (cons (/ seconds 60 60 24) "days")
+ (cons (mod (/ seconds 60 60) 24) "hours")
+ (cons (mod (/ seconds 60) 60) "minutes")
+ (cons (mod seconds 60) "seconds"))))
(riece-insert-info
(list riece-dialogue-buffer riece-others-buffer)
(concat
(riece-concat-server-name
- (format "%s is %s seconds idle"
+ (format "%s is %s idle"
(riece-format-identity
(riece-make-identity user riece-server-name)
t)
- idle))
+ (mapconcat #'identity
+ (delq nil
+ (mapcar
+ (lambda (unit)
+ (if (/= (car unit) 0)
+ (format "%d %s"
+ (car unit) (cdr unit))))
+ units))
+ " ")))
"\n")))))
(defun riece-handle-319-message (prefix number name string)
- (if (string-match (concat "^\\(" riece-user-regexp "\\) :?")
string)
+ (if (string-match (concat "^\\([^ ]+\\) :?") string)
(let ((user (match-string 1 string))
(channels
(mapconcat
@@ -229,45 +240,20 @@ (defun riece-handle-351-message (prefix
(substring string (match-end 0))))
"\n"))))
-(defvar riece-353-users nil)
+(defvar riece-353-message-alist nil)
(defun riece-handle-353-message (prefix number name string)
"RPL_NAMREPLY \"[=\*@] <channel> :[[@|+]<nick> [[@|+]<nick>
[...]]]\"."
+ (make-local-variable 'riece-353-message-alist)
(if (string-match "^[=\*@] *\\([^ ]+\\) +:?" string)
- (let ((channel (match-string 1 string))
- (start 0)
- user)
- (make-local-variable 'riece-353-users)
- (setq string (substring string (match-end 0)))
- (while (string-match
- (concat "\\([@+]\\)?\\(" riece-user-regexp "\\) *")
- string start)
- (put-text-property (match-beginning 2) (match-end 2)
- 'riece-identity
- (riece-make-identity (match-string 2 string)
- riece-server-name)
- string)
- (setq start (match-end 0)
- user (if (match-beginning 1)
- (if (eq (aref string (match-beginning 1)) ?@)
- (list (match-string 2 string) ?o)
- (if (eq (aref string (match-beginning 1)) ?+)
- (list (match-string 2 string) ?v)))
- (list (match-string 2 string)))
- riece-353-users (cons user riece-353-users)))
- (let* ((channel-identity (riece-make-identity channel
- riece-server-name))
- (buffer (riece-channel-buffer channel-identity)))
- (riece-insert-info buffer (concat "Users: " string "\n"))
- (riece-insert-info
- (if (and riece-channel-buffer-mode
- (not (eq buffer riece-channel-buffer)))
- (list riece-dialogue-buffer riece-others-buffer)
- riece-dialogue-buffer)
- (concat
- (riece-concat-server-name
- (format "Users on %s: %s"
- (riece-format-identity channel-identity t) string))
- "\n"))))))
+ (let* ((channel (match-string 1 string))
+ (entry (riece-identity-assoc channel riece-353-message-alist t)))
+ (if entry
+ (setcdr entry
+ (concat (cdr entry)
+ (substring string (match-end 0))))
+ (setq riece-353-message-alist
+ (cons (cons channel (substring string (match-end 0)))
+ riece-353-message-alist))))))
(defun riece-handle-322-message (prefix number name string)
(if (string-match "^\\([^ ]+\\) \\([0-9]+\\) :?" string)
@@ -435,10 +421,50 @@ (defun riece-handle-323-message (prefix
(defun riece-handle-366-message (prefix number name string)
"RPL_ENDOFNAMES \"<channel> :End of NAMES list\""
(if (string-match "^\\([^ ]+\\) " string)
- (let ((channel (match-string 1 string)))
- (riece-naming-assert-channel-users (nreverse riece-353-users)
- channel)))
- (setq riece-353-users nil))
+ (let* ((channel (match-string 1 string))
+ (channel-identity (riece-make-identity channel
+ riece-server-name))
+ (buffer (riece-channel-buffer channel-identity))
+ (entry (riece-identity-assoc channel riece-353-message-alist t))
+ (string (cdr entry))
+ (start 0)
+ users)
+ (if entry
+ (setq riece-353-message-alist
+ (delq entry riece-353-message-alist)))
+ (while (string-match
+ (concat "\\([@+]\\)?\\(" riece-user-regexp "\\) *")
+ string start)
+ (put-text-property (match-beginning 2) (match-end 2)
+ 'riece-identity
+ (riece-make-identity (match-string 2 string)
+ riece-server-name)
+ string)
+ (setq start (match-end 0)
+ users (cons (if (match-beginning 1)
+ (if (eq (aref string (match-beginning 1)) ?@)
+ (list (match-string 2 string) ?o)
+ (if (eq (aref string (match-beginning 1)) ?+)
+ (list (match-string 2 string) ?v)))
+ (list (match-string 2 string)))
+ users)))
+ (setq users (nreverse users))
+ (riece-naming-assert-channel-users users channel)
+ (riece-insert-info
+ buffer
+ (concat (format "%d users: " (length users)) string "\n"))
+ (riece-insert-info
+ (if (and riece-channel-buffer-mode
+ (not (eq buffer riece-channel-buffer)))
+ (list riece-dialogue-buffer riece-others-buffer)
+ riece-dialogue-buffer)
+ (concat
+ (riece-concat-server-name
+ (concat (format "%d users on %s: "
+ (length users)
+ (riece-format-identity channel-identity t))
+ string))
+ "\n")))))
(provide 'riece-300)
Index: xemacs-packages/riece/lisp/riece-400.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-400.el,v
retrieving revision 1.2
diff -u -F^( -u -r1.2 riece-400.el
--- xemacs-packages/riece/lisp/riece-400.el 5 Sep 2004 09:04:19 -0000 1.2
+++ xemacs-packages/riece/lisp/riece-400.el 20 Mar 2005 09:09:57 -0000
@@ -63,6 +63,26 @@ (defun riece-handle-464-message (prefix
(message "Password incorrect from %s." prefix)
(setq riece-reconnect-with-password t))
+(defun riece-handle-475-message (prefix number name string)
+ "ERR_BADCHANNELKEY \"<channel> :Cannot join channel (+k)\"."
+ (let* ((parameters (riece-split-parameters string))
+ (channel-identity (riece-make-identity (car parameters)
+ riece-server-name))
+ key)
+ (message "%s: %s" (car parameters) (nth 1 parameters))
+ (setq key
+ (condition-case nil
+ (let (inhibit-quit)
+ (riece-read-passwd
+ (format "Key for %s: "
+ (riece-format-identity channel-identity t))))
+ (quit
+ (message "Key for %s: Quit"
+ (riece-format-identity channel-identity t))
+ 'quit)))
+ (unless (eq key 'quit)
+ (riece-command-join-channel channel-identity key))))
+
(provide 'riece-400)
;;; riece-400.el ends here
Index: xemacs-packages/riece/lisp/riece-addon.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-addon.el,v
retrieving revision 1.1
diff -u -F^( -u -r1.1 riece-addon.el
--- xemacs-packages/riece/lisp/riece-addon.el 5 Sep 2004 09:04:19 -0000 1.1
+++ xemacs-packages/riece/lisp/riece-addon.el 20 Mar 2005 09:09:57 -0000
@@ -144,7 +144,7 @@ (defun riece-load-and-build-addon-depend
(setq addons (cdr addons)))
dependencies))
-(defun riece-resolve-addons (addons)
+(defun riece-resolve-addon-dependencies (addons)
(let ((pointer addons)
dependencies queue)
;; Uniquify, first.
@@ -179,6 +179,18 @@ (defun riece-resolve-addons (addons)
(error "Circular add-on dependency found"))
(nreverse addons)))
+(defun riece-resolve-addons (addons)
+ (riece-resolve-addon-dependencies
+ (if (file-directory-p riece-addon-directory)
+ (append addons
+ (mapcar
+ (lambda (name)
+ (unless (file-directory-p
+ (expand-file-name name riece-addon-directory))
+ (intern (file-name-sans-extension name))))
+ (directory-files riece-addon-directory nil "\\`[^.]" t)))
+ addons)))
+
(defun riece-insinuate-addon (addon &optional verbose)
(require addon) ;implicit dependency
(funcall (intern (concat (symbol-name addon) "-insinuate")))
@@ -288,18 +300,18 @@ (defun riece-command-enable-addon (addon
(list
(or (if (eq major-mode 'riece-addon-list-mode)
(get-text-property (point) 'riece-addon))
- (completing-read "Add-on: "
- (mapcar (lambda (addon)
- (list (symbol-name addon)))
- riece-addons)
- (lambda (pointer)
- (let ((enabled
- (intern-soft (concat (symbol-name
- (car pointer))
- "-enabled"))))
- (and enabled
- (null (symbol-value enabled)))))
- t))))
+ (intern-soft
+ (completing-read "Add-on: "
+ (mapcar (lambda (addon)
+ (list (symbol-name addon)))
+ riece-addons)
+ (lambda (pointer)
+ (let ((enabled
+ (intern-soft (concat (car pointer)
+ "-enabled"))))
+ (and enabled
+ (null (symbol-value enabled)))))
+ t)))))
(riece-enable-addon addon t)
(let ((enabled (intern-soft (concat (symbol-name addon) "-enabled"))))
(if (and (eq major-mode 'riece-addon-list-mode)
@@ -319,18 +331,18 @@ (defun riece-command-disable-addon (addo
(list
(or (if (eq major-mode 'riece-addon-list-mode)
(get-text-property (point) 'riece-addon))
- (completing-read "Add-on: "
- (mapcar (lambda (addon)
- (list (symbol-name addon)))
- riece-addons)
- (lambda (pointer)
- (let ((enabled
- (intern-soft (concat (symbol-name
- (car pointer))
- "-enabled"))))
- (and enabled
- (symbol-value enabled))))
- t))))
+ (intern-soft
+ (completing-read "Add-on: "
+ (mapcar (lambda (addon)
+ (list (symbol-name addon)))
+ riece-addons)
+ (lambda (pointer)
+ (let ((enabled
+ (intern-soft (concat (car pointer)
+ "-enabled"))))
+ (and enabled
+ (symbol-value enabled))))
+ t)))))
(riece-disable-addon addon t)
(let ((enabled (intern-soft (concat (symbol-name addon) "-enabled"))))
(if (and (eq major-mode 'riece-addon-list-mode)
Index: xemacs-packages/riece/lisp/riece-alias.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-alias.el,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 riece-alias.el
--- xemacs-packages/riece/lisp/riece-alias.el 5 Dec 2004 04:12:59 -0000 1.3
+++ xemacs-packages/riece/lisp/riece-alias.el 20 Mar 2005 09:09:57 -0000
@@ -143,7 +143,7 @@ (defun riece-alias-abbrev-identity-strin
(setq string (cdr (car alist))
alist nil)
(setq alist (cdr alist)))))
- string)
+ (copy-sequence string))
(defun riece-alias-expand-identity-string (string)
(let ((alist riece-alias-alist))
@@ -156,7 +156,7 @@ (defun riece-alias-expand-identity-strin
(setq string (riece-alias-expand-alternate-separator string)))
(if riece-alias-enable-percent-hack
(setq string (riece-alias-expand-percent-hack string)))
- string)
+ (copy-sequence string))
(defun riece-alias-insinuate ()
)
Index: xemacs-packages/riece/lisp/riece-biff.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-biff.el,v
retrieving revision 1.2
diff -u -F^( -u -r1.2 riece-biff.el
--- xemacs-packages/riece/lisp/riece-biff.el 5 Dec 2004 04:12:59 -0000 1.2
+++ xemacs-packages/riece/lisp/riece-biff.el 20 Mar 2005 09:09:57 -0000
@@ -49,11 +49,6 @@ (defcustom riece-biff-biff-mode-string "
:type 'string
:group 'riece-biff)
-(defcustom riece-biff-functions nil
- "*Functions for processing new arrival messages."
-:type 'function
-:group 'riece-biff)
-
(defvar riece-biff-mode-string 'riece-biff-default-mode-string)
(defvar riece-biff-enabled nil)
@@ -70,8 +65,7 @@ (defun riece-biff-after-display-message-
(when (or (null riece-biff-check-channels)
(member (riece-format-identity (riece-message-target message))
riece-biff-check-channels))
- (setq riece-biff-mode-string 'riece-biff-biff-mode-string)
- (run-hook-with-args 'riece-biff-functions message))))
+ (setq riece-biff-mode-string 'riece-biff-biff-mode-string))))
(defun riece-biff-clear (&optional dummy)
(when riece-biff-enabled
Index: xemacs-packages/riece/lisp/riece-button.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-button.el,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 riece-button.el
--- xemacs-packages/riece/lisp/riece-button.el 5 Sep 2004 09:04:19 -0000 1.3
+++ xemacs-packages/riece/lisp/riece-button.el 20 Mar 2005 09:09:57 -0000
@@ -83,9 +83,30 @@ (defun riece-button-switch-to-identity (
(message "%s" (substitute-command-keys
"Type \\[riece-command-join] to join the channel")))))
+(defun riece-identity-button-click (event)
+ "Call widget-button-click and select the last selected window."
+ (interactive "e") ;widget-button-click has
+ ;interactive spec "@e"
+ (let ((buffer (current-buffer))
+ (point (point))
+ window)
+ (unwind-protect
+ (save-excursion
+ (set-buffer (riece-event-buffer event))
+ (goto-char (riece-event-point event))
+ (widget-button-click event))
+ ;; riece-button-switch-to-identity changes window-configuration
+ ;; so we must select the last selected window by _buffer_.
+ (if (setq window (get-buffer-window buffer))
+ (progn
+ (select-window window)
+ (set-window-point window point))
+ (if riece-debug
+ (message "buffer %s not visible" (buffer-name buffer)))))))
+
(defun riece-identity-button-popup-menu (event)
"Popup the menu for identity buttons."
- (interactive "@e")
+ (interactive "e")
(save-excursion
(set-buffer (riece-event-buffer event))
(goto-char (riece-event-point event))
@@ -179,6 +200,7 @@ (defun riece-user-button-finger ()
(defun riece-make-identity-button-map ()
(let ((map (make-sparse-keymap)))
(set-keymap-parent map (current-local-map))
+ (define-key map [down-mouse-2] 'riece-identity-button-click)
(define-key map [down-mouse-3] 'riece-identity-button-popup-menu)
map))
Index: xemacs-packages/riece/lisp/riece-channel.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-channel.el,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 riece-channel.el
--- xemacs-packages/riece/lisp/riece-channel.el 5 Sep 2004 09:04:19 -0000 1.3
+++ xemacs-packages/riece/lisp/riece-channel.el 20 Mar 2005 09:09:57 -0000
@@ -33,16 +33,16 @@ (require 'riece-mode)
(defun riece-find-channel (name)
"Get a channel object named NAME from the server buffer."
(let ((symbol (intern-soft (riece-identity-canonicalize-prefix name)
- riece-obarray)))
+ riece-channel-obarray)))
(if symbol
(symbol-value symbol))))
(defun riece-forget-channel (name)
(let ((symbol (intern-soft (riece-identity-canonicalize-prefix name)
- riece-obarray)))
+ riece-channel-obarray)))
(when symbol
(makunbound symbol)
- (unintern (symbol-name symbol) riece-obarray))))
+ (unintern (symbol-name symbol) riece-channel-obarray))))
(defun riece-make-channel (users topic modes banned invited uninvited key)
"Make an instance of channel object.
@@ -53,11 +53,11 @@ (defun riece-make-channel (users topic m
(defun riece-get-channel (name)
(let ((symbol (intern-soft (riece-identity-canonicalize-prefix name)
- riece-obarray)))
+ riece-channel-obarray)))
(if symbol
(symbol-value symbol)
(set (intern (riece-identity-canonicalize-prefix name)
- riece-obarray)
+ riece-channel-obarray)
(riece-make-channel nil nil nil nil nil nil nil)))))
(defun riece-channel-users (channel)
cvs server: xemacs-packages/riece/lisp/riece-command-next-channel.xpm is a new entry, no
comparison available
cvs server: xemacs-packages/riece/lisp/riece-command-previous-channel.xpm is a new entry,
no comparison available
Index: xemacs-packages/riece/lisp/riece-commands.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-commands.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-commands.el
--- xemacs-packages/riece/lisp/riece-commands.el 5 Sep 2004 09:04:19 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-commands.el 20 Mar 2005 09:09:57 -0000
@@ -112,8 +112,23 @@ (defun riece-command-select-command-buff
(defun riece-command-configure-windows ()
(interactive)
+ "Reconfigure windows with the current layout."
(riece-redisplay-buffers t))
+(defun riece-command-suspend-resume ()
+ (interactive)
+ "Save or restore the current window configuration."
+ (let ((entry (assq 'riece-window-configuration (frame-parameters))))
+ (modify-frame-parameters (selected-frame)
+ (list (cons 'riece-window-configuration
+ (current-window-configuration))))
+ (if (cdr entry)
+ (set-window-configuration (cdr entry))
+ (delete-other-windows))
+ (message
+ (substitute-command-keys
+ "\\[riece-command-suspend-resume] to get back the last windows"))))
+
(defun riece-command-change-layout (name)
"Select a layout-name from all current available layouts and change
the layout to the selected layout-name."
@@ -435,32 +450,25 @@ (defun riece-command-join-partner (targe
(riece-join-channel target)
(riece-switch-to-channel target))))
-(defun riece-command-join (target &optional key)
+(defun riece-command-join (target)
(interactive
- (let* ((completion-ignore-case t)
- (target
- (if riece-join-channel-candidate
- (let ((default (riece-format-identity
- riece-join-channel-candidate)))
- (riece-completing-read-identity
- (format "Join channel/user (default %s): " default)
- (riece-get-identities-on-server (riece-current-server-name))
- nil nil nil nil default))
- (riece-completing-read-identity
- "Join channel/user: "
- (riece-get-identities-on-server (riece-current-server-name)))))
- key)
- (if (and current-prefix-arg
- (riece-channel-p (riece-identity-prefix target)))
- (setq key
- (riece-read-passwd (format "Key for %s: "
- (riece-format-identity target)))))
- (list target key)))
+ (let ((completion-ignore-case t))
+ (list
+ (if riece-join-channel-candidate
+ (let ((default (riece-format-identity
+ riece-join-channel-candidate)))
+ (riece-completing-read-identity
+ (format "Join channel/user (default %s): " default)
+ (riece-get-identities-on-server (riece-current-server-name))
+ nil nil nil nil default))
+ (riece-completing-read-identity
+ "Join channel/user: "
+ (riece-get-identities-on-server (riece-current-server-name)))))))
(let ((pointer (riece-identity-member target riece-current-channels)))
(if pointer
(riece-command-switch-to-channel (car pointer))
(if (riece-channel-p (riece-identity-prefix target))
- (riece-command-join-channel target key)
+ (riece-command-join-channel target nil)
(riece-command-join-partner target)))))
(defun riece-command-part-channel (target message)
@@ -484,10 +492,10 @@ (defun riece-command-part (target &optio
(riece-format-identity riece-current-channel))
riece-current-channels nil nil nil nil
(riece-format-identity riece-current-channel)))
- message)
- (if (and current-prefix-arg
- (riece-channel-p (riece-identity-prefix target)))
- (setq message (read-string "Message: ")))
+ (message
+ (if current-prefix-arg
+ (read-string "Message: ")
+ riece-part-message)))
(list target message))))
(if (riece-identity-member target riece-current-channels)
(if (riece-channel-p (riece-identity-prefix target))
@@ -616,7 +624,7 @@ (defun riece-command-quit (&optional arg
(let ((message
(if arg
(read-string "Message: ")
- riece-quit-message))
+ riece-quit-message))
(alist riece-server-process-alist))
(while alist
(riece-quit-server-process (cdr (car alist)) message)
Index: xemacs-packages/riece/lisp/riece-compat.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-compat.el,v
retrieving revision 1.2
diff -u -F^( -u -r1.2 riece-compat.el
--- xemacs-packages/riece/lisp/riece-compat.el 27 Dec 2003 15:41:10 -0000 1.2
+++ xemacs-packages/riece/lisp/riece-compat.el 20 Mar 2005 09:09:57 -0000
@@ -48,15 +48,9 @@ (defun riece-line-end-position ()
(end-of-line)
(point)))
-(defvar riece-read-passwd nil)
+(autoload 'read-passwd "passwd")
+(defvar riece-read-passwd #'read-passwd)
(defun riece-read-passwd (prompt)
- (if (not riece-read-passwd)
- (if (functionp 'read-passwd)
- (setq riece-read-passwd 'read-passwd)
- (if (load "passwd" t)
- (setq riece-read-passwd 'read-passwd)
- (autoload 'ange-ftp-read-passwd "ange-ftp")
- (setq riece-read-passwd 'ange-ftp-read-passwd))))
(funcall riece-read-passwd prompt))
(if (string-match "0\\{0\\}" "")
Index: xemacs-packages/riece/lisp/riece-ctcp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-ctcp.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-ctcp.el
--- xemacs-packages/riece/lisp/riece-ctcp.el 5 Sep 2004 09:04:19 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-ctcp.el 20 Mar 2005 09:09:57 -0000
@@ -28,6 +28,7 @@ (require 'riece-version)
(require 'riece-misc)
(require 'riece-highlight)
(require 'riece-display)
+(require 'riece-debug)
(defface riece-ctcp-action-face
'((((class color)
@@ -72,27 +73,16 @@ (defun riece-handle-ctcp-request (prefix
(after-hook
(intern (concat "riece-ctcp-after-" request
"-request-hook"))))
- (unless (condition-case error
- (run-hook-with-args-until-success
- hook prefix (car targets) message)
- (error
- (if riece-debug
- (message "Error in `%S': %S" hook error))
- nil))
+ (unless (riece-ignore-errors (symbol-name hook)
+ (run-hook-with-args-until-success
+ hook prefix (car targets) message))
(if function
- (condition-case error
- (funcall function prefix (car targets) message)
- (error
- (if riece-debug
- (message "Error in `%S': %S"
- function error))))))
- (condition-case error
+ (riece-funcall-ignore-errors (symbol-name function)
+ function prefix (car targets)
+ message))
+ (riece-ignore-errors (symbol-name after-hook)
(run-hook-with-args-until-success
- after-hook prefix (car targets) message)
- (error
- (if riece-debug
- (message "Error in `%S': %S"
- after-hook error)))))
+ after-hook prefix (car targets) message))))
t)))))
(defun riece-handle-ctcp-version-request (prefix target string)
@@ -180,15 +170,49 @@ (defun riece-handle-ctcp-action-request
(riece-channel-buffer (riece-make-identity
target riece-server-name))))
(user (riece-prefix-nickname prefix)))
- (riece-insert buffer (concat riece-ctcp-action-prefix user " " string
+ (riece-insert buffer (concat riece-ctcp-action-prefix
+ (riece-format-identity
+ (riece-make-identity user riece-server-name)
+ t)
+ " " string
"\n"))
(riece-insert
(if (and riece-channel-buffer-mode
(not (eq buffer riece-channel-buffer)))
(list riece-dialogue-buffer riece-others-buffer)
riece-dialogue-buffer)
- (concat (riece-concat-server-name (concat riece-ctcp-action-prefix user
- " " string)) "\n"))))
+ (concat (riece-concat-server-name
+ (concat riece-ctcp-action-prefix
+ (riece-format-identity
+ (riece-make-identity target riece-server-name)
+ t)
+ ": "
+ (riece-format-identity
+ (riece-make-identity user riece-server-name)
+ t)
+ " " string)) "\n"))))
+
+(defun riece-handle-ctcp-time-request (prefix target string)
+ (let* ((target-identity (riece-make-identity target riece-server-name))
+ (buffer (if (riece-channel-p target)
+ (riece-channel-buffer target-identity)))
+ (user (riece-prefix-nickname prefix))
+ (time (format-time-string "%c")))
+ (riece-send-string
+ (format "NOTICE %s :\1TIME %s\1\r\n" user time))
+ (riece-insert-change buffer (format "CTCP TIME from %s\n" user))
+ (riece-insert-change
+ (if (and riece-channel-buffer-mode
+ (not (eq buffer riece-channel-buffer)))
+ (list riece-dialogue-buffer riece-others-buffer)
+ riece-dialogue-buffer)
+ (concat
+ (riece-concat-server-name
+ (format "CTCP TIME from %s (%s) to %s"
+ user
+ (riece-strip-user-at-host (riece-prefix-user-at-host prefix))
+ (riece-format-identity target-identity t)))
+ "\n"))))
(defun riece-handle-ctcp-response (prefix string)
(when (and riece-ctcp-enabled prefix string
@@ -207,27 +231,16 @@ (defun riece-handle-ctcp-response (prefi
(after-hook
(intern (concat "riece-ctcp-after-" response
"-response-hook"))))
- (unless (condition-case error
- (run-hook-with-args-until-success
- hook prefix (car targets) message)
- (error
- (if riece-debug
- (message "Error in `%S': %S" hook error))
- nil))
+ (unless (riece-ignore-errors (symbol-name hook)
+ (run-hook-with-args-until-success
+ hook prefix (car targets) message))
(if function
- (condition-case error
- (funcall function prefix (car targets) message)
- (error
- (if riece-debug
- (message "Error in `%S': %S"
- function error))))))
- (condition-case error
+ (riece-funcall-ignore-errors
+ (symbol-name function)
+ function prefix (car targets) message))
+ (riece-ignore-errors (symbol-name after-hook)
(run-hook-with-args-until-success
- after-hook prefix (car targets) message)
- (error
- (if riece-debug
- (message "Error in `%S': %S"
- after-hook error)))))
+ after-hook prefix (car targets) message))))
t)))))
(defun riece-handle-ctcp-version-response (prefix target string)
@@ -266,6 +279,17 @@ (defun riece-handle-ctcp-clientinfo-resp
string))
"\n")))
+(defun riece-handle-ctcp-time-response (prefix target string)
+ (riece-insert-change
+ (list riece-dialogue-buffer riece-others-buffer)
+ (concat
+ (riece-concat-server-name
+ (format "CTCP TIME for %s (%s) = %s"
+ (riece-prefix-nickname prefix)
+ (riece-strip-user-at-host (riece-prefix-user-at-host prefix))
+ string))
+ "\n")))
+
(defun riece-command-ctcp-version (target)
(interactive
(list (riece-completing-read-identity
@@ -326,10 +350,18 @@ (defun riece-command-ctcp-action (target
(riece-with-server-buffer (riece-identity-server target)
(riece-concat-server-name
(concat riece-ctcp-action-prefix
- (riece-identity-prefix (riece-current-nickname)) " " action
- " (in " (riece-format-identity target t) ")")))
+ (riece-format-identity target t) ": "
+ (riece-identity-prefix (riece-current-nickname)) " " action)))
"\n"))))
+(defun riece-command-ctcp-time (target)
+ (interactive
+ (list (riece-completing-read-identity
+ "Channel/User: "
+ (riece-get-identities-on-server (riece-current-server-name)))))
+ (riece-send-string (format "PRIVMSG %s :\1TIME\1\r\n"
+ (riece-identity-prefix target))))
+
(defun riece-ctcp-requires ()
(if (memq 'riece-highlight riece-addons)
'(riece-highlight)))
@@ -350,6 +382,7 @@ (defun riece-ctcp-enable ()
(define-key riece-dialogue-mode-map "\C-cp" 'riece-command-ctcp-ping)
(define-key riece-dialogue-mode-map "\C-ca" 'riece-command-ctcp-action)
(define-key riece-dialogue-mode-map "\C-cc"
'riece-command-ctcp-clientinfo)
+ (define-key riece-dialogue-mode-map "\C-ct" 'riece-command-ctcp-time)
(setq riece-ctcp-enabled t))
(defun riece-ctcp-disable ()
@@ -357,6 +390,7 @@ (defun riece-ctcp-disable ()
(define-key riece-dialogue-mode-map "\C-cp" nil)
(define-key riece-dialogue-mode-map "\C-ca" nil)
(define-key riece-dialogue-mode-map "\C-cc" nil)
+ (define-key riece-dialogue-mode-map "\C-ct" nil)
(setq riece-ctcp-enabled nil))
(provide 'riece-ctcp)
cvs server: xemacs-packages/riece/lisp/riece-debug.el is a new entry, no comparison
available
Index: xemacs-packages/riece/lisp/riece-display.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-display.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-display.el
--- xemacs-packages/riece/lisp/riece-display.el 5 Dec 2004 04:13:00 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-display.el 20 Mar 2005 09:09:57 -0000
@@ -125,11 +125,13 @@ (defun riece-display-connect-signals ()
(riece-identity-server riece-current-channel))
(riece-with-server-buffer (riece-identity-server
riece-current-channel)
- (riece-identity-assoc
- (riece-identity-prefix (nth 1 (riece-signal-args signal)))
- (riece-channel-get-users (riece-identity-prefix
- riece-current-channel))
- t)))))
+ (when (riece-channel-p (riece-identity-prefix
+ riece-current-channel))
+ (riece-identity-assoc
+ (riece-identity-prefix (nth 1 (riece-signal-args signal)))
+ (riece-channel-get-users (riece-identity-prefix
+ riece-current-channel))
+ t))))))
(riece-connect-signal
'user-renamed
(lambda (signal handback)
@@ -325,7 +327,9 @@ (defun riece-update-channel-list-indicat
(while pointer
(if (cdr pointer)
(setcdr pointer (cons "," (cdr pointer))))
- (setq pointer (cdr (cdr pointer)))))
+ (setq pointer (cdr (cdr pointer))))
+ (setq riece-channel-list-indicator
+ (riece-normalize-modeline-string riece-channel-list-indicator)))
(setq riece-channel-list-indicator "No channel")))
(defun riece-update-status-indicators ()
@@ -474,7 +478,8 @@ (defun riece-part-channel (identity)
(if pointer
(setcar pointer nil))
(if (riece-identity-equal identity riece-current-channel)
- (riece-switch-to-nearest-channel pointer))))
+ (riece-switch-to-nearest-channel pointer))
+ (funcall riece-buffer-dispose-function (riece-channel-buffer identity))))
(defun riece-redisplay-buffers (&optional force)
(riece-update-buffers)
Index: xemacs-packages/riece/lisp/riece-emacs.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-emacs.el,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 riece-emacs.el
--- xemacs-packages/riece/lisp/riece-emacs.el 5 Dec 2004 04:13:00 -0000 1.5
+++ xemacs-packages/riece/lisp/riece-emacs.el 20 Mar 2005 09:09:57 -0000
@@ -95,6 +95,19 @@ (defun riece-propertize-modeline-string
(add-text-properties 0 (length string) properties string)
string)
+(defun riece-normalize-modeline-string-1 (string)
+ (if string
+ (if (listp (car string))
+ (cons (car (car string)) (riece-normalize-modeline-string-1
+ (append (cdr (car string)) (cdr string))))
+ (cons (car string) (riece-normalize-modeline-string-1
+ (cdr string))))))
+
+(defun riece-normalize-modeline-string (string)
+ (if (listp string)
+ (list (apply #'concat (riece-normalize-modeline-string-1 string)))
+ string))
+
(defun riece-put-text-property-nonsticky (start end prop value
&optional object)
(add-text-properties start end
cvs server: xemacs-packages/riece/lisp/riece-eval.el is a new entry, no comparison
available
Index: xemacs-packages/riece/lisp/riece-filter.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-filter.el,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 riece-filter.el
--- xemacs-packages/riece/lisp/riece-filter.el 5 Sep 2004 09:04:19 -0000 1.3
+++ xemacs-packages/riece/lisp/riece-filter.el 20 Mar 2005 09:09:57 -0000
@@ -28,6 +28,7 @@ (require 'riece-handle)
(require 'riece-misc)
(require 'riece-server) ;riece-close-server
(require 'riece-identity)
+(require 'riece-debug)
(defun riece-handle-numeric-reply (prefix number name string)
(let ((base-number (* (/ number 100) 100))
@@ -40,12 +41,9 @@ (defun riece-handle-numeric-reply (prefi
(format "riece-handle-default-%03d-message" base-number))))
(if (and function
(symbol-function function))
- (condition-case error
- (funcall function prefix number name
- (riece-decode-coding-string string))
- (error
- (if riece-debug
- (message "Error in `%S': %S" function error)))))))
+ (riece-funcall-ignore-errors (symbol-name function)
+ function prefix number name
+ (riece-decode-coding-string string)))))
(defun riece-handle-message (prefix message string)
(if (and prefix
@@ -58,56 +56,50 @@ (defun riece-handle-message (prefix mess
(let ((function (intern-soft (concat "riece-handle-" message
"-message")))
(hook (intern (concat "riece-" message "-hook")))
(after-hook (intern (concat "riece-after-" message "-hook"))))
- (unless (condition-case error
- (run-hook-with-args-until-success hook prefix string)
- (error
- (if riece-debug
- (message "Error in `%S': %S" hook error))
- nil))
+ (unless (riece-ignore-errors (symbol-name hook)
+ (run-hook-with-args-until-success hook prefix string))
(if function
- (condition-case error
- (funcall function prefix string)
- (error
- (if riece-debug
- (message "Error in `%S': %S" function error)))))
- (condition-case error
- (run-hook-with-args-until-success after-hook prefix string)
- (error
- (if riece-debug
- (message "Error in `%S': %S" after-hook error)))))))
+ (riece-funcall-ignore-errors (symbol-name function)
+ function prefix string))
+ (riece-ignore-errors (symbol-name after-hook)
+ (run-hook-with-args-until-success after-hook prefix string)))))
+
+(defsubst riece-chomp-string (string)
+ (if (string-match "\r\\'" string)
+ (substring string 0 (match-beginning 0))
+ string))
(defun riece-filter (process input)
(save-excursion
(set-buffer (process-buffer process))
- (goto-char riece-read-point)
- (unless riece-debug
- (delete-region (riece-line-beginning-position) (point-min))
- (setq riece-read-point (point)))
+ (goto-char (point-max))
(insert input)
- (goto-char (prog1 riece-read-point
- (setq riece-read-point (point))))
+ (goto-char riece-read-point)
(beginning-of-line)
(while (and (not (eobp))
- (looking-at ".*\r\n")) ;the input line is not finished
+ (looking-at ".*\n")) ;the input line is not finished
(save-excursion
(if (looking-at
- ":\\([^ ]+\\) +\\([0-5][0-9][0-9]\\) +\\([^ ]+\\) +\\(.*\\)\r\n")
+ ":\\([^ ]+\\) +\\([0-5][0-9][0-9]\\) +\\([^ ]+\\) +\\(.*\\)")
(riece-handle-numeric-reply
(match-string 1) ;prefix
(string-to-number (match-string 2)) ;number
(match-string 3) ;name
- (match-string 4)) ;reply string
- (if (looking-at "\\(:\\([^ ]+\\) +\\)?\\([^ ]+\\) +\\(.*\\)\r\n")
+ (riece-chomp-string (match-string 4))) ;reply string
+ (if (looking-at "\\(:\\([^ ]+\\) +\\)?\\([^ ]+\\) +\\(.*\\)")
(riece-handle-message
(match-string 2) ;optional prefix
(match-string 3) ;command
- (match-string 4)) ;params & trailing
+ (riece-chomp-string (match-string 4))) ;params & trailing
(if riece-debug
(message "Weird message from server: %s"
(buffer-substring (point) (progn
(end-of-line)
(point))))))))
- (forward-line))))
+ (forward-line))
+ (unless riece-debug
+ (delete-region (point-min) (point)))
+ (setq riece-read-point (point))))
(eval-when-compile
(autoload 'riece-exit "riece"))
Index: xemacs-packages/riece/lisp/riece-foolproof.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-foolproof.el,v
retrieving revision 1.1
diff -u -F^( -u -r1.1 riece-foolproof.el
--- xemacs-packages/riece/lisp/riece-foolproof.el 5 Sep 2004 09:04:19 -0000 1.1
+++ xemacs-packages/riece/lisp/riece-foolproof.el 20 Mar 2005 09:09:57 -0000
@@ -51,6 +51,13 @@ (defun riece-foolproof-command-send-mess
riece-current-channel))
(error "Channel %s is not displayed"
(riece-identity-prefix riece-current-channel)))
+ (when (text-property-not-all
+ (riece-line-beginning-position) (riece-line-end-position)
+ 'invisible nil)
+ (error "Invisible text included: %s"
+ (buffer-substring-no-properties
+ (riece-line-beginning-position)
+ (riece-line-end-position))))
(when executing-kbd-macro
(error "%s" "Forbidden to run keyboard macro"))))
Index: xemacs-packages/riece/lisp/riece-globals.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-globals.el,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 riece-globals.el
--- xemacs-packages/riece/lisp/riece-globals.el 5 Dec 2004 04:13:00 -0000 1.5
+++ xemacs-packages/riece/lisp/riece-globals.el 20 Mar 2005 09:09:58 -0000
@@ -65,8 +65,11 @@ (defvar riece-polling 0
(defvar riece-reconnect-with-password nil
"If non-nil, attempt to reconnect with password.")
-(defvar riece-obarray-size 1327
- "The size of obarray used by riece on channelname and username space.")
+(defvar riece-user-obarray-size 1327
+ "The size of obarray used by riece on username space.")
+
+(defvar riece-channel-obarray-size 103
+ "The size of obarray used by riece on channelname space.")
;;; Variables local to the server buffers:
(defvar riece-server-name nil
@@ -117,8 +120,11 @@ (defvar riece-send-size nil
(defvar riece-last-send-time nil
"Timestamp of the last send.
Local to the server buffers.")
-(defvar riece-obarray nil
- "Namespace of the IRC world.
+(defvar riece-user-obarray nil
+ "USER namespace of the IRC world.
+Local to the server buffers.")
+(defvar riece-channel-obarray nil
+ "Channel namespace of the IRC world.
Local to the server buffers.")
(defvar riece-coding-system nil
"Coding system for process I/O.
@@ -172,9 +178,10 @@ (defvar riece-channel-list-buffer nil
"Buffer for channel list.")
(defvar riece-user-list-buffer nil
"Buffer for user list.")
-
(defvar riece-channel-buffer nil
"Buffer for messages arrived in the current channel.")
+(defvar riece-temp-buffer nil
+ "Buffer for temporally use.")
(defvar riece-buffer-list nil)
(defvar riece-overriding-server-name nil)
cvs server: xemacs-packages/riece/lisp/riece-google.el is a new entry, no comparison
available
Index: xemacs-packages/riece/lisp/riece-handle.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-handle.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-handle.el
--- xemacs-packages/riece/lisp/riece-handle.el 5 Sep 2004 09:04:19 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-handle.el 20 Mar 2005 09:09:58 -0000
@@ -161,7 +161,6 @@ (defun riece-handle-part-message (prefix
(message (nth 1 parameters))
(user-identity (riece-make-identity user riece-server-name)))
(while channels
- (riece-naming-assert-part user (car channels))
(let* ((channel-identity (riece-make-identity (car channels)
riece-server-name))
(buffer (riece-channel-buffer channel-identity)))
@@ -187,6 +186,7 @@ (defun riece-handle-part-message (prefix
(riece-format-identity channel-identity t))
message))
"\n")))
+ (riece-naming-assert-part user (car channels))
(setq channels (cdr channels)))))
(defun riece-handle-kick-message (prefix string)
Index: xemacs-packages/riece/lisp/riece-irc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-irc.el,v
retrieving revision 1.1
diff -u -F^( -u -r1.1 riece-irc.el
--- xemacs-packages/riece/lisp/riece-irc.el 5 Sep 2004 09:04:19 -0000 1.1
+++ xemacs-packages/riece/lisp/riece-irc.el 20 Mar 2005 09:09:58 -0000
@@ -69,8 +69,7 @@ (defun riece-irc-open-server (server ser
(quit
(if (equal server-name "")
(message "Password: Quit")
- (message (format "Password for %s: Quit"
- server-name)))
+ (message "Password for %s: " server-name))
'quit)))
(setq riece-reconnect-with-password nil)))
(if (eq password 'quit)
cvs server: xemacs-packages/riece/lisp/riece-keepalive.el is a new entry, no comparison
available
Index: xemacs-packages/riece/lisp/riece-keyword.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-keyword.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-keyword.el
--- xemacs-packages/riece/lisp/riece-keyword.el 5 Sep 2004 09:04:19 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-keyword.el 20 Mar 2005 09:09:58 -0000
@@ -61,7 +61,7 @@ (defface riece-keyword-face
'((((class color))
(:foreground "red" :underline t))
(t
- ()))
+ (:underline t)))
"Face used for highlightening matching keyword."
:group 'riece-highlight-faces)
(defvar riece-keyword-face 'riece-keyword-face)
Index: xemacs-packages/riece/lisp/riece-layout.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-layout.el,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 riece-layout.el
--- xemacs-packages/riece/lisp/riece-layout.el 5 Sep 2004 09:04:19 -0000 1.3
+++ xemacs-packages/riece/lisp/riece-layout.el 20 Mar 2005 09:09:58 -0000
@@ -49,8 +49,8 @@ (defcustom riece-layout-alist
"An alist mapping the names to layout functions.
An element of this alist is either in the following forms:
-(NAME CONFIGURE-FUNCTION [PARAMETERS])
-(NAME1 . NAME2)
+\(NAME CONFIGURE-FUNCTION [PARAMETERS]\)
+\(NAME1 . NAME2\)
In the first form, NAME is a string which specifies the layout
setting, and CONFIGURE-FUNCTION is a function which does window
Index: xemacs-packages/riece/lisp/riece-log.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-log.el,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 riece-log.el
--- xemacs-packages/riece/lisp/riece-log.el 5 Dec 2004 04:13:00 -0000 1.5
+++ xemacs-packages/riece/lisp/riece-log.el 20 Mar 2005 09:09:58 -0000
@@ -1,7 +1,9 @@
;;; riece-log.el --- saving irc logs add-on
;; Copyright (C) 2003 OHASHI Akira
+;; Copyright (C) 2004 Daiki Ueno
;; Author: OHASHI Akira <bg66(a)koka-in.org>
+;; Daiki Ueno <ueno(a)unixuser.org>
;; Keywords: IRC, riece
;; This file is part of Riece.
@@ -53,7 +55,8 @@ (defcustom riece-log-flashback 10
"*If non-nil, irc messages flash back from log files.
If integer, flash back only this line numbers. t means all lines."
:type '(choice (integer :tag "line numbers")
- (boolean :tag "flash back or not"))
+ (const t :tag "of the day")
+ (const nil :tag "no flashback"))
:group 'riece-log)
(defcustom riece-log-coding-system nil
@@ -61,11 +64,35 @@ (defcustom riece-log-coding-system nil
:type 'symbol
:group 'riece-log)
+(defcustom riece-log-file-name-coding-system
+ (if (boundp 'file-name-coding-system)
+ file-name-coding-system)
+ "*Coding system used for filenames of log files."
+:type 'symbol
+:group 'riece-log)
+
(defcustom riece-log-open-directory-function 'find-file
"*Function for opening a directory."
:type 'function
:group 'riece-log)
+(defface riece-log-date-face
+ '((((class color)
+ (background dark))
+ (:foreground "Gray70"))
+ (((class color)
+ (background light))
+ (:foreground "DimGray"))
+ (t
+ (:bold t)))
+ "Face used for displaying \"(YYYY/MM/dd)\" extent."
+:group 'riece-highlight-faces)
+(defvar riece-log-date-face 'riece-log-date-face)
+
+(defvar riece-log-lock-file nil
+ "Lock file for riece-log.
+It is created if there is at least one instance of Emacs running riece-log.")
+
(defvar riece-log-enabled nil)
(defconst riece-log-description
@@ -74,65 +101,144 @@ (defconst riece-log-description
(defun riece-log-display-message-function (message)
(if riece-log-enabled
(let ((file (riece-log-get-file (riece-message-target message)))
- (coding-system-for-write riece-log-coding-system))
+ (coding-system-for-write riece-log-coding-system)
+ file-name-coding-system
+ default-file-name-coding-system)
(unless (file-directory-p (file-name-directory file))
(make-directory (file-name-directory file) t))
(write-region (concat (format-time-string "%H:%M") " "
(riece-format-message message))
- nil file t 0))))
+ nil file t 0
+ riece-log-lock-file))))
(defun riece-log-get-file (identity)
(expand-file-name
- (concat (format-time-string "%Y%m%d") ".log")
+ (concat (format-time-string "%Y%m%d") ".txt")
(riece-log-get-directory identity)))
+(defun riece-log-get-files (identity)
+ (let ((directory (riece-log-get-directory identity)))
+ (if (file-directory-p directory)
+ (nreverse (sort (directory-files directory t
+ (concat "^"
+ (riece-make-interval-regexp "[0-9]" 8)
+ "\\.txt$")
+ t)
+ #'string-lessp)))))
+
(defun riece-log-get-directory (identity)
- (let ((channel (riece-identity-canonicalize-prefix
- (riece-identity-prefix identity)))
+ (let ((prefix (riece-identity-canonicalize-prefix
+ (riece-identity-prefix identity)))
(server (riece-identity-server identity))
- (map (assoc (riece-format-identity identity) riece-log-directory-map))
- name)
- (cond (map (setq name (cdr map)))
- ((string-match riece-strict-channel-regexp channel)
- (let ((suffix (match-string 2 channel)))
- (setq name (substring channel (match-end 1) (match-beginning 2)))
- (when (and (stringp suffix)
- (string-match "^:\\*\\.\\(.*\\)" suffix))
- (setq name (concat name "-" (match-string 1 suffix))))))
- (t (setq name "priv")))
- (if server
- (expand-file-name name (expand-file-name server riece-log-directory))
- (expand-file-name name riece-log-directory))))
+ (map (assoc (riece-format-identity identity) riece-log-directory-map)))
+ (if map
+ (expand-file-name (cdr map) riece-log-directory)
+ (expand-file-name (riece-log-encode-file-name prefix)
+ (expand-file-name
+ (concat "." (riece-log-encode-file-name server))
+ riece-log-directory)))))
+
+(defun riece-log-encode-file-name (file-name)
+ (if riece-log-file-name-coding-system
+ (setq file-name
+ (encode-coding-string file-name
+ riece-log-file-name-coding-system)))
+ (let ((index 0)
+ c)
+ (while (string-match "[^-0-9A-Za-z_\x80-\xFF]" file-name index)
+ (setq c (aref file-name (match-beginning 0)))
+ (if (eq c ?=)
+ (setq file-name (replace-match "==" nil t file-name)
+ index (1+ (match-end 0)))
+ (setq file-name (replace-match (format "=%02X" c) nil t file-name)
+ index (+ 2 (match-end 0)))))
+ file-name))
+
+(defun riece-log-decode-file-name (file-name)
+ (let ((index 0))
+ (while (string-match "==\\|=\\([0-7][0-9A-F]\\)" file-name index)
+ (setq file-name (replace-match
+ (if (eq (aref file-name (1- (match-end 0))) ?=)
+ "="
+ (char-to-string
+ (car (read-from-string
+ (concat "?\\x" (match-string 1 file-name))))))
+ nil t file-name)
+ index (1+ (match-beginning 0))))
+ file-name)
+ (if riece-log-file-name-coding-system
+ (setq file-name
+ (decode-coding-string file-name
+ riece-log-file-name-coding-system)))
+ file-name)
+
+(defun riece-log-insert (identity lines)
+ "Insert logs for IDENTITY at most LINES.
+If LINES is t, insert today's logs entirely."
+ (if (eq lines t)
+ (let* (file-name-coding-system
+ default-file-name-coding-system
+ (file (riece-log-get-file identity)))
+ (if (file-exists-p file)
+ (insert-file-contents file)))
+ (let* (file-name-coding-system
+ default-file-name-coding-system
+ (files (riece-log-get-files identity))
+ (lines (- lines))
+ name date point)
+ (while (and (< lines 0) files)
+ (if (and (file-exists-p (car files))
+ (string-match (concat (riece-make-interval-regexp "[0-9]" 8)
+ "\\.txt$")
+ (setq name (file-name-nondirectory
+ (car files)))))
+ (save-restriction
+ (narrow-to-region (point) (point))
+ (insert-file-contents (car files))
+ (goto-char (point-max))
+ (setq lines (forward-line lines))
+ (delete-region (point-min) (point))
+ (unless (equal name (format-time-string "%Y%m%d.txt"))
+ (setq date (concat " (" (substring name 0 4) "/"
+ (substring name 4 6) "/"
+ (substring name 6 8) ")"))
+ (while (not (eobp))
+ (end-of-line)
+ (setq point (point))
+ (insert date)
+ (put-text-property point (point)
+ 'riece-overlay-face 'riece-log-date-face)
+ (forward-line))
+ (goto-char (point-min)))))
+ (setq files (cdr files))))))
(defun riece-log-flashback (identity)
(when riece-log-flashback
- (let ((file (riece-log-get-file identity)))
- (when (file-exists-p file)
- (let (string)
- (with-temp-buffer
- (insert-file-contents file)
- (if (not (integerp riece-log-flashback))
- (goto-char (point-min))
- (goto-char (point-max))
- (forward-line (- riece-log-flashback)))
- (setq string (buffer-substring (point) (point-max))))
- (let (buffer-read-only)
- (goto-char (point-max))
- (insert string)
- (goto-char (point-min))
- (while (re-search-forward
- "^[0-9][0-9]:[0-9][0-9] [<>]\\([^<>]+\\)[<>] " nil t)
- (put-text-property (match-beginning 1) (match-end 1)
- 'riece-identity
- (riece-make-identity
- (riece-match-string-no-properties 1)
- (riece-identity-server identity))))
- (when (and (memq 'riece-button riece-addons)
- riece-button-enabled)
- (riece-button-update-buffer))
- (goto-char (point-max))
- (set-window-point (get-buffer-window (current-buffer))
- (point))))))))
+ (riece-insert-info (current-buffer)
+ (if (eq riece-log-flashback t)
+ "Recent messages of the day:\n"
+ (format "Recent messages up to %d lines:\n"
+ riece-log-flashback)))
+ (let (buffer-read-only
+ (point (goto-char (point-max))))
+ (insert (with-temp-buffer
+ (riece-log-insert identity riece-log-flashback)
+ (buffer-string)))
+ (goto-char point)
+ (while (re-search-forward
+ (concat "^" riece-time-prefix-regexp
+
"\\(<[^>]+>\\|>[^<]+<\\|([^)]+)\\|{[^}]+}\\|=[^=]+=\\)")
+ nil t)
+ (put-text-property (1+ (match-beginning 1)) (1- (match-end 1))
+ 'riece-identity
+ (riece-make-identity
+ (buffer-substring (1+ (match-beginning 1))
+ (1- (match-end 1)))
+ (riece-identity-server identity))))
+ (run-hook-with-args 'riece-after-insert-functions
+ point (goto-char (point-max)))
+ (set-window-point (get-buffer-window (current-buffer))
+ (point)))))
(defun riece-log-open-directory (&optional channel)
(interactive)
@@ -147,6 +253,13 @@ (defun riece-log-requires ()
'(riece-button)))
(defun riece-log-insinuate ()
+ (make-directory riece-log-directory t)
+ (setq riece-log-lock-file
+ (expand-file-name (format "!%s-%d-%d"
+ (riece-log-encode-file-name (system-name))
+ (user-uid)
+ (emacs-pid))
+ riece-log-directory))
;; FIXME: Use `riece-after-insert-functions' for trapping change,
;; notice, wallops and so on. But must add argument.
(add-hook 'riece-after-display-message-functions
Index: xemacs-packages/riece/lisp/riece-menu.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-menu.el,v
retrieving revision 1.2
diff -u -F^( -u -r1.2 riece-menu.el
--- xemacs-packages/riece/lisp/riece-menu.el 5 Sep 2004 09:04:19 -0000 1.2
+++ xemacs-packages/riece/lisp/riece-menu.el 20 Mar 2005 09:09:58 -0000
@@ -38,6 +38,7 @@ (require 'riece-server)
(defvar riece-menu-items
`("Riece"
["Version" riece-version t]
+ ["Submit Bug Report" riece-submit-bug-report t]
"----"
("Change Window Layout..." :filter riece-menu-create-layouts-menu)
["Toggle Freeze Channel Buffer"
@@ -60,6 +61,9 @@ (defvar riece-menu-items
["Set Channel Topic" riece-command-topic riece-current-channel]
["Kick User" riece-command-kick riece-current-channel]
["Invite User" riece-command-invite riece-current-channel]
+ "----"
+ ["Next Channel" riece-command-next-channel riece-current-channels]
+ ["Previous Channel" riece-command-previous-channel riece-current-channels]
"----"
("Channels" :filter riece-menu-create-channels-menu)
("Servers" :filter riece-menu-create-servers-menu))
Index: xemacs-packages/riece/lisp/riece-message.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-message.el,v
retrieving revision 1.3
diff -u -F^( -u -r1.3 riece-message.el
--- xemacs-packages/riece/lisp/riece-message.el 5 Sep 2004 09:04:19 -0000 1.3
+++ xemacs-packages/riece/lisp/riece-message.el 20 Mar 2005 09:09:58 -0000
@@ -114,7 +114,7 @@ (defun riece-message-buffer (message)
(riece-message-target message))))
(unless (riece-identity-member target riece-current-channels)
(riece-join-channel target)
- ;; If you are not joined any channel,
+ ;; If you are not joined to any channel,
;; switch to the target immediately.
(unless riece-current-channel
(riece-switch-to-channel target)))
@@ -174,13 +174,14 @@ (defun riece-display-message-1 (message)
(setq parent-buffers (riece-message-parent-buffers message buffer))
(riece-insert buffer (riece-format-message message))
(riece-insert parent-buffers (riece-format-message message t))
- (run-hook-with-args 'riece-after-display-message-functions message)))
+ (with-current-buffer buffer
+ (run-hook-with-args 'riece-after-display-message-functions message))))
(defun riece-display-message (message)
"Display MESSAGE object."
(let ((functions riece-message-filter-functions))
(setq message (copy-sequence message))
- (while functions
+ (while (and functions message)
(setq message (funcall (car functions) message)
functions (cdr functions)))
(if message
Index: xemacs-packages/riece/lisp/riece-misc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-misc.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-misc.el
--- xemacs-packages/riece/lisp/riece-misc.el 5 Dec 2004 04:13:01 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-misc.el 20 Mar 2005 09:09:58 -0000
@@ -223,11 +223,17 @@ (defun riece-get-identities-on-server (s
(riece-with-server-buffer server-name
(let (identities)
(mapatoms
- (lambda (atom)
+ (lambda (channel)
(setq identities
- (cons (riece-make-identity (symbol-name atom) server-name)
+ (cons (riece-make-identity (symbol-name channel) server-name)
identities)))
- riece-obarray)
+ riece-channel-obarray)
+ (mapatoms
+ (lambda (user)
+ (setq identities
+ (cons (riece-make-identity (symbol-name user) server-name)
+ identities)))
+ riece-user-obarray)
identities)))
(defun riece-check-channel-commands-are-usable (&optional channel)
Index: xemacs-packages/riece/lisp/riece-options.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-options.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-options.el
--- xemacs-packages/riece/lisp/riece-options.el 5 Dec 2004 04:13:01 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-options.el 20 Mar 2005 09:09:58 -0000
@@ -114,7 +114,12 @@ (defcustom riece-addons '(riece-highligh
riece-button
riece-menu
riece-icon
- riece-ignore)
+ riece-ignore
+ riece-log
+ riece-toolbar
+ riece-alias
+ riece-ctlseq
+ riece-keyword)
"Add-ons insinuated into Riece."
:type '(repeat symbol)
:group 'riece-options)
@@ -194,8 +199,7 @@ (defcustom riece-default-password (geten
(const :tag "No" nil))
:group 'riece-server)
-(defcustom riece-username (or (getenv "IRCNAME")
- (user-real-login-name))
+(defcustom riece-username nil
"Your user name."
:type 'string
:group 'riece-server)
@@ -269,6 +273,12 @@ (defcustom riece-quit-message (riece-ext
:type '(string :tag "Quit message")
:group 'riece-options)
+(defcustom riece-part-message nil
+ "Default part message."
+:type '(choice (const :tag "No message" nil)
+ (string :tag "Part message"))
+:group 'riece-options)
+
(defcustom riece-away-message "Gone"
"Default away message."
:type '(string :tag "Away message")
@@ -279,7 +289,7 @@ (defcustom riece-gather-channel-modes ni
:type 'boolean
:group 'riece-options)
-(defcustom riece-buffer-dispose-function #'bury-buffer
+(defcustom riece-buffer-dispose-function #'kill-buffer
"Function called after the buffer was disposed."
:type 'function
:group 'riece-options)
@@ -289,15 +299,15 @@ (defcustom riece-shrink-buffer-idle-time
:type 'integer
:group 'riece-options)
-(defcustom riece-shrink-buffer-remove-lines 10
- "Number of lines removed when shrinking channel buffers."
-:type 'integer
-:group 'riece-options)
-
-(defcustom riece-max-buffer-size 65535
+(defcustom riece-max-buffer-size nil
"Maximum size of channel buffers."
:type '(radio (integer :tag "Number of characters")
(const nil))
+:group 'riece-options)
+
+(defcustom riece-shrink-buffer-remove-chars (/ riece-max-send-size 2)
+ "Number of chars removed when shrinking channel buffers."
+:type 'integer
:group 'riece-options)
(defcustom riece-format-time-function #'current-time-string
Index: xemacs-packages/riece/lisp/riece-server.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-server.el,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 riece-server.el
--- xemacs-packages/riece/lisp/riece-server.el 5 Dec 2004 04:13:01 -0000 1.5
+++ xemacs-packages/riece/lisp/riece-server.el 20 Mar 2005 09:09:58 -0000
@@ -259,13 +259,17 @@ (defun riece-reset-process-buffer (proce
(setq riece-send-size 0)
(make-local-variable 'riece-last-send-time)
(setq riece-last-send-time '(0 0 0))
- (make-local-variable 'riece-obarray)
- (setq riece-obarray (make-vector riece-obarray-size 0))
+ (make-local-variable 'riece-user-obarray)
+ (setq riece-user-obarray (make-vector riece-user-obarray-size 0))
+ (make-local-variable 'riece-channel-obarray)
+ (setq riece-channel-obarray (make-vector riece-channel-obarray-size 0))
(make-local-variable 'riece-coding-system)
(buffer-disable-undo)
(erase-buffer)))
(defun riece-close-server-process (process)
+ (with-current-buffer (process-buffer process)
+ (run-hooks 'riece-after-close-hook))
(kill-buffer (process-buffer process))
(setq riece-server-process-alist
(delq (rassq process riece-server-process-alist)
Index: xemacs-packages/riece/lisp/riece-signal.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-signal.el,v
retrieving revision 1.2
diff -u -F^( -u -r1.2 riece-signal.el
--- xemacs-packages/riece/lisp/riece-signal.el 5 Sep 2004 09:04:19 -0000 1.2
+++ xemacs-packages/riece/lisp/riece-signal.el 20 Mar 2005 09:09:58 -0000
@@ -30,6 +30,7 @@
;;; Code:
(require 'riece-options)
+(require 'riece-debug)
(defvar riece-signal-slot-obarray
(make-vector 31 0))
@@ -103,22 +104,16 @@ (defun riece-emit-signal (signal-name &r
(setq signal (riece-make-signal signal-name args)
slots (symbol-value symbol))
(while slots
- (condition-case error
- (if (or (null (riece-slot-filter (car slots)))
- (condition-case error
- (funcall (riece-slot-filter (car slots)) signal)
- (error
- (if riece-debug
- (message
- "Error in signal filter for \"%S\": %S"
- signal-name error)))
- nil))
- (funcall (riece-slot-function (car slots))
- signal (riece-slot-handback (car slots))))
- (error
- (if riece-debug
- (message "Error in slot function for \"%S\": %S"
- signal-name error))))
+ (if (or (null (riece-slot-filter (car slots)))
+ (riece-funcall-ignore-errors (format "signal filter for \"%S\""
+ signal-name)
+ (riece-slot-filter (car slots))
+ signal))
+ (riece-funcall-ignore-errors (format "slot function for \"%S\""
+ signal-name)
+ (riece-slot-function (car slots))
+ signal
+ (riece-slot-handback (car slots))))
(setq slots (cdr slots))))))
(provide 'riece-signal)
cvs server: xemacs-packages/riece/lisp/riece-submit-bug-report.xpm is a new entry, no
comparison available
cvs server: xemacs-packages/riece/lisp/riece-toolbar.el is a new entry, no comparison
available
Index: xemacs-packages/riece/lisp/riece-unread.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-unread.el,v
retrieving revision 1.4
diff -u -F^( -u -r1.4 riece-unread.el
--- xemacs-packages/riece/lisp/riece-unread.el 5 Sep 2004 09:04:19 -0000 1.4
+++ xemacs-packages/riece/lisp/riece-unread.el 20 Mar 2005 09:09:58 -0000
@@ -88,8 +88,9 @@ (defun riece-unread-after-display-messag
(defun riece-unread-after-switch-to-channel-function (last)
(if riece-unread-enabled
(setq riece-unread-channels
- (delete riece-current-channel
- riece-unread-channels))))
+ (delq (car (riece-identity-member riece-current-channel
+ riece-unread-channels))
+ riece-unread-channels))))
(defun riece-unread-format-identity-for-channel-list-buffer (index identity)
(if (and riece-unread-enabled
Index: xemacs-packages/riece/lisp/riece-user.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-user.el,v
retrieving revision 1.2
diff -u -F^( -u -r1.2 riece-user.el
--- xemacs-packages/riece/lisp/riece-user.el 5 May 2004 01:37:25 -0000 1.2
+++ xemacs-packages/riece/lisp/riece-user.el 20 Mar 2005 09:09:58 -0000
@@ -30,7 +30,7 @@ (require 'riece-mode)
(defun riece-find-user (name)
"Get a user object named NAME from the server buffer."
(let ((symbol (intern-soft (riece-identity-canonicalize-prefix name)
- riece-obarray)))
+ riece-user-obarray)))
(if symbol
(symbol-value symbol))))
@@ -38,19 +38,19 @@ (defun riece-forget-user (name)
(let ((symbol (intern-soft (riece-identity-canonicalize-prefix name))))
(when symbol
(makunbound symbol)
- (unintern (symbol-name symbol) riece-obarray))))
+ (unintern (symbol-name symbol) riece-user-obarray))))
(defun riece-rename-user (old-name new-name)
(unless (equal (riece-identity-canonicalize-prefix old-name)
(riece-identity-canonicalize-prefix new-name))
(let ((symbol (intern-soft (riece-identity-canonicalize-prefix old-name)
- riece-obarray)))
+ riece-user-obarray)))
(when symbol
(set (intern (riece-identity-canonicalize-prefix new-name)
- riece-obarray)
+ riece-user-obarray)
(symbol-value symbol))
(makunbound symbol)
- (unintern (symbol-name symbol) riece-obarray)))))
+ (unintern (symbol-name symbol) riece-user-obarray)))))
(defun riece-make-user (channels user-at-host modes away operator)
"Make an instance of user object.
@@ -60,11 +60,11 @@ (defun riece-make-user (channels user-at
(defun riece-get-user (name)
(let ((symbol (intern-soft (riece-identity-canonicalize-prefix name)
- riece-obarray)))
+ riece-user-obarray)))
(if symbol
(symbol-value symbol)
(set (intern (riece-identity-canonicalize-prefix name)
- riece-obarray)
+ riece-user-obarray)
(riece-make-user nil nil nil nil nil)))))
(defun riece-user-channels (user)
Index: xemacs-packages/riece/lisp/riece-version.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-version.el,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 riece-version.el
--- xemacs-packages/riece/lisp/riece-version.el 5 Dec 2004 04:13:01 -0000 1.5
+++ xemacs-packages/riece/lisp/riece-version.el 20 Mar 2005 09:09:58 -0000
@@ -48,14 +48,16 @@ (defcustom riece-user-agent 'emacs-riece
(defconst riece-product-name "Riece")
-(defconst riece-version-number "1.0.6"
+(defconst riece-version-number "1.0.8"
"Version number for this version of Riece.")
(defconst riece-version (format "Riece v%s" riece-version-number)
"Version string for this version of Riece.")
(eval-when-compile
- (defvar xemacs-codename))
+ (defvar emacs-program-version)
+ (defvar xemacs-codename)
+ (defvar sxemacs-codename))
(defun riece-extended-version ()
"Stringified Riece version and Emacs version.
@@ -79,22 +81,20 @@ (defun riece-extended-version ()
(if system-v
(concat " (" system-v ")")
"")))
- ((string-match
- "\\([A-Z]*[Mm][Aa][Cc][Ss]\\)[^(]*\\(\\((beta.*)\\|'\\)\\)?"
- emacs-version)
- (concat
- (match-string 1 emacs-version)
- (format "/%d.%d" emacs-major-version emacs-minor-version)
- (if (match-beginning 3)
- (match-string 3 emacs-version)
- "")
- (if (boundp 'xemacs-codename)
- (concat
- " (" xemacs-codename
- (if system-v
- (concat ", " system-v ")")
- ")"))
- "")))
+ ((featurep 'sxemacs)
+ (concat "SXEmacs/" emacs-program-version
+ (when system-v
+ (concat " ("
+ (when sxemacs-codename
+ (concat sxemacs-codename ", "))
+ system-v ")"))))
+ ((featurep 'xemacs)
+ (concat "XEmacs/" emacs-program-version
+ (when system-v
+ (concat " ("
+ (when xemacs-codename
+ (concat xemacs-codename ", "))
+ system-v ")"))))
(t emacs-version))))
(if (stringp riece-user-agent)
riece-user-agent
Index: xemacs-packages/riece/lisp/riece-xemacs.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece-xemacs.el,v
retrieving revision 1.6
diff -u -F^( -u -r1.6 riece-xemacs.el
--- xemacs-packages/riece/lisp/riece-xemacs.el 5 Dec 2004 04:13:01 -0000 1.6
+++ xemacs-packages/riece/lisp/riece-xemacs.el 20 Mar 2005 09:09:58 -0000
@@ -122,6 +122,8 @@ (defun riece-propertize-modeline-string
(set-extent-properties extent properties)
(cons extent string)))
+(defalias 'riece-normalize-modeline-string 'identity)
+
(defalias 'riece-facep 'find-face)
(defun riece-put-text-property-nonsticky (start end prop value
Index: xemacs-packages/riece/lisp/riece.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/riece.el,v
retrieving revision 1.5
diff -u -F^( -u -r1.5 riece.el
--- xemacs-packages/riece/lisp/riece.el 5 Dec 2004 04:13:02 -0000 1.5
+++ xemacs-packages/riece/lisp/riece.el 20 Mar 2005 09:09:58 -0000
@@ -58,7 +58,8 @@ (defvar riece-buffer-alist
(riece-dialogue-buffer "*Dialogue*" riece-dialogue-mode)
(riece-others-buffer "*Others*" riece-others-mode)
(riece-channel-list-buffer "*Channels*" riece-channel-list-mode)
- (riece-user-list-buffer " *Users*" riece-user-list-mode)))
+ (riece-user-list-buffer " *Users*" riece-user-list-mode)
+ (riece-temp-buffer " *Temp*")))
(defvar riece-shrink-buffer-idle-timer nil
"Timer object to periodically shrink channel buffers.")
@@ -184,7 +185,8 @@ (when t
"r" riece-command-configure-windows
"x" riece-command-copy-region
"t" riece-command-topic
- "w" riece-command-who)
+ "w" riece-command-who
+ "z" riece-command-suspend-resume)
(riece-define-keys riece-command-mode-map
"\r" riece-command-enter-message
@@ -275,6 +277,9 @@ (defun riece (&optional confirm)
(run-hooks 'riece-after-load-startup-hook)
(if (riece-server-opened)
(riece-command-configure-windows)
+ (modify-frame-parameters (selected-frame)
+ (list (cons 'riece-window-configuration
+ (current-window-configuration))))
(unless riece-addons-insinuated
(setq riece-addons (riece-resolve-addons riece-addons))
(let ((pointer riece-addons))
@@ -337,15 +342,15 @@ (defun riece-shrink-buffer (buffer)
(while (> (buffer-size) riece-max-buffer-size)
(let* ((inhibit-read-only t)
buffer-read-only
- (start (point))
- (end (progn (beginning-of-line
- (1+ riece-shrink-buffer-remove-lines))
- (point)))
- (overlays (riece-overlays-in start end)))
+ (end (progn
+ (goto-char riece-shrink-buffer-remove-chars)
+ (beginning-of-line 2)
+ (point)))
+ (overlays (riece-overlays-in (point-min) end)))
(while overlays
(riece-delete-overlay (car overlays))
(setq overlays (cdr overlays)))
- (delete-region start end)))))
+ (delete-region (point-min) end)))))
(defun riece-exit ()
(if riece-save-variables-are-dirty
@@ -370,6 +375,8 @@ (defun riece-exit ()
riece-operator-indicator "-"
riece-channel-status-indicator "-"
riece-freeze-indicator "-")
+ (modify-frame-parameters (selected-frame)
+ (list (list 'riece-window-configuration)))
(delete-other-windows)
(run-hooks 'riece-exit-hook))
Index: xemacs-packages/riece/lisp/test/Makefile.am
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/test/Makefile.am,v
retrieving revision 1.1
diff -u -F^( -u -r1.1 Makefile.am
--- xemacs-packages/riece/lisp/test/Makefile.am 5 Dec 2004 04:13:06 -0000 1.1
+++ xemacs-packages/riece/lisp/test/Makefile.am 20 Mar 2005 09:09:58 -0000
@@ -1,3 +1,4 @@
-EXTRA_DIST = luna.el lunit.el \
- test-riece-addon.el test-riece-alias.el test-riece-url.el \
- test-riece-yank.el
\ No newline at end of file
+EXTRA_DIST = luna.el lunit.el lunit-report.el \
+ test-riece.el test-riece-addon.el test-riece-alias.el \
+ test-riece-eval.el test-riece-log.el test-riece-url.el \
+ test-riece-yank.el
cvs server: xemacs-packages/riece/lisp/test/lunit-report.el is a new entry, no comparison
available
Index: xemacs-packages/riece/lisp/test/lunit.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/riece/lisp/test/lunit.el,v
retrieving revision 1.1
diff -u -F^( -u -r1.1 lunit.el
--- xemacs-packages/riece/lisp/test/lunit.el 5 Dec 2004 04:13:06 -0000 1.1
+++ xemacs-packages/riece/lisp/test/lunit.el 20 Mar 2005 09:09:58 -0000
@@ -292,133 +292,6 @@ (defun lunit (test)
(length failures)
(length errors))))))
-;; stolen (and renamed) from time-date.el.
-(defun lunit-time-since (time)
- "Return the time elapsed since TIME."
- (let* ((current (current-time))
- (rest (when (< (nth 1 current) (nth 1 time))
- (expt 2 16))))
- (list (- (+ (car current) (if rest -1 0)) (car time))
- (- (+ (or rest 0) (nth 1 current)) (nth 1 time))
- (- (nth 2 current) (nth 2 time)))))
-
-(eval-and-compile
- (luna-define-class lunit-test-reporter (lunit-test-listener)
- (buffer
- start-time))
-
- (luna-define-internal-accessors 'lunit-test-reporter))
-
-(defun lunit-escape-quote (string)
- (let ((index 0))
- (while (string-match "\"" string index)
- (setq string (replace-match """ nil t string)
- index (+ 5 index)))
- string))
-
-(luna-define-method lunit-test-listener-error ((reporter lunit-test-reporter)
- case error)
- (save-excursion
- (set-buffer (lunit-test-reporter-buffer-internal reporter))
- (insert (format "\
- <error message=\"%s\" type=\"error\"/>
-"
- (lunit-escape-quote (pp-to-string error))))))
-
-(luna-define-method lunit-test-listener-failure ((reporter lunit-test-reporter)
- case failure)
- (save-excursion
- (set-buffer (lunit-test-reporter-buffer-internal reporter))
- (insert (format "\
- <failure message=\"%s\" type=\"failure\"/>
-"
- (lunit-escape-quote (pp-to-string failure))))))
-
-(luna-define-method lunit-test-listener-start ((reporter lunit-test-reporter)
- case)
- (save-excursion
- (set-buffer (lunit-test-reporter-buffer-internal reporter))
- (goto-char (point-max))
- (narrow-to-region (point) (point))
- (insert (format "\
- <testcase name=\"%s\" classname=\"%s\">
-"
- (lunit-test-name-internal case)
- (luna-class-name case)))
- (lunit-test-reporter-set-start-time-internal reporter (current-time))))
-
-(luna-define-method lunit-test-listener-end ((reporter lunit-test-reporter)
- case)
- (let ((elapsed
- (lunit-time-since
- (lunit-test-reporter-start-time-internal reporter))))
- (save-excursion
- (set-buffer (lunit-test-reporter-buffer-internal reporter))
-
- (insert "\
- </testcase>
-")
- (goto-char (point-min))
- (looking-at " *<testcase\\>")
- (goto-char (match-end 0))
- (insert (format " time=\"%.03f\" "
- (+ (nth 1 elapsed)
- (/ (nth 2 elapsed) 1000000.0))))
- (widen))))
-
-(defun lunit-report (test file)
- "Run TEST and output result as XML."
- (let* ((printer
- (luna-make-entity 'lunit-test-printer))
- (result
- (lunit-make-test-result printer))
- (buffer (find-file-noselect file))
- start-time)
- (save-excursion
- (set-buffer buffer)
- (erase-buffer))
- (lunit-test-result-add-listener
- result
- (luna-make-entity 'lunit-test-reporter :buffer buffer))
- (setq start-time (current-time))
- (lunit-test-run test result)
- (let ((assert-count
- (lunit-test-result-assert-count-internal result))
- (failures
- (lunit-test-result-failures-internal result))
- (errors
- (lunit-test-result-errors-internal result))
-
- (elapsed (lunit-time-since start-time)))
- (princ (format "%d runs, %d assertions, %d failures, %d errors\n"
- (lunit-test-number-of-tests test)
- assert-count
- (length failures)
- (length errors)))
- (save-excursion
- (set-buffer buffer)
- (goto-char (point-min))
- (insert (format "\
-<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<testsuites>
- <testsuite name=\"\" tests=\"%d\" failures=\"%d\" \
-errors=\"%d\" time =\"%.03f\">
- <properties>
- <property name=\"emacs-version\" value=\"%s\"/>
- </properties>
-"
- (lunit-test-number-of-tests test)
- (length failures)
- (length errors)
- (+ (nth 1 elapsed)
- (/ (nth 2 elapsed) 1000000.0))
- (lunit-escape-quote (emacs-version))))
- (goto-char (point-max))
- (insert "\
- </testsuite>
-</testsuites>")
- (save-buffer)))))
-
(defvar imenu-create-index-function)
(defun lunit-create-index-function ()
(require 'imenu)
cvs server: xemacs-packages/riece/lisp/test/test-riece-eval.el is a new entry, no
comparison available
cvs server: xemacs-packages/riece/lisp/test/test-riece-log.el is a new entry, no
comparison available
cvs server: xemacs-packages/riece/lisp/test/test-riece.el is a new entry, no comparison
available
--
Daiki Ueno