Remove riece, making way for new subtree Riece pkg
authorSteve Youngs <steve@sxemacs.org>
Sun, 12 Jun 2016 10:18:00 +0000 (20:18 +1000)
committerSteve Youngs <steve@sxemacs.org>
Sun, 12 Jun 2016 10:18:00 +0000 (20:18 +1000)
Signed-off-by: Steve Youngs <steve@sxemacs.org>
121 files changed:
xemacs-packages/riece/AUTHORS [deleted file]
xemacs-packages/riece/ChangeLog [deleted file]
xemacs-packages/riece/INSTALL-CVS [deleted file]
xemacs-packages/riece/Makefile [deleted file]
xemacs-packages/riece/Makefile.am [deleted file]
xemacs-packages/riece/NEWS [deleted file]
xemacs-packages/riece/NEWS.ja [deleted file]
xemacs-packages/riece/README [deleted file]
xemacs-packages/riece/README.ja [deleted file]
xemacs-packages/riece/acinclude.m4 [deleted file]
xemacs-packages/riece/configure.ac [deleted file]
xemacs-packages/riece/doc/HACKING [deleted file]
xemacs-packages/riece/doc/HACKING.ja [deleted file]
xemacs-packages/riece/doc/Makefile.am [deleted file]
xemacs-packages/riece/doc/fdl.texi [deleted file]
xemacs-packages/riece/doc/infohack.el [deleted file]
xemacs-packages/riece/doc/irchat-copyright.el [deleted file]
xemacs-packages/riece/doc/ptexinfmt.el [deleted file]
xemacs-packages/riece/doc/riece-en.texi [deleted file]
xemacs-packages/riece/doc/riece-ja.texi [deleted file]
xemacs-packages/riece/doc/texinfo.tex [deleted file]
xemacs-packages/riece/doc/version-en.texi [deleted file]
xemacs-packages/riece/doc/version-ja.texi [deleted file]
xemacs-packages/riece/lisp/COMPILE [deleted file]
xemacs-packages/riece/lisp/ChangeLog [deleted file]
xemacs-packages/riece/lisp/ChangeLog.Liece [deleted file]
xemacs-packages/riece/lisp/Makefile.am [deleted file]
xemacs-packages/riece/lisp/aproxy.rb [deleted file]
xemacs-packages/riece/lisp/riece-000.el [deleted file]
xemacs-packages/riece/lisp/riece-200.el [deleted file]
xemacs-packages/riece/lisp/riece-300.el [deleted file]
xemacs-packages/riece/lisp/riece-400.el [deleted file]
xemacs-packages/riece/lisp/riece-500.el [deleted file]
xemacs-packages/riece/lisp/riece-addon-modules.el [deleted file]
xemacs-packages/riece/lisp/riece-addon.el [deleted file]
xemacs-packages/riece/lisp/riece-alias.el [deleted file]
xemacs-packages/riece/lisp/riece-async.el [deleted file]
xemacs-packages/riece/lisp/riece-biff.el [deleted file]
xemacs-packages/riece/lisp/riece-button.el [deleted file]
xemacs-packages/riece/lisp/riece-cache.el [deleted file]
xemacs-packages/riece/lisp/riece-channel.el [deleted file]
xemacs-packages/riece/lisp/riece-coding.el [deleted file]
xemacs-packages/riece/lisp/riece-command-next-channel.xpm [deleted file]
xemacs-packages/riece/lisp/riece-command-previous-channel.xpm [deleted file]
xemacs-packages/riece/lisp/riece-commands.el [deleted file]
xemacs-packages/riece/lisp/riece-compat.el [deleted file]
xemacs-packages/riece/lisp/riece-complete.el [deleted file]
xemacs-packages/riece/lisp/riece-ctcp.el [deleted file]
xemacs-packages/riece/lisp/riece-ctlseq.el [deleted file]
xemacs-packages/riece/lisp/riece-debug.el [deleted file]
xemacs-packages/riece/lisp/riece-develop.el [deleted file]
xemacs-packages/riece/lisp/riece-display.el [deleted file]
xemacs-packages/riece/lisp/riece-doctor.el [deleted file]
xemacs-packages/riece/lisp/riece-emacs.el [deleted file]
xemacs-packages/riece/lisp/riece-epg.el [deleted file]
xemacs-packages/riece/lisp/riece-eval-ruby.el [deleted file]
xemacs-packages/riece/lisp/riece-eval.el [deleted file]
xemacs-packages/riece/lisp/riece-filter.el [deleted file]
xemacs-packages/riece/lisp/riece-foolproof.el [deleted file]
xemacs-packages/riece/lisp/riece-globals.el [deleted file]
xemacs-packages/riece/lisp/riece-google.el [deleted file]
xemacs-packages/riece/lisp/riece-guess.el [deleted file]
xemacs-packages/riece/lisp/riece-handle.el [deleted file]
xemacs-packages/riece/lisp/riece-hangman.el [deleted file]
xemacs-packages/riece/lisp/riece-highlight.el [deleted file]
xemacs-packages/riece/lisp/riece-history.el [deleted file]
xemacs-packages/riece/lisp/riece-icon.el [deleted file]
xemacs-packages/riece/lisp/riece-identity.el [deleted file]
xemacs-packages/riece/lisp/riece-ignore.el [deleted file]
xemacs-packages/riece/lisp/riece-irc.el [deleted file]
xemacs-packages/riece/lisp/riece-kakasi.el [deleted file]
xemacs-packages/riece/lisp/riece-keepalive.el [deleted file]
xemacs-packages/riece/lisp/riece-keyword.el [deleted file]
xemacs-packages/riece/lisp/riece-layout.el [deleted file]
xemacs-packages/riece/lisp/riece-log.el [deleted file]
xemacs-packages/riece/lisp/riece-lsdb.el [deleted file]
xemacs-packages/riece/lisp/riece-mcat-japanese.el [deleted file]
xemacs-packages/riece/lisp/riece-mcat.el [deleted file]
xemacs-packages/riece/lisp/riece-menu.el [deleted file]
xemacs-packages/riece/lisp/riece-message.el [deleted file]
xemacs-packages/riece/lisp/riece-mini.el [deleted file]
xemacs-packages/riece/lisp/riece-misc.el [deleted file]
xemacs-packages/riece/lisp/riece-mode.el [deleted file]
xemacs-packages/riece/lisp/riece-naming.el [deleted file]
xemacs-packages/riece/lisp/riece-ndcc.el [deleted file]
xemacs-packages/riece/lisp/riece-options.el [deleted file]
xemacs-packages/riece/lisp/riece-package-info.el [deleted file]
xemacs-packages/riece/lisp/riece-package-info.el.in [deleted file]
xemacs-packages/riece/lisp/riece-rdcc.el [deleted file]
xemacs-packages/riece/lisp/riece-ruby.el [deleted file]
xemacs-packages/riece/lisp/riece-server.el [deleted file]
xemacs-packages/riece/lisp/riece-shrink-buffer.el [deleted file]
xemacs-packages/riece/lisp/riece-signal.el [deleted file]
xemacs-packages/riece/lisp/riece-skk-kakutei.el [deleted file]
xemacs-packages/riece/lisp/riece-submit-bug-report.xpm [deleted file]
xemacs-packages/riece/lisp/riece-toolbar.el [deleted file]
xemacs-packages/riece/lisp/riece-unread.el [deleted file]
xemacs-packages/riece/lisp/riece-url.el [deleted file]
xemacs-packages/riece/lisp/riece-user.el [deleted file]
xemacs-packages/riece/lisp/riece-version.el [deleted file]
xemacs-packages/riece/lisp/riece-xemacs.el [deleted file]
xemacs-packages/riece/lisp/riece-xface.el [deleted file]
xemacs-packages/riece/lisp/riece-xfaceb.el [deleted file]
xemacs-packages/riece/lisp/riece-yank.el [deleted file]
xemacs-packages/riece/lisp/riece.el [deleted file]
xemacs-packages/riece/lisp/server.rb [deleted file]
xemacs-packages/riece/lisp/test/Makefile.am [deleted file]
xemacs-packages/riece/lisp/test/luna.el [deleted file]
xemacs-packages/riece/lisp/test/lunit-report.el [deleted file]
xemacs-packages/riece/lisp/test/lunit.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-addon.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-alias.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-cache.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-eval.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-log.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-ruby.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-shrink-buffer.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-url.el [deleted file]
xemacs-packages/riece/lisp/test/test-riece-yank.el [deleted file]
xemacs-packages/riece/lisp/url-riece.el [deleted file]
xemacs-packages/riece/package-info.in [deleted file]

diff --git a/xemacs-packages/riece/AUTHORS b/xemacs-packages/riece/AUTHORS
deleted file mode 100644 (file)
index 67d6235..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (C) 1998-2005 Daiki Ueno
-Copyright (C) 1989 Tor Lillqvist
-
-Riece is mainly written by Daiki Ueno <ueno@unixuser.org>.
-
-The development of Riece has started to redesign the Liece IRC client.
-Liece was mainly written by the same author of Riece.  Liece is based
-on Irchat (version 3.01) which has been distributed under GNU General
-Public License version 1 or later.  Tor Lillqvist <tml@iki.fi> is the
-original author of Irchat.  The current Riece source code, however,
-doesn't contain any code from Irchat.  For the historical reason, the
-original copyright statement of Irchat is filed under
-doc/irchat-copyright.el.
-
-Riece has many code borrowed from other GPL'ed elisp packages such as
-Gnus, Emacs-w3m, ECB, and SEMI.  I would like to thank the developers
-of these packages.
-
-Other authors:
-
-TAKAHASHI Kaoru  <kaoru@kaisei.org>
-OHASHI Akira  <bg66@koka-in.org>
-Yoichi NAKAYAMA  <yoichi@geiin.org>
-Masatake YAMATO <jet@gyve.org> (riece-yank.el)
-Steve Youngs <steve@sxemacs.org> (riece-xfaceb.el)
\ No newline at end of file
diff --git a/xemacs-packages/riece/ChangeLog b/xemacs-packages/riece/ChangeLog
deleted file mode 100644 (file)
index 34219e6..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
-2014-06-22  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.26 released.
-
-2014-06-02  Jerry James  <james@xemacs.org>
-
-       * Makefile (COMPILE_INFO_AS_MULE): Enable when bulding with MULE
-       to properly process Japanese info files.
-
-2014-05-15  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.25 released.
-
-2014-05-15  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.24 released.
-
-2014-05-13  Jerry James  <james@xemacs.org>
-
-       * .cvsignore: Remove.
-       * doc/.cvsignore: Remove.
-       * lisp/.cvsignore: Remove.
-       * lisp/test/.cvsignore: Remove.
-       * .hgignore: New file.
-       * doc/irchat-copyright.el: Restore CVS keyword expansions.
-       * doc/riece-en.texi: Update for texinfo 5.x.
-       * doc/riece-ja.texi: Ditto.
-
-2007-03-20  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.23 released.
-
-2007-01-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 3.1.2 released.
-       * configure.ac: Bump up version to 3.1.2.
-
-2006-12-18  Daiki Ueno  <ueno@unixuser.org>
-
-       * configure.ac: Generate lisp/riece-package-info.el.
-
-2006-09-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 3.1.1 released.
-       * configure.ac: Bump up version to 3.1.1.
-
-2006-07-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 3.1.0 released.
-       * configure.ac: Bump up version to 3.1.0.
-
-2006-05-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 3.0.0 released.
-       * configure.ac: Bump up version to 3.0.0.
-
-2006-01-13  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.22 released.
-
-2006-01-13  Daiki Ueno  <ueno@unixuser.org>
-
-       * Makefile (ELCS): Added riece.elc.
-       From Mike FABIAN <mfabian@suse.de>.
-
-2005-11-21  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.21 released.
-
-2005-11-19  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 2.0.2 released.
-       * configure.ac: Bump up version to 2.0.2.
-
-2005-09-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 2.0.1 released.
-       * configure.ac: Bump up version to 2.0.1.
-
-2005-08-31  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.20 released.
-
-2005-08-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 2.0.0 released.
-       * configure.ac: Bump up version to 2.0.0.
-
-2005-08-06  Daiki Ueno  <ueno@unixuser.org>
-
-       * Makefile.am (EXTRA_DIST): Add HACKING.ja.
-
-2005-03-21  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.19 released.
-
-2005-03-20  Daiki Ueno  <ueno@unixuser.org>
-
-       * Makefile (DATA_DEST): Put *.xpm files into etc/riece/.
-
-2005-03-20  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.18 released.
-
-2005-03-06  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.8 released.
-       * configure.ac: Bump up version to 1.0.8.
-
-2005-02-05  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.7 released.
-       * configure.ac: Bump up version to 1.0.7.
-
-2004-12-07  Daiki Ueno  <ueno@unixuser.org>
-
-       * README.ja: New file.
-
-2004-12-07  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.17 released.
-
-2004-12-05  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.6 released.
-       * configure.ac: Bump up version to 1.0.6.
-
-2004-11-07  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.5 released.
-       * configure.ac: Bump up version to 1.0.5.
-
-2004-10-11  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.4 released.
-       * configure.ac: Bump up version to 1.0.4.
-
-2004-09-06  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.16 released.
-
-2004-06-27  Ilya N. Golubev <gin@mo.msk.ru>
-       
-       * .cvsignore: Remove `Makefile'.
-
-2004-09-05  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.3 released.
-       * configure.ac: Bump up version to 1.0.3.
-
-2004-08-16  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.2 released.
-       * configure.ac: Bump up version to 1.0.2.
-
-2004-07-10  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.1 released.
-       * configure.ac: Bump up version to 1.0.1.
-
-2004-05-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 1.0.0 released.
-       * configure.ac: Bump up version to 1.0.0.
-
-2004-05-07  Daiki Ueno  <ueno@unixuser.org>
-
-       * configure.ac: Set AM_CONDITIONAL XEMACS.
-       * Makefile.am: Emit install-package and package target only if
-       EMACS_FLAVOR = xemacs.
-
-2004-05-05  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.15 released.
-
-2004-05-04  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.2.2 released.
-       * configure.ac: Bump up version to 0.2.2.
-
-2004-03-09  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.2.1 released.
-       * configure.ac: Bump up version to 0.2.1.
-
-2004-03-07  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.2.0 released.
-       * configure.ac: Bump up version to 0.2.0.
-
-2004-01-28  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.8 released.
-       * configure.ac: Bump up version to 0.1.8.
-
-2003-12-28  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.14 released.
-
-2003-12-25  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.7 released.
-       * configure.ac: Bump up version to 0.1.7.
-
-2003-11-10  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.6 released.
-       * configure.ac: Bump up version to 0.1.6.
-
-2003-12-01  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.13 released.
-
-2003-12-01  Adrian Aichner  <adrian@xemacs.org>
-
-       * Makefile: Fix a copy-cat error.
-
-2003-10-29  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.12 released.
-
-2003-10-26  Daiki Ueno  <ueno@unixuser.org>
-
-       * Makefile: Don't add "skk" to REQUIRES even when building with
-       MULE.
-
-2003-10-25  Norbert Koch  <viteno@xemacs.org>
-
-       * Makefile (VERSION): XEmacs package 1.11 released.
-
-2003-10-24  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.5 released.
-       * configure.ac: Bump up version to 0.1.5.
-
-2003-10-19  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.4 released.
-       * configure.ac: Bump up version to 0.1.4.
-
-2003-10-13  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.3 released.
-       * configure.ac: Bump up version to 0.1.3.
-
-2003-10-05  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.2 released.
-       * configure.ac: Bump up version to 0.1.2.
-
-2003-08-30  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.1 released.
-       * configure.ac: Bump up version to 0.1.1.
-
-2003-08-25  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.1.0 released.
-       * configure.ac: Bump up version to 0.1.0.
-
-2003-08-03  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.0.4 released.
-       * configure.ac: Bump up version to 0.0.4.
-
-2003-06-02  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.0.3 released.
-       * configure.ac: Bump up version to 0.0.3.
-
-       * Makefile.am (SUBDIRS): Add doc.
-
-2003-06-01  Daiki Ueno  <ueno@unixuser.org>
-
-       * configure.ac: Simplified.
-       * Makefile.am (SUBDIRS): Remove dcc.
-
-2003-05-30  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.0.2 released.
-       * configure.ac: Bump up version to 0.0.2.
-
-       * INSTALL-CVS: New file.
-       * Makefile.am (EXTRA_DIST): Add INSTALL-CVS.
-
-2003-05-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Add "no-dependencies".
-
-2003-05-29  Daiki Ueno  <ueno@unixuser.org>
-
-       * Riece: Version 0.0.1 released.
-
diff --git a/xemacs-packages/riece/INSTALL-CVS b/xemacs-packages/riece/INSTALL-CVS
deleted file mode 100644 (file)
index 3e06e7f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-Development of Riece uses CVS, Concurrent Versions System.
-Latest developing version is available at CVS.
-
-(0) logging in to anonymous CVS server.
-
-  % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
-
-  CVS password: [CR] # NULL string
-
-(1) checkout modules
-
-  % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout riece
-
-Specify revision tag in front of the module name.
-
-(2) bootstrapping
-
-  % autoreconf -f -i
-
-You will need newer versions of autoconf & automake.
diff --git a/xemacs-packages/riece/Makefile b/xemacs-packages/riece/Makefile
deleted file mode 100644 (file)
index 8c3367c..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-# Makefile for Riece lisp code
-
-# This file is part of XEmacs.
-
-# XEmacs is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option) any
-# later version.
-
-# XEmacs is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with XEmacs; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# This XEmacs package contains the riece IRC client package
-
-VERSION = 1.26
-AUTHOR_VERSION = 3.1.2
-MAINTAINER = Daiki Ueno <ueno@unixuser.org>
-PACKAGE = riece
-PKG_TYPE = regular
-REQUIRES = xemacs-base mail-lib bbdb
-CATEGORY = standard
-
-include ../../Local.rules.inc
-
-ELCS = lisp/riece.elc lisp/riece-000.elc lisp/riece-200.elc           \
-lisp/riece-300.elc lisp/riece-400.elc lisp/riece-500.elc              \
-lisp/riece-addon-modules.elc lisp/riece-addon.elc lisp/riece-alias.elc \
-lisp/riece-async.elc lisp/riece-biff.elc lisp/riece-button.elc        \
-lisp/riece-cache.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-develop.elc lisp/riece-display.elc lisp/riece-doctor.elc    \
-lisp/riece-epg.elc lisp/riece-eval-ruby.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-options.elc                          \
-lisp/riece-package-info.elc lisp/riece-rdcc.elc lisp/riece-ruby.elc    \
-lisp/riece-server.elc lisp/riece-shrink-buffer.elc                    \
-lisp/riece-signal.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-xfaceb.elc       \
-lisp/riece-yank.elc
-
-EXTRA_SOURCES = lisp/riece-emacs.el lisp/riece-ndcc.el \
-       lisp/riece-skk-kakutei.el lisp/riece-mcat.el \
-       lisp/riece-mcat-japanese.el lisp/riece-package-info.el.in \
-       lisp/url-riece.el
-AUTOLOAD_PATH = lisp
-
-EXPLICIT_DOCS = doc/riece-en.texi
-ifeq ($(BUILD_WITHOUT_MULE),)
-COMPILE_INFO_AS_MULE = t
-EXPLICIT_DOCS += doc/riece-ja.texi
-ELCS += lisp/riece-skk-kakutei.elc lisp/riece-mcat.elc \
-       lisp/riece-mcat-japanese.elc
-endif
-
-PRELOADS = -eval \("push \"./lisp\" load-path"\)
-
-DATA_FILES = AUTHORS NEWS NEWS.ja README README.ja doc/HACKING doc/HACKING.ja
-DATA_DEST = $(PACKAGE)
-
-DATA_1_FILES = $(wildcard lisp/*.xpm)
-DATA_1_DEST = $(PACKAGE)
-
-DATA_2_FILES = $(wildcard lisp/*.rb)
-DATA_2_DEST = $(PACKAGE)
-
-include ../../XEmacs.rules
diff --git a/xemacs-packages/riece/Makefile.am b/xemacs-packages/riece/Makefile.am
deleted file mode 100644 (file)
index 1e08d28..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-SUBDIRS = lisp doc
-EXTRA_DIST = INSTALL-CVS README.ja NEWS.ja
-AUTOMAKE_OPTIONS = no-dependencies
-
-if XEMACS
-install-package package:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) \
-       done
-endif
diff --git a/xemacs-packages/riece/NEWS b/xemacs-packages/riece/NEWS
deleted file mode 100644 (file)
index cac43dc..0000000
+++ /dev/null
@@ -1,601 +0,0 @@
-* Major changes in 3.1.2
-
-** Message catalog. (ueno)
-
-* Major changes in 3.1.1
-
-** riece-async works again. (ueno)
-
-** riece-shrink-buffer is now enabled by default. (ueno)
-
-** New window layout "spiral". (URABE Shyouhei)
-
-* Major changes in 3.1.0
-
-** Prevent reentrace of message handlers.  This might fix some long
-   standing bug in message handling. (ueno)
-
-** Removed dependency on the calc package from riece-ndcc.el. (ueno)
-
-** Fixed a bug in the 353 message handler. (ueno)
-
-* Major changes in 3.0.0
-
-** Changed the meaning of riece-username.  If you set this option, you
-   will need to set riece-realname instead. (ueno)
-
-** Cause an error if a user requests to close already closed server. (yoichi)
-
-** New add-on riece-epg.el, which enables secure conversation using
-   GnuPG. (ueno)
-
-** Fixed a couple of bugs in inviting users. (Steve Youngs)
-
-** Fixed a redisplay bug when a user leaves a channel. (ueno)
-
-** Reverted the default value of riece-alias-alternate-separator to
-   "@". (ueno)
-
-* Major changes in 2.0.2
-
-** Fixed C-c l (riece-command-list) behavior.  It didn't display
-   channel TOPIC correctly. (ueno)
-
-** Don't alter case of user/channel names when completing user
-   input. (ueno)
-
-** Changed default value of alternate separator of a channel name and an
-   IRC server name to "%". (ueno)
-
-* Major changes in 2.0.1
-
-** If there is a message in previously selected channel, Riece 2.0.0
-   doesn't treat it as an unread channel.  2.0.1 fixes it. (ueno)
-
-** New add-on riece-xfaceb.el, which displays X-Face/Colour Face in
-   IRC buffers. (Steve Youngs)
-
-* Major changes in 2.0.0
-
-** Support multiple coding-systems on a server.
-   You can use different coding-systems for different channels. (ueno)
-   For example:
-   (setq riece-channel-coding-system-alist
-        '(("#euc-jp" . euc-jp)
-          ("#utf-8 irc.freenode.net" . utf-8)))
-
-** Support uninstall, unload (dangerous) operations for add-ons.
-   Now you can fully customize riece-addons in the add-on listing
-   mode. (ueno)
-
-** New mechanism for executing Ruby programs.  To use it, see the
-   commentary section of riece-ruby.el. (ueno)
-
-** New add-on riece-eval-ruby.el, which regards user input prefixed by
-   ",ruby " as a Ruby program and sends the result to the current
-   channel. (ueno)
-
-** New add-on riece-shrink-buffer.el, which now takes care of periodic
-   buffer shrinking.  If you have set riece-max-buffer-size, you will
-   need to enable the riece-shrink-buffer add-on in the add-on listing
-   mode. (ueno)
-
-** Don't signal an error when a user is quitting, and who has joined a
-   channel where you left. (ueno)
-
-** When saving a log file, suffix the name of the coding-system used
-   onto the filename.  This will avoid mojibake even
-   riece-log-coding-system is not set. (ueno)
-
-** While traversing channel list with C-c g, offer channels in order
-   of precedence where they have newer unread messages. (ueno)
-
-** Allow "@" instead of " " as a separator of a channel name and an
-   IRC server name. (ueno)
-
-** Rewrite the Japanese manual (riece-ja.texi) for IRC & Emacs
-   newbies. (ueno)
-
-** Allow users to hide *Others* buffer. (ueno)
-
-** Use seperate buffer to store debugging output. (ueno)
-
-** Added new make rule for byte-compiling elisp files individually.
-   To use it, after configure, do "make compile-individually" in
-   lisp/.  (ueno)
-
-** Include a document for developers (doc/HACKING{,.ja}) (ueno)
-
-* 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 \e$B"&\e(B 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.
-\f
-Local variables:
-mode: text
-mode: outline
-paragraph-separate: "[  \f]*$"
-end:
diff --git a/xemacs-packages/riece/NEWS.ja b/xemacs-packages/riece/NEWS.ja
deleted file mode 100644 (file)
index 794a588..0000000
+++ /dev/null
@@ -1,596 +0,0 @@
-* Riece 3.1.1 \e$B$N<g$JJQ99E@\e(B
-
-** riece-async \e$B$r:F$SF0:n$9$k$h$&$K$7$?\e(B (ueno)
-
-** riece-shrink-buffer \e$B$r%G%U%)%k%H$GM-8z$K$7$?\e(B (ueno)
-
-** \e$B?75,%&%#%s%I%&%l%$%"%&%H\e(B "spiral" \e$B$rDI2C\e(B (URABE Shyouhei)
-
-* Riece 3.1.0 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%a%C%;!<%8%O%s%I%i$N:FF~6X;_$K$7$?\e(B (ueno)
-
-** riece-ndcc.el \e$B$,\e(B calc \e$B$K0MB8$7$J$$$h$&$K$7$?\e(B (ueno)
-
-** 353 \e$B%O%s%I%i$N%P%0$N=$@5\e(B (ueno)
-
-* Riece 3.0.0 \e$B$N<g$JJQ99E@\e(B
-
-** \e$BJQ?t\e(B riece-username \e$B$N0UL#$rJQ99\e(B (ueno)
-   \e$B$3$NJQ?t$r@_Dj$7$F$$$k%f!<%6$O!"\e(Briece-realname \e$B$KJQ?tL>$rJQ99$9$kI,\e(B
-   \e$BMW$,$"$k!#\e(B
-
-** \e$B@ZCG:Q$_$N%5!<%P$r:FEY@ZCG$7$h$&$H$7$?>l9g$K!"%(%i!<$K$J$k$h$&$K$7\e(B
-   \e$B$?\e(B (yoichi)
-
-** \e$B?75,%"%I%*%s\e(B riece-epg.el \e$B$rF3F~!#\e(BGnuPG \e$B$r;H$C$?0BA4$J2qOC$,2DG=\e(B (ueno)
-
-** \e$B%f!<%6$r>7BT\e(B (invite) \e$B$9$k:]$N%P%0$r\e(B 2 \e$B$D=$@5\e(B (Steve Youngs)
-
-** \e$B%f!<%6$,%A%c%s%M%k$rN%C&$7$?>lLL$G$N!":FIA2h$N%P%0$r=$@5\e(B (ueno)
-
-** riece-alias-alternate-separator \e$B$N%G%U%)%k%HCM$r\e(B "@" \e$B$KLa$7$?\e(B (ueno)
-
-* Riece 2.0.2 \e$B$N<g$JJQ99E@\e(B
-
-** C-c l (riece-command-list) \e$B$G!"%A%c%s%M%k$N%H%T%C%/$NBe$o$j$K;22C<T\e(B
-   \e$B?t$,I=<($5$l$k%P%0$r=$@5\e(B (ueno)
-
-** \e$B%K%C%/%M!<%`$d%A%c%s%M%kL>$NJd408uJd$NI=<($GBgJ8;z>.J8;z$rJ]B8$9$k\e(B
-   \e$B$h$&$K$7$?\e(B (ueno)
-
-** \e$B%A%c%s%M%kL>$H%5!<%PL>$N6h@Z$jJ8;zNs$N%G%U%)%k%HCM$r\e(B "@" \e$B$+$i\e(B "%" 
-   \e$B$KJQ99\e(B (ueno)
-
-* Riece 2.0.1 \e$B$N<g$JJQ99E@\e(B
-
-** \e$BD>A0$KA*Br$7$F$$$?%A%c%s%M%k$KL$FI%a%C%;!<%8$,$"$k>l9g$K\e(B unread \e$B%^!<\e(B
-   \e$B%/$,I=<($5$l$J$$IT6q9g$N=$@5\e(B (ueno)
-
-** \e$B?75,%"%I%*%s\e(B riece-xfaceb.el \e$B$rF3F~!#\e(BBBDB \e$B$+$i\e(B X-Face/Face \e$B$r8!:w$7!"\e(B
-   \e$B%f!<%60lMw$KI=<($9$k\e(B (Steve Youngs)
-
-* Riece 2.0.0 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%A%c%s%M%kKh$K%(%s%3!<%G%#%s%0$r;XDj$G$-$k$h$&$K$7$?\e(B (ueno)
-   \e$B@_DjNc!'\e(B
-   (setq riece-channel-coding-system-alist
-        '(("#euc-jp" . euc-jp)
-          ("#utf-8 irc.freenode.net" . utf-8)))
-
-** \e$B%"%I%*%s$N\e(B uninstall, unload (\e$B4m81\e(B) \e$B$KBP1~!#\e(B
-   \e$B%"%I%*%s0lMw%b!<%I$G\e(B riece-addons \e$B$N%+%9%?%^%$%:$,2DG=\e(B (ueno)
-
-** Ruby \e$B$N%W%m%0%i%`$rI>2A$9$k5!9=$NF3F~!#\e(B
-   \e$BMxMQJ}K!$O\e(B riece-ruby.el \e$BKAF,$N%3%a%s%H$r;2>H\e(B (ueno)
-
-** \e$B?75,%"%I%*%s\e(B riece-eval-ruby.el \e$B$rF3F~!#\e(B",ruby " \e$B$KB3$$$FG$0U$N\e(B 
-   Ruby \e$B$N%W%m%0%i%`$rH/8@$9$k$H!"I>2A7k2L$r%A%c%s%M%k$KAw?.$9$k\e(B (ueno)
-
-** \e$BDj4|E*$K%P%C%U%!$r@Z$j5M$a$k5!G=$r%"%I%*%s$KJ,N%\e(B
-   \e$B$3$l$^$G\e(B riece-max-buffer-size \e$B$r@_Dj$7$F$$$??M$O!"\e(B
-   riece-shrink-buffer \e$B%"%I%*%s$rM-8z$K$9$kI,MW$,$"$k$N$GCm0U\e(B (ueno)
-
-** \e$BN%C&$7$?%A%c%s%M%k$K;22C$7$F$$$?%f!<%6$,\e(B IRC \e$B$r$d$a$?>l9g$K!"%(%i!<\e(B
-   \e$B$,H/@8$9$kIT6q9g$N=$@5\e(B (ueno)
-
-** \e$B%m%0$NJ]B8;~$K!";HMQ$7$?\e(B coding-system \e$B$NL>A0$r%U%!%$%kL>$KKd$a9~$`\e(B
-   \e$B$h$&$K$7$?!#$3$l$K$h$j\e(B riece-log-coding-system \e$B$r@_Dj$7$J$/$F$bJ8;z\e(B
-   \e$B2=$1$,H/@8$7$K$/$/$J$C$?\e(B (ueno)
-
-** C-c g \e$B$G%A%c%s%M%k$r0\F0$9$k:]$K!"?7$7$$H/8@$,$"$C$?%A%c%s%M%k$+$i\e(B
-   \e$BC)$k$h$&$K$7$?\e(B (ueno)
-
-** \e$B%A%c%s%M%kL>$H%5!<%PL>$N6h@Z$jJ8;zNs$H$7$F\e(B " " \e$B0J30$K\e(B "@" \e$B$b5v$9$h\e(B
-   \e$B$&$K$7$?\e(B (ueno)
-
-** \e$BF|K\8l%^%K%e%"%k\e(B (riece-ja.texi) \e$B$r=i?4<T$rBP>]$K=q$-D>$7$?\e(B (ueno)
-
-** *Others* \e$B%P%C%U%!$r1#$;$k$h$&$K$7$?\e(B (ueno)
-
-** \e$B%G%P%C%0=PNO$r@lMQ$N%P%C%U%!$KJ,N%\e(B (ueno)
-
-** elisp \e$B%U%!%$%k$r#1$D$:$D\e(B byte-compile \e$B$9$k\e(B make \e$B%k!<%k$r@_$1$?!#\e(B
-   configure \e$B8e!"\e(Blisp/ \e$B0J2<$G\e(B make compile-individually (ueno)
-
-** \e$B3+H/<T8~$1$NJ8=q\e(B (doc/HACKING{,.ja}) \e$B$rF1:-\e(B (ueno)
-
-* Riece 1.0.8 \e$B$N<g$JJQ99E@\e(B
-
-** riece-log \e$B$N%m%C%/$N4KOB\e(B (ueno)
-
-** RPL_WHOISIDLE \e$B$NIC?t$rF|;~J,IC7A<0$GI=<(\e(B (ueno)
-
-** riece-obarray \e$B$r\e(B riece-channel-obarray, riece-user-obarray \e$B$KJ,N%\e(B
-   (kaoru)
-
-** \e$B$$$/$D$+$N8D=j$G%A%c%s%M%kL>$NBgJ8;z>.J8;z$,6hJL$5$l$k%P%0$X$NBP1~\e(B (ueno)
-
-** SXEmacs \e$B$N%P!<%8%g%sI=5-$KBP1~\e(B (Steve Youngs)
-
-** CTCP TIME \e$B$KBP1~\e(B (Steve Youngs)
-
-** ~/.riece/addons \e$B0J2<$N%G%#%l%/%H%j$rFI$_9~$^$J$$$h$&$K$7$?\e(B (kaoru)
-
-** riece-command-part \e$B$,%(%i!<$K$J$k%P%0$N=$@5\e(B (yoichi)
-
-** ~/.riece/addons \e$B%G%#%l%/%H%j$,$J$$$H5/F0;~$K%(%i!<$K$J$k%P%0$N=$@5\e(B (ueno)
-
-* Riece 1.0.7 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B?75,%"%I%*%s\e(B riece-toolbar (ueno)
-   riece-toolbar \e$B$O%D!<%k%P!<$K%"%$%3%s$rI=<($7$^$9!#8=;~E@$G$OA4$F$N\e(B
-   \e$B%"%$%3%s$,4^$^$l$F$$$k$o$1$G$O$"$j$^$;$s!#\e(B
-
-** \e$B?75,%"%I%*%s\e(B riece-keepalive (ueno)
-   riece-keepalive \e$B$O<+H/E*$K%5!<%P$K\e(B PING \e$B%a%C%;!<%8$rAw$k$3$H$G\e(B IRC
-   \e$B$N%3%M%/%7%g%s$r;}B3$5$;$^$9!#\e(B
-
-** \e$B?75,%"%I%*%s\e(B riece-google (bg66)
-   riece-google \e$B$O\e(B Google \e$B$G$N8!:w7k2L$r%A%c%s%M%k$KAw$j$^$9!#\e(B
-
-** \e$B?75,%"%I%*%s\e(B riece-eval (bg66)
-   riece-eval \e$B$O\e(B elisp \e$B$N<0$NI>2A7k2L$r%A%c%s%M%k$KAw$j$^$9!#\e(B
-
-** \e$B$$$/$D$+$N%"%I%*%s$r%G%U%)%k%H$GM-8z2=\e(B (ueno)
-   riece-log, riece-alias, riece-ctlseq, riece-keyword \e$B$,:#2s$+$i%G%U%)\e(B
-   \e$B%k%H$GM-8z$K$J$j$^$9!#\e(B
-
-** \e$B?75,%3%^%s%I\e(B riece-command-suspend-resume (ueno)
-   riece-command-suspend-resume \e$B$O8=:_$N%&%#%s%I%&9=@.$rJ]B8!&:F8=$7$^$9!#\e(B
-
-** \e$B%\%?%s%&%#%8%'%C%H%/%j%C%/;~$N%+!<%=%k0\F0$NM^;_\e(B (ueno)
-
-** \e$B%b!<%I%i%$%s$N%$%s%8%1!<%?$r\e(B face \e$B$GAu>~\e(B (ueno)
-
-** NAMES \e$B%j%W%i%$$K4^$^$l$k%f!<%6?t$r?t$($k$h$&$K$J$j$^$7$?\e(B (ueno)
-
-** \e$B?75,%f!<%6%*%W%7%g%s\e(B riece-part-message (ueno)
-
-** riece-addon-directory \e$B0J2<$KCV$+$l$?%"%I%*%s$r<+F0E*$KM-8z2=\e(B (ueno)
-
-** riece-buffer-dispose-function \e$B$N%G%U%)%k%HCM$,:#2s$+$i\e(B kill-buffer
-   \e$B$K$J$j$^$7$?\e(B (ueno)
-
-** process-filter \e$BFb$G%(%i!<$,H/@8$7$?>l9g!"\e(Bbacktrace \e$B$r9T$J$&$h$&$K$J\e(B
-   \e$B$j$^$7$?\e(B (ueno)
-
-** \e$BI,MW$K1~$8$F%A%c%s%M%k%-!<$rLd$$9g$o$;$k$h$&$K$7$^$7$?\e(B (ueno)
-
-** \e$B%P%C%U%!$N<+F0E*$J@Z$j5M$a$r%G%U%)%k%H$G$OL58z2=\e(B (ueno)
-
-** riece-log \e$B$N$?$a$N?7$7$$%G%#%l%/%H%j9=@.\e(B (ueno)
-
-** user-renamed signal-filter \e$B$N%P%0$r=$@5\e(B (kaoru)
-
-** riece-command-enable-addon \e$B$H\e(B riece-command-disable-addon \e$B$N%P%0$N\e(B
-   \e$B=$@5\e(B (yoichi)
-
-* Riece 1.0.6 \e$B$N<g$JJQ99E@\e(B
-
-** CVS \e$BHG\e(B GNU Emacs \e$B$KF1:-$5$l$?\e(B url \e$B%Q%C%1!<%8$N\e(B irc: \e$B%9%-!<%^BP1~$N\e(B
-   \e$B%P%C%/%(%s%I$H$7$F\e(B Riece \e$B$r;HMQ$G$-$k$h$&$K$9$k%W%m%0%i%`\e(B url-riece \e$B$r\e(B
-   \e$BF1:-\e(B (\e$BBgOB$5$s\e(B)
-
-** "Bug#12345" \e$B$N$h$&$JJ8;zNs$r\e(B URL \e$B$K%^%C%W$9$k%*%W%7%g%s\e(B
-   riece-url-regexp-alist \e$B$r?7@_\e(B (Liece \e$B$+$i%P%C%/%]!<%H\e(B) (ueno)
-
-** \e$B%b!<%I%i%$%s$K<+?H$N%A%c%s%M%k%*%Z%l!<%?$N0u\e(B(@, +)\e$B$rI=<($9$k$h$&$K\e(B
-   \e$B$7$?\e(B (ueno, thanks to k-to \e$B$5$s\e(B)
-
-** \e$B%P%C%U%!$r@Z$j5M$a$k:]$K!"0l9T$:$D$G$O$J$/J#?t9T0lEY$K:o=|$9$k$h$&\e(B
-   \e$B$K$7$?\e(B (riece-shrink-buffer-remove-lines \e$B%*%W%7%g%s$G@_Dj2DG=\e(B) (ueno,
-   thanks to ysjj \e$B$5$s\e(B)
-
-** riece-alias-alist \e$B$,>e<j$/F0$$$F$$$J$+$C$?IT6q9g$N=$@5\e(B (ueno)
-
-** 1.0.4 \e$B0J9_!"\e(BGNU Emacs \e$B$G!"%a%C%;!<%8Aw?.;~$N%U%m!<@)8f$,>e<j$/F0$$\e(B
-   \e$B$F$$$J$+$C$?IT6q9g$N=$@5\e(B (ueno)
-
-** \e$B%P%0Js9pMQ$N%3%^%s%I\e(B riece-submit-bug-report \e$B$r?7@_\e(B (ueno)
-
-** nadoka \e$B$d\e(B Tiarra \e$B$J$I$N\e(B IRC proxy \e$B$,!"\e(BIRC \e$B%5!<%P<BAu$NEAE}$K1h$o$J\e(B
-   \e$B$$%a%C%;!<%8$rJV$9$3$H$X$NBP=h\e(B (ueno, thanks to k-to \e$B$5$s\e(B)
-
-** C-c # \e$B?t;z$G;XDj$7$?HV9f$N%A%c%s%M%k$K0\F0$G$-$k$h$&$K$7$?\e(B (ueno,
-   thanks to ysjj \e$B$5$s\e(B)
-
-** riece-yank \e$B$G!"A0CV0z?t$r;XDj$9$k$3$H$K$h$j!"%a%C%;!<%8$r\e(B NOTICE \e$B$H\e(B
-   \e$B$7$FAw?.$G$-$k$h$&$K$7$?\e(B (bg66)
-
-* Riece 1.0.5 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%f%K%C%H%F%9%H$rDI2C!#\e(B(ueno)
-
-** \e$BJ#?t%5!<%P@\B3;~$K!"%A%c%s%M%kL>$H%5!<%PL>$N6h@Z$j$K6uGr0J30$NJ8;z\e(B
-   \e$BNs$r;H$($k$h$&$K$7$?!#\e(B(ueno)
-
-   riece-alias-alternate-separator == "@" \e$B$N;~$NJQ495,B'$O0J2<$NDL$j!'\e(B
-
-   "#riece" -> "#riece"
-   "#riece localhost" -> "#riece@localhost"
-   "#ch@nnel" -> "#ch@@nnel"
-   "#ch@nnel localhost" -> "#ch@@nnel@localhost"
-
-** DCC \e$B$,B>$N%/%i%$%"%s%H$H$N4V$G$&$^$/F0$+$J$$IT6q9g$N=$@5!#\e(B(ueno)
-
-** kill-ring \e$B$+$iJ8;zNs$rAw?.$9$k%"%I%*%s\e(B riece-yank \e$B$rDI2C!#\e(B(by \e$BBgOB$5$s\e(B)
-
-** \e$B1Q8l$NJ8=q$rDI2C!#\e(B(ueno)
-
-* Riece 1.0.4 \e$B$N<g$JJQ99E@\e(B
-
-** \e$BBgNL$N%a%C%;!<%8$rAw$k>l9g$K!"%U%m!<@)8f$r9T$&$h$&$K$7$?!#\e(B(ueno)
-
-** \e$B5/F0;~$KJ#?t%5!<%P>e$N%A%c%s%M%k$K;22C$9$k@_Dj$G!"\e(B
-   riece-startup-server-list \e$B$N@_Dj$r>JN,2DG=$K$7$?!#\e(B(ueno)
-
-** riece-mini \e$B;HMQ;~$K2a5n$N%a%C%;!<%8$r1\Mw$9$k5!G=$r@_$1$?!#\e(B(bg66)
-
-* Riece 1.0.3 \e$B$N<g$JJQ99E@\e(B
-
-** NAMES \e$BH/9T;~$K!V$$$J$$$O$:$N%f!<%6!W$r%f!<%60lMw$+$i=|30$9$k$h$&$K\e(B
-   \e$B$7$?\e(B (Thanks to \e$B;32<$5$s\e(B)
-
-** \e$B9T$N@^$jJV$7$r3F%P%C%U%!$N\e(B truncate-lines \e$B$NCM$G%+%9%?%^%$%:$G$-$k\e(B
-   \e$B$h$&$K$7$?\e(B(Thanks to \e$B;32<$5$s\e(B)
-
-** \e$B%A%c%s%M%k%P%C%U%!$N%9%/%m!<%kF0:n$r@)8f$9$k%*%W%7%g%s\e(B
-   riece-window-center-line \e$B$rDI2C\e(B
-
-** \e$B%3%^%s%I%P%C%U%!$G$NJd40$NIT6q9g$r=$@5\e(B (Thanks to \e$B;32<$5$s\e(B)
-
-** \e$B0lBP0l$N2qOC$G!"Aj<j$,\e(B quit \e$B$7$?>l9g!"%A%c%s%M%k0lMw$+$i=|30$9$k$h\e(B
-   \e$B$&$K$7$?\e(B (Thanks to  \e$B?9K\$5$s\e(B)
-
-** \e$B%G%U%)%k%H$N\e(B IRC \e$B%5!<%P$X$N@\B3;~$K%(%i!<$,=P$?>l9g$K$O!"B(:B$K=*N;\e(B
-   \e$B$9$k$h$&$K$7$?\e(B(Thanks to k-to \e$B$5$s\e(B)
-
-* Riece 1.0.2 \e$B$N<g$JJQ99E@\e(B
-
-** riece-url \e$B;HMQ;~$K%a%K%e!<%P!<$N%a%K%e!<$,GK2u$5$l$kIT6q9g$N=$@5\e(B
-
-** Jabber \e$BBP1~$K8~$1!"%W%m%H%3%k%$%s%?!<%U%'!<%9$rJ,$1$?\e(B
-
-** \e$B$=$NB>!";(B?$J=$@5\e(B
-
-* Riece 1.0.1 \e$B$N<g$JJQ99E@\e(B
-
-** XEmacs \e$B$G!"%b!<%I%i%$%s$KI=<($5$l$k%A%c%s%M%k$NGX7J?'$r%b!<%I%i%$%s\e(B
-   \e$B$N?'$K$"$o$;$?\e(B
-
-** \e$B%A%c%s%M%k$N%b!<%IJQ99;~$K!"%b!<%I;XDj$N@hF,$K\e(B ":" \e$B$rIU$1$FAw$C$F$$\e(B
-   \e$B$?IT6q9g$N=$@5\e(B
-   (Thanks to \e$B$d$^$@$5$s\e(B)
-
-** \e$B%A%c%s%M%k%_%9$rKI$0%"%I%*%s\e(B riece-foolproof \e$B$rDI2C\e(B (by \e$B9b66$5$s\e(B)
-
-** \e$B%A%c%s%M%k%P%C%U%!$N%b!<%I%i%$%s$KI=<($5$l$kMWAG$N=gHV$rJQ99\e(B (by \e$B9b66$5$s\e(B)
-
-** NOTICE \e$B$GH/8@$7$?;~$NI=<($rJQ99\e(B (by \e$B9b66$5$s\e(B)
-
-** \e$B:F5/F0;~$K%7%0%J%k4X?t$rFs=E$KEPO?$7$F$$$?IT6q9g$N=$@5\e(B
-
-** C-c Home \e$B$G%A%c%s%M%k%P%C%U%!$N@hF,$K%+!<%=%k$r0\F0$9$k%3%^%s%I$rDI2C\e(B
-
-** \e$B%U%j!<%:>uBV$N%A%c%s%M%k$G$O!"%A%c%s%M%k$r0\F0$7$F$b%A%c%s%M%k%P%C\e(B
-   \e$B%U%!$N%+!<%=%k0LCV$rJ]$D$h$&$K$7$?\e(B
-
-** CVS \e$BHG$N\e(B Emacs \e$B$G!"0z?t$J$7$N\e(B current-word \e$B$,\e(B nil \e$B$rJV$9$h$&$K$J$C$?$?$a!"\e(B
-   riece-command-complete-user \e$B$,%(%i!<$K$J$kIT6q9g$N=$@5\e(B (by \e$BCf;3$5$s\e(B)
-
-** riece-hangman \e$B$NMp?tH/@8%m%8%C%/$N=$@5\e(B (by \e$B9b66$5$s\e(B)
-
-** \e$B6u9T$N>e$G!"\e(BC-c p \e$B$G%a%C%;!<%8$rAw$m$&$H$7$?>l9g!"%(%i!<$rDLCN$9$k\e(B
-   \e$B$h$&$K$7$?\e(B
-
-** riece-ignore \e$B;HMQ;~$K!"@_Dj%U%!%$%k$GL5;k$9$k%f!<%6$r;XDj$G$-$k$h$&!"\e(B
-   \e$B%*%W%7%g%s\e(B riece-startup-ignored-user-list \e$B$r?7@_\e(B
-
-** riece-rdcc \e$B;HMQ;~$K!"%U%!%$%kL>$K6uGr$,F~$C$?%U%!%$%k$rAw<u?.$G$-$k\e(B
-   \e$B$h$&$K$7$?\e(B
-
-* Riece 1.0.0 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%"%I%*%s$N0lMwI=<(%b!<%I$rDI2C$7!"<B9T;~$K%"%I%*%s$rM-8z2=!&L58z2=\e(B
-   \e$B$G$-$k$h$&$K$7$?\e(B (C-c ^)
-
-** GNU Emacs \e$B$G!"%Q%9%o!<%IF~NOCf$K\e(B Quit (C-g) \e$B$G$-$J$$IT6q9g$N=$@5\e(B
-
-** \e$B%A%c%s%M%kFb$G\e(B hangman(6) \e$B$GM7$V%"%I%*%s\e(B riece-hangman \e$B$rDI2C\e(B
-
-** \e$B%W%m%;%9$,0l$D$b$J$$>l9g$K\e(B C-c q \e$B$7$?>l9g$N%a%C%;!<%8$rJQ99\e(B
-
-** \e$B%f!<%6$rL5;k$9$k%"%I%*%s\e(B riece-ignore \e$B$rDI2C\e(B
-
-** 9 \e$BJ8;z0J>e$N%K%C%/%M!<%`$b<u$1IU$1$k$h$&$K$7$?\e(B
-
-** \e$B:F5/F0$7$?:]$K!"%"%I%*%s$rFs=E$KAH$_9~$^$J$$$h$&$K$7$?\e(B
-
-** \e$BB>$N%P%C%U%!$K$$$k;~$KH/8@$,$"$k$H%b!<%I%i%$%s$K0u\e(B ("[R]") \e$B$rI=<($9\e(B
-   \e$B$k%"%I%*%s\e(B riece-biff \e$B$rDI2C\e(B (by \e$BBg66$5$s\e(B)
-
-** \e$BF|K\8l$NDL$i$J$$C<Kv$G!"F|K\8l$r%m!<%^;z$GI=<($9$k%"%I%*%s\e(B
-   riece-kakasi \e$B$rDI2C\e(B
-
-** \e$B%3%^%s%I%W%m%s%W%H$K%"%/%7%g%s$r<($9J8;zNs$rDI2C\e(B (suggested by \e$B;32<$5$s\e(B)
-
-* Riece 0.2.2 \e$B$N<g$JJQ99E@\e(B
-
-** ^B, ^V, ^_ \e$B$J$I$N%3%s%H%m!<%k%7!<%1%s%9$K$h$kJ8;zNs$N6/D4$KBP1~\e(B
-   (riece-ctlseq \e$B%"%I%*%s$rDI2C\e(B)
-
-** \e$B%W%j%V$,L$FI07$$$5$l$J$$IT6q9g$N=$@5\e(B
-
-** \e$B%A%c%s%M%k%P%C%U%!!"\e(B*Others* \e$B%P%C%U%!$rFHN)$K\e(B freeze \e$B$G$-$k$h$&$K$7\e(B
-   \e$B$?!#\e(B(\e$B3F%P%C%U%!$G\e(B C-t C-f \e$B$G%H%0%k\e(B)
-
-** riece-log \e$B$G!"%m%0$NJ]B8@h%G%#%l%/%H%j$r\e(B canonicalize \e$B$7$?%A%c%s%M\e(B
-   \e$B%kL>$+$i5a$a$k$h$&$K$7$?!#\e(B(by \e$BBg66$5$s\e(B)
-
-* Riece 0.2.0 \e$B$N<g$JJQ99E@\e(B
-
-** Qt \e$B$d\e(B GTK+ \e$B$HF1MM$N%7%0%J%k$rF3F~$7!"ItJ,E*$K:FIA2h$9$k$h$&$K$7$?!#\e(B
-
-** C-c C-n \e$B$G!"%A%c%s%M%k%P%C%U%!$K$bL>A0$N0lMw$rI=<($9$k$h$&$K$7$?!#\e(B
-
-** riece-lsdb \e$B;HMQ;~$NIT6q9g$N=$@5\e(B (by \e$BCf;3$5$s\e(B)
-
-* Riece 0.1.8 \e$B$N<g$JJQ99E@\e(B
-
-** LSDB \e$B$HO"7H$9$k%"%I%*%s\e(B riece-lsdb \e$B$rDI2C\e(B
-
-** \e$B%f!<%60lMw$K\e(B X-Face \e$B$rI=<($9$k%"%I%*%s\e(B riece-xface \e$B$rDI2C\e(B (\e$BMW\e(B LSDB)\e$B!%\e(B
-\e$B%9%/%j!<%s%7%g%C%H!'\e(B
-http://wiliki.designflaw.org/riece-xface.png
-
-** \e$B%A%c%s%M%kL>$NBgJ8;z>.J8;z$,6hJL$5$l$F$7$^$&%P%0$r=$@5\e(B
-
-** IRC proxy \e$B$KB>$N%/%i%$%"%s%H$H0l=o$K@\B3$7$F$$$k>l9g$G$b!$<+J,$NH/\e(B
-   \e$B8@$r$-$A$s$H07$&$h$&$K$7$?\e(B (by \e$B9b66$5$s\e(B)
-
-* Riece 0.1.7 \e$B$N<g$JJQ99E@\e(B
-
-** Emacs \e$B$,\e(B busy or suspend \e$B>uBV$K$J$k$3$H$KHw$(!"\e(B
-   PING \e$B$K1~Ez$9$k\e(B local proxy \e$B7PM3$G\e(B IRC \e$B%5!<%P$K@\B3$9$k%"%I%*%s\e(B
-   riece-async \e$B$rDI2C\e(B
-
-** riece-away-message \e$B$,;XDj$5$l$?>l9g$K\e(B AWAY \e$B>uBV$N%H%0%k$K<:GT$9$k%P\e(B
-   \e$B%0$r=$@5\e(B (Thanks to \e$BF#B<$5$s\e(B)
-
-** GNU Emacs \e$B$G!"%m!<%I;~$K\e(B standard-syntax-table \e$B$rJQ99$7$F$7$^$&%P%0$r=$@5\e(B
-   (Thanks to Hori \e$B$5$s\e(B)
-
-** riece-startup-channel-list \e$B$K2C$(!"\e(Briece-startup-server-list \e$B$r;XDj\e(B
-   \e$B$9$k$3$H$G!"5/F0;~$KJ#?t$N%5!<%P>e$N%A%c%s%M%k$K;22C$G$-$k$h$&$K$7$?\e(B
-
-** riece-log \e$B;HMQ;~$K%m%0%U%!%$%k$N\e(B coding system \e$B$r;XDj$9$k%*%W%7%g%s\e(B
-   riece-log-coding-system \e$B$rDI2C\e(B
-
-** riece-keyword \e$B;HMQ;~$K;XDj$7$?%-!<%o!<%I$NH/8@$,$"$C$?;~$K8F$P$l$k\e(B
-   riece-keyword-notify-functions \e$B$rDI2C!#4{B8$N\e(B
-   riece-notify-keyword-functions(\e$B$J$s$FJ6$i$o$7$$L>A0\e(B!) \e$B$NBe$o$j$K$3$A$i\e(B
-   \e$B$r;HMQ$7$F$/$@$5$$\e(B
-
-** riece-log \e$B;HMQ;~$K\e(B riece-log-flashback \e$B$,%O%$%i%$%H$d%\%?%s$bI|85$9\e(B
-   \e$B$k$h$&$K$7$?\e(B
-
-** riece-{unread,mini} \e$B$r\e(B NOTICE \e$B$d\e(B CTCP ACTION \e$B$K$OH?1~$7$J$$$h$&$K$7$?\e(B
-
-* Riece 0.1.6 \e$B$N<g$JJQ99E@\e(B
-
-** Emacs 20.7 \e$B$G$&$^$/F0:n$7$J$$IT6q9g$N=$@5!#\e(B
-
-** XEmacs 21.1 \e$B$G%3%s%Q%$%k$K<:GT$9$kIT6q9g$N=$@5\e(B(\e$BF0:n$OL5J]>Z\e(B)\e$B!#\e(B
-
-** riece-rdcc \e$B$G!"5pBg$J%U%!%$%k$r<u?.$7$F$b%a%b%j$r?)$o$J$$$h$&$K$7$?!#\e(B
-
-** riece-gather-channel-modes == t \e$B$N>l9g!"%A%c%s%M%k;22C;~$K%A%c%s%M\e(B
-   \e$B%k$N%b!<%I$rD4$Y$k$h$&$K$7$?!#\e(B
-
-** \e$B%A%c%s%M%k%P%C%U%!$N%5%$%:$r@Z$j5M$a$k%?%$%_%s%0$r=$@5!#\e(B
-
-** \e$B%A%c%s%M%k0\F0;~$K!"%P%C%U%!$,<+F0E*$K%9%/%m!<%k$7$J$$IT6q9g$N=$@5!#\e(B
-
-** riece-log \e$B$G!"\e(Briece-log-directory-map \e$B$K%5!<%PL>IU$-$N%A%c%s%M%k$r\e(B
-   \e$B;XDj$G$-$k$h$&$K$7$?!#\e(B(by \e$BBg66$5$s\e(B)
-
-* Riece 0.1.5 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%G%U%)%k%H$GMxMQ2DG=$J%&%#%s%I%&%l%$%"%&%H$K!"\e(B
-   {top,middle,bottom}-{left,right} \e$B$rDI2C!#\e(B
-
-** \e$BA*BrCf$N%&%#%s%I%&%l%$%"%&%H$rJ]B8$9$k$h$&$K$7$?!#\e(B
-
-** \e$B%"%$%3%s$rI=<($9$k%"%I%*%s\e(B (riece-icon) \e$B$rDI2C!#\e(B
-   ([http://wiliki.designflaw.org/riecess1.png \e$B%9%/%j!<%s%7%g%C%H\e(B])
-
-** \e$B%f!<%6%j%9%H$N:FIA2h$N9bB.2=!#\e(B
-
-** CTCP ACTION \e$B$N2~NI!#\e(B(Thanks to knu \e$B$5$s\e(B)
-
-** riece-rdcc \e$B$r;H$C$F\e(B DCC \e$B$N%U%!%$%kE>Aw$r;O$a$k:]$K!"$?$^$K8G$^$k%P%0$r=$@5!#\e(B
-
-** \e$B4{$K\e(B Riece \e$B$,5/F0$7$?>uBV$G$b$&0lEY5/F0$7$?>l9g!"%(%i!<$rDLCN$9$k$N\e(B
-   \e$B$G$O$J$/!"\e(Briece-command-configure-windows \e$B$r8F$V$h$&$K$7$?\e(B (Thanks
-   to \e$BBg66$5$s\e(B)
-
-** C-c o (riece-command-set-operators) \e$B$H\e(B C-c v
-   (riece-command-set-speakers) \e$B$G!"\e(B3 \e$B?M0J>e$N%f!<%6$rBP>]$K$7$?>l9g$N%P\e(B
-   \e$B%0$r=$@5!#\e(B
-
-** \e$B%P%C%U%!$N%5%$%:$,\e(B riece-max-buffer-size \e$B$r1[$($?>l9g!"<+F0E*$K@Z$j\e(B
-   \e$B5M$a$k$h$&$K$7$?!#\e(B
-
-* Riece 0.1.4 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%A%c%s%M%k%P%C%U%!$G\e(B riece-command-names \e$B$N%-!<%P%$%s%I$r\e(B C-n \e$B$+$i\e(B
-   N \e$B$KJQ99!#\e(B(thanks to \e$B9b66$5$s\e(B)
-
-** C-c C-t a (riece-command-toggle-away) \e$B$,%(%i!<$K$J$k%P%0$r=$@5!#\e(B
-   (thanks to \e$BA0ED$5$s\e(B)
-
-** Riece \e$B$N%P%C%U%!$rA*Br$7$F$$$J$$;~$K$O!":FIA2h$r9T$o$J$$$h$&$K$7$?!#\e(B
-
-** \e$BF1L>$N%P%C%U%!$,\e(B Riece \e$B0J30$N%W%m%0%i%`$K;H$o$l$F$$$k;~!"\e(B
-   generate-new-buffer \e$B$G?7$7$$%P%C%U%!$r:n@.$7$FMxMQ$9$k$h$&$K$7$?!#\e(B
-
-** ! \e$B$G=i$^$k%A%c%s%M%k$r:n@.$G$-$J$$%P%0$r=$@5!#\e(B
-
-** riece-keyword \e$B;HMQ;~$K!"<+J,$NH/8@$K4^$^$l$k%-!<%o!<%I$KH?1~$7$J$$\e(B
-   \e$B$h$&$K$7$?!#\e(B
-
-** \e$B$R$H$D$b%A%c%s%M%k$KF~$C$F$$$J$$;~!"%A%c%s%M%kFb$G$N$_M-8z$J%3%^%s\e(B
-   \e$B%I$r<B9T$9$k$H%(%i!<$r=P$9$h$&$K$7$?!#\e(B
-
-** \e$B%a%K%e!<%P!<$K%a%K%e!<$rDI2C$9$k%"%I%*%s\e(B (riece-menu) \e$B$r?7@_!#\e(B
-
-* Riece 0.1.3 \e$B$N<g$JJQ99E@\e(B
-
-** PRIVMSG \e$B$d\e(B NOTICE \e$B$N<u?.;~$K!$%A%c%s%M%kL>$NBgJ8;z>.J8;z$r6hJL$7$J\e(B
-   \e$B$$$h$&$K$7$?!#\e(B
-
-** riece-history \e$B;HMQ;~$K!$%R%9%H%j$N@hF,$K$"$k%A%c%s%M%k$K\e(B "+" \e$B%^!<%/\e(B
-   \e$B$r$D$1$k$h$&$K$7$?!#\e(B
-
-** \e$B%\%?%s$H%]%C%W%"%C%W%a%K%e!<$rI=<($9$k%"%I%*%s\e(B (riece-button) \e$B$rDI2C!#\e(B
-
-** \e$B%-!<%o!<%I$r8!=P$9$k%"%I%*%s\e(B (riece-keyword) \e$B$rDI2C!#\e(B
-
-   XEmacs \e$B$r$*;H$$$J$i!$0J2<$N@_Dj$r\e(B ~/.riece/init.el \e$B$K2C$($k$3$H$G!$\e(B
-   "\e$B$[$2\e(B" \e$B$d\e(B "\e$B$U$,\e(B" \e$B$KH?1~$7$F2;$rLD$i$9$3$H$,$G$-$^$9!%\e(B
-
-   (load-default-sounds)
-   (setq riece-keywords '("\e$B$[$2\e(B" "\e$B$U$,\e(B"))
-   (add-hook 'riece-notify-keyword-functions
-            (lambda (keyword) (play-sound 'cuckoo)))
-
-* Riece 0.1.2 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%Q%9%o!<%IIU$-$N%A%c%s%M%k$K\e(B JOIN \e$B$G$-$J$$%P%0$r=$@5\e(B
-
-** riece-startup-channel-list \e$B$rI|3h\e(B
-
-** riece-rdcc-save-directory \e$B$r?7@_\e(B
-
-** \e$B%Q%9%o!<%IF~NO$rCfCG$G$-$J$$%P%0$r=$@5\e(B
-
-** INVITE \e$B%O%s%I%i$N%P%0$r=$@5\e(B
-
-** INVITE \e$B$5$l$?8e$K\e(B JOIN \e$B$9$k>l9g!"%G%U%)%k%H$N%A%c%s%M%kL>$r;H$&$h$&$K$7$?!#\e(B
-
-** JOIN \e$B$N%?%$%_%s%0$K$h$j\e(B riece-channel-list-indicator \e$B$,99?7$5$l$J$$\e(B
-   \e$B%P%0$r=$@5\e(B
-
-* Riece 0.1.1 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B$$$/$D$+$N%"%I%*%s$r%G%U%)%k%H$GFI$_9~$`$h$&$K$7$?\e(B
-
-** riece-default-channel-binding \e$B$,8z$+$J$$%P%0$r<#$7$?\e(B
-
-** *Channels* \e$B%P%C%U%!$G!"8=:_$$$k%A%c%s%M%kL>$NF,$K%^!<%/\e(B "*" \e$B$rIU$1$k\e(B
-  \e$B$h$&$K$7$?\e(B
-
-** riece-debug == nil \e$B$N>l9g!"@ZCG;~$N%a%C%;!<%8$r4JN,2=$7$?\e(B
-
-** \e$B%A%c%s%M%k0\F0$NMzNr$r4IM}$9$k%"%I%*%s\e(B riece-history \e$B$rDI2C\e(B
-
-** \e$B0\F0@h$N%A%c%s%M%k$r?dB,$9$k%"%I%*%s\e(B riece-guess \e$B$rDI2C\e(B
-
-Tips:
-
-~/.riece/init.el \e$B$K0J2<$N$h$&$K;XDj$9$k$H!"\e(B
-
-  (setq riece-guess-channel-try-functions
-        '(riece-guess-channel-from-unread
-          riece-guess-channel-from-history))
-
-C-c g \e$B$G0J2<$N=g=x$G0\F0$G$-$^$9!#\e(B
-
-# \e$BL$FI$N%a%C%;!<%8$N$"$k%A%c%s%M%k\e(B
-# \e$B:G6aK,$l$?%A%c%s%M%k\e(B
-# \e$B$=$l0J30\e(B
-
-* Riece 0.1.0 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%A%c%s%M%k$NFbItI=8=$rJ8;zNs$+$i%Y%/%?!<$K$h$kI=8=$KJQ99$7$?\e(B
-
-** \e$B%W%m%;%94IM}$r$^$H$b$K$7$?\e(B
-
-*** \e$B%W%m%;%9L>$G%5!<%P$r<1JL$9$k$h$&$KJQ99$7$?\e(B
-
-*** \e$B@\B3!&@ZCG$N=hM}$r\e(B riece-server.el \e$B$K$^$H$a$?\e(B
-
-*** QUIT \e$B$rEj$2$F$b1~Ez$,$J$$>l9g!"6/@)E*$K@ZCG$9$k$h$&$K$7$?\e(B
-
-** M-x doctor \e$B$HO"7H$9$k%"%I%*%s$rDI2C\e(B
-
-** \e$BH/8@$K\e(B SKK \e$B$NJQ49Cf$N0u"&$,:.$6$i$J$$$h$&$K$9$k%"%I%*%s$rDI2C\e(B (by \e$B9b66$5$s\e(B)
-
-** \e$B%&%#%s%I%&%l%$%"%&%H$rJQ99$G$-$k$h$&$K$7$?\e(B (C-c t l)
-
-** Liece \e$B$N\e(B "top" \e$B%9%?%$%k$K;w$?%&%#%s%I%&%l%$%"%&%H$rDI2C\e(B (by \e$B9b66$5$s\e(B)
-
-* Riece 0.0.4 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%_%K%P%C%U%!$@$1$G\e(B IRC \e$B$9$k%"%I%*%s\e(B riece-mini \e$B$rDI2C\e(B (by \e$BBg66$5$s\e(B)
-
-** \e$B%m%0<}=8%"%I%*%s\e(B riece-log \e$B$rDI2C\e(B (by \e$BBg66$5$s\e(B)
-
-** riece-command-next-channel (C-c >), riece-command-previous-channel
-   (C-c <) \e$B$G%A%c%s%M%k$r$0$k$0$k0\F0$G$-$k$h$&$K$7$?\e(B (by \e$BCf;3$5$s\e(B)
-
-** riece-unread \e$B%"%I%*%s;HMQ;~$KH/8@$N$"$C$?%A%c%s%M%k$K\e(B C-c C-u \e$B$G0\\e(B
-   \e$BF0$G$-$k$h$&$K$7$?\e(B (by \e$BBg66$5$s\e(B)
-
-** IRC \e$B%a%C%;!<%8$K=>$C$F%$%s%8%1!<%?$r99?7$9$k$h$&$K$7$?\e(B
-
-** ptexinfmt.el \e$B$r\e(B APEL free \e$B$J$b$N$KCV$-49$($?\e(B (Thanks to \e$B;32,$5$s\e(B)
-
-* Riece 0.0.3 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B%Q%9%o!<%I$,I,MW$J%5!<%P$KFs$D0J>e@\B3$G$-$J$$%P%0$N=$@5\e(B (Thanks to
-   \e$BCf;3$5$s\e(B)
-
-** \e$B%K%C%/$NBgJ8;z>.J8;z$@$1$rJQ99$9$k$H0l4S@-$,<:$o$l$kLdBj$r=$@5\e(B
-
-** \e$B%O%s%I%i%U%C%/$GH/@8$7$?%(%i!<$rJaB*\e(B
-
-** DCC \e$B$K$h$k%U%!%$%kE>Aw$KBP1~\e(B (riece-ndcc.el, riece-rdcc.el)
-
-** \e$BH/8@$N$"$C$?%A%c%s%M%k$K\e(B "!" \e$B%^!<%/$r$D$1$k%"%I%*%s$NDI2C\e(B (riece-unread.el)
-
-** \e$BF|K\8l$N%^%K%e%"%k$NDI2C\e(B
-
-* Riece 0.0.2 \e$B$N<g$JJQ99E@\e(B
-
-** APEL \e$B$N4X?t\e(B (pop, push) \e$B$NB`<#\e(B
-
-** "depcomp" \e$B$,F1:-$5$l$J$$LdBj$N=$@5\e(B (autoreconf \e$B$N%P%0\e(B?)
-
-** Windows \e$B4D6-$G%S%k%I$G$-$J$$IT6q9g$N=$@5\e(B (Thanks to \e$BBg66$5$s\e(B)
-
-** \e$B%K%C%/JQ99;~$K0l4S@-$,<:$o$l$kLdBj$N=$@5\e(B
-
-** C-c C-t u (M-x riece-command-toggle-user-list-mode) \e$B$NIT6q9g$N=$@5\e(B
-
-** \e$B%"%I%*%s$NF3F~\e(B
-
-** CTCP \e$B$KItJ,E*$KBP1~\e(B (VERSION \e$B$H\e(B PING \e$B$N$_\e(B)
-
-** font-lock \e$B%b%8%e!<%k\e(B (riece-highlight) \e$B$N%"%I%*%s2=\e(B
-
-** URL \e$B<}=85!G=$N%"%I%*%s2=\e(B
-
-* Riece 0.0.1 \e$B$N<g$JJQ99E@\e(B
-
-** \e$B:G=i$N%j%j!<%9\e(B
-
-* For details of changes, see the file ChangeLog.
-\f
-Local variables:
-mode: text
-mode: outline
-paragraph-separate: "[  \f]*$"
-coding: iso-2022-jp
-end:
diff --git a/xemacs-packages/riece/README b/xemacs-packages/riece/README
deleted file mode 100644 (file)
index b80dfa7..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-* What's this?
-
-Riece is an IRC client for Emacs.
-
-Riece provides the following features:
-
-- Several IRC servers may be used at the same time.
-- Essential features can be built upon the extension framework (called
-  "add-on") capable of dependency tracking.
-- Installation is easy.  Riece doesn't depend on other packages.
-- 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 (in info format) are included.
-- Mostly compliant with RFC 2812.
-
-* Directory tree
-
-This package contains following directories:
-
-lisp/ - Emacs Lisp files.
-doc/  - Documentation files.
-
-* Requirements
-
-- Emacs 20.7 or later / XEmacs 21.4 or later
-- Ruby 1.8 or later (optional)
-
-* Installation
-
-$ ./configure
-$ sudo make install
-
-Add the following line to your Emacs startup file such as ~/.emacs.
-
-  (autoload 'riece "riece" "Start Riece" t)
-
-If you are using XEmacs and want to install as a package, supply
-"--with-xemacs" option to the configure script and use
-"install-package" target instead of "install".
-
-* Manuals
-
-Info manuals are available after installation.  To read, start Emacs
-and type M-x info and select "Riece-en".
-
-* Bug reports
-
-If you write a bug report, please send them to the Liece Mailing List
-(liece@unixuser.org).
diff --git a/xemacs-packages/riece/README.ja b/xemacs-packages/riece/README.ja
deleted file mode 100644 (file)
index faa6686..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-* \e$B$3$l$O2?$+\e(B?
-
-Riece \e$B$O\e(B Emacs \e$B8~$1\e(B IRC \e$B%/%i%$%"%s%H$G$9!#\e(B
-
-Riece \e$B$K$O0J2<$K5s$2$kFCD9$,$"$j$^$9\e(B:
-
-- \e$BJ#?t$N\e(B IRC \e$B%5!<%P$KF1;~$K@\B32DG=\e(B
-- \e$B%"%I%*%s$K$h$j3HD%5!G=$NDI2C$d<h$j30$7$,2DG=\e(B
-- \e$BB>$N\e(B elisp \e$B%Q%C%1!<%8$K0MB8$7$J$$$?$a!"%$%s%9%H!<%k$,4JC1\e(B
-- \e$B@_Dj$,4JC1$G!"A02s5/F0;~$N@_Dj$r5-O?!&I|85$9$k;EAH$_$rDs6!\e(B
-- \e$BCJ3,E*$JA`:n@bL@=q\e(B (info \e$B7A<0\e(B) \e$B$,ImB0\e(B
-- \e$B:G?7$N\e(B IRC \e$B$N%/%i%$%"%s%H%W%m%H%3%k\e(B (RFC2812) \e$B$K=`5r\e(B
-
-* \e$B%G%#%l%/%H%j9=@.\e(B
-
-\e$B$3$N%Q%C%1!<%8$O0J2<$N%G%#%l%/%H%j$+$i@.$j$^$9\e(B:
-
-lisp/ - Emacs Lisp \e$B$N%U%!%$%k\e(B
-doc/  - \e$BJ8=q%U%!%$%k\e(B
-
-* \e$BI,MW$J$b$N\e(B
-
-- Emacs 20.7 \e$B0J9_!"$^$?$O\e(B XEmacs 21.4 \e$B0J9_\e(B
-- Ruby 1.8 \e$B0J9_\e(B (\e$BG$0U\e(B)
-
-* \e$B%$%s%9%H!<%k\e(B
-
-$ ./configure
-$ sudo make install
-
-~/.emacs \e$BEy$K0J2<$N0l9T$rDI2C$7$F$/$@$5$$!#\e(B
-
-  (autoload 'riece "riece" "Start Riece" t)
-
-XEmacs \e$B$G;H$&>l9g$K$O\e(B "--with-xemacs" \e$B%*%W%7%g%s$r\e(B configure \e$B%9%/%j%W\e(B
-\e$B%H$KM?$($F$/$@$5$$!#$^$?!"\e(B"make install" \e$B$NBe$o$j$K\e(B "make
-install-package" \e$B$H$9$k$3$H$G\e(BXEmacs \e$B$N%Q%C%1!<%8$H$7$F%$%s%9%H!<%k$9$k\e(B
-\e$B$3$H$,$G$-$^$9!#\e(B
-
-* \e$B%^%K%e%"%k\e(B
-
-\e$B;H$$J}$OF1:-$N%^%K%e%"%k$K5-:\$5$l$F$$$^$9!#\e(B
-\e$B%^%K%e%"%k$rFI$`$K$O\e(B "M-x info" \e$B$G0J2<$N%a%K%e!<$rA*Br$7$^$9!#\e(B
-
-  * Riece-ja: (riece-ja).                   An IRC client for Emacsen
-
-* \e$B%P%0Js9p\e(B
-
-\e$B%P%0Js9p$O!"\e(BLiece \e$B%a!<%j%s%0%j%9%H\e(B (liece@unixuser.org) \e$B$K$*Aw$j$/$@$5\e(B
-\e$B$$!#\e(BRiece \e$B$N<B9TCf$K\e(B "M-x riece-submit-bug-report" \e$B$G%P%0Js9p$N%F%s%W\e(B
-\e$B%l!<%H$r:n@.$G$-$^$9!#\e(B
diff --git a/xemacs-packages/riece/acinclude.m4 b/xemacs-packages/riece/acinclude.m4
deleted file mode 100644 (file)
index ad09542..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-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],
- [dnl Check for Emacsen.
-
-  dnl Apparently, if you run a shell window in Emacs, it sets the EMACS
-  dnl environment variable to 't'.  Lets undo the damage.
-  test "$EMACS" = t && EMACS=
-
-  dnl Ignore cache.
-  unset ac_cv_prog_EMACS; unset ac_cv_prog_XEMACS;
-
-  AC_ARG_WITH(emacs,
-   [  --with-emacs=EMACS      compile with EMACS [EMACS=emacs, mule...]],
-   [if test "$withval" = yes -o -z "$withval"; then
-      AC_CHECK_PROGS(EMACS, emacs xemacs mule, emacs)
-    else
-      AC_CHECK_PROG(EMACS, $withval, $withval, emacs)
-    fi])
-  AC_ARG_WITH(xemacs,
-   [  --with-xemacs=XEMACS    compile with XEMACS [XEMACS=xemacs]],
-   [if test "$withval" = yes -o -z "$withval"; then
-      AC_CHECK_PROG(XEMACS, xemacs, xemacs, xemacs)
-    else
-      AC_CHECK_PROG(XEMACS, $withval, $withval, xemacs)
-    fi
-    EMACS=$XEMACS],
-   [XEMACS=xemacs
-    test -z "$EMACS" && AC_CHECK_PROGS(EMACS, emacs xemacs mule, emacs)])
-  AC_SUBST(EMACS)
-  AC_SUBST(XEMACS)])
-
-AC_DEFUN([AC_EMACS_LISP], [
-elisp="$2"
-if test -z "$3"; then
-       AC_MSG_CHECKING(for $1)
-fi
-AC_CACHE_VAL(EMACS_cv_SYS_$1,[
-       OUTPUT=./conftest-$$
-       echo ${EMACS}' -batch -eval '\''(let ((x '${elisp}')) (write-region (if (stringp x) (princ x) (prin1-to-string x)) nil "'${OUTPUT}'" nil 5))'\' >& AC_FD_CC 2>&1
-       eval ${EMACS}' -batch -eval '\''(let ((x '${elisp}')) (write-region (if (stringp x) (princ x) (prin1-to-string x)) nil "'${OUTPUT}'" nil 5))'\' >& AC_FD_CC 2>&1
-       retval=`cat ${OUTPUT}`
-       echo "=> ${retval}" >& AC_FD_CC 2>&1
-       rm -f ${OUTPUT}
-       EMACS_cv_SYS_$1=$retval
-])
-$1=${EMACS_cv_SYS_$1}
-if test -z "$3"; then
-       AC_MSG_RESULT($$1)
-fi
-])
-
-AC_DEFUN([AC_CHECK_EMACS_FLAVOR],
- [AC_MSG_CHECKING([what flavor does $EMACS have])
-
-  dnl Ignore cache.
-  unset EMACS_cv_SYS_flavor;
-
-  AC_EMACS_LISP(flavor,
-    (cond ((featurep (quote xemacs)) \"XEmacs\")\
-          ((boundp (quote MULE)) \"MULE\")\
-          (t \"FSF Emacs\")),
-    "noecho")
-  case $EMACS_cv_SYS_flavor in
-  XEmacs)
-    EMACS_FLAVOR=xemacs;;
-  MULE)
-    EMACS_FLAVOR=mule;;
-  *)
-    EMACS_FLAVOR=emacs;;
-  esac
-  AC_MSG_RESULT($EMACS_cv_SYS_flavor)])
-
-AC_DEFUN([AC_PATH_LISPDIR], [
-  AC_CHECK_EMACS_FLAVOR
-  if test "$prefix" = NONE; then
-       AC_MSG_CHECKING([prefix for your Emacs])
-       AC_EMACS_LISP(prefix,(expand-file-name \"..\" invocation-directory),"noecho")
-       prefix=${EMACS_cv_SYS_prefix}
-       AC_MSG_RESULT($prefix)
-  fi
-  AC_ARG_WITH(lispdir,
-    [  --with-lispdir=DIR      Where to install lisp files
-                          (for XEmacs package, use --with-packagedir instead)],
-    lispdir=${withval})
-  AC_MSG_CHECKING([where lisp files should go])
-  if test -z "$lispdir"; then
-    dnl Set default value
-    theprefix=$prefix
-    if test "$theprefix" = NONE; then
-       theprefix=$ac_default_prefix
-    fi
-    lispdir="\$(datadir)/${EMACS_FLAVOR}/site-lisp/${GNUS_PRODUCT_NAME}"
-    for thedir in share lib; do
-       potential=
-       if test -d ${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp; then
-          lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-lisp/${GNUS_PRODUCT_NAME}"
-          break
-       fi
-    done
-  fi
-  if test ${EMACS_FLAVOR} = xemacs; then
-    AC_MSG_RESULT([$lispdir
-         (it will be ignored when \"make install-package[[-ja]]\" is done)])
-  else
-    AC_MSG_RESULT([$lispdir])
-  fi
-  AC_SUBST(lispdir)
-])
-
-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
-    dnl Set default value
-    etcdir="\$(lispdir)/../etc"
-  fi
-  AC_MSG_RESULT($etcdir)
-  AC_SUBST(etcdir)
-])
-
-dnl
-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], [
-if test -z "$3"; then
-       AC_MSG_CHECKING(for $2 in $1)
-fi
-library=`echo $1 | tr _ -`
-AC_EMACS_LISP($1,(progn (fmakunbound (quote $2)) (condition-case nil (progn (require (quote $library)) (fboundp (quote $2))) (error (prog1 nil (message \"$library not found\"))))),"noecho")
-if test "${EMACS_cv_SYS_$1}" = nil; then
-       EMACS_cv_SYS_$1=no
-fi
-if test "${EMACS_cv_SYS_$1}" = t; then
-       EMACS_cv_SYS_$1=yes
-fi
-HAVE_$1=${EMACS_cv_SYS_$1}
-AC_SUBST(HAVE_$1)
-if test -z "$3"; then
-       AC_MSG_RESULT($HAVE_$1)
-fi
-])
-
-dnl
-dnl Perform sanity checking and try to locate the W3 package
-dnl
-AC_DEFUN([AC_CHECK_W3], [
-AC_MSG_CHECKING(for acceptable W3 version)
-
-dnl Ignore cache.
-unset EMACS_cv_ACCEPTABLE_W3;
-unset EMACS_cv_SYS_w3_dir;
-unset EMACS_cv_SYS_w3_forms;
-
-AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_W3,[
-AC_EMACS_CHECK_LIB(w3_forms, w3-form-encode-xwfu,"noecho")
-if test "${HAVE_w3_forms}" = yes; then
-       EMACS_cv_ACCEPTABLE_W3=yes
-else
-       EMACS_cv_ACCEPTABLE_W3=
-fi
-
-if test "${EMACS_cv_ACCEPTABLE_W3}" = yes; then
-       AC_EMACS_LISP(w3_dir,(file-name-directory (locate-library \"w3-forms\")),"noecho")
-       EMACS_cv_ACCEPTABLE_W3=$EMACS_cv_SYS_w3_dir
-fi
-])
-   AC_ARG_WITH(w3,[  --with-w3=DIR           Specify where to find the w3 package], [ EMACS_cv_ACCEPTABLE_W3=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` ])
-   W3=${EMACS_cv_ACCEPTABLE_W3}
-   AC_SUBST(W3)
-   if test -z "${EMACS_cv_ACCEPTABLE_W3}"; then
-       AC_MSG_RESULT(not found)
-   else
-       AC_MSG_RESULT(${W3})
-   fi
-])
-
-dnl
-dnl Perform sanity checking and try to locate the W3 package
-dnl
-AC_DEFUN([AC_CHECK_URL], [
-AC_MSG_CHECKING(for acceptable URL version)
-
-dnl Ignore cache.
-unset EMACS_cv_ACCEPTABLE_URL;
-unset EMACS_cv_SYS_url_dir;
-unset EMACS_cv_SYS_url;
-
-AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_URL,[
-AC_EMACS_CHECK_LIB(url, url-retrieve, "noecho")
-if test "${HAVE_url}" = yes; then
-       EMACS_cv_ACCEPTABLE_URL=yes
-else
-       EMACS_cv_ACCEPTABLE_URL=
-fi
-
-if test "${EMACS_cv_ACCEPTABLE_URL}" = yes; then
-       AC_EMACS_LISP(url_dir,(file-name-directory (locate-library \"url\")),"noecho")
-       EMACS_cv_ACCEPTABLE_URL=$EMACS_cv_SYS_url_dir
-fi
-])
-   AC_ARG_WITH(url,[  --with-url=DIR          Specify where to find the url package], [ EMACS_cv_ACCEPTABLE_URL=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` ])
-   URL=${EMACS_cv_ACCEPTABLE_URL}
-   AC_SUBST(URL)
-   if test -z "${EMACS_cv_ACCEPTABLE_URL}"; then
-       AC_MSG_RESULT(not found)
-   else
-       AC_MSG_RESULT("${URL}")
-   fi
-])
-
-dnl
-dnl Perform checking available fonts: Adobe Bembo, Adobe Futura and 
-dnl Bitstream Courier.
-dnl
-
-AC_DEFUN([GNUS_CHECK_FONTS], [
-test "$LATEX" = t && LATEX=
-test "$LATEX" || AC_PATH_PROGS(LATEX, latex, no)
-AC_MSG_CHECKING(for available fonts)
-AC_ARG_WITH(fonts,[  --with-fonts            Assume all fonts required are available],[USE_FONTS="$withval"])
-WITH_FONTS_bembo='%'
-WITHOUT_FONTS_bembo=
-WITH_FONTS_pfu='%'
-WITHOUT_FONTS_pfu=
-WITH_FONTS_bcr='%'
-WITHOUT_FONTS_bcr=
-if test -z "${USE_FONTS}"; then
-  if test "${LATEX}" = no; then
-       :
-  else
-    OUTPUT=./conftest-$$
-    echo '\nonstopmode\documentclass{article}\usepackage{bembo}\begin{document}\end{document}' > ${OUTPUT}
-    if ${LATEX} ${OUTPUT} </dev/null >& AC_FD_CC 2>&1  ; then  
-      if test -z "${USE_FONTS}"; then
-       USE_FONTS="Adobe Bembo"
-      else
-       USE_FONTS="${USE_FONTS}, Adobe Bembo"
-      fi
-      WITH_FONTS_bembo=
-      WITHOUT_FONTS_bembo='%'
-    fi
-    echo '\nonstopmode\documentclass{article}\begin{document}{\fontfamily{pfu}\fontsize{10pt}{10}\selectfont test}\end{document}' > ${OUTPUT}
-    if retval=`${LATEX} ${OUTPUT} </dev/null 2>& AC_FD_CC`; then
-      if echo "$retval" | grep 'Some font shapes were not available' >& AC_FD_CC 2>&1  ; then  
-       :
-      else
-        if test -z "${USE_FONTS}"; then
-         USE_FONTS="Adobe Futura"
-        else
-         USE_FONTS="${USE_FONTS}, Adobe Futura"
-        fi
-        WITH_FONTS_pfu=
-        WITHOUT_FONTS_pfu='%'
-      fi
-    fi
-    echo '\nonstopmode\documentclass{article}\begin{document}{\fontfamily{bcr}\fontsize{10pt}{10}\selectfont test}\end{document}' > ${OUTPUT}
-    if retval=`${LATEX} ${OUTPUT} </dev/null 2>& AC_FD_CC`; then
-      if echo "$retval" | grep 'Some font shapes were not available' >& AC_FD_CC 2>&1  ; then  
-       :
-      else
-        if test -z "${USE_FONTS}"; then
-         USE_FONTS="Bitstream Courier"
-        else
-         USE_FONTS="${USE_FONTS}, Bitstream Courier"
-        fi
-        WITH_FONTS_bcr=
-        WITHOUT_FONTS_bcr='%'
-      fi
-    fi
-    rm -f ${OUTPUT} ${OUTPUT}.aux ${OUTPUT}.log ${OUTPUT}.dvi
-  fi
-elif test "${USE_FONTS}" = yes ; then
-  WITH_FONTS_bembo=
-  WITHOUT_FONTS_bembo='%'
-  WITH_FONTS_pfu=
-  WITHOUT_FONTS_pfu='%'
-  WITH_FONTS_bcr=
-  WITHOUT_FONTS_bcr='%'
-fi
-AC_SUBST(WITH_FONTS_bembo)
-AC_SUBST(WITHOUT_FONTS_bembo)
-AC_SUBST(WITH_FONTS_pfu)
-AC_SUBST(WITHOUT_FONTS_pfu)
-AC_SUBST(WITH_FONTS_bcr)
-AC_SUBST(WITHOUT_FONTS_bcr)
-if test -z "${USE_FONTS}" ; then
-  USE_FONTS=no
-fi
-USE_FONTS=`echo "${USE_FONTS}" | sed 's/,\([[^,]]*\)$/ and\1/'`
-AC_MSG_RESULT("${USE_FONTS}")
-if test "${USE_FONTS}" = yes ; then
-  USE_FONTS='Set in Adobe Bembo, Adobe Futura and Bitstream Courier.'
-elif test "${USE_FONTS}" = no ; then
-  USE_FONTS=''
-else
-  USE_FONTS="Set in ${USE_FONTS}."
-fi
-AC_SUBST(USE_FONTS)
-])
-
-AC_DEFUN([AC_EXAMINE_PACKAGEDIR],
- [dnl Examine PACKAGEDIR.
-  AC_EMACS_LISP(PACKAGEDIR,
-    (let (package-dir)\
-      (if (boundp (quote early-packages))\
-         (let ((dirs (delq nil (append (if early-package-load-path\
-                                           early-packages)\
-                                       (if late-package-load-path\
-                                           late-packages)\
-                                       (if last-package-load-path\
-                                           last-packages)))))\
-           (while (and dirs (not package-dir))\
-             (if (file-directory-p (car dirs))\
-                 (setq package-dir (car dirs)\
-                       dirs (cdr dirs))))))\
-      (or package-dir \"\")),
-    "noecho")])
-
-AC_DEFUN([AC_PATH_PACKAGEDIR],
- [dnl Check for PACKAGEDIR.
-  if test ${EMACS_FLAVOR} = xemacs; then
-    AC_MSG_CHECKING([where the XEmacs package is])
-    AC_ARG_WITH(packagedir,
-      [  --with-packagedir=DIR   package DIR for XEmacs],
-      [if test "$withval" != yes -a -n "$withval"; then
-       PACKAGEDIR=$withval
-      else
-       AC_EXAMINE_PACKAGEDIR
-      fi],
-      AC_EXAMINE_PACKAGEDIR)
-    if test -z "$PACKAGEDIR"; then
-      AC_MSG_RESULT(not found)
-    else
-      AC_MSG_RESULT($PACKAGEDIR)
-    fi
-  else
-    PACKAGEDIR=
-  fi
-  AC_SUBST(PACKAGEDIR)])
-
-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
-                          use colons to separate directory names],
-   [if test "$withval" != yes -a -n "$withval"; then
-      AC_MSG_CHECKING([where to find the additional elisp libraries])
-      ADDITIONAL_LOAD_PATH=$withval
-      AC_MSG_RESULT($ADDITIONAL_LOAD_PATH)
-    fi],
-    ADDITIONAL_LOAD_PATH=)
-  AC_SUBST(ADDITIONAL_LOAD_PATH)])
diff --git a/xemacs-packages/riece/configure.ac b/xemacs-packages/riece/configure.ac
deleted file mode 100644 (file)
index ea73113..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-AC_INIT
-AC_CONFIG_SRCDIR([configure.ac])
-AC_PREREQ(2.59)
-AM_INIT_AUTOMAKE(riece, 3.1.2)
-
-AC_CHECK_EMACS
-AC_PATH_LISPDIR
-AC_PATH_PACKAGEDIR
-
-AM_CONDITIONAL(XEMACS, test ${EMACS_FLAVOR} = xemacs)
-
-AC_CONFIG_FILES([Makefile
-lisp/Makefile
-lisp/riece-package-info.el
-lisp/test/Makefile
-doc/Makefile])
-AC_OUTPUT
diff --git a/xemacs-packages/riece/doc/HACKING b/xemacs-packages/riece/doc/HACKING
deleted file mode 100644 (file)
index 22590f8..0000000
+++ /dev/null
@@ -1,445 +0,0 @@
--*- mode: text -*-
-
-This document is for Riece developers.  The information necessary for
-Riece development is explained (i.e. its development process and the
-internals.)
-
-* Development process
-
-** Bug report
-
-You can create a template of a bug report by clicking the "bug" button
-in a toolbar, or M-x riece-submit-bug-report.  It is necessary to set
-riece-debug to t before preparing a bug report.
-
-** Debug output
-
-If the riece-debug variable is set to t, Riece begins to collect
-debugging information in *Debug* buffer.  Interactions with IRC
-servers are stored in " *IRC*<IRC-server-name>" buffers.  Note that
-these buffers have names starting with a whitespace character (" ").
-
-** Joining the development
-
-To join the development, send us a patch or an add-on.
-
-** CVS
-
-Development of Riece uses CVS.  Latest developing version is available
-at CVS.  Please note that the version from CVS may NOT be reliable,
-and you can only use it at your own risk.  We may ignore bug reports
-for that version.  The instruction to access the CVS server is below.
-
-(1) logging in to anonymous CVS server
-
-    cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
-    CVS password: [CR] # NULL string
-
-(2) checkout modules
-
-    cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout riece
-
-(3) generate configure script
-
-    autoreconf -f -i -v
-
-You will need newer version of GNU Automake.
-
-* Internals
-
-** Modules
-
-Riece consists of many elisp modules listed below, ordered by the
-number of dependencies they have.
-
-- riece-globals
-  This module defines global variables.
-
-- riece-options
-  This module defines user options.
-
-- riece-version
-  This module defines the version of Riece.
-
-- riece-coding
-  This module provides functions which support character code conversions.
-
-- riece-complete
-  This module provides functions which support tab completion feature
-  in a mini buffer.
-
-- riece-addon
-  This module manages add-ons.
-
-- riece-mode
-  This module manages modes of riece-channel/riece-user objects.
-
-- riece-identity
-  This module defines the riece-identity object type which represents
-  global names of riece-channel/riece-user objects.
-
-- riece-channel
-  This module defines the riece-channel object type.
-
-- riece-user
-  This module defines the riece-user object type.
-
-- riece-misc
-  This module provides miscellaneous functions.
-
-- riece-signal
-  This module defines the riece-signal object type used to manage
-  display events.
-
-- riece-layout
-  This module manages window layouts.
-
-- riece-display
-  This module manages display events.
-
-- riece-server
-  This module manages connections to IRC servers.
-
-- riece-naming
-  This module is a so called the Mediator design pattern.  It knows
-  relationships of riece-channel/riece-user objects.
-
-- riece-message
-  This module defines the riece-message object type.
-
-- riece-filter
-  This module only provides the process filter function.
-
-- riece-handle
-  This module provides handler functions for IRC messages.  These
-  functions are called from riece-filter.
-
-- riece-000
-  This module provides handler functions for numeric replies whose
-  response codes are in 000 to 100 range.  These handlers are called
-  from riece-filter.
-
-- riece-200
-  This module provides handler functions for numeric replies whose
-  response codes are in 200 to 300 range.  These handlers are called
-  from riece-filter.
-
-- riece-300
-  This module provides handler functions for numeric replies whose
-  response codes are in 300 to 400 range.  These handlers are called
-  from riece-filter.
-
-- riece-400
-  This module provides handler functions for numeric replies whose
-  response codes are in 400 to 500 range.  These handlers are called
-  from riece-filter.
-
-- riece-500
-  This module provides handler functions for numeric replies whose
-  response codes are in 500 to 600 range.  These handlers are called
-  from riece-filter.
-
-- riece-commands
-  This module provides user commands.
-
-- riece-irc
-  This module provides the binding for the IRC protocol.
-
-- riece
-  This module is the entry point of M-x riece.
-
-** Namespace management
-
-Riece is capable to connect to several IRC servers.
-
-Riece has separate namespace (obarray) for each connection.  These
-namespaces can be accessed as buffer local variables of process
-buffer.
-
-*** Obtaining server buffer
-
-To access to the buffer local variables of process buffer, it is
-needed to distinguish process object of each connection by its name.
-
-It can be known by:
-
-(1) checking the value of riece-overriding-server-name,
-
-(2) checking the value of riece-server-name,
-    (If the variable riece-server-name is local to the current buffer,
-    you are already in the process buffer.)
-
-(3) or parsing riece-identity objects
-
-Once you get the name of the IRC server, you can get the process
-object by passing the name to the function riece-server-process.
-
-*** riece-identity objects
-
-A riece-identity object represents a name of a channel/user.  It is
-used to distinguish a channel/user among several servers.
-
-A riece-identity object is actually a vector, which consists of two
-elements listed below.
-
-- prefix
-  A channel/user name local to an IRC server.
-
-- server
-  The name of the IRC server.
-
-Methods to manipulate riece-identity object are listed below.
-
-- riece-make-identity prefix &optional server
-  Create a new riece-identity object.  If the server argument is
-  omitted, it sets the server part to the value returned by the
-  riece-find-server-name function.
-
-- riece-identity-prefix identity
-  Return the prefix element from the given riece-identity object.
-
-- riece-identity-server identity
-  Return the server element from the given riece-identity object.
-
-- riece-identity-equal ident1 ident2
-  Return t, if two riece-identity objects are equal.
-
-- riece-identity-equal-no-server ident1 ident2
-  Return t, if two riece-identity objects are equal.  This function
-  only consider a prefix part of a riece-identity object.
-
-- riece-identity-member elt list
-  Return non-nil if a riece-identity object is an element of a list.
-
-*** Channels and users
-
-A riece-channel object provides an abstraction of a channel.
-Likewise, a riece-user object provides an abstraction of a user.
-
-**** riece-channel objects
-
-A riece-channel object has many information about a channel.  A
-riece-channel object is actually a vector whose seven elements are listed
-below.
-
-- users
-  A list of nicknames which are of users in this channel.
-
-- operators
-  A list of nicknames which are of channel operators in this channel.
-
-- speakers
-  A list of nicknames which are of users who have the right to speak
-  in this channel.
-
-- modes
-  An alist which represents modes of this channel.
-
-- banned
-  A list of patterns set by MODE +b.
-
-- invited
-  A list of patterns set by MODE +I.
-
-- uninvited
-  A list of patterns set by MODE +e.
-
-**** riece-user objects
-
-A riece-user object has many information about a user.  A riece-user
-object is actually a vector whose four elements are listed below.
-
-- channels
-  A list of channel names this user is participating.
-
-- user-at-host
-  Connection information of this user, set in "<user>@<host>" format.
-
-- modes
-  An alist which represents modes of this user.
-
-- away
-  A flag represent whether this user is AWAY.
-
-**** The Mediator pattern
-
-The riece-naming module is used to manage relationships between
-channels and users.  It utilizes the Mediator design pattern.
-
-Using the riece-naming module allows to safely access to the namespace
-rather than directly connects riece-channel/riece-user objects.
-
-The riece-naming module provides the following functions.
-
-- riece-naming-assert-join user-name channel-name
-  Assert that a user is a member of a channel.
-
-- riece-naming-assert-part user-name channel-name
-  Assert that a user is no longer a member of a channel.
-
-- riece-naming-assert-rename old-name new-name
-  Assert that a user changed his nickname.
-
-** Signals
-
-There is a mechanism to connect events and display objects (windows,
-buffers, and modeline indicators).  This is done by signals.
-
-When it is needed to redraw, a signal is emitted.  The concept of
-signals is corresponding to signals in generic window system toolkit
-such as Qt or GTK+.
-
-To emit a signal, use riece-emit-signal.
-
-- riece-emit-signal signal-name &rest args
-  Emit a signal named signal-name with args.
-
-To define a function called when a signal is emitted, use
-riece-connect-signal.
-
-- riece-connect-signal signal-name slot-function &optional
-                       filter-function handback
-
-  Give a signal a slot-function.  The slot-function gets two
-  arguments: the signal object itself and a handback object given as
-  the fourth argument of riece-connect-signal.
-
-  If the third argument filter-function is specified, the
-  slot-function is called conditionally.  The filter-function gets the
-  signal object and returns nil or t.  If the return value is nil, the
-  slot-function is not called.
-
-To access to a signal object, use the following functions.
-
-- riece-signal-name signal
-  Return the name of a signal.
-
-- riece-signal-args
-  Return the data of a signal.
-
-Below is a list of signal names reserved.
-
-- channel-list-changed
-  Need update the channel list.
-
-- user-list-changed
-  Need update the user list.
-  (This signal gets a riece-identity object as an argument which
-  represents the channel.)
-
-- channel-switched
-  A user selected another channel.
-
-- user-joined-channel
-  A user joined a channel.
-  (This signal gets two riece-identity objects as arguments
-  corresponding to the user and the channel respectively.)
-
-- user-left-channel
-  A user left a channel.
-  (This signal gets two riece-identity objects as arguments
-  corresponding to the user and the channel respectively.)
-
-- user-renamed
-  A user changed his nickname.
-  (This signal gets two riece-identity objects as arguments
-  corresponding to the old and the new nickname respectively.)
-
-- user-away-changed
-  A user changed his AWAY status.
-  (This signal gets a riece-identity object as an argument which
-  represents the user.)
-
-- user-operator-changed
-  A user changed his IRC operator status. 
-  (This signal gets a riece-identity object as an argument which
-  represents the user.)
-
-- channel-topic-changed
-  A topic of a channel changed.
-  (This signal gets a riece-identity object as an argument which
-  represents the channel.)
-
-- channel-modes-changed
-  Modes of a channel changed.
-  (This signal gets a riece-identity object as an argument which
-  represents the channel.)
-
-- channel-operators-changed
-  A list of operators in a channel changed.
-  (This signal gets a riece-identity object as an argument which
-  represents the channel.)
-
-- channel-speakers-changed
-  A list of users who have the right to speak in a channel changed.
-  (This signal gets a riece-identity object as an argument which
-  represents the channel.)
-
-- buffer-freeze-changed
-  A buffer is frozen or unfrozen.
-  (This signal gets a buffer as an argument.)
-
-** Writing add-ons
-
-Elisp modules that satisfy add-on spec should provide the following
-functions.
-
-- <module-name>-requires (optional)
-  Return a list of names of other add-ons this add-on depends.
-
-- <module-name>-insinuate
-  Called on initialization of this module.
-
-- <module-name>-uninstall (optional)
-  Called on uninstallation of this module.
-
-- <module-name>-enable (optional)
-  Called when this add-on is enabled.
-
-- <module-name>-disable (optional)
-  Called when this add-on is disabled.
-
-It is recommended to set short explanation of the add-on to
-<module-name>-description variable which is displayed on add-on
-listing shown up by C-c ^ (M-x riece-command-list-addons).
-
-To see the add-on's enabled/disabled status, check riece-addon-enabled
-property set on <module-name> symbol.
-
-Riece does the following procedure on add-ons when startup.
-
-(1) Load add-ons listed in the riece-addons variable.
-
-(2) Call <module-name>-requires on each add-on (if exists) and build a
-    dependency graph.
-
-(3) Sort the dependency graph.
-
-(4) Call <module-name>-insinuate on each add-on in order of the
-    dependencies.
-
-(5) Call <module-name>-enable on each add-on, iff it supports
-    enabling/disabling and is not disabled explicitly.
-
-Add-ons are loaded from directories listed in load-path, or from
-~/.riece/addons/.
-
-** Handler hooks
-
-There are hooks called "handler hooks " which have special meaning in
-Riece.  Handler hooks are called before/after processing IRC messages.
-
-- riece-<message>-hook
-  Called before processing an IRC message.
-
-- riece-after-<message>-hook
-  Called after processing an IRC message.
-
-Where <message> is a type of IRC message and consists only lowercase
-characters.
-
-If riece-<message>-hook returns non-nil, <message> is not processed.
-In this case riece-after-<message>-hook is not called.
-
-Handler hooks gets two arguments corresponding to prefix and
-parameters in RFC2812.
diff --git a/xemacs-packages/riece/doc/HACKING.ja b/xemacs-packages/riece/doc/HACKING.ja
deleted file mode 100644 (file)
index 4a492e8..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
--*- mode: text; coding: iso-2022-jp -*-
-
-\e$B$3$NJ8=q$G$O!"\e(BRiece \e$B$N3+H/%W%m%;%9$dFbIt9=B$$J$I!"3+H/$KI,MW$J>pJs$r$^\e(B
-\e$B$H$a$F$$$^$9!#\e(B
-
-* \e$B3+H/%W%m%;%9\e(B
-
-** \e$B%P%0Js9p\e(B
-
-\e$B%P%0Js9p$O!"%D!<%k%P!<$NCn$N%"%$%3%s$r%/%j%C%/$9$k$+!"\e(B
-M-x riece-submit-bug-report \e$B$G:n@.$7$F$/$@$5$$!#$^$?!"%P%0Js9p$N:n@.$N\e(B
-\e$BA0$K%G%P%C%0=PNO$rM-8z$K$7$F$*$/I,MW$,$"$j$^$9!#\e(B
-
-** \e$B%G%P%C%0=PNO\e(B
-
-\e$BJQ?t\e(B riece-debug \e$B$r\e(B t \e$B$K@_Dj$9$k$H!"\e(BRiece \e$B$N<B9TCf$K%G%P%C%0>pJs$,=PNO\e(B
-\e$B$5$l$k$h$&$K$J$j$^$9!#%G%P%C%0>pJs$O\e(B *Debug* \e$B%P%C%U%!$KC_@Q$5$l$^$9!#\e(B
-
-\e$B$^$?!"\e(BIRC \e$B%5!<%P$H$N$d$j$H$j$,\e(B " *IRC*<IRC \e$B%5!<%P$NL>A0\e(B>" \e$B%P%C%U%!$KC_\e(B
-\e$B@Q$5$l$^$9!#%P%C%U%!$NL>A0$,6uGr\e(B " " \e$B$G;O$^$k$3$H$K$4Cm0U$/$@$5$$!#\e(B
-
-** \e$B3+H/$X$N;22C\e(B
-
-\e$B%Q%C%A$+%"%I%*%s$r=q$$$FAw$C$F$/$@$5$$!#E,@Z$J$b$N$G$"$l$P<h$j9~$_$^$9!#\e(B
-
-** CVS
-
-Riece \e$B$N3+H/$K$O\e(B CVS \e$B$rMxMQ$7$F$$$^$9!#8x3+\e(B CVS \e$B%5!<%P$+$i:G?7HG$N%=!<\e(B
-\e$B%9%3!<%I$r<hF@$9$k$K$O0J2<$N$h$&$K$7$^$9!#\e(B
-
-CVS \e$BHG$N%=!<%9%3!<%I$O!"$"$/$^$G3+H/ES>e$N$b$N$G$"$j!"MxMQ$O8D?M$N@UG$\e(B
-\e$B$G$*4j$$$7$^$9!#\e(BCVS \e$BHG$K4X$9$k%P%0Js9p$O<u$1IU$1$^$;$s!#\e(B
-
-(1) CVS \e$B%5!<%P$X$N%m%0%$%s\e(B
-
-    cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
-    CVS password: [CR] # NULL string
-
-(2) \e$B%b%8%e!<%k$N%A%'%C%/%"%&%H\e(B
-
-    cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout riece
-
-(3) configure \e$B%9%/%j%W%H$N@8@.\e(B
-
-    autoreconf -f -i -v
-
-\e$B$3$N:n6H$K$O:G?7$N\e(B GNU Automake \e$B$,I,MW$+$b$7$l$^$;$s!#\e(B
-
-* \e$BFbIt9=B$\e(B
-
-** \e$B%b%8%e!<%k$N9=@.\e(B
-
-Riece \e$B$r9=@.$9$k\e(B elisp \e$B%b%8%e!<%k$r0J2<$KNs5s$7$^$9!#0MB84X78$N>e0L$K\e(B
-\e$B$"$k$b$N$r@h$K5s$2$^$9!#\e(B
-
-- riece-globals
-  \e$BBg0hJQ?t$NDj5A\e(B
-
-- riece-options
-  \e$B%f!<%6%*%W%7%g%s$NDj5A\e(B
-
-- riece-version
-  \e$B%P!<%8%g%s$NDj5A\e(B
-
-- riece-coding
-  \e$B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A\e(B
-
-- riece-complete
-  \e$B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A\e(B
-
-- riece-addon
-  \e$B%"%I%*%s4IM}\e(B
-
-- riece-mode
-  riece-channel/riece-user \e$B%*%V%8%'%/%H$N%b!<%I4IM}\e(B
-
-- riece-identity
-  riece-channel/riece-user \e$B%*%V%8%'%/%H\e(B \e$B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A\e(B
-
-- riece-channel
-  riece-channel \e$B%*%V%8%'%/%H\e(B \e$B4XO"$NDj5A\e(B
-
-- riece-user
-  riece-user \e$B%*%V%8%'%/%H\e(B \e$B4XO"$NDj5A\e(B
-
-- riece-misc
-  \e$B;(B?$J4X?t$NDj5A\e(B
-
-- riece-signal
-  \e$B%7%0%J%k4IM}\e(B
-
-- riece-layout
-  \e$B%&%#%s%I%&%l%$%"%&%H4IM}\e(B
-
-- riece-display
-  \e$BI=<(MQ%P%C%U%!$N4IM}\e(B
-
-- riece-server
-  IRC \e$B%5!<%P$H$N@\B34IM}\e(B
-
-- riece-naming
-  \e$B%A%c%s%M%k$X$N%f!<%6$N;22C!&N%C&$r4IM}$9$k\e(B mediator
-
-- riece-message
-  riece-message \e$B%*%V%8%'%/%H\e(B \e$B4XO"$NDj5A\e(B
-
-- riece-filter
-  \e$B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H\e(B
-
-- riece-handle
-  \e$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B
-
-- riece-000
-  000\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B
-
-- riece-200
-  200\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B
-
-- riece-300
-  300\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B
-
-- riece-400
-  400\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B
-
-- riece-500
-  500\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B
-
-- riece-commands
-  \e$B%3%^%s%I$NDj5A\e(B
-
-- riece-irc
-  IRC \e$B%W%m%H%3%k$KBP1~$7$?\e(B process-filter \e$B$J$I$N@_Dj\e(B
-
-- riece
-  \e$B5/F0;~$N%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%a%8%c!<%b!<%I$N@_Dj$J$I\e(B
-
-** \e$BL>A06u4V$N4IM}\e(B
-
-Riece \e$B$OF1;~$KJ#?t$N\e(B IRC \e$B%5!<%P$K@\B3$G$-$k$N$G!"\e(BIRC \e$B%5!<%PKh$KJL!9$N\e(B
-\e$BL>A06u4V$r4IM}$9$kI,MW$,$"$j$^$9!#$3$N$h$&$JL>A06u4V$K$O!"\e(BIRC \e$B%5!<%P$H\e(B
-\e$B$N@\B3%W%m%;%9$K7k$SIU$1$i$l$?%P%C%U%!$N%m!<%+%kJQ?t$r2p$7$F%"%/%;%9$7\e(B
-\e$B$^$9!#\e(B
-
-*** \e$B%W%m%;%9%P%C%U%!$N<hF@\e(B
-
-IRC \e$B%5!<%P$H$N@\B3%W%m%;%9$r<hF@$9$k$K$O\e(B IRC \e$B%5!<%P$NL>A0$rCN$kI,MW$,\e(B
-\e$B$"$j$^$9!#\e(BIRC \e$B%5!<%P$NL>A0$O0J2<$K5s$2$k$$$/$D$+$NJ}K!$G<hF@$G$-$^$9!#\e(B
-
-(1) \e$BJQ?t\e(B riece-overrinding-server-name \e$B$NCM\e(B
-
-(2) \e$BJQ?t\e(B riece-server-name \e$B$NCM\e(B
-
-    riece-server-name \e$B$,%+%l%s%H%P%C%U%!$N%m!<%+%kJQ?t$G$"$k$J$i$P!"4{$K%W\e(B
-    \e$B%m%;%9$N%P%C%U%!$K$$$k$H$_$J$;$k$N$G!"\e(Briece-server-name \e$B$NCM$=$N$b$N\e(B
-
-(3) \e$BA*BrCf$N%A%c%s%M%k$rI=$9\e(B riece-identity \e$B%*%V%8%'%/%H$+$i@Z$j=P$7$?\e(B 
-    IRC \e$B%5!<%P$NL>A0\e(B
-
-\e$B$3$&$7$F<hF@$7$?\e(B IRC \e$B%5!<%P$NL>A0$r0z?t$K4X?t\e(B riece-server-process \e$B$r\e(B
-\e$B8F=P$7!"%5!<%P$N%W%m%;%9$r<hF@$7$^$9!#\e(B
-
-*** riece-identity \e$B%*%V%8%'%/%H\e(B
-
-\e$BJ#?t$N\e(B IRC \e$B%5!<%P$K@\B3$7$F$$$k>l9g!"%A%c%s%M%kL>$d%K%C%/%M!<%`$rBg0h\e(B
-\e$BE*$K6hJL$9$kI,MW$,@8$8$^$9!#$3$N$h$&$JL>A0$rI=8=$9$k$N$,\e(B
-riece-identity \e$B%*%V%8%'%/%H$G$9!#\e(B
-
-riece-identity \e$B%*%V%8%'%/%H$O0J2<$N\e(B 2 \e$B$D$NMWAG$r$b$D%Y%/%?!<$G$9!#\e(B
-
-- prefix
-  \e$B%A%c%s%M%kL>$d%K%C%/%M!<%`$J$I!"\e(BIRC \e$B%5!<%P$K8GM-$NL>A0\e(B
-
-- server
-  IRC \e$B%5!<%P$NL>A0\e(B
-
-riece-identity \e$B%*%V%8%'%/%H$KE,MQ2DG=$JA`:n$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#\e(B
-
-- riece-make-identity prefix &optional server
-  riece-identity \e$B%*%V%8%'%/%H$r?75,$K:n@.$7$^$9!#\e(Bserver \e$B0z?t$,>JN,$5$l$?\e(B
-  \e$B>l9g$K$O!"4X?t\e(B riece-find-server-name \e$B$G<hF@$7$?%5!<%PL>$r;H$$$^$9\e(B
-
-- riece-identity-prefix identity
-  riece-identity \e$B%*%V%8%'%/%H$+$i\e(B IRC \e$B%5!<%P$K8GM-$NL>A0$r@Z$j=P$7$^$9!#\e(B
-
-- riece-identity-server identity
-  riece-identity \e$B%*%V%8%'%/%H$+$i%5!<%P$NL>A0$r@Z$j=P$7$^$9!#\e(B
-
-- riece-identity-equal ident1 ident2
-  2 \e$B$D$N\e(B riece-identity \e$B%*%V%8%'%/%H$,F1Ey$G$"$k$+D4$Y$^$9!#\e(B
-
-- riece-identity-equal-no-server ident1 ident2
-  2 \e$B$D$N\e(B riece-identity \e$B%*%V%8%'%/%H$N!"\e(BIRC \e$B%5!<%P$K8GM-$NL>A0$,F1Ey$G$"\e(B
-  \e$B$k$+D4$Y$^$9!#\e(B
-
-- riece-identity-member elt list
-  riece-identity \e$B%*%V%8%'%/%H\e(B elt \e$B$,\e(B list \e$B$K4^$^$l$k$+D4$Y$^$9!#\e(B
-
-*** \e$B%A%c%s%M%k$H%f!<%6$N4IM}\e(B
-
-riece-identity \e$B%*%V%8%'%/%H$+$i@Z$j=P$5$l$?\e(B IRC \e$B%5!<%P$K8GM-$NL>A0!"$9\e(B
-\e$B$J$o$A%A%c%s%M%kL>$H$H%K%C%/%M!<%`$K$h$jI=$o$5$l$k%A%c%s%M%k$H%f!<%6$N\e(B
-\e$B<BBN$O$=$l$>$l\e(B riece-channel \e$B%*%V%8%'%/%H$H\e(B riece-user \e$B%*%V%8%'%/%H$G\e(B
-\e$BI=8=$5$l$^$9!#\e(B
-
-**** riece-channel \e$B%*%V%8%'%/%H\e(B
-
-riece-channel \e$B$O%A%c%s%M%k$rI=$9%*%V%8%'%/%H$G!"0J2<$NMWAG$r;}$A$^$9!#\e(B
-
-- users
-  \e$B;22C$7$F$$$k%f!<%6$N%K%C%/%M!<%`$N%j%9%H\e(B
-
-- operators
-  \e$B%*%Z%l!<%?8"8B$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H\e(B
-
-- speakers
-  \e$BH/8@8"$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H\e(B
-
-- modes
-  \e$B%A%c%s%M%k$N%b!<%I\e(B
-
-- banned
-  MODE +b \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B
-
-- invited
-  MODE +I \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B
-
-- uninvited
-  MODE +e \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B
-
-**** riece-user \e$B%*%V%8%'%/%H\e(B
-
-riece-user \e$B$O!"\e(BIRC \e$B$K;22C$7$F$$$k%f!<%6$rI=$9%*%V%8%'%/%H$G!"0J2<$NMW\e(B
-\e$BAG$r;}$A$^$9!#\e(B
-
-- channels
-  \e$B;22C$7$F$$$k%A%c%s%M%kL>$N%j%9%H\e(B
-
-- user-at-host
-  "<user>@<host>" \e$B$N7A$GM?$($i$l$k%f!<%6$N@\B3>pJs\e(B
-
-- modes
-  \e$B%f!<%6$N%b!<%I\e(B
-
-- away
-  \e$BN%@JCf$+$I$&$+\e(B
-
-**** Mediator \e$B%Q%?!<%s\e(B
-
-\e$B%A%c%s%M%k$X$N%f!<%6$N;22C!&N%C&$r4IM}$9$k$?$a$K!"\e(B riece-naming \e$B%b%8%e!<\e(B
-\e$B%k$r;H$$$^$9!#\e(Briece-naming \e$B$O!"%G%6%$%s%Q%?!<%s$G$$$&$H$3$m$N\e(B Mediator
-\e$B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#\e(B
-
-riece-naming \e$B$r2p$9$k$3$H$G!"A0=R$N\e(B riece-channel, riece-user \e$B%*%V%8%'\e(B
-\e$B%/%H$rD>@\A`:n$9$k$3$H$J$/!"0BA4$KL>A06u4V$K%"%/%;%9$9$k$3$H$,$G$-$^$9!#\e(B
-
-riece-naming \e$B$,Ds6!$9$k<g$J4X?t$O0J2<$N\e(B 3 \e$B$D$G$9!#\e(B
-
-- riece-naming-assert-join user-name channel-name
-  \e$B%f!<%6$,%A%c%s%M%k$K;22C$7$?$3$H$rI=L@$7$^$9\e(B
-
-- riece-naming-assert-part user-name channel-name
-  \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&$7$?$3$H$rI=L@$7$^$9\e(B
-
-- riece-naming-assert-rename old-name new-name
-  \e$B%f!<%6$NL>A0$,JQ99$5$l$?$3$H$rI=L@$7$^$9\e(B
-
-** \e$B%7%0%J%k\e(B
-
-\e$B%7%0%J%k$H$O!"2hLL$N:FIA2h$r8zN(NI$/9T$&$?$a$K!"%$%Y%s%H$HIA2hBP>]$N%*\e(B
-\e$B%V%8%'%/%H\e(B(\e$B%P%C%U%!$d!"%b!<%I%i%$%s$N0u\e(B)\e$B$r7k$SIU$1$k5!9=$G$9!#\e(B
-
-\e$B%&%#%s%I%&$N:FIA2h$rH<$&%$%Y%s%H$,H/@8$9$k$H!"%7%0%J%k$,Aw=P$5$l$^$9!#\e(B
-\e$B%7%0%J%k$N35G0$O!"\e(BQt \e$B$d\e(B GTK+ \e$B$H$$$C$?0lHLE*$J\e(B GUI \e$B%D!<%k%-%C%H$KMQ0U$5\e(B
-\e$B$l$F$$$k$b$N$HF1MM$G$9!#\e(B
-
-\e$B%7%0%J%k$rAw?.$9$k$K$O!"\e(Briece-emit-signal \e$B$r;H$$$^$9!#\e(B
-
-- riece-emit-signal signal-name &rest args
-  \e$B0z?t\e(B signal-name \e$B$G;X<($5$l$k%7%0%J%k$r!"0z?t\e(B args \e$B$H$H$b$KAw=P$7$^\e(B
-  \e$B$9\e(B
-
-\e$B%7%0%J%k$K1~Ez$9$k=hM}$O!"\e(Briece-connect-signal \e$B$r;H$C$FDj5A$7$^$9!#\e(B
-
-- riece-connect-signal signal-name slot-function &optional
-                       filter-function handback
-
-  \e$B0z?t\e(B signal-name \e$B$G;XDj$5$l$?%7%0%J%k$K1~Ez$9$k4X?t\e(B slot-function \e$B$r\e(B
-  \e$B@_Dj$7$^$9!#\e(Bslot-function \e$B$K;XDj$5$l$?4X?t$O\e(B 2 \e$B$D$N0z?t$r<h$j$^$9!#\e(B
-  \e$B$R$H$D$O%7%0%J%k$G!"$b$&0l$D$O!"0z?t\e(B handback \e$B$GM?$($i$l$?%*%V%8%'%/\e(B
-  \e$B%H$,$=$N$^$^EO$5$l$^$9!#\e(B
-
-  \e$B0z?t\e(B filter-function \e$B$O!"<u?.$7$?%7%0%J%k$K1~Ez$9$Y$-$+$I$&$+$rH=Dj\e(B
-  \e$B$9$k4X?t$G$9!#$3$N4X?t$O0z?t$H$7$F%7%0%J%k%*%V%8%'%/%H$r<u$1<h$j!"\e(B
-  nil \e$B$^$?$O\e(B t \e$B$rJV$7$^$9!#JV$jCM$,\e(B nil \e$B$N>l9g$K$O!"\e(Bslot-function \e$B$O<B\e(B
-  \e$B9T$5$l$^$;$s!#\e(B
-
-\e$B%7%0%J%k%*%V%8%'%/%H$K%"%/%;%9$9$k$K$O!"0J2<$N4X?t$r;H$$$^$9!#\e(B
-
-- riece-signal-name signal
-  \e$B%7%0%J%k$NL>A0$rJV$7$^$9!#\e(B
-
-- riece-signal-args
-  \e$B%7%0%J%k$NAw?.;~$KM?$($i$l$?0z?t$rJV$7$^$9!#\e(B
-
-\e$B8=:_!"0J2<$N%7%0%J%k$,;HMQ$5$l$F$$$^$9!#\e(B
-
-- channel-list-changed
-  \e$B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=\e(B
-
-- user-list-changed
-  \e$B%A%c%s%M%k$N;22C<T0lMw$NJQ2=\e(B
-  (\e$B0z?t$O%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- channel-switched
-  \e$B8=:_$N%A%c%s%M%k$r0\F0\e(B
-
-- user-joined-channel
-  \e$B%f!<%6$,%A%c%s%M%k$K;22C\e(B
-  (\e$B0z?t$O!"%f!<%6$*$h$S%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- user-left-channel
-  \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&\e(B
-  (\e$B0z?t$O!"%f!<%6$*$h$S%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- user-renamed
-  \e$B%f!<%6$,L>A0$rJQ99\e(B
-  (\e$B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- user-away-changed
-  \e$B%f!<%6$NN%@J>uBV$NJQ2=\e(B
-  (\e$B0z?t$O!"%f!<%6$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- user-operator-changed
-  \e$B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=\e(B
-  (\e$B0z?t$O!"%f!<%6$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- channel-topic-changed
-  \e$B%A%c%s%M%k$N%H%T%C%/$NJQ2=\e(B
-  (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- channel-modes-changed
-  \e$B%A%c%s%M%k$N%b!<%I$NJQ2=\e(B
-  (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- channel-operators-changed
-  \e$B%A%c%s%M%k$G%*%Z%l!<%?8"8B$r;}$D%f!<%6$N0lMw$NJQ2=\e(B
-  (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- channel-speakers-changed
-  \e$B%A%c%s%M%k$GH/8@8"$r;}$D%f!<%6$N0lMw$NJQ2=\e(B
-  (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
-
-- buffer-freeze-changed
-  \e$B%P%C%U%!$NE`7k>uBV$NJQ2=\e(B
-  (\e$B0z?t$O%P%C%U%!\e(B)
-
-** \e$B%"%I%*%s$N=q$-J}\e(B
-
-\e$B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#\e(B
-
-- <\e$B%b%8%e!<%kL>\e(B>-requires (\e$B%*%W%7%g%s\e(B)
-  \e$B0MB8$9$kB>$N%"%I%*%s\e(B(\e$B%7%s%\%k$N%j%9%H\e(B)\e$B$rJV$7$^$9\e(B
-
-- <\e$B%b%8%e!<%kL>\e(B>-insinuate
-  \e$B=i4|2==hM}$r9T$$$^$9\e(B
-
-- <\e$B%b%8%e!<%kL>\e(B>-uninstall (\e$B%*%W%7%g%s\e(B)
-  \e$B%"%I%*%s$r%"%s%$%s%9%H!<%k$9$k$H8F$P$l$^$9\e(B
-
-- <\e$B%b%8%e!<%kL>\e(B>-enable (\e$B%*%W%7%g%s\e(B)
-  \e$B%"%I%*%s$NM-8z$K$9$k$H8F$P$l$^$9\e(B
-
-- <\e$B%b%8%e!<%kL>\e(B>-disable (\e$B%*%W%7%g%s\e(B)
-  \e$B%"%I%*%s$NL58z$K$9$k$H8F$P$l$^$9\e(B
-
-\e$B$^$?!"%"%I%*%s$N4JC1$J@bL@$r!"JQ?t\e(B <\e$B%b%8%e!<%kL>\e(B>-description \e$B$K@_Dj$9\e(B
-\e$B$k$HNI$$$G$7$g$&!#$3$NJ8;zNs$O\e(B C-c ^ (M-x riece-command-list-addons)
-\e$B$K$h$k%"%I%*%s$N0lMw$GI=<($5$l$^$9!#\e(B
-
-\e$B%"%I%*%s$NM-8z!&L58z$N>uBV$O!"\e(B<\e$B%b%8%e!<%kL>\e(B> \e$B$N%7%s%\%k$K\e(B 
-\e$BIUM?$5$l$k\e(B riece-addon-enabled \e$B%W%m%Q%F%#$GD4$Y$k$3$H$,$G$-$^$9!#\e(B
-
-Riece \e$B$O5/F0;~$K0J2<$N=hM}$r9T$$$^$9!#\e(B
-
-(1) \e$BJQ?t\e(B riece-addons \e$B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`\e(B
-
-(2) \e$B$=$l$>$l$N%b%8%e!<%k$KBP$7!"\e(B<\e$B%b%8%e!<%kL>\e(B>-requires \e$B$,MQ0U\e(B
-    \e$B$5$l$F$$$l$P8F$S=P$7!"0MB8%0%i%U$r:n$k\e(B
-
-(3) \e$B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H$r9T$&\e(B
-
-(4) \e$BF@$i$l$?0MB8=g=x$K=>$C$F\e(B <\e$B%b%8%e!<%kL>\e(B>-insinuate \e$B8F$S=P$9\e(B
-
-(5) \e$B$b$7!"%"%I%*%s$,M-8z2=!&L58z2=$KBP1~$7$F$*$j!"L@<(E*$KL58z2=$5$l$F\e(B
-    \e$B$$$J$1$l$P!"\e(B<\e$B%b%8%e!<%kL>\e(B>-enable \e$B$r8F$S=P$9!#\e(B
-
-\e$B:n@.$7$?%"%I%*%s$O!"\e(Bload-path \e$B$NDL$C$?%G%#%l%/%H%j$+!"\e(B
-~/.riece/addons/ \e$B0J2<$KG[CV$9$k$HAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#\e(B
-
-** \e$B%O%s%I%i%U%C%/\e(B
-
-Riece \e$B$K$O!"%O%s%I%i%U%C%/$H8F$P$l$kFCJL$J0UL#$r;}$D%U%C%/$,$"$j$^$9!#\e(B
-\e$B%O%s%I%i%U%C%/$O\e(B IRC \e$B$N%a%C%;!<%8$r<u$1<h$C$?A08e$G<B9T$5$l$^$9!#\e(B
-
-<message> \e$B$r\e(B IRC \e$B$N%a%C%;!<%8$r>.J8;z$K$7$?$b$N$H$9$k$H!"%O%s%I%i%U%C\e(B
-\e$B%/$O<!$NFs$D$G$9!#\e(B
-
-- riece-<message>-hook
-  \e$B%a%C%;!<%8$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/\e(B
-
-- riece-after-<message>-hook
-  \e$B%a%C%;!<%8$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/\e(B
-
-\e$BNc$($P!"\e(BPRIVMSG \e$B$K4X$7$F$O!"\e(Briece-privmsg-hook,
-riece-after-privmsg-hook \e$B$NFs$D$N%U%C%/$,8F$P$l$^$9!#\e(B
-
-\e$B$3$3$G\e(B riece-<message>-hook \e$B$NJV$jCM$K$O0UL#$,$"$j!"\e(Bt \e$B$rJV$9$b$N$,$"$l\e(B
-\e$B$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O\e(B
-riece-after-<message>-hook \e$B$b8F$S=P$5$l$^$;$s!#\e(B
-
-\e$B%U%C%/$N0z?t$K$O\e(B RFC2812 \e$B$N\e(B prefix \e$B$H\e(B parameters \e$B$,EO$j$^$9!#\e(B
\ No newline at end of file
diff --git a/xemacs-packages/riece/doc/Makefile.am b/xemacs-packages/riece/doc/Makefile.am
deleted file mode 100644 (file)
index 77d585d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-EXTRA_DIST = texinfo.tex infohack.el ptexinfmt.el irchat-copyright.el \
-       HACKING HACKING.ja
-
-info_TEXINFOS = riece-ja.texi riece-en.texi
-
-package: all
-       $(MAKE) EMACS=$(XEMACS)
-
-install-package: package
-       $(MAKE) infodir=$(PACKAGEDIR)/info install
-
-%.info: %.texi
-       $(EMACS) -batch -q -no-site-file -l ./infohack.el -f batch-makeinfo $<
diff --git a/xemacs-packages/riece/doc/fdl.texi b/xemacs-packages/riece/doc/fdl.texi
deleted file mode 100644 (file)
index 361f90f..0000000
+++ /dev/null
@@ -1,403 +0,0 @@
-
-@node GNU Free Documentation License
-@appendixsec GNU Free Documentation License
-
-@cindex FDL, GNU Free Documentation License
-@center Version 1.1, March 2000
-
-@display
-Copyright @copyright{} 2000 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@enumerate 0
-@item
-PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-written document @dfn{free} in the sense of freedom: to assure everyone
-the effective freedom to copy and redistribute it, with or without
-modifying it, either commercially or noncommercially.  Secondarily,
-this License preserves for the author and publisher a way to get
-credit for their work, while not being considered responsible for
-modifications made by others.
-
-This License is a kind of ``copyleft'', which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
-@item
-APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work that contains a
-notice placed by the copyright holder saying it can be distributed
-under the terms of this License.  The ``Document'', below, refers to any
-such manual or work.  Any member of the public is a licensee, and is
-addressed as ``you''.
-
-A ``Modified Version'' of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A ``Secondary Section'' is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject.  (For example, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The ``Invariant Sections'' are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.
-
-The ``Cover Texts'' are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.
-
-A ``Transparent'' copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, whose contents can be viewed and edited directly and
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup has been designed to thwart or discourage
-subsequent modification by readers is not Transparent.  A copy that is
-not ``Transparent'' is called ``Opaque''.
-
-Examples of suitable formats for Transparent copies include plain
-@sc{ascii} without markup, Texinfo input format, La@TeX{} input format,
-@acronym{SGML} or @acronym{XML} using a publicly available
-@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed
-for human modification.  Opaque formats include PostScript,
-@acronym{PDF}, proprietary formats that can be read and edited only by
-proprietary word processors, @acronym{SGML} or @acronym{XML} for which
-the @acronym{DTD} and/or processing tools are not generally available,
-and the machine-generated @acronym{HTML} produced by some word
-processors for output purposes only.
-
-The ``Title Page'' means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, ``Title Page'' means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-@item
-VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-@item
-COPYING IN QUANTITY
-
-If you publish printed copies of the Document numbering more than 100,
-and the Document's license notice requires Cover Texts, you must enclose
-the copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a publicly-accessible computer-network location containing a complete
-Transparent copy of the Document, free of added material, which the
-general network-using public has access to download anonymously at no
-charge using public-standard network protocols.  If you use the latter
-option, you must take reasonably prudent steps, when you begin
-distribution of Opaque copies in quantity, to ensure that this
-Transparent copy will remain thus accessible at the stated location
-until at least one year after the last time you distribute an Opaque
-copy (directly or through your agents or retailers) of that edition to
-the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-@item
-MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
-@enumerate A
-@item
-Use in the Title Page (and on the covers, if any) a title distinct
-from that of the Document, and from those of previous versions
-(which should, if there were any, be listed in the History section
-of the Document).  You may use the same title as a previous version
-if the original publisher of that version gives permission.
-
-@item
-List on the Title Page, as authors, one or more persons or entities
-responsible for authorship of the modifications in the Modified
-Version, together with at least five of the principal authors of the
-Document (all of its principal authors, if it has less than five).
-
-@item
-State on the Title page the name of the publisher of the
-Modified Version, as the publisher.
-
-@item
-Preserve all the copyright notices of the Document.
-
-@item
-Add an appropriate copyright notice for your modifications
-adjacent to the other copyright notices.
-
-@item
-Include, immediately after the copyright notices, a license notice
-giving the public permission to use the Modified Version under the
-terms of this License, in the form shown in the Addendum below.
-
-@item
-Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
-
-@item
-Include an unaltered copy of this License.
-
-@item
-Preserve the section entitled ``History'', and its title, and add to
-it an item stating at least the title, year, new authors, and
-publisher of the Modified Version as given on the Title Page.  If
-there is no section entitled ``History'' in the Document, create one
-stating the title, year, authors, and publisher of the Document as
-given on its Title Page, then add an item describing the Modified
-Version as stated in the previous sentence.
-
-@item
-Preserve the network location, if any, given in the Document for
-public access to a Transparent copy of the Document, and likewise
-the network locations given in the Document for previous versions
-it was based on.  These may be placed in the ``History'' section.
-You may omit a network location for a work that was published at
-least four years before the Document itself, or if the original
-publisher of the version it refers to gives permission.
-
-@item
-In any section entitled ``Acknowledgments'' or ``Dedications'',
-preserve the section's title, and preserve in the section all the
-substance and tone of each of the contributor acknowledgments
-and/or dedications given therein.
-
-@item
-Preserve all the Invariant Sections of the Document,
-unaltered in their text and in their titles.  Section numbers
-or the equivalent are not considered part of the section titles.
-
-@item
-Delete any section entitled ``Endorsements''.  Such a section
-may not be included in the Modified Version.
-
-@item
-Do not retitle any existing section as ``Endorsements''
-or to conflict in title with any Invariant Section.
-@end enumerate
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section entitled ``Endorsements'', provided it contains
-nothing but endorsements of your Modified Version by various
-parties---for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-@item
-COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections entitled ``History''
-in the various original documents, forming one section entitled
-``History''; likewise combine any sections entitled ``Acknowledgments'',
-and any sections entitled ``Dedications''.  You must delete all sections
-entitled ``Endorsements.''
-
-@item
-COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-@item
-AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, does not as a whole count as a Modified Version
-of the Document, provided no compilation copyright is claimed for the
-compilation.  Such a compilation is called an ``aggregate'', and this
-License does not apply to the other self-contained works thus compiled
-with the Document, on account of their being thus compiled, if they
-are not themselves derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one quarter
-of the entire aggregate, the Document's Cover Texts may be placed on
-covers that surround only the Document within the aggregate.
-Otherwise they must appear on covers around the whole aggregate.
-
-@item
-TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License provided that you also include the
-original English version of this License.  In case of a disagreement
-between the translation and the original English version of this
-License, the original English version will prevail.
-
-@item
-TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License.  However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-@item
-FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
-@uref{http://www.gnu.org/copyleft/}.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License ``or any later version'' applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-@end enumerate
-
-@page
-@appendixsubsec ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-@smallexample
-@group
-  Copyright (C)  @var{year}  @var{your name}.
-  Permission is granted to copy, distribute and/or modify this document
-  under the terms of the GNU Free Documentation License, Version 1.1
-  or any later version published by the Free Software Foundation;
-  with the Invariant Sections being @var{list their titles}, with the
-  Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
-  A copy of the license is included in the section entitled ``GNU
-  Free Documentation License''.
-@end group
-@end smallexample
-
-If you have no Invariant Sections, write ``with no Invariant Sections''
-instead of saying which ones are invariant.  If you have no
-Front-Cover Texts, write ``no Front-Cover Texts'' instead of
-``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
-@c Local Variables:
-@c ispell-local-pdict: "ispell-dict"
-@c End:
-
diff --git a/xemacs-packages/riece/doc/infohack.el b/xemacs-packages/riece/doc/infohack.el
deleted file mode 100644 (file)
index 9b4af97..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-;;; infohack.el --- a hack to format info file.
-;; Copyright (C)  2001  Free Software Foundation, Inc.
-
-;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
-;; Keywords: info
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
-
-;;; Commentary:
-
-;;; Code:
-
-;(let ((default-directory (expand-file-name "../lisp/"))
-;      (features (cons 'w3-forms (copy-sequence features))))
-;  ;; Adjust `load-path' for APEL.
-;  (load-file "dgnushack.el"))
-(load-file (expand-file-name "ptexinfmt.el" "./"))
-
-(defun infohack-remove-unsupported ()
-  (goto-char (point-min))
-  (while (re-search-forward "@\\(end \\)?ifnottex" nil t)
-    (replace-match ""))
-  (goto-char (point-min))
-  (while (search-forward "\n@iflatex\n" nil t)
-    (delete-region (1+ (match-beginning 0))
-                  (search-forward "\n@end iflatex\n"))))
-
-(defun infohack (file)
-  (let ((dest-directory default-directory)
-       (max-lisp-eval-depth (max max-lisp-eval-depth 600))
-       coding-system)
-    (find-file file)
-    (setq buffer-read-only nil)
-    (setq coding-system (if (boundp 'buffer-file-coding-system)
-                           buffer-file-coding-system
-                         file-coding-system))
-    (infohack-remove-unsupported)
-    (texinfo-every-node-update)
-    (texinfo-format-buffer t) ;; Don't save any file.
-    (setq default-directory dest-directory)
-    (setq buffer-file-name
-         (expand-file-name (file-name-nondirectory buffer-file-name)
-                           default-directory))
-    (setq buffer-file-coding-system coding-system
-         file-coding-system coding-system)
-    (if (> (buffer-size) 100000)
-       (Info-split))
-    (save-buffer)))
-
-(eval-and-compile
-  (when (string-match "windows-nt\\|os/2\\|emx\\|cygwin"
-                      (symbol-name system-type))
-    (defun subst-char-in-region (START END FROMCHAR TOCHAR &optional NOUNDO)
-      "From START to END, replace FROMCHAR with TOCHAR each time it occurs.
-If optional arg NOUNDO is non-nil, don't record this change for undo
-and don't mark the buffer as really changed.
-Both characters must have the same length of multi-byte form."
-      (let ((original-buffer-undo-list buffer-undo-list)
-            (modified (buffer-modified-p)))
-        (if NOUNDO
-            (setq buffer-undo-list t))
-        (goto-char START)
-        (let ((from (char-to-string FROMCHAR))
-              (to (char-to-string TOCHAR)))
-          (while (search-forward from END t)
-            (replace-match to t t)))
-        (if NOUNDO
-            (progn (setq buffer-undo-list original-buffer-undo-list)
-                   (set-buffer-modidifed-p modified)))))))
-
-(defun batch-makeinfo ()
-  "Emacs makeinfo in batch mode."
-  (infohack-texi-format (car command-line-args-left)
-                       (car (cdr command-line-args-left)))
-  (setq command-line-args-left nil))
-
-\f
-(defun infohack-texi-format (file &optional addsuffix)
-  (let ((auto-save-default nil)
-       (find-file-run-dired nil)
-       coding-system-for-write
-       output-coding-system
-       (error 0))
-    (condition-case err
-       (progn
-         (find-file file)
-         (setq buffer-read-only nil)
-         (buffer-disable-undo (current-buffer))
-         (if (boundp 'MULE)
-             (setq output-coding-system file-coding-system)
-           (setq coding-system-for-write buffer-file-coding-system))
-         ;; Remove ignored areas first.
-         (while (re-search-forward "^@ignore[\t\r ]*$" nil t)
-           (delete-region (match-beginning 0)
-                          (if (re-search-forward
-                               "^@end[\t ]+ignore[\t\r ]*$" nil t)
-                              (1+ (match-end 0))
-                            (point-max))))
-         (infohack-remove-unsupported)
-         (goto-char (point-min))
-         ;; Add suffix if it is needed.
-         (when (and addsuffix
-                    (re-search-forward "^@setfilename[\t ]+\\([^\t\n ]+\\)"
-                                       nil t)
-                    (not (string-match "\\.info$" (match-string 1))))
-           (insert ".info")
-           (goto-char (point-min)))
-         ;; process @include before updating node
-         ;; This might produce some problem if we use @lowersection or
-         ;; such.
-         (let ((input-directory default-directory)
-               (texinfo-command-end))
-           (while (re-search-forward "^@include" nil t)
-             (setq texinfo-command-end (point))
-             (let ((filename (concat input-directory
-                                     (texinfo-parse-line-arg))))
-               (re-search-backward "^@include")
-               (delete-region (point) (save-excursion
-                                        (forward-line 1)
-                                        (point)))
-               (message "Reading included file: %s" filename)
-               (save-excursion
-                 (save-restriction
-                   (narrow-to-region
-                    (point) (+ (point)
-                               (car (cdr (insert-file-contents filename)))))
-                   (goto-char (point-min))
-                   ;; Remove `@setfilename' line from included file,
-                   ;; if any, so @setfilename command not duplicated.
-                   (if (re-search-forward "^@setfilename"
-                                          (save-excursion
-                                            (forward-line 100)
-                                            (point))
-                                          t)
-                       (progn
-                         (beginning-of-line)
-                         (delete-region (point) (save-excursion
-                                                  (forward-line 1)
-                                                  (point))))))))))
-         (texinfo-mode)
-         (texinfo-every-node-update)
-         (set-buffer-modified-p nil)
-         (message "texinfo formatting %s..." file)
-         (texinfo-format-buffer nil)
-         (if (buffer-modified-p)
-             (progn (message "Saving modified %s" (buffer-file-name))
-                    (save-buffer))))
-      (error
-       (message ">> Error: %s" (prin1-to-string err))
-       (message ">>  point at")
-       (let ((s (buffer-substring (point) (min (+ (point) 100) (point-max))))
-            (tem 0))
-        (while (setq tem (string-match "\n+" s tem))
-          (setq s (concat (substring s 0 (match-beginning 0))
-                          "\n>>  "
-                          (substring s (match-end 0)))
-                tem (1+ tem)))
-        (message ">>  %s" s))
-       (setq error 1)))
-    (kill-emacs error)))
-
-;;; infohack.el ends here
diff --git a/xemacs-packages/riece/doc/irchat-copyright.el b/xemacs-packages/riece/doc/irchat-copyright.el
deleted file mode 100644 (file)
index 24d1426..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-;;;  -*- emacs-lisp -*-
-;;;
-;;;  $Id: irchat-copyright.el,v 1.7 2007-03-19 09:52:59 daiki Exp $
-;;;
-(defvar irchat-copyright "
-    $Id: irchat-copyright.el,v 1.7 2007-03-19 09:52:59 daiki Exp $
-    Internet Relay CHAT interface for GNU Emacs
-    Copyright (C) 1989 Tor Lillqvist
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 1, or (at your option)
-    any later version.
-  
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-  
-    You should have received a copy of the GNU General Public License
-    along with GNU Emacs; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-  
-    Author's email address is <tml@hemuli.atk.vtt.fi>
-  
-    Following people have made major improvements to irchat. Also there
-    are numerous people who have given suggestions and improvements. If 
-    you think your name should be included here, give us a note...
-          Kai Keinänen         <kmk@iki.fi>
-          Markku Järvinen      <mta@cc.tut.fi>
-          Jukka Partanen       <jtp@iki.fi>
-          Kim Nyberg           <kny@iki.fi>
-          Tero T. Mononen      <tmo@iki.fi>
-
-    You can ftp the latest version from cs.hut.fi:/pub/irchat
-
-    There is a mailing list, irchat@cc.tut.fi for those interested
-    in developments in irchat. Mail irchat-request@cc.tut.fi if you
-    are interested in joining.
-
-    Current team is:
-          Janne Liimatainen    <jsl@iki.fi>
-          Tero T. Mononen      <tmo@iki.fi>
-          Kim Nyberg           <kny@iki.fi>
-           Tomi Ollila          <too@iki.fi>
-          Jukka Partanen       <jtp@iki.fi>
-          Timo J. Rinne        <tri@iki.fi>
-" "Basically GPL")
-
-;;;
-;;;  $Log: irchat-copyright.el,v $
-;;;  Revision 1.7  2007-03-19 09:52:59  daiki
-;;;  Sync riece with upstream version 3.1.2
-;;;
-;;;  Revision 1.1  2003/10/22 20:07:07  ueno
-;;;  (EXTRA_DIST) Add irchat-copyright.el.
-;;;
-;;;  Revision 3.2  1997/02/27 10:19:14  jsl
-;;;  changed irchat-nickname to irchat-real-nickname
-;;;  users should only change irchat-nickname
-;;;
-;;;Revision 3.1  1997/02/24  16:00:02  tri
-;;;Promoted revision to 3.1.
-;;;
-;;;  Revision 1.2  1997/02/13 09:10:47  tri
-;;;  Added Domo to "current" team.
-;;;
-;;;  Revision 1.1  1996/12/19 14:54:48  tri
-;;;  Initial revision
-;;;
-;;;  Revision 0.1.1  1995/01/15  11:43:37  tmo
-;;;  Initial revision
-;;; 
-;;;  Revision 0.1.2  1993/07/13  11:56:52  tmo
-;;;    made this file to be defvar
-;;; 
-;;;  Revision 0.1.2  1993/07/13  11:56:52  tmo
-;;;    made this file to be defvar
-;;; 
-;;;  Revision 0.1.1  1993/07/10  13:23:50  tmo
-;;;  Initial revision
-;;; 
diff --git a/xemacs-packages/riece/doc/ptexinfmt.el b/xemacs-packages/riece/doc/ptexinfmt.el
deleted file mode 100644 (file)
index 341c8c0..0000000
+++ /dev/null
@@ -1,892 +0,0 @@
-;;; ptexinfmt.el -- portable Texinfo formatter.
-
-;; Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993,
-;;               1994, 1995, 1996, 1997 Free Software Foundation, Inc.
-;; Copyright (C) 1999 Yoshiki Hayashi <yoshiki@xemacs.org>
-;; Copyright (C) 2000, 2001, 2002 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
-;; Author: TAKAHASHI Kaoru <kaoru@kaisei.org>
-;;     Yoshiki Hayashi <yoshiki@xemacs.org>
-;;     Katsumi Yamaoka <yamaoka@jpl.org>
-;; Maintainer: TAKAHASHI Kaoru <kaoru@kaisei.org>
-;; Created: 7 Jul 2000
-;; Keywords: maint, tex, docs, emulation, compatibility
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
-
-;;; Commentary:
-
-;; Original code: Yoshiki Hayashi <yoshiki@xemacs.org>
-;;     makeinfo.el (gnujdoc project)
-
-;; Support texinfmt.el 2.32 or later.
-
-;; Modified by Yamaoka not to use APEL functions.
-
-;;; Code:
-
-(require 'backquote)
-(require 'texinfmt)
-
-;;; Broken
-(defvar ptexinfmt-disable-broken-notice-flag t
-  "If non-nil disable notice, when call `ptexinfmt-broken-facility'.
-This is last argument in `ptexinfmt-broken-facility'.")
-
-(put 'ptexinfmt-broken-facility 'lisp-indent-function 'defun)
-(defmacro ptexinfmt-broken-facility (facility docstring assertion
-                                             &optional dummy)
-  "Declare a symbol FACILITY is broken if ASSERTION is nil.
-DOCSTRING will be printed if ASSERTION is nil and
-`ptexinfmt-disable-broken-notice-flag' is nil."
-  (` (let ((facility '(, facility))
-          (docstring (, docstring))
-          (assertion (eval '(, assertion))))
-       (put facility 'broken (not assertion))
-       (if assertion
-          nil
-        (put facility 'broken-docstring docstring)
-        (if ptexinfmt-disable-broken-notice-flag
-            nil
-          (message "BROKEN FACILITY DETECTED: %s" docstring))))))
-
-(put 'ptexinfmt-defun-if-broken 'lisp-indent-function 'defun)
-(defmacro ptexinfmt-defun-if-broken (&rest args)
-  "Redefine a function just like `defun' if it is considered broken."
-  (let ((name (list 'quote (car args))))
-    (setq args (cdr args))
-    (` (prog1
-          (, name)
-        (if (get (, name) 'broken)
-            (defalias (, name)
-              (function (lambda (,@ args)))))))))
-
-(put 'ptexinfmt-defun-if-void 'lisp-indent-function 'defun)
-(defmacro ptexinfmt-defun-if-void (&rest args)
-  "Define a function just like `defun' unless it is already defined."
-  (let ((name (list 'quote (car args))))
-    (setq args (cdr args))
-    (` (prog1
-          (, name)
-        (if (fboundp (, name))
-            nil
-          (defalias (, name)
-            (function (lambda (,@ args)))))))))
-
-(put 'ptexinfmt-defvar-if-void 'lisp-indent-function 'defun)
-(defmacro ptexinfmt-defvar-if-void (&rest args)
-  "Define a variable just like `defvar' unless it is already defined."
-  (let ((name (car args)))
-    (setq args (cdr args))
-    (` (prog1
-          (defvar (, name))
-        (if (boundp '(, name))
-            nil
-          (defvar (, name) (,@ args)))))))
-
-;; sort -fd
-(ptexinfmt-broken-facility texinfo-format-printindex
-  "Can't sort on Mule for Windows."
-  (if (and (memq system-type '(windows-nt ms-dos))
-;;; I don't know version threshold.
-;;;       (string< texinfmt-version "2.37 of 24 May 1997")
-          (boundp 'MULE) (not (featurep 'meadow))) ; Mule for Windows
-      nil
-    t))
-
-;; @var
-(ptexinfmt-broken-facility texinfo-format-var
-  "Don't perse @var argument."
-  (condition-case nil
-      (with-temp-buffer
-       (let (texinfo-enclosure-list texinfo-alias-list)
-         (texinfo-mode)
-         (insert "@var{@asis{foo}}\n")
-         (texinfo-format-expand-region (point-min) (point-max))
-         t))
-    (error nil)))
-
-;; @xref
-(ptexinfmt-broken-facility texinfo-format-xref
-  "Can't format @xref, 1st argument is empty."
-  (condition-case nil
-      (with-temp-buffer
-       (let (texinfo-enclosure-list texinfo-alias-list)
-         (texinfo-mode)
-         (insert "@xref{, xref, , file}\n")
-         (texinfo-format-expand-region (point-min) (point-max))
-         t))
-    (error nil)))
-
-;; @uref
-(ptexinfmt-broken-facility texinfo-format-uref
-  "Parse twice @uref argument."
-  (condition-case nil
-      (with-temp-buffer
-       (let (texinfo-enclosure-list texinfo-alias-list)
-         (texinfo-mode)
-         (insert "@uref{mailto:foo@@noncommand.example.com}\n")
-         (texinfo-format-expand-region (point-min) (point-max))
-         t))
-    (error nil)))
-
-;; @multitable
-(ptexinfmt-broken-facility texinfo-multitable-widths
-  "`texinfo-multitable-widths' unsupport wide-char."
-  (if (fboundp 'texinfo-multitable-widths)
-      (with-temp-buffer
-       (let ((str "\e$BI}9-J8;z\e(B"))
-         (texinfo-mode)
-         (insert (format " {%s}\n" str))
-         (goto-char (point-min))
-         (if (= (car (texinfo-multitable-widths)) (length str))
-             nil
-           t)))
-    ;; function definition is void
-    t))
-
-(ptexinfmt-broken-facility texinfo-multitable-item
-  "`texinfo-multitable-item' unsupport wide-char."
-  (not (get 'texinfo-multitable-widths 'broken)))
-
-
-;;; Hardcopy and HTML (discard)
-;; html
-(put 'documentlanguage 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'documentencoding 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'documentdescription 'texinfo-format 'texinfo-discard-line-with-args)
-
-;; size
-(put 'smallbook 'texinfo-format 'texinfo-discard-line)
-(put 'letterpaper 'texinfo-format 'texinfo-discard-line)
-(put 'afourpaper 'texinfo-format 'texinfo-discard-line)
-(put 'afourlatex 'texinfo-format 'texinfo-discard-line)
-(put 'afourwide 'texinfo-format 'texinfo-discard-line)
-(put 'afivepaper 'texinfo-format 'texinfo-discard-line)
-(put 'pagesizes 'texinfo-format 'texinfo-discard-line-with-args)
-
-;; style
-(put 'setchapternewpage 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'kbdinputstyle 'texinfo-format 'texinfo-discard-line-with-args)
-
-;; flags
-(put 'setcontentsaftertitlepage 'texinfo-format 'texinfo-discard-line)
-(put 'setshortcontentsaftertitlepage 'texinfo-format 'texinfo-discard-line)
-(put 'novalidate 'texinfo-format 'texinfo-discard-line-with-args)
-
-;; head & foot
-(put 'headings 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'evenfooting 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'evenheading 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'oddfooting 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'oddheading 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'everyfooting 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'everyheading 'texinfo-format 'texinfo-discard-line-with-args)
-
-;; misc
-(put 'page 'texinfo-format 'texinfo-discard-line)
-(put 'hyphenation 'texinfo-format 'texinfo-discard-command-and-arg)
-
-;; @tie{} (makeinfo 4.3 or later)
-(put 'tie 'texinfo-format 'texinfo-format-tie)
-(ptexinfmt-defun-if-void texinfo-format-tie ()
-  (texinfo-parse-arg-discard)
-  (insert " "))
-
-\f
-;;; Directory File
-;; @direcategory
-(put 'dircategory 'texinfo-format 'texinfo-format-dircategory)
-(ptexinfmt-defun-if-void texinfo-format-dircategory ()
-  (let ((str (texinfo-parse-arg-discard)))
-    (delete-region (point)
-                  (progn
-                    (skip-chars-forward " ")
-                    (point)))
-    (insert "INFO-DIR-SECTION " str "\n")))
-
-;; @direntry
-(put 'direntry 'texinfo-format 'texinfo-format-direntry)
-(ptexinfmt-defun-if-void texinfo-format-direntry ()
-  (texinfo-push-stack 'direntry nil)
-  (texinfo-discard-line)
-  (insert "START-INFO-DIR-ENTRY\n"))
-
-(put 'direntry 'texinfo-end 'texinfo-end-direntry)
-(ptexinfmt-defun-if-void texinfo-end-direntry ()
-  (texinfo-discard-command)
-  (insert "END-INFO-DIR-ENTRY\n\n")
-  (texinfo-pop-stack 'direntry))
-
-
-;;; Block Enclosing
-;; @detailmenu ... @end detailmenu
-(put 'detailmenu 'texinfo-format 'texinfo-discard-line)
-(put 'detailmenu 'texinfo-end 'texinfo-discard-command)
-
-;; @smalldisplay ... @end smalldisplay
-(put 'smalldisplay 'texinfo-format 'texinfo-format-example)
-(put 'smalldisplay 'texinfo-end 'texinfo-end-example)
-
-;; @smallformat ... @end smallformat
-(put 'smallformat 'texinfo-format 'texinfo-format-flushleft)
-(put 'smallformat 'texinfo-end 'texinfo-end-flushleft)
-
-;; @cartouche  ... @end cartouche
-(put 'cartouche 'texinfo-format 'texinfo-discard-line)
-(put 'cartouche 'texinfo-end 'texinfo-discard-command)
-
-
-;;; Conditional
-;; @ifnottex ... @end ifnottex (makeinfo 3.11 or later)
-(put 'ifnottex 'texinfo-format 'texinfo-discard-line)
-(put 'ifnottex 'texinfo-end 'texinfo-discard-command)
-
-;; @ifnothtml ... @end ifnothtml (makeinfo 3.11 or later)
-(put 'ifnothtml 'texinfo-format 'texinfo-discard-line)
-(put 'ifnothtml 'texinfo-end 'texinfo-discard-command)
-
-;; @ifnotplaintext ... @end ifnotplaintext (makeinfo 4.2 or later)
-(put 'ifnotplaintext 'texinfo-format 'texinfo-discard-line)
-(put 'ifnotplaintext 'texinfo-end 'texinfo-discard-command)
-
-
-;; @ifnotinfo ... @end ifnotinfo (makeinfo 3.11 or later)
-(put 'ifnotinfo 'texinfo-format 'texinfo-format-ifnotinfo)
-(ptexinfmt-defun-if-void texinfo-format-ifnotinfo ()
-  (delete-region texinfo-command-start
-                (progn (re-search-forward "@end ifnotinfo[ \t]*\n")
-                       (point))))
-
-;; @html ... @end html (makeinfo 3.11 or later)
-(put 'html 'texinfo-format 'texinfo-format-html)
-(ptexinfmt-defun-if-void texinfo-format-html ()
-  (delete-region texinfo-command-start
-                (progn (re-search-forward "@end html[ \t]*\n")
-                       (point))))
-
-;; @ifhtml ... @end ifhtml (makeinfo 3.8 or later)
-(put 'ifhtml 'texinfo-format 'texinfo-format-ifhtml)
-(defun texinfo-format-ifhtml ()
-  (delete-region texinfo-command-start
-                (progn (re-search-forward "@end ifhtml[ \t]*\n")
-                       (point))))
-
-;; @ifplaintext ... @end ifplaintext (makeinfo 4.2 or later)
-(put 'ifplaintext 'texinfo-format 'texinfo-format-ifplaintext)
-(ptexinfmt-defun-if-void texinfo-format-ifplaintext ()
-  (delete-region texinfo-command-start
-                (progn (re-search-forward "@end ifplaintext[ \t]*\n")
-                       (point))))
-
-
-\f
-;;; Marking
-;; @url, @env, @command
-(put 'url 'texinfo-format 'texinfo-format-code)
-(put 'env 'texinfo-format 'texinfo-format-code)
-(put 'command 'texinfo-format 'texinfo-format-code)
-
-;; @acronym
-(put 'acronym 'texinfo-format 'texinfo-format-var)
-
-(ptexinfmt-defun-if-broken texinfo-format-var ()
-  (let ((arg (texinfo-parse-expanded-arg)))
-    (texinfo-discard-command)
-    (insert (upcase arg))))
-
-;; @key
-(put 'key 'texinfo-format 'texinfo-format-key)
-(ptexinfmt-defun-if-void texinfo-format-key ()
-  (insert (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @email{EMAIL-ADDRESS[, DISPLAYED-TEXT]}
-(put 'email 'texinfo-format 'texinfo-format-email)
-(ptexinfmt-defun-if-void texinfo-format-email ()
-  "Format EMAIL-ADDRESS and optional DISPLAYED-TXT.
-Insert < ... > around EMAIL-ADDRESS."
-  (let ((args (texinfo-format-parse-args)))
-  (texinfo-discard-command)
-    ;; if displayed-text
-    (if (nth 1 args)
-       (insert (nth 1 args) " <" (nth 0 args) ">")
-      (insert "<" (nth 0 args) ">"))))
-
-;; @option
-(put 'option 'texinfo-format 'texinfo-format-option)
-(ptexinfmt-defun-if-void texinfo-format-option ()
-  "Insert ` ... ' around arg unless inside a table; in that case, no quotes."
-  ;; `looking-at-backward' not available in v. 18.57, 20.2
-  ;; searched-for character is a control-H
-  (if (not (search-backward "\010"
-                           (save-excursion (beginning-of-line) (point))
-                           t))
-      (insert "`" (texinfo-parse-arg-discard) "'")
-    (insert (texinfo-parse-arg-discard)))
-  (goto-char texinfo-command-start))
-
-;; @verb{<char>TEXT<char>}  (makeinfo 4.1 or later)
-(put 'verb 'texinfo-format 'texinfo-format-verb)
-(ptexinfmt-defun-if-void texinfo-format-verb ()
-  "Format text between non-quoted unique delimiter characters verbatim.
-Enclose the verbatim text, including the delimiters, in braces.  Print
-text exactly as written (but not the delimiters) in a fixed-width.
-
-For example, @verb\{|@|\} results in @ and
-@verb\{+@'e?`!`+} results in @'e?`!`."
-
-  (let ((delimiter (buffer-substring-no-properties
-                   (1+ texinfo-command-end) (+ 2 texinfo-command-end))))
-    (unless (looking-at "{")
-      (error "Not found: @verb start brace"))
-    (delete-region texinfo-command-start (+ 2 texinfo-command-end))
-    (search-forward  delimiter))
-  (delete-backward-char 1)
-  (unless (looking-at "}")
-    (error "Not found: @verb end brace"))
-  (delete-char 1))
-
-\f
-;;; Accents and Special characters
-;; @pounds{}   ==>     #       Pounds Sterling
-(put 'pounds 'texinfo-format 'texinfo-format-pounds)
-(ptexinfmt-defun-if-void texinfo-format-pounds ()
-  (texinfo-parse-arg-discard)
-  (insert "#"))
-
-;; @OE{}       ==>     OE      French-OE-ligature
-(put 'OE 'texinfo-format 'texinfo-format-French-OE-ligature)
-(ptexinfmt-defun-if-void texinfo-format-French-OE-ligature ()
-  (insert "OE" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @oe{}       ==>     oe
-(put 'oe 'texinfo-format 'texinfo-format-French-oe-ligature)
-(ptexinfmt-defun-if-void texinfo-format-French-oe-ligature () ; lower case
-  (insert "oe" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @AA{}       ==>     AA      Scandinavian-A-with-circle
-(put 'AA 'texinfo-format 'texinfo-format-Scandinavian-A-with-circle)
-(ptexinfmt-defun-if-void texinfo-format-Scandinavian-A-with-circle ()
-  (insert "AA" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @aa{}       ==>     aa
-(put 'aa 'texinfo-format 'texinfo-format-Scandinavian-a-with-circle)
-(ptexinfmt-defun-if-void texinfo-format-Scandinavian-a-with-circle () ; lower case
-  (insert "aa" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @AE{}       ==>     AE      Latin-Scandinavian-AE
-(put 'AE 'texinfo-format 'texinfo-format-Latin-Scandinavian-AE)
-(ptexinfmt-defun-if-void texinfo-format-Latin-Scandinavian-AE ()
-  (insert "AE" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @ae{}       ==>     ae
-(put 'ae 'texinfo-format 'texinfo-format-Latin-Scandinavian-ae)
-(ptexinfmt-defun-if-void texinfo-format-Latin-Scandinavian-ae () ; lower case
-  (insert "ae" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @ss{}       ==>     ss      German-sharp-S
-(put 'ss 'texinfo-format 'texinfo-format-German-sharp-S)
-(ptexinfmt-defun-if-void texinfo-format-German-sharp-S ()
-  (insert "ss" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @questiondown{}     ==>     ?       upside-down-question-mark
-(put 'questiondown 'texinfo-format 'texinfo-format-upside-down-question-mark)
-(ptexinfmt-defun-if-void texinfo-format-upside-down-question-mark ()
-  (insert "?" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @exclamdown{}       ==>     !       upside-down-exclamation-mark
-(put 'exclamdown 'texinfo-format 'texinfo-format-upside-down-exclamation-mark)
-(ptexinfmt-defun-if-void texinfo-format-upside-down-exclamation-mark ()
-  (insert "!" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @L{}                ==>     L/      Polish suppressed-L (Lslash)
-(put 'L 'texinfo-format 'texinfo-format-Polish-suppressed-L)
-(ptexinfmt-defun-if-void texinfo-format-Polish-suppressed-L ()
-  (insert (texinfo-parse-arg-discard) "/L")
-  (goto-char texinfo-command-start))
-
-;; @l{}                ==>     l/      Polish suppressed-L (Lslash) (lower case)
-(put 'l 'texinfo-format 'texinfo-format-Polish-suppressed-l-lower-case)
-(ptexinfmt-defun-if-void texinfo-format-Polish-suppressed-l-lower-case ()
-  (insert (texinfo-parse-arg-discard) "/l")
-  (goto-char texinfo-command-start))
-
-;; @O{}                ==>     O/      Scandinavian O-with-slash
-(put 'O 'texinfo-format 'texinfo-format-Scandinavian-O-with-slash)
-(ptexinfmt-defun-if-void texinfo-format-Scandinavian-O-with-slash ()
-  (insert (texinfo-parse-arg-discard) "O/")
-  (goto-char texinfo-command-start))
-
-;; @o{}                ==>     o/      Scandinavian O-with-slash (lower case)
-(put 'o 'texinfo-format 'texinfo-format-Scandinavian-o-with-slash-lower-case)
-(ptexinfmt-defun-if-void texinfo-format-Scandinavian-o-with-slash-lower-case ()
-  (insert (texinfo-parse-arg-discard) "o/")
-  (goto-char texinfo-command-start))
-
-;; @,{c}       ==>     c,      cedilla accent
-(put ', 'texinfo-format 'texinfo-format-cedilla-accent)
-(ptexinfmt-defun-if-void texinfo-format-cedilla-accent ()
-  (insert (texinfo-parse-arg-discard) ",")
-  (goto-char texinfo-command-start))
-
-
-;; @dotaccent{o}       ==>     .o      overdot-accent
-(put 'dotaccent 'texinfo-format 'texinfo-format-overdot-accent)
-(ptexinfmt-defun-if-void texinfo-format-overdot-accent ()
-  (insert "." (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @ubaraccent{o}      ==>     _o      underbar-accent
-(put 'ubaraccent 'texinfo-format 'texinfo-format-underbar-accent)
-(ptexinfmt-defun-if-void texinfo-format-underbar-accent ()
-  (insert "_" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @udotaccent{o}      ==>     o-.     underdot-accent
-(put 'udotaccent 'texinfo-format 'texinfo-format-underdot-accent)
-(ptexinfmt-defun-if-void texinfo-format-underdot-accent ()
-  (insert (texinfo-parse-arg-discard) "-.")
-  (goto-char texinfo-command-start))
-
-;; @H{o}       ==>     ""o     long Hungarian umlaut
-(put 'H 'texinfo-format 'texinfo-format-long-Hungarian-umlaut)
-(ptexinfmt-defun-if-void texinfo-format-long-Hungarian-umlaut ()
-  (insert "\"\"" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @ringaccent{o}      ==>     *o      ring accent
-(put 'ringaccent 'texinfo-format 'texinfo-format-ring-accent)
-(ptexinfmt-defun-if-void texinfo-format-ring-accent ()
-  (insert "*" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @tieaccent{oo}      ==>     [oo     tie after accent
-(put 'tieaccent 'texinfo-format 'texinfo-format-tie-after-accent)
-(ptexinfmt-defun-if-void texinfo-format-tie-after-accent ()
-  (insert "[" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @u{o}       ==>     (o      breve accent
-(put 'u 'texinfo-format 'texinfo-format-breve-accent)
-(ptexinfmt-defun-if-void texinfo-format-breve-accent ()
-  (insert "(" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @v{o}       ==>     <o      hacek accent
-(put 'v 'texinfo-format 'texinfo-format-hacek-accent)
-(ptexinfmt-defun-if-void texinfo-format-hacek-accent ()
-  (insert "<" (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @dotless{i} ==>     i       dotless i and dotless j
-(put 'dotless 'texinfo-format 'texinfo-format-dotless)
-(ptexinfmt-defun-if-void texinfo-format-dotless ()
-  (insert (texinfo-parse-arg-discard))
-  (goto-char texinfo-command-start))
-
-;; @.
-(put '\. 'texinfo-format 'texinfo-format-\.)
-(ptexinfmt-defun-if-void texinfo-format-\. ()
-  (texinfo-discard-command)
-  (insert "."))
-
-;; @:
-(put '\: 'texinfo-format 'texinfo-format-\:)
-(ptexinfmt-defun-if-void texinfo-format-\: ()
-  (texinfo-discard-command))
-
-;; @-
-(put '\- 'texinfo-format 'texinfo-format-soft-hyphen)
-(ptexinfmt-defun-if-void texinfo-format-soft-hyphen ()
-  (texinfo-discard-command))
-
-;; @/
-(put '\/ 'texinfo-format 'texinfo-format-\/)
-(ptexinfmt-defun-if-void texinfo-format-\/ ()
-  (texinfo-discard-command))
-
-\f
-;;; Cross References
-;; @ref, @xref
-(put 'ref 'texinfo-format 'texinfo-format-xref)
-
-(ptexinfmt-defun-if-broken texinfo-format-xref ()
-  (let ((args (texinfo-format-parse-args)))
-    (texinfo-discard-command)
-    (insert "*Note ")
-    (let ((fname (or (nth 1 args) (nth 2 args))))
-      (if (null (or fname (nth 3 args)))
-         (insert (nth 0 args) "::")
-       (insert (or fname (nth 0 args)) ": ")
-       (if (nth 3 args)
-           (insert "(" (nth 3 args) ")"))
-       (unless (null (nth 0 args))
-         (insert (nth 0 args)))))))
-
-;; @uref{URL [,TEXT] [,REPLACEMENT]}
-(put 'uref 'texinfo-format 'texinfo-format-uref)
-(ptexinfmt-defun-if-broken texinfo-format-uref ()
-  "Format URL and optional URL-TITLE.
-Insert ` ... ' around URL if no URL-TITLE argument;
-otherwise, insert URL-TITLE followed by URL in parentheses."
-  (let ((args (texinfo-format-parse-args)))
-    (texinfo-discard-command)
-    ;; if url-title
-    (if (nth 1 args)
-       (insert  (nth 1 args) " (" (nth 0 args) ")")
-      (insert "`" (nth 0 args) "'"))))
-
-;; @inforef
-(put 'inforef 'texinfo-format 'texinfo-format-inforef)
-(ptexinfmt-defun-if-void texinfo-format-inforef ()
-  (let ((args (texinfo-format-parse-args)))
-    (texinfo-discard-command)
-    (if (nth 1 args)
-       (insert "*Note " (nth 1 args) ": (" (nth 2 args) ")" (car args))
-      (insert "*Note " "(" (nth 2 args) ")" (car args) "::"))))
-
-
-;; @anchor
-;; don't emulation
-;; If support @anchor for Mule 2.3, We must fix informat.el and info.el:
-;;  - Info-tagify suport @anthor-*-refill.
-;;  - info.el support Ref in Tag table.
-(unless (get 'anchor 'texinfo-format)
-  (put 'anchor 'texinfo-format 'texinfo-discard-command-and-arg))
-
-
-\f
-;;; New command definition
-;; @alias NEW=EXISTING
-(put 'alias 'texinfo-format 'texinfo-alias)
-(ptexinfmt-defun-if-void texinfo-alias ()
-  (let ((start (1- (point)))
-       args)
-    (skip-chars-forward " ")
-    (save-excursion (end-of-line) (setq texinfo-command-end (point)))
-    (if (not (looking-at "\\([^=]+\\)=\\(.*\\)"))
-       (error "Invalid alias command")
-      (setq texinfo-alias-list
-           (cons
-            (cons
-             (buffer-substring (match-beginning 1) (match-end 1))
-             (buffer-substring (match-beginning 2) (match-end 2)))
-            texinfo-alias-list))
-      (texinfo-discard-command))))
-
-\f
-;;; Indent
-;; @exampleindent INDENT  (makeinfo 4.0 or later)
-
-;; @paragraphindent INDENT  (makeinfo 4.0 or later)
-;; INDENT: asis, 0, n
-
-;; @firstparagraphindent WORD   (makeinfo 4.6 or later)
-;; WORD: none, insert
-
-
-\f
-;;; Special
-;; @image{FILENAME [, WIDTH] [, HEIGHT]}
-(put 'image 'texinfo-format 'texinfo-format-image)
-(ptexinfmt-defun-if-void texinfo-format-image ()
-  ;; I don't know makeinfo parse FILENAME.
-  (let ((args (texinfo-format-parse-args))
-       filename)
-    (when (null (nth 0 args))
-      (error "Invalid image command"))
-    (texinfo-discard-command)
-    ;; makeinfo uses FILENAME.txt
-    (setq filename (format "%s.txt" (nth 0 args)))
-    (message "Reading included file: %s" filename)
-    ;; verbatim for Info output
-    (goto-char (+ (point) (cadr (insert-file-contents filename))))
-    (message "Reading included file: %s...done" filename)))
-
-;; @hyphenation command discards an argument within braces
-(put 'hyphenation 'texinfo-format 'texinfo-discard-command-and-arg)
-(ptexinfmt-defun-if-void texinfo-discard-command-and-arg ()
-  "Discard both @-command and its argument in braces."
-  (goto-char texinfo-command-end)
-  (forward-list 1)
-  (setq texinfo-command-end (point))
-  (delete-region texinfo-command-start texinfo-command-end))
-
-\f
-;;; @multitable ... @end multitable
-(ptexinfmt-defvar-if-void texinfo-extra-inter-column-width 0
-  "*Number of extra spaces between entries (columns) in @multitable.")
-
-(ptexinfmt-defvar-if-void texinfo-multitable-buffer-name
-  "*multitable-temporary-buffer*")
-(ptexinfmt-defvar-if-void texinfo-multitable-rectangle-name
-  "texinfo-multitable-temp-")
-
-;; These commands are defined in texinfo.tex for printed output.
-(put 'multitableparskip 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'multitableparindent 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'multitablecolmargin 'texinfo-format 'texinfo-discard-line-with-args)
-(put 'multitablelinespace 'texinfo-format 'texinfo-discard-line-with-args)
-
-(put 'multitable 'texinfo-format 'texinfo-multitable)
-
-(ptexinfmt-defun-if-void texinfo-multitable ()
-  "Produce multi-column tables."
-
-;; This function pushes information onto the `texinfo-stack'.
-;; A stack element consists of:
-;;   - type-of-command, i.e., multitable
-;;   - the information about column widths, and
-;;   - the position of texinfo-command-start.
-;; e.g., ('multitable (1 2 3 4) 123)
-;; The command line is then deleted.
-  (texinfo-push-stack
-   'multitable
-   ;; push width information on stack
-   (texinfo-multitable-widths))
-  (texinfo-discard-line-with-args))
-
-(put 'multitable 'texinfo-end 'texinfo-end-multitable)
-(ptexinfmt-defun-if-void texinfo-end-multitable ()
-  "Discard the @end multitable line and pop the stack of multitable."
-  (texinfo-discard-command)
-  (texinfo-pop-stack 'multitable))
-
-(ptexinfmt-defun-if-broken texinfo-multitable-widths ()
-  "Return list of widths of each column in a multi-column table."
-  (let (texinfo-multitable-width-list)
-    ;; Fractions format:
-    ;;  @multitable @columnfractions .25 .3 .45
-    ;;
-    ;; Template format:
-    ;;  @multitable {Column 1 template} {Column 2} {Column 3 example}
-    ;; Place point before first argument
-    (skip-chars-forward " \t")
-    (cond
-     ;; Check for common misspelling
-     ((looking-at "@columnfraction ")
-      (error "In @multitable, @columnfractions misspelled"))
-     ;; Case 1: @columnfractions .25 .3 .45
-     ((looking-at "@columnfractions")
-      (forward-word 1)
-      (while (not (eolp))
-       (setq texinfo-multitable-width-list
-             (cons
-              (truncate
-               (1-
-                (* fill-column (read (get-buffer (current-buffer))))))
-              texinfo-multitable-width-list))))
-     ;;
-     ;; Case 2: {Column 1 template} {Column 2} {Column 3 example}
-     ((looking-at "{")
-      (let ((start-of-templates (point)))
-       (while (not (eolp))
-         (skip-chars-forward " \t")
-         (let* ((start-of-template (1+ (point)))
-                (end-of-template
-                 ;; forward-sexp works with braces in Texinfo mode
-                 (progn (forward-sexp 1) (1- (point)))))
-           (setq texinfo-multitable-width-list
-                 (cons (- (progn
-                            (goto-char end-of-template)
-                            (current-column))
-                          (progn
-                            (goto-char start-of-template)
-                            (current-column)))
-                       texinfo-multitable-width-list))
-           ;; Remove carriage return from within a template, if any.
-           ;; This helps those those who want to use more than
-           ;; one line's worth of words in @multitable line.
-           (narrow-to-region start-of-template end-of-template)
-           (goto-char (point-min))
-           (while (search-forward "\n" nil t)
-             (delete-char -1))
-           (goto-char (point-max))
-           (widen)
-           (forward-char 1)))))
-     ;;
-     ;; Case 3: Trouble
-     (t
-      (error "\
-You probably need to specify column widths for @multitable correctly")))
-    ;; Check whether columns fit on page.
-    (let ((desired-columns
-          (+
-           ;; between column spaces
-           (length texinfo-multitable-width-list)
-           ;; additional between column spaces, if any
-           texinfo-extra-inter-column-width
-           ;; sum of spaces for each entry
-           (apply '+ texinfo-multitable-width-list))))
-      (if (> desired-columns fill-column)
-         (error (format "\
-Multi-column table width, %d chars, is greater than page width, %d chars."
-                        desired-columns fill-column))))
-    texinfo-multitable-width-list))
-
-;; @item  A1  @tab  A2  @tab  A3
-(ptexinfmt-defun-if-void texinfo-multitable-extract-row ()
-  "Return multitable row, as a string.
-End of row is beginning of next @item or beginning of @end.
-Cells within rows are separated by @tab."
-  (skip-chars-forward " \t")
-  (let* ((start (point))
-        (end (progn
-               (re-search-forward "@item\\|@end")
-               (match-beginning 0)))
-        (row (progn (goto-char end)
-                    (skip-chars-backward " ")
-                    ;; remove whitespace at end of argument
-                    (delete-region (point) end)
-                    (buffer-substring start (point)))))
-    (delete-region texinfo-command-start end)
-    row))
-
-(put 'multitable 'texinfo-item 'texinfo-multitable-item)
-(ptexinfmt-defun-if-void texinfo-multitable-item ()
-  "Format a row within a multicolumn table.
-Cells in row are separated by @tab.
-Widths of cells are specified by the arguments in the @multitable line.
-All cells are made to be the same height.
-This command is executed when texinfmt sees @item inside @multitable."
-  (let ((original-buffer (current-buffer))
-       (table-widths (reverse (car (cdr (car texinfo-stack)))))
-       (existing-fill-column fill-column)
-       start
-       end
-       (table-column       0)
-       (table-entry-height 0)
-       ;; unformatted row looks like:  A1  @tab  A2  @tab  A3
-       ;; extract-row command deletes the source line in the table.
-       (unformated-row (texinfo-multitable-extract-row)))
-    ;; Use a temporary buffer
-    (set-buffer (get-buffer-create texinfo-multitable-buffer-name))
-    (delete-region (point-min) (point-max))
-    (insert unformated-row)
-    (goto-char (point-min))
-;; 1. Check for correct number of @tab in line.
-    (let ((tab-number 1)) ;; one @tab between two columns
-      (while (search-forward "@tab" nil t)
-       (setq tab-number (1+ tab-number)))
-      (if (/= tab-number (length table-widths))
-         (error "Wrong number of @tab's in a @multitable row")))
-    (goto-char (point-min))
-;; 2. Format each cell, and copy to a rectangle
-    ;; buffer looks like this:    A1  @tab  A2  @tab  A3
-    ;; Cell #1: format up to @tab
-    ;; Cell #2: format up to @tab
-    ;; Cell #3: format up to eob
-    (while (not (eobp))
-      (setq start (point))
-      (setq end (save-excursion
-                 (if (search-forward "@tab" nil 'move)
-                     ;; Delete the @tab command, including the @-sign
-                     (delete-region
-                      (point)
-                      (progn (forward-word -1) (1- (point)))))
-                 (point)))
-      ;; Set fill-column *wider* than needed to produce inter-column space
-      (setq fill-column (+ 1
-                          texinfo-extra-inter-column-width
-                          (nth table-column table-widths)))
-      (narrow-to-region start end)
-      ;; Remove whitespace before and after entry.
-      (skip-chars-forward " ")
-      (delete-region (point) (save-excursion (beginning-of-line) (point)))
-      (goto-char (point-max))
-      (skip-chars-backward " ")
-      (delete-region (point) (save-excursion (end-of-line) (point)))
-      ;; Temorarily set texinfo-stack to nil so texinfo-format-scan
-      ;; does not see an unterminated @multitable.
-      (let (texinfo-stack) ;; nil
-       (texinfo-format-scan))
-      (let (fill-prefix) ;; no fill prefix
-       (fill-region (point-min) (point-max)))
-      (setq table-entry-height
-           (max table-entry-height (count-lines (point-min) (point-max))))
-;; 3. Move point to end of bottom line, and pad that line to fill column.
-      (goto-char (point-min))
-      (forward-line (1- table-entry-height))
-      (let* ((beg (point)) ;; beginning of line
-            ;; add one more space for inter-column spacing
-            (needed-whitespace
-             (1+
-              (- fill-column
-                 (progn
-                   (end-of-line)
-                   (current-column)))))) ;; end of existing line
-       (insert (make-string
-                (if (> needed-whitespace 0) needed-whitespace 1)
-                ? )))
-      ;; now, put formatted cell into a rectangle
-      (set (intern (concat texinfo-multitable-rectangle-name
-                          (int-to-string table-column)))
-          (extract-rectangle (point-min) (point)))
-      (delete-region (point-min) (point))
-      (goto-char (point-max))
-      (setq table-column (1+ table-column))
-      (widen))
-;; 4. Add extra lines to rectangles so all are of same height
-    (let ((total-number-of-columns table-column)
-         (column-number 0)
-         here)
-      (while (> table-column 0)
-       (let ((this-rectangle (int-to-string table-column)))
-         (while (< (length this-rectangle) table-entry-height)
-           (setq this-rectangle (append this-rectangle '("")))))
-       (setq table-column (1- table-column)))
-;; 5. Insert formatted rectangles in original buffer
-      (switch-to-buffer original-buffer)
-      (open-line table-entry-height)
-      (while (< column-number total-number-of-columns)
-       (setq here (point))
-       (insert-rectangle
-        (eval (intern
-               (concat texinfo-multitable-rectangle-name
-                       (int-to-string column-number)))))
-       (goto-char here)
-       (end-of-line)
-       (setq column-number (1+ column-number))))
-    (kill-buffer texinfo-multitable-buffer-name)
-    (setq fill-column existing-fill-column)))
-
-\f
-(ptexinfmt-defun-if-broken texinfo-format-printindex ()
-  (let ((indexelts (symbol-value
-                   (cdr (assoc (texinfo-parse-arg-discard)
-                               texinfo-indexvar-alist))))
-       opoint)
-    (insert "\n* Menu:\n\n")
-    (setq opoint (point))
-    (texinfo-print-index nil indexelts)
-
-    (if (memq system-type '(vax-vms windows-nt ms-dos))
-       (texinfo-sort-region opoint (point))
-      (shell-command-on-region opoint (point) "sort -fd" 1))))
-
-(provide 'ptexinfmt)
-
-;;; ptexinfmt.el ends here
diff --git a/xemacs-packages/riece/doc/riece-en.texi b/xemacs-packages/riece/doc/riece-en.texi
deleted file mode 100644 (file)
index 4aecc16..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-\input texinfo                  @c -*- mode: texinfo -*-
-@c %**start of header
-@setfilename riece-en.info
-@settitle Riece -- An IRC client for Emacsen --
-@c %**end of header
-@include version-en.texi
-@c @documentlanguage en
-
-@dircategory GNU Emacs Lisp
-@direntry
-* Riece-en: (riece-en).   An IRC client for Emacsen
-@end direntry
-
-@ifnottex
-This file describes Riece.
-
-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
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled "GNU
-Free Documentation License".
-@end ifnottex
-
-@tex
-
-@titlepage
-@title Riece
-
-@author by Daiki Ueno
-@page
-
-@vskip 0pt plus 1filll
-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
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled "GNU
-Free Documentation License".
-@end titlepage
-@page
-
-@end tex
-
-@node Top, Overview, (dir), (dir)
-@top Riece user's manual
-
-This manual documents Riece version @value{VERSION}. In addition to this
-manual, you may find useful information about Riece from Riece's official
-home page @uref{http://www.nongnu.org/riece/}.
-
-@menu
-* Overview::                    Read me first.
-* Getting started::             Let's talk with other people.
-* Basic usage::                 
-* Index::                       
-* Function Index::              
-* Variable Index::              
-@end menu
-
-@node Overview, Getting started, Top, Top
-@chapter Overview
-
-Riece is a user interface for IRC (Internet Relay Chat).  You should
-spell it with the first letter capitalized and pronounce it as /ri:s/.
-
-The features of Riece are as follows:
-
-@itemize @bullet
-@item
-Several IRC servers may be used at the same time.
-
-@item
-Many features built upon the extension mechanism called add-on.
-Currently 30 such add-ons are available.
-
-@item
-Installation is easy.  Riece doesn't depend on other packages.
-
-@item
-Setup is easy.  Automatically save/restore the configuration.
-
-@item
-Step-by-step instructions are included.
-
-@item
-Mostly compliant with the latest IRC client protocol (RFC 2812).
-@end itemize
-
-@node Getting started, Basic usage, Overview, Top
-@chapter Getting started
-
-To start Riece, follow the instruction below:
-
-@enumerate
-@item
-@kbd{M-x load-library riece}
-
-@item
-@kbd{M-x riece}
-@end enumerate
-
-In case that @samp{Cannot open load file: riece} is signalled in (1),
-you should probably have an installation problem.  If you installed
-Riece from source tarball, please read README again.  If you are
-trying to use a package distribution, check out the documentation.
-
-Once Riece started successfully, you will be asked the name of the IRC
-server to connect.  IRC servers publicly available are taken from the
-Web pages of IRC networks:
-
-@itemize @bullet
-@item http://irc.kyoto-u.ac.jp
-@item http://freenode.net
-@end itemize
-
-You may see the following message:
-
-@example
-Nickname "ueno" already in use.  Choose a new one: 
-@end example
-
-In IRC, users are identified by @emph{nicknames}.  If the nickname you
-selected has already used by another person, you must select the new one.
-
-In IRC, users join the @emph{channels} to start multi user
-conversation.  To join a channel, type @kbd{C-c j}.  On IRCnet, there
-is a channel named @samp{#Riece} where you can do some tests to get
-experienced with Riece.
-
-After you joined a channel, the layout of windows are changed to the
-following:
-
-@example
-+-----+-----------------+
-|     |                 |
-|     |                 |
-| (1) |       (2)       |
-|     |                 |
-|     |                 |
-+-----+-----------------+
-|     |       (4)       |
-|     +-----------------+
-| (3) |                 |
-|     |       (5)       |
-|     |                 |
-+-----+-----------------+
-@end example
-
-You can send messages by entering messages in (4).  Messages from
-other persons are shown in (2).
-
-@node Basic usage, Index, Getting started, Top
-@chapter Basic usage
-
-To start Riece, you just type @kbd{M-x riece}.  Then you will prompted
-for the name of an IRC server.  A typical IRC network may consist of
-several IRC servers and you will need to pick up appropriate one.  Most
-of IRC networks provide a list of available servers on their Web pages:
-
-@itemize @bullet
-@item http://irc.kyoto-u.ac.jp
-@item http://freenode.net
-@end itemize
-
-If your nickname is taken, you will be asked to use different one.  The
-initial nickname can be set via the variable @code{riece-nickname}.  By
-default, your nickname is generated from your login name.
-@vindex riece-nickname
-
-After successfully connecting to an IRC server, you can join a channel
-and talk with people there.  To join a channel, type @kbd{C-c j}.  By
-the way there is a channel called @samp{#Riece} on IRCnet, so feel free
-to use it for testing.
-
-Now you enter a message and it will be seen by everyone else on the
-channel.  Messages from other people will appear on the top-left window.
-
-@menu
-* Windows::                     
-* Indicators::                  
-* Commands::                    
-* Connecting to multiple servers::  
-@end menu
-
-@node Windows, Indicators, Basic usage, Basic usage
-@section Windows
-
-By default, Riece uses 5 windows to inform user of his status:
-
-@example
-+-----+-----------------+
-|     |                 |
-|     |                 |
-| (1) |       (2)       |
-|     |                 |
-|     |                 |
-+-----+-----------------+
-|     |       (4)       |
-|     +-----------------+
-| (3) |                 |
-|     |       (5)       |
-|     |                 |
-+-----+-----------------+
-@end example
-
-Each window is used for different purpose:
-
-@enumerate
-@item
-"user list window" (@samp{*Users XXX*}).  Users on the current
-channel are listed in this window.
-
-@item
-"channel window" (@samp{*Channel XXX*}).  This window keeps
-dialogues on the current channel.
-
-@item
-"channel list window" (@samp{*Channels*}).  All channels you are
-joined are listed in this window.
-
-@item
-"command window" (@samp{*Commands*}).  This window is used for either
-sending messages or issueing commands.
-
-@item
-"others buffer" (@samp{*Others*}).  This window displays dialogues on
-channels except the current channel.
-@end enumerate
-
-@node Indicators, Commands, Windows, Basic usage
-@section Indicators
-
-Indicators are characters which indicate your status.  Usually they are
-put on the left side of the modeline like:
-
-@example
-Riece: --- ueno #Riece [n]
-@end example
-
-In this case, @samp{---} are indicators.  From left to right their
-meanings are:
-
-@enumerate
-@item
-You are not "away". (If you marked yourself as "away", it would be
-@samp{A})
-
-@item
-You are not an IRC operator. (If you entered operator mode, it would be
-@samp{O})
-
-@item
-The channel window is not locked.
-(If it was locked, it would be @samp{F}.  If it was locked until next
-send, it would be @samp{f})
-@end enumerate
-
-@node Commands, Connecting to multiple servers, Indicators, Basic usage
-@section Commands
-
-The buffer used for sending messages is called "command buffer".
-You can issue various commands from the command buffer.
-
-@subsection IRC commands
-@table @kbd
-@item RET
-@findex riece-command-enter-message
-Send the current line. (@code{riece-command-enter-message})
-@item C-RET
-@findex riece-command-enter-message-as-notice
-Send the current line as NOTICE. (@code{riece-command-enter-message-as-notice})
-@item C-c j
-@findex riece-command-join
-Join a channel. (@code{riece-command-join})
-@item C-c C-p
-@findex riece-command-part
-Part from a channel. (@code{riece-command-part})
-@item C-c p
-@findex riece-command-enter-message-to-user
-Send the current line to particular
-user. (@code{riece-command-enter-message-to-user})
-@item C-c q
-@findex riece-command-quit
-Quit from IRC. (@code{riece-command-quit})
-@item C-c n
-@findex riece-command-change-nickname
-Change your nickname. (@code{riece-command-change-nickname})
-@item C-c f
-@findex riece-command-finger
-Get information of a user. (@code{riece-command-finger})
-@item C-c C-k
-@findex riece-command-kick
-Kick a user from the current channel. (@code{riece-command-kick})
-@item C-c i
-@findex riece-command-invite
-Invite a user to the current channel. (@code{riece-command-invite})
-@item C-c l
-@findex riece-command-list
-Issue a LIST command with specified pattern. (@code{riece-command-list})
-@item C-c C-n
-@findex riece-command-names
-Issue a NAMES command with specified pattern. (@code{riece-command-names})
-@item C-c w
-@findex riece-command-who
-Issue a WHO command with specified pattern. (@code{riece-command-who})
-@item C-c t
-@findex riece-command-topic
-Set topic of the current channel. (@code{riece-command-topic})
-@item C-c C-m
-@findex riece-command-change-mode
-Change the mode of the current channel. (@code{riece-command-change-mode})
-@item C-c o
-@findex riece-command-set-operators
-Assign channel operator privilege to a user.  If a prefix argument
-(@kbd{C-u}) is given, remove the privilege from a
-user. (@code{riece-command-set-operators})
-@item C-c v
-@findex riece-command-set-speakers
-Allow a user to speak in the current channel.  If a prefix argument
-(@kbd{C-u}) is given, disallow a user to
-speak. (@code{riece-command-set-speakers})
-@item C-c V
-@findex riece-version
-Display version number of Riece.  If a prefix argument (@kbd{C-u}) is
-given, use User-Agent format.
-@item C-c /
-@findex riece-command-raw
-Send raw IRC command. (@code{riece-command-raw})
-@end table
-
-@subsection Window manipulating commands
-@table @kbd
-@item C-c r
-@findex riece-command-configure-windows
-Redraw windows. (@code{riece-command-configure-windows})
-@item C-c C-j
-@findex riece-command-next-channel
-Switch to the next channel in the channel
-list. (@code{riece-command-next-channel})
-@item C-c <
-@findex riece-command-previous-channel
-Switch to the previous channel in the channel
-list. (@code{riece-command-previous-channel})
-@item C-c >
-@findex riece-command-next-channel
-Switch to the next channel in the channel
-list. (@code{riece-command-next-channel})
-@item C-c ^
-@findex riece-command-list-addons
-Browse add-ons currently insinuated. (@code{riece-command-list-addons})
-@item C-c digit
-@findex riece-command-switch-to-channel-by-number
-Switch to @var{n}th channel in the channel
-list. (@code{riece-command-switch-to-channel-by-number})
-@item C-c C-c digit
-@findex riece-command-switch-to-channel-by-number
-Switch to @var{n} + 10th channel in the channel
-list. (@code{riece-command-switch-to-channel-by-number})
-@item C-c Home
-@findex riece-command-beginning-of-buffer
-Move point to the beginning of the buffer in the channel window.
-(@code{riece-command-beginning-of-buffer})
-@item C-c $
-@findex riece-command-end-of-buffer
-Move point to the end of the buffer in the channel window.
-(@code{riece-command-end-of-buffer})
-@item C-c SPC
-@findex riece-command-scroll-up
-Scroll text of the channel window up. (@code{riece-command-scroll-up})
-@item C-c DEL
-@findex riece-command-scroll-down
-Scroll text of the channel window down. (@code{riece-command-scroll-down})
-@end table
-
-@subsection Status toggle commands
-@table @kbd
-@item C-c C-t c
-@findex riece-command-toggle-channel-buffer-mode
-Toggle visibility of the channel
-window. (@code{riece-command-toggle-channel-buffer-mode})
-@item C-c C-t C
-@findex riece-command-toggle-channel-list-buffer-mode
-Toggle visibility of the channel list
-window. (@code{riece-command-toggle-channel-list-buffer-mode})
-@item C-c C-t u
-@findex riece-command-toggle-user-list-buffer-mode
-Toggle visibility of the user list
-window. (@code{riece-command-toggle-user-list-buffer-mode})
-@item C-c C-t f
-@findex riece-command-toggle-freeze
-Disable scrolling of the channel window. (@code{riece-command-toggle-freeze})
-@item C-c C-t o
-@findex riece-command-toggle-own-freeze
-Disable scrolling of the channel window until next
-send. (@code{riece-command-toggle-own-freeze})
-@item C-c C-t a
-@findex riece-command-toggle-away
-Mark or unmark yourself as "away". (@code{riece-command-toggle-away})
-@end table
-
-@node Connecting to multiple servers,  , Commands, Basic usage
-@section Connecting to multiple servers
-
-One of the most important features of Riece is that users can use
-several IRC servers at the same time.
-
-The procedure to use multiple servers consists (1) connecting to the
-foreign server and (2) joinning a channel:
-
-@enumerate
-@item
-Type @kbd{C-c O} (@code{riece-command-open-server}), and then you will
-be asked the server name.
-
-@item
-Type @kbd{C-c j} (@code{riece-command-join}) to join a channel.  Here
-the server name follows the channel name.  To input a space character,
-use @kbd{C-q}.  For example, if you want to join the channel
-@samp{#Riece} on the server @samp{irc6}, type @kbd{C-c j #Riece C-q SPC
-irc6}.
-@end enumerate
-
-If you want to send IRC command without joinning a channel, @kbd{C-c M}
-(@code{riece-command-universal-server-name-argument}) may be useful.
-
-Commands used for connection management are listed below:
-
-@table @kbd
-@item C-c O
-@findex riece-command-open-server
-Connect to the foreign server. (@code{riece-command-open-server})
-@item C-c C
-@findex riece-command-close-server
-Close the connection to the server. (@code{riece-command-close-server})
-@item C-c M
-@findex riece-command-universal-server-name-argument
-Issue a command on the specified
-server. (@code{riece-command-universal-server-name-argument})
-@end table
-
-@node Index, Function Index, Basic usage, Top
-@chapter Index
-@printindex cp
-
-@node Function Index, Variable Index, Index, Top
-@chapter Function Index
-@printindex fn
-
-@node Variable Index,  , Function Index, Top
-@chapter Variable Index
-@printindex vr
-
-@summarycontents
-@contents
-@bye
-
-@c End:
diff --git a/xemacs-packages/riece/doc/riece-ja.texi b/xemacs-packages/riece/doc/riece-ja.texi
deleted file mode 100644 (file)
index ea1eec0..0000000
+++ /dev/null
@@ -1,833 +0,0 @@
-\input texinfo                  @c -*- mode: texinfo; coding: iso-2022-jp -*-
-@c %**start of header
-@setfilename riece-ja.info
-@settitle Riece -- An IRC client for Emacsen --
-@c %**end of header
-@include version-ja.texi
-@c @documentlanguage ja
-
-@dircategory GNU Emacs Lisp
-@direntry
-* Riece-ja: (riece-ja).   An IRC client for Emacsen
-@end direntry
-
-@ifnottex
-This file describes Riece.
-
-Copyright (C) 2003,2004,2005,2006 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
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled "GNU
-Free Documentation License".
-@end ifnottex
-
-@tex
-
-@titlepage
-@title Riece
-
-@author by Daiki Ueno
-@page
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 2003,2004,2005,2006 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
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled "GNU
-Free Documentation License".
-@end titlepage
-@page
-
-@end tex
-
-@node Top, Overview, (dir), (dir)
-@top Riece user's manual
-
-\e$B$3$N%^%K%e%"%k$G$O!"\e(BRiece \e$B%P!<%8%g%s\e(B @value{VERSION} \e$B$K$D$$$F2r@b$7$^$9!#\e(B
-\e$B$3$N%^%K%e%"%k$G07$&HO0O$r1[$($?>pJs$O\e(B Riece \e$B$N8x<0%[!<%`%Z!<%8\e(B 
-@uref{http://www.nongnu.org/riece/} \e$B$+$iF@$i$l$k$+$b$7$l$^$;$s!#\e(B
-
-@menu
-* Overview::                    \e$B$O$8$a$KFI$s$G$M\e(B
-* Getting started::             IRC \e$B%5!<%P$K@\B3$7$F2qOC$7$F$_$h$&\e(B
-* Basic usage::                 \e$B4pK\E*$J;H$$J}\e(B
-* Advanced usage::              \e$B?J$s$@;H$$J}\e(B
-* Tips::                        \e$BJXMx$J@_Dj\e(B
-* Index::                       
-* Function Index::              
-* Variable Index::              
-@end menu
-
-@node Overview, Getting started, Top, Top
-@chapter Overview
-
-Riece \e$B$O\e(B IRC (Internet Relay Chat) \e$B$N@$3&$G%A%c%C%H$r3Z$7$`$?$a$N%f!<%6\e(B
-\e$B%$%s%?!<%U%'!<%9$G$9!#\e(BRiece \e$B$O!V$j!<$9!W$HFI$_$^$9!#\e(B
-
-Riece \e$B$N<g$JFCD9$O0J2<$NDL$j$G$9!#\e(B
-
-@itemize @bullet
-@item \e$BJ#?t$N\e(B IRC \e$B%5!<%P$KF1;~$K@\B32DG=\e(B
-@item \e$B%"%I%*%s$K$h$j5!G=$NDI2C$d<h$j30$7$,MF0W\e(B
-@item \e$BB>$N\e(B elisp \e$B%Q%C%1!<%8$K0MB8$7$J$$$?$a!"%$%s%9%H!<%k$,4JC1\e(B
-@item \e$B@_Dj$,4JC1$G!"A02s5/F0;~$N@_Dj$r5-O?!&I|85$9$k;EAH$_$rDs6!\e(B
-@item \e$BCJ3,E*$JA`:n@bL@=q$,ImB0\e(B
-@item \e$B:G?7$N\e(B IRC \e$B$N%/%i%$%"%s%H%W%m%H%3%k\e(B (RFC2812) \e$B$K=`5r\e(B
-@end itemize
-
-@node Getting started, Basic usage, Overview, Top
-@chapter Getting started
-
-Riece \e$B$r5/F0$9$k<j=g$O<!$NDL$j$G$9!#\e(B
-
-@enumerate
-@item
-@kbd{M-x load-library riece}
-
-@item
-@kbd{M-x riece}
-@end enumerate
-
-\e$B$b$7\e(B (1) \e$B$G\e(B @samp{Cannot open load file: riece} \e$B$N%(%i!<$,H/@8$9$k>l9g$K\e(B
-\e$B$O%$%s%9%H!<%k$K<:GT$7$F$$$^$9!#<+J,$G%=!<%9$+$i%$%s%9%H!<%k$7$?>l9g$K$O\e(B 
-README \e$B$r$b$&0lEYFI$_D>$7$F$/$@$5$$!#\e(BOS\e$B!&%G%#%9%H%j%S%e!<%7%g%s$N%Q%C%1!<\e(B
-\e$B%8$+$i%$%s%9%H!<%k$7$?>l9g$K$O!"%Q%C%1!<%8$K4^$^$l$kJ8=q$r$43NG'$/$@$5$$!#\e(B
-
-Riece \e$B$r5/F0$9$k$H!"\e(BIRC \e$B%5!<%P$NL>A0$rJ9$+$l$^$9!#8x6&$KMxMQ2DG=$J\e(B IRC 
-\e$B%5!<%P$N0lMw$O\e(B Web \e$B%Z!<%8$J$I$+$iF@$k$3$H$,$G$-$^$9!#\e(B
-
-@itemize @bullet
-@item http://irc.kyoto-u.ac.jp
-@item http://freenode.net
-@end itemize
-
-\e$B$^$?!"0J2<$N$h$&$J%a%C%;!<%8$,I=<($5$l$k$+$b$7$l$^$;$s!#\e(B
-
-@example
-Nickname "ueno" already in use.  Choose a new one: 
-@end example
-
-IRC \e$B$G$O!";22C<T$rI=$9$N$K\e(B@emph{\e$B%K%C%/%M!<%`\e(B}\e$B$H8F$P$l$kC;$$8F>N$,;H$o$l\e(B
-\e$B$^$9!#$b$74uK>$N%K%C%/%M!<%`$,B>$NC/$+$K;HMQ$5$l$F$$$k>l9g!"JL$N%K%C%/%M!<\e(B
-\e$B%`$rA*$VI,MW$,$"$j$^$9!#\e(B
-
-IRC \e$B%5!<%P$K@\B3$G$-$?$i!"<!$O2qOC$r$7$F$_$^$7$g$&!#\e(BIRC \e$B$G$O\e(B@emph{\e$B%A%c%s%M%k\e(B}
-\e$B$H8F$P$l$k2>A[E*$J2q5D<<$K;22C$7$F2qOC$r9T$J$$$^$9!#%A%c%s%M%k$KF~$k$K$O\e(B 
-@kbd{C-c j} \e$B$H%?%$%W$7$^$9!#;22C$9$k%A%c%s%M%kL>$r?R$M$i$l$?$i!"E,@Z$J%A%c\e(B
-\e$B%s%M%kL>$rF~NO$7$^$7$g$&!#\e(BIRCnet \e$B$K$O\e(B @samp{#Riece} \e$B$H$$$&%A%c%s%M%k$,$"\e(B
-\e$B$k$N$G!"%F%9%H$r$7$?$$>l9g$K$O<+M3$K$*;H$$$/$@$5$$!#\e(B
-
-\e$B%A%c%s%M%k$KF~$k$H!"2<$N?^$K<($9$h$&$J\e(B 5 \e$B$D$N%&%#%s%I%&\e(B
-@footnote{\e$B$^$.$i$o$7$$$G$9$,!"\e(BEmacs \e$B$N@$3&$G$O%P%C%U%!$rI=<($9$kNN0h$r%&%#\e(B
-\e$B%s%I%&$H8F$S$^$9!#\e(B}\e$B$+$i$J$k2hLL$K@Z$jBX$o$j$^$9!#\e(B
-
-@example
-+-----+-----------------+
-|     |                 |
-|     |                 |
-| (1) |       (2)       |
-|     |                 |
-|     |                 |
-+-----+-----------------+
-|     |       (4)       |
-|     +-----------------+
-| (3) |                 |
-|     |       (5)       |
-|     |                 |
-+-----+-----------------+
-@end example
-
-(4) \e$B$N%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$KJ8>O$rF~NO$7$F%j%?!<%s%-!<$r2!$9$H\e(B
-\e$BH/8@$G$-$^$9!#B>$N;22C<T$NH/8@$O\e(B (2) \e$B$N%&%#%s%I%&$KI=<($5$l$^$9!#\e(B
-
-@node Basic usage, Advanced usage, Getting started, Top
-@chapter Basic usage
-
-@menu
-* Windows::                     \e$B2hLL9=@.\e(B
-* Indicators::                  \e$B<+J,$N>uBV$NI=<(\e(B
-* Commands::                    \e$B%3%^%s%I$N0lMw\e(B
-@end menu
-
-@node Windows, Indicators, Basic usage, Basic usage
-@section Windows
-
-@example
-+-----+-----------------+
-|     |                 |
-|     |                 |
-| (1) |       (2)       |
-|     |                 |
-|     |                 |
-+-----+-----------------+
-|     |       (4)       |
-|     +-----------------+
-| (3) |                 |
-|     |       (5)       |
-|     |                 |
-+-----+-----------------+
-@end example
-
-\e$B3F%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$NLr3d$O0J2<$NDL$j$G$9!#\e(B
-
-@enumerate
-@item
-\e$B%f!<%6%j%9%H%P%C%U%!\e(B (@samp{ *Users*})\e$B!#%A%c%s%M%k$K;22C$7$F$$$k%f!<\e(B
-\e$B%6$N%K%C%/%M!<%`$N0lMw$,I=<($5$l$^$9!#\e(B
-
-@item
-\e$B%A%c%s%M%k%P%C%U%!\e(B (@samp{ *Channel:XXX*})\e$B!#%A%c%s%M%kFb$N2qOC$,I=<($5$l\e(B
-\e$B$^$9!#\e(B
-
-@item
-\e$B%A%c%s%M%k%j%9%H%P%C%U%!\e(B (@samp{ *Channels*})\e$B!#<+J,$,;22C$7$F$$$k%A%c%s%M\e(B
-\e$B%k$N0lMw$,I=<($5$l$^$9!#\e(B
-
-@item
-\e$B%3%^%s%I%P%C%U%!\e(B (@samp{*Command*})\e$B!#J8>O$d%3%^%s%I$rAw?.$9$k$?$a$K;H$$\e(B
-\e$B$^$9!#\e(B
-
-@item
-\e$B%"%6!<%:%P%C%U%!\e(B (@samp{ *Others*})\e$B!#8=:_A*BrCf$N%A%c%s%M%k0J30$N2qOC$,N.\e(B
-\e$B$l$^$9!#\e(B
-@end enumerate
-
-@node Indicators, Commands, Windows, Basic usage
-@section Indicators
-
-\e$B%b!<%I%i%$%s$N:8C<$K$O!"8=:_$N<+J,$N>uBV$r<($90u$,I=<($5$l$^$9!#\e(B
-@footnote{\e$B$b$72hA|$rI=<($G$-$k\e(B Emacs \e$B$r$*;H$$$J$i!":8C<$K\e(B "R" \e$B$N%"%$%3%s\e(B
-\e$B$,I=<($5$l$^$9!#\e(B}
-
-@example
-Riece: ---- ueno #Riece [n]
-@end example
-
-\e$B$3$3$G!"\e(B@samp{----} \e$B$NItJ,$K$O:8$+$i=g$K0J2<$N0UL#$,$"$j$^$9!#\e(B
-
-@enumerate
-@item
-\e$BN%@J>uBV\e(B (\e$BN%@J$7$F$$$l$P\e(B @samp{A})
-
-@item
-IRC \e$B%*%Z%l!<%?>uBV\e(B (IRC \e$B%M%C%H%o!<%/$N4IM}<T8"8B$r;}$C$F$$$l$P\e(B @samp{O})
-
-@item
-\e$B%&%#%s%I%&$N<+F0%9%/%m!<%k$N6X;_\e(B (\e$B40A4$K6X;_$7$F$$$l$P\e(B @samp{F}\e$B!"<+J,$N\e(B
-\e$B<!2s$NH/8@$^$G6X;_$7$F$$$k$N$G$"$l$P\e(B @samp{f})
-
-@item
-\e$B%A%c%s%M%k%*%Z%l!<%?>uBV\e(B (\e$B%A%c%s%M%k$N4IM}<T8"8B$r;}$C$F$$$l$P\e(B @samp{@@})
-@end enumerate
-
-@node Commands,  , Indicators, Basic usage
-@section Commands
-
-@ref{Basic usage}\e$B$GJ8>O$rF~NO$7$?%P%C%U%!$O%3%^%s%I%P%C%U%!$H8F$P$l$^$9!#\e(B
-\e$B%3%^%s%I%P%C%U%!$+$i$OJ8>O$rAw?.$9$k0J30$K!"MM!9$J%3%^%s%I$rH/9T$9$k$3$H\e(B
-\e$B$,$G$-$^$9!#0J2<$K0lIt$r5s$2$^$9!#\e(B
-
-\e$B:G=i$O$J$+$J$+3P$($K$/$$$G$9$,!"\e(B@kbd{C-h b}
- (@kbd{M-x describe-bindings}) \e$B$G;HMQ2DG=$J%-!<A`:n$N0lMw$,I=<($5$l$k$N\e(B
-\e$B$G>/$7$:$D3P$($F$$$/$HNI$$$G$7$g$&!#\e(B
-
-@subsection IRC commands
-@table @kbd
-@item RET
-@findex riece-command-enter-message
-\e$BJ8>O$rAw$j$^$9\e(B(@code{riece-command-enter-message})
-@item C-RET
-@findex riece-command-enter-message-as-notice
-\e$BJ8>O$r\e(B NOTICE \e$B$H$7$FAw$j$^$9\e(B(@code{riece-command-enter-message-as-notice})
-@item C-c j
-@findex riece-command-join
-\e$B%A%c%s%M%k$K;22C$7$^$9\e(B(@code{riece-command-join})
-@item C-c C-p
-@findex riece-command-part
-\e$B%A%c%s%M%k$+$iN%C&$7$^$9\e(B(@code{riece-command-part})
-@item C-c p
-@findex riece-command-enter-message-to-user
-\e$B08@h$r;XDj$7$F8=:_$N9T$rAw$j$^$9\e(B(@code{riece-command-enter-message-to-user})
-@item C-c q
-@findex riece-command-quit
-IRC \e$B$r$d$a$^$9\e(B(@code{riece-command-quit})
-@item C-c n
-@findex riece-command-change-nickname
-\e$B<+J,$N%K%C%/%M!<%`$rJQ99$7$^$9\e(B(@code{riece-command-change-nickname})
-@item C-c f
-@findex riece-command-finger
-\e$B%f!<%6$N>pJs$rD4$Y$^$9\e(B(@code{riece-command-finger})
-@item C-c C-k
-@findex riece-command-kick
-\e$B%f!<%6$r%A%c%s%M%k$+$i=3$j=P$7$^$9\e(B(@code{riece-command-kick})
-@item C-c i
-@findex riece-command-invite
-\e$B%f!<%6$r%A%c%s%M%k$K>7BT$7$^$9\e(B(@code{riece-command-invite})
-@item C-c l
-@findex riece-command-list
-\e$B%Q%?!<%s$KBP$7$F\e(B LIST \e$B$rH/9T$7$^$9\e(B(@code{riece-command-list})
-@item C-c C-n
-@findex riece-command-names
-\e$B%Q%?!<%s$KBP$7$F\e(B NAMES \e$B$rH/9T$7$^$9\e(B(@code{riece-command-names})
-@item C-c w
-@findex riece-command-who
-\e$B%Q%?!<%s$KBP$7$F\e(B WHO \e$B$rH/9T$7$^$9\e(B(@code{riece-command-who})
-@item C-c t
-@findex riece-command-topic
-\e$B%A%c%s%M%k$N%H%T%C%/$r@_Dj$7$^$9\e(B(@code{riece-command-topic})
-@item C-c C-m
-@findex riece-command-change-mode
-\e$B%A%c%s%M%k$N%b!<%I$r@_Dj$7$^$9\e(B(@code{riece-command-change-mode})
-@item C-c o
-@findex riece-command-set-operators
-\e$B%f!<%6$K%A%c%s%M%k$N4IM}<T8"8B$rM?$($^$9!#\e(B@kbd{C-u C-c o} \e$B$G$O5U$K!"%f!<%6$+$i%A%c%s%M%k$N4IM}<T8"8B$rC%$$$^$9\e(B(@code{riece-command-set-operators})
-@item C-c v
-@findex riece-command-set-speakers
-\e$B%f!<%6$K%A%c%s%M%k$G$NH/8@8"$rM?$($^$9!#\e(B@kbd{C-u C-c v} \e$B$G$O5U$K!"%f!<%6$+$i%A%c%s%M%k$G$NH/8@8"$rC%$$$^$9\e(B(@code{riece-command-set-speakers})
-@item C-c V
-@findex riece-version
-Riece \e$B$N%P!<%8%g%s$rI=<($7$^$9!#\e(B(@kbd{C-u C-c V}) \e$B$G!"$h$j>\:Y$J>pJs$rI=<($7$^$9!#\e(B
-@item C-c /
-@findex riece-command-raw
-IRC \e$B%3%^%s%I$rD>@\Aw$j$^$9\e(B(@code{riece-command-raw})
-@end table
-
-@subsection Window manipulating commands
-@table @kbd
-@item C-c r
-@findex riece-command-configure-windows
-\e$B%U%l!<%`A4BN$r:FIA2h$7$^$9\e(B(@code{riece-command-configure-windows})
-@item C-c C-j \e$B$^$?$O\e(B C-c >
-@findex riece-command-next-channel
-\e$B%A%c%s%M%k0lMw$G<!$N%A%c%s%M%k$rA*Br$7$^$9\e(B(@code{riece-command-next-channel})
-@item C-c <
-@findex riece-command-previous-channel
-\e$B%A%c%s%M%k0lMw$GA0$N%A%c%s%M%k$rA*Br$7$^$9\e(B(@code{riece-command-previous-channel})
-@item C-c ^
-@findex riece-command-list-addons
-\e$B%"%I%*%s$N0lMw$rI=<($7$^$9\e(B(@code{riece-command-list-addons})
-@item C-c \e$B?t;z\e(B
-@findex riece-command-switch-to-channel-by-number
-\e$B%A%c%s%M%k0lMw$G\e(B @var{n}\e$BHVL\$N%A%c%s%M%k$rA*Br$7$^$9\e(B(@code{riece-command-switch-to-channel-by-number})
-@item C-c C-c \e$B?t;z\e(B
-@findex riece-command-switch-to-channel-by-number
-\e$B%A%c%s%M%k0lMw$G\e(B @var{n} + 10\e$BHVL\$N%A%c%s%M%k$rA*Br$7$^$9\e(B(@code{riece-command-switch-to-channel-by-number})
-@item C-c Home
-@findex riece-command-beginning-of-buffer
-\e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r>eC<$^$G%9%/%m!<%k$7$^$9\e(B(@code{riece-command-beginning-of-buffer})
-@item C-c $
-@findex riece-command-end-of-buffer
-\e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r2<C<$^$G%9%/%m!<%k$7$^$9\e(B(@code{riece-command-end-of-buffer})
-@item C-c SPC
-@findex riece-command-scroll-up
-\e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r>eJ}8~$K%9%/%m!<%k$7$^$9\e(B(@code{riece-command-scroll-up})
-@item C-c DEL
-@findex riece-command-scroll-down
-\e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r2<J}8~$K%9%/%m!<%k$7$^$9\e(B(@code{riece-command-scroll-down})
-@end table
-
-@subsection Status toggle commands
-@table @kbd
-@item C-c C-t c
-@findex riece-command-toggle-channel-buffer-mode
-\e$B%A%c%s%M%k%P%C%U%!$NI=<(!&HsI=<($r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-channel-buffer-mode})
-@item C-c C-t C
-@findex riece-command-toggle-channel-list-buffer-mode
-\e$B%A%c%s%M%k%j%9%H%P%C%U%!$NI=<(!&HsI=<($r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-channel-list-buffer-mode})
-@item C-c C-t u
-@findex riece-command-toggle-user-list-buffer-mode
-\e$B%f!<%6%j%9%H%P%C%U%!$NI=<(!&HsI=<($r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-user-list-buffer-mode})
-@item C-c C-t f
-@findex riece-command-toggle-freeze
-\e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$N<+F0%9%/%m!<%k$r6X;_$7$^\e(B
-\e$B$9\e(B(@code{riece-command-toggle-freeze})
-@item C-c C-t o
-@findex riece-command-toggle-own-freeze
-\e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r!"<+J,$,H/8@$9$k$^$G!"<+F0\e(B
-\e$B%9%/%m!<%k$r6X;_$7$^$9\e(B(@code{riece-command-toggle-own-freeze})
-@item C-c C-t a
-@findex riece-command-toggle-away
-\e$B<+J,$NN%@J>uBV$r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-away})
-@end table
-
-@node Advanced usage, Tips, Basic usage, Top
-@chapter Advanced usage
-
-\e$B$3$N>O$G$O!"$b$C$H?J$s$@;H$$J}$r2r@b$7$^$9!#\e(B
-
-@menu
-* Startup File::                \e$B@_Dj%U%!%$%k\e(B
-* Server settings::             \e$B%5!<%P$N>\:Y@_Dj\e(B
-* Connecting to multiple servers::  \e$BF1;~$KJ#?t$N%5!<%P$K@\B3$9$k$K$O\e(B
-* Add-ons::                     \e$B%"%I%*%s$H$O\e(B
-@end menu
-
-@node Startup File, Server settings, Advanced usage, Advanced usage
-@section Startup file
-
-\e$B$3$N>O$G$O!"@_Dj%U%!%$%k$K$D$$$F2r@b$7$^$9!#\e(BRiece \e$B$N@_Dj$O\e(B Emacs \e$B$N@_Dj\e(B
-\e$B%U%!%$%k$K=q$$$F$bNI$$$G$9$,!"\e(BRiece \e$B$K8GM-$N@_Dj$O$J$k$Y$/\e(B 
-@file{~/.riece/init} \e$B$K=q$/$3$H$r4+$a$^$9!#\e(B
-
-\e$B$^$?!"\e(BRiece \e$B$r;H$$;O$a$k$H\e(B @file{~/.riece/save} \e$B$H$$$&%U%!%$%k$,:n@.$5$l\e(B
-\e$B$^$9!#$3$N%U%!%$%k$K$OA02s5/F0;~$N@_Dj$N0lIt\e(B(\e$B%&%#%s%I%&9=@.Ey\e(B)\e$B$,<+F0E*$K\e(B
-\e$BJ]B8$5$l$^$9!#\e(B
-
-\e$B5/F0;~$K$O!":G=i$K\e(B @file{~/.riece/save} \e$B$r!"<!$K\e(B @file{~/.riece/init}\e$B$r\e(B
-\e$BFI$_9~$_$^$9!#$D$^$j!"A02s5/F0;~$K\e(B @file{~/.riece/save} \e$B$KJ]B8$5$l$?FbMF\e(B
-\e$B$O!"\e(B@file{~/.riece/init} \e$B$NFbMF$G>e=q$-$5$l$^$9!#\e(B
-
-@node Server settings, Connecting to multiple servers, Startup File, Advanced usage
-@section Server settings
-
-\e$B5/F0;~$K@\B3$9$k\e(B IRC \e$B%5!<%P$NL>A0$OJQ?t\e(B @code{riece-server} \e$B$G;XDj$7$^$9!#\e(B
-@vindex riece-server
-
-@code{riece-server} \e$B$N7A<0$O<!$NDL$j$G$9!#\e(B
-@example
-<\e$B%5!<%P$N%[%9%HL>\e(B>:<\e$B%]!<%HHV9f\e(B>[:<\e$B%Q%9%o!<%I\e(B>]
-@end example
-
-@code{riece-server-alist} \e$B$r@_Dj$9$k$H!"$h$jJ#;($J;XDj$,2DG=$K$J$j$^$9!#\e(B
-@vindex riece-server-alist
-
-\e$B0J2<$NNc$r9M$($^$9!#\e(B
-
-@example
-(setq riece-server-alist
-      '(("foo" :host "irc.example.com" :coding shift_jis)
-        ("bar" :host "irc.example.net" :nickname "baz")))
-
-(setq riece-server "foo")
-@end example
-
-\e$B$3$N@_Dj$N0UL#$O0J2<$NDL$j$G$9!#\e(B
-
-@itemize
-@item
-@samp{foo} \e$B$H$$$&L>A0$N\e(B IRC \e$B%5!<%P$N%[%9%HL>$O\e(B @samp{irc.example.com} \e$B$G!";HMQ$9$kJ8;z%3!<%I$O\e(B Shift_JIS
-
-@item
-@samp{bar} \e$B$H$$$&L>A0$N\e(B IRC \e$B%5!<%P$N%[%9%HL>$O\e(B @samp{irc.example.net} \e$B$G!"$3$N%5!<%P$G$O%K%C%/%M!<%`\e(B @samp{baz} \e$B$r;H$&\e(B
-@end itemize
-
-\e$B;XDj$G$-$k%-!<%o!<%I$N0lMw$O0J2<$NDL$j$G$9!#\e(B
-
-@table @code
-@item :host
-\e$B%5!<%P$N%[%9%HL>$^$?$O\e(B IP \e$B%"%I%l%9\e(B
-@item :service
-\e$B%5!<%P$N%5!<%S%9L>$^$?$O%]!<%HHV9f\e(B
-@item :nickname
-\e$B@\B3;~$N%K%C%/%M!<%`\e(B
-@item :username
-\e$B@\B3;~$N%f!<%6%M!<%`\e(B
-@item :password
-\e$B@\B3;~$N%Q%9%o!<%I\e(B
-@item :function
-\e$B@\B3MQ4X?t\e(B
-@item :coding
-\e$BJ8;z%3!<%I\e(B
-@end table
-
-@node Connecting to multiple servers, Add-ons, Server settings, Advanced usage
-@section Connecting to multiple servers
-
-\e$BF1;~$KJ#?t$N%5!<%P$K@\B3$9$k<j=g$r0J2<$K<($7$^$9!#\e(B
-
-\e$B4{$KFCDj$N%5!<%P$K@\B3$7$F$$$k>uBV$G!"JL$N%5!<%P$K@\B3$9$k$K$O\e(B @kbd{C-c O} (@code{riece-command-open-server}) \e$B$r;H$$$^$9!#\e(B
-
-\e$BJL$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$K$O!"\e(B@kbd{C-c j}
-(@code{riece-command-join})\e$B$G%A%c%s%M%kL>$K\e(B @samp{@@} \e$B$KB3$$$F%5!<%PL>$r\e(B
-\e$BB3$1$^$9!#\e(B
-
-\e$B$?$H$($P!"%5!<%P\e(B @samp{irc.freenode.net} \e$B>e$N\e(B @samp{#Riece} \e$B$O<!$N$h$&\e(B
-\e$B$KI=5-$7$^$9!#\e(B
-
-@example
-#Riece@@irc.freenode.net
-@end example
-
-\e$B%A%c%s%M%kL>$H%5!<%P$N6h@Z$jJ8;z\e(B @samp{@@} \e$B$O\e(B
-\e$BJQ?t\e(B @code{riece-alias-alternate-separator} \e$B$GJQ99$G$-$^$9!#\e(B
-
-\e$B$^$?$O!"6uGrJ8;z$G$bBeMQ$G$-$^$9!#$3$N;~$K$O!"\e(B@kbd{C-q SPC} \e$B$HF~NO$9$k\e(B
-\e$BI,MW$,$"$j$^$9!#\e(B
-
-\e$BJ#?t$N@\B3$rA`:n$9$k%3%^%s%I$r0J2<$K$^$H$a$^$9!#\e(B
-
-@table @kbd
-@item C-c O
-@findex riece-command-open-server
-\e$BJL$N%5!<%P$K@\B3$7$^$9\e(B(@code{riece-command-open-server})
-@item C-c C
-@findex riece-command-close-server
-\e$B%5!<%P$H$N@\B3$r@ZCG$7$^$9\e(B(@code{riece-command-close-server})
-@item C-c M
-@findex riece-command-universal-server-name-argument
-\e$BFCDj$N%5!<%P$KBP$7$F!"B3$/%3%^%s%I$rH/9T$7$^$9\e(B(@code{riece-command-universal-server-name-argument})
-@end table
-
-@node Add-ons,  , Connecting to multiple servers, Advanced usage
-@section Add-ons
-
-Riece \e$B$G$O!";(B?$J5!G=$rA*BrE*$KMxMQ$G$-$k$h$&!"%"%I%*%s$H8F$P$l$k5!9=\e(B
-\e$B$rMQ0U$7$F$$$^$9!#%"%I%*%s$ODL>o$N\e(B elisp \e$B%b%8%e!<%k$r3HD%$7$?$b$N$G!"\e(B
-\e$B0BA4$J<h$j30$7$d!"%"%I%*%s4V$N=i4|2==hM}$N0MB84X78$J$I$NLLE]$r$_$^$9!#\e(B
-
-\e$B%"%I%*%s$K$O<!$N;M<oN`$N>uBV$,$"$j$^$9!#\e(B
-
-@table @asis
-@item unloaded
-\e$BFI$_9~$_A0!#%"%I%*%s$N\e(B elisp \e$B%b%8%e!<%k$,FI$_9~$^$l$F$$$J$$>uBV\e(B
-
-@item insinuated
-\e$BAH$_9~$_:Q$_!#%"%I%*%s$N\e(B elisp \e$B%b%8%e!<%k$,FI$_9~$^$l!"=i4|2==hM}$,40N;$7$?>uBV\e(B
-
-@item enabled
-\e$BM-8z!#%"%I%*%s$,F0:nCf\e(B
-
-@item disabled
-\e$BL58z!#%"%I%*%s$NF0:n$,Dd;_Cf\e(B
-
-@end table
-
-@menu
-* Add-on browser::              \e$B%"%I%*%s$N0lMwI=<(\e(B
-* Available add-ons::           \e$BI8=`E:IU$N%"%I%*%s$N>R2p\e(B
-@end menu
-
-@node Add-on browser, Available add-ons, Add-ons, Add-ons
-@subsection Add-on browser
-
-Riece \e$B$NF0:nCf$K%"%I%*%s$N0lMw$rD/$a$k$K$O%"%I%*%s%V%i%&%6$r;H$&$HJXMx$G$9!#\e(B
-\e$B%3%^%s%I%P%C%U%!$G\e(B @kbd{C-c ^} \e$B$H$9$k$H!"<!$N$h$&$KI=<($5$l$^$9!#\e(B
-
-@example
-+ riece-alias         Define aliases for IRC names.
-  riece-async         Connect to IRC server via async proxy.
-  riece-biff          Be notified if messages arrives.
-+ riece-button        Display useful buttons in IRC buffers.
-+ riece-ctcp          CTCP (Client To Client Protocol) support.
-+ riece-ctlseq        Mark up control sequences in IRC buffers.
-@end example
-
-\e$B3F9T$N:8C<$N%^!<%/$O%"%I%*%s$N>uBV$rI=$o$7$F$$$^$9!#\e(B@samp{+} \e$B$OAH9~$^\e(B
-\e$B$l$FM-8z$J%"%I%*%s!"6uGr$O%m!<%I$5$l$F$$$J$$%"%I%*%s$G$9!#\e(B
-
-\e$B$3$3$G!"\e(Briece-button \e$B$rL58z$K$7$?$$>l9g!";M9TL\$N@hF,$G\e(B @kbd{-} \e$B$H$7$^\e(B
-\e$B$9!#$9$k$H!"@hF,$N%^!<%/$,\e(B @samp{+} \e$B$+$i\e(B @samp{-} \e$B$KJQ2=$7$^$9!#\e(B
-
-@example
-+ riece-alias         Define aliases for IRC names.
-  riece-async         Connect to IRC server via async proxy.
-  riece-biff          Be notified if messages arrives.
-- riece-button        Display useful buttons in IRC buffers.
-+ riece-ctcp          CTCP (Client To Client Protocol) support.
-+ riece-ctlseq        Mark up control sequences in IRC buffers.
-@end example
-
-\e$B$5$i$K!"\e(B@samp{u} \e$B$H$9$k$H!"\e(Briece-button \e$B$r%"%I%*%s$N@_Dj$+$i=|30$7$^$9!#\e(B
-\e$B$5$i$K!"\e(B@samp{U} \e$B$H$9$k$H!"\e(Briece-button \e$B$r40A4$K%"%s%m!<%I$7$^$9!#\e(B
-
-\e$B$3$N>uBV$G!"\e(B@samp{s} \e$B$^$?$O\e(B @samp{M-x riece-command-save-variables} \e$B$H\e(B
-\e$B$9$k$H!"@_Dj$rJ]B8$7$^$9!#\e(B
-
-@file{~/.riece/init} \e$B$G%"%I%*%s$rAH$_9~$`$K$O\e(B @code{riece-addons} \e$B$r@_\e(B
-\e$BDj$7$^$9!#$?$H$($P\e(B @samp{riece-alias} \e$B$rAH$_9~$`>l9g$K$O!"0J2<$N$h$&$K\e(B
-\e$B5-=R$7$^$9!#\e(B
-@vindex riece-addons
-
-@example
-(add-to-list 'riece-addons 'riece-mini)
-@end example
-
-@node Available add-ons,  , Add-on browser, Add-ons
-@subsection Available add-ons
-
-\e$BMxMQ2DG=$J%"%I%*%s$O<!$NDL$j$G$9!#$3$l$i$N$&$A$NB?$/$OI8=`$GAH$_9~$^$l\e(B
-\e$B$F$$$^$9!#\e(B
-
-@table @samp
-@item riece-alias
-\e$B%A%c%s%M%kL>$d%K%C%/%M!<%`$NJLL>$rDj5A\e(B
-@item riece-async
-Emacs \e$B$,\e(B busy or suspend \e$B>uBV$K$J$k$3$H$KHw$(!"\e(B
-PING \e$B$K1~Ez$9$k\e(B local proxy \e$B7PM3$G\e(B IRC \e$B%5!<%P$K@\B3\e(B
-@item riece-biff
-\e$BB>$N%P%C%U%!$K$$$k;~$KH/8@$,$"$k$H%b!<%I%i%$%s$K0u\e(B ("[R]") \e$B$rI=<(\e(B
-@item riece-button
-\e$B%\%?%s$d%]%C%W%"%C%W%a%K%e!<$NI=<(\e(B
-@item riece-ctcp
-CTCP (Client To Client Protocol)
-@item riece-ctlseq
-\e$B%3%s%H%m!<%k%7!<%1%s%9\e(B (^B \e$B$J$I\e(B) \e$B$K$h$k6/D4I=<(\e(B
-@item riece-doctor
-doctor.el \e$B$HO"7H$7$F@:?@2J0e$K$J$j$9$^$9\e(B
-@item riece-epg
-EasyPG @uref{http://www.easypg.org} \e$B$K$h$k2qOC$N0E9f2=\e(B
-@item riece-eval-ruby
-\e$BF~NO$5$l$?J8;zNs$r\e(B Ruby \e$B$N<0$H$7$FI>2A\e(B
-@item riece-eval
-\e$BF~NO$5$l$?J8;zNs$r\e(B Emacs Lisp \e$B$N<0$H$7$FI>2A\e(B
-@item riece-foolproof
-\e$B%A%c%s%M%k%_%9$rKI$0\e(B
-@item riece-google
-\e$B%-!<%o!<%I$r\e(B Google \e$B$G8!:w\e(B
-@item riece-guess
-\e$B?'!9$JJ}K!$G0\F0@h$N%A%c%s%M%k$r?dB,\e(B
-@item reice-hangman
-\e$B%A%c%s%M%kFb$G\e(B hangman \e$B$GM7$V\e(B
-@item riece-highlight
-\e$B%P%C%U%!$N?'IU$1\e(B
-@item riece-history
-\e$B%A%c%s%M%k0\F0$NMzNr4IM}\e(B
-@item riece-icon
-\e$B%P%C%U%!Cf$K%"%$%3%s$rI=<(\e(B
-@item riece-ignore
-\e$B;XDj$7$?%f!<%6$NH/8@$rL5;k\e(B
-@item riece-kakasi
-\e$BF|K\8l$NDL$i$J$$C<Kv$G!"F|K\8l$r%m!<%^;z$GI=<(\e(B
-@item riece-keepalive
-IRC \e$B%5!<%P$H$N@\B3$rJ];}\e(B
-@item riece-keyword
-\e$B%-!<%o!<%I$N6/D4I=<(\e(B
-@item riece-log
-\e$B2qOC$N%m%0$r%U%!%$%k$KJ]B8\e(B
-@item riece-lsdb
-\e$B%"%I%l%9D"\e(B LSDB (Lovely Sister Database)
-@uref{http://lsdb.sourceforge.jp} \e$B$HO"7H\e(B
-@item riece-mcat
-\e$B%a%C%;!<%8%+%?%m%0\e(B
-@item riece-menu
-\e$B%a%K%e!<%P!<$K%a%K%e!<$rEPO?\e(B
-@item riece-mini
-\e$B%_%K%P%C%U%!$N$_$G\e(B IRC \e$B$r$9$k\e(B
-@item riece-ndcc
-DCC (Direct Client to Client protocol) \e$B$K$h$k%U%!%$%kE>Aw\e(B
-(Emacs 22 \e$B$G$N$_F0:n\e(B)
-@item riece-rdcc
-DCC (Direct Client to Client protocol) \e$B$K$h$k%U%!%$%kE>Aw\e(B
-@item riece-shrink-buffer
-\e$B%a%b%j3NJ]$N$?$a!"%P%C%U%!$rDj4|E*$K@Z$j5M$a$k\e(B
-@item riece-skk-kakutei
-SKK \e$B;HMQ;~$KJQ49%b!<%I$N0u$rH/8@$+$i<h$j=|$/\e(B
-@item riece-toolbar
-\e$B%D!<%k%P!<$rI=<(\e(B
-@item riece-unread
-\e$BH/8@$N$"$C$?%A%c%s%M%k$K\e(B@samp{!}\e$B%^!<%/$r$D$1$k\e(B
-@item riece-url
-\e$B2qOC$K8=$l$?\e(B URL \e$B$N<}=8\e(B
-@item riece-xface
-\e$B%f!<%6%j%9%H%P%C%U%!$K%f!<%6$N\e(B X-Face \e$B$rI=<(\e(B
-@item riece-xfaceb
-\e$B%f!<%6%j%9%H%P%C%U%!$K%f!<%6$N\e(B X-Face \e$B$rI=<(\e(B
-(BBDB @uref{http://bbdb.sourceforge.net} \e$B$,I,MW\e(B)
-@item riece-yank
-@kbd{C-c y} \e$B$G\e(B kill-ring \e$B$+$iJ8;zNs$rAw?.\e(B
-@end table
-
-@node Tips, Index, Advanced usage, Top
-@comment  node-name,  next,  previous,  up
-@chapter Tips
-
-\e$B$3$N>O$G$O!"$h$/J9$+$l$k<ALd$KBP$9$kEz$($HJXMx$J@_DjNc$r>R2p$7$^$9!#\e(B
-
-@section \e$BD>A0$KA*Br$7$F$$$?%A%c%s%M%k$K0\F0$7$?$$\e(B
-@vindex riece-guess-channel-try-functions
-
-\e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$9$k$3$H$G!"\e(B@kbd{C-c g} \e$B$GMzNr$rC)\e(B
-\e$B$j$D$D0\F0$G$-$^$9!#\e(B@samp{riece-guess} \e$B%"%I%*%s$O!"%A%c%s%M%kA*Br$NMzNr\e(B
-\e$B$dL$FI%a%C%;!<%8$NM-L5$J$I$+$i<!$KA*Br$9$k%A%c%s%M%k$r?dB,$7$F$/$l$k%"%I\e(B
-\e$B%*%s$G!"I8=`$GAH$_9~$^$l$F$$$^$9!#\e(B
-
-@example
-(add-hook 'riece-guess-channel-try-functions
-          'riece-guess-channel-from-history)
-@end example
-
-@section \e$BH/8@$,$"$k$H%P%C%U%!$,%9%/%m!<%k$9$k$N$r;_$a$?$$\e(B
-
-@kbd{C-c C-t f} \e$B$G$9!#\e(B@emph{t}oggle @emph{f}reeze \e$B$H3P$($k$HNI$$$G$7$g$&!#\e(B
-
-@section \e$BAu>~$rM^@)$7$?$$\e(B
-
-@code{riece-addons} \e$B$+$iAu>~$N$?$a$N%"%I%*%s$r=|30$7$^$9!#\e(B
-\e$BDL>oM-8z$K$J$C$F$$$kAu>~$N$?$a$N%"%I%*%s$O<!$NDL$j$G$9!#\e(B
-
-@itemize
-@item
-\e$B?'IU$1\e(B (@samp{riece-highlight})
-
-@item
-\e$B%\%?%sI=<(\e(B (@samp{riece-button})
-
-@item
-\e$B%"%$%3%s2hA|$NI=<(\e(B (@samp{riece-icon})
-@end itemize
-
-\e$B$?$H$($P?'IU$1$r$d$a$?$$$N$G$"$l$P!"0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI\e(B
-\e$B2C$7$^$9!'\e(B
-
-@example
-(setq riece-addons (delq 'riece-highlight riece-addons))
-@end example
-
-@section \e$BFCDj$NJ8;zNs$r<u?.$7$?$i2;$rLD$i$7$?$$\e(B
-@vindex riece-keyword-notify-functions
-
-\e$B0J2<$N@_Dj$r\e(B @file{~/.riece/init} \e$B$K2C$($^$9!#\e(B@samp{riece-keywords} \e$B%"%I\e(B
-\e$B%*%s$r;H$&$HFCDj$NJ8;zNs$r<u?.$7$?:]$NF0:n$r;XDj$G$-$^$9!#\e(B
-
-@example
-(setq riece-keywords '("\e$B$[$2\e(B" "\e$B$U$,\e(B"))
-(add-hook 'riece-keyword-notify-functions
-          (lambda (keyword message) (ding)))
-@end example
-
-@section SKK \e$B$r;H$C$F$$$F!"JQ49Cf$N0u\e(B (\e$B"&\e(B) \e$B$rAw?.$7$F$7$^$&$3$H$,$"$k\e(B
-
-\e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B
-
-@example
-(add-to-list 'riece-addons 'riece-skk-kakutei)
-@end example
-
-@section \e$B%A%c%s%M%k0lMw$NJB$S=g$r8GDj$7$?$$\e(B
-@vindex riece-default-channel-binding
-
-\e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B
-
-@example
-(setq riece-default-channel-binding
-     '("#Riece" "#emacsen" nil "#debianjp"))
-@end example
-
-\e$B$3$N@_DjNc$G$O!"%A%c%s%M%k0lMw$NJB$S=g$O<!$N$h$&$K$J$j$^$9!#\e(B
-
-@enumerate
-@item
-#Riece
-@item
-#emacsen
-@item
-\e$B$J$7\e(B
-@item
-#debianjp
-@end enumerate
-
-3 \e$BHVL\$N%A%c%s%M%k$,6u@J$H$J$C$F$$$k$3$H$K$4Cm0U$/$@$5$$!#?7$?$J%A%c%s%M\e(B
-\e$B%k$K;22C$7$?>l9g!"$=$N%A%c%s%M%k$,\e(B 3 \e$BHVL\$N0LCV$K3dEv$F$i$l$^$9!#\e(B
-
-@section \e$B5/F0;~$K<+F0E*$K%A%c%s%M%k$K;22C$7$?$$\e(B
-@vindex riece-startup-channel-list
-
-\e$BJQ?t\e(B @samp{riece-startup-channel-list} \e$B$r@_Dj$7$^$9!#\e(B
-
-@example
-(setq riece-startup-channel-list
-     '("#Riece" "#public"))
-@end example
-
-\e$B$3$N@_DjNc$O!"\e(B@samp{#Riece} \e$B$H\e(B @samp{#public} \e$B$K;22C$9$k$3$H$r0UL#$7$F$$\e(B
-\e$B$^$9!#%A%c%s%M%k$K;22C$9$k:]$K%Q%9%o!<%I$,I,MW$J>l9g$K$O<!$N$h$&$K@_Dj$7\e(B
-\e$B$^$9!#\e(B
-
-@example
-(setq riece-startup-channel-list
-     '("#Riece" "#public" ("#private" "password")))
-@end example
-
-@section \e$B5/F0;~$K<+F0E*$KJ#?t$N\e(B IRC \e$B%5!<%P$K@\B3$7$?$$\e(B
-@vindex riece-startup-server-list
-
-\e$BJQ?t\e(B @samp{riece-startup-server-list} \e$B$r@_Dj$7$^$9!#\e(B
-
-@example
-(setq riece-server "ircnet"
-      riece-server-alist '(("ircnet" :host "irc.tokyo.wide.ad.jp")
-                           ("freenode" :host "irc.ipv6.freenode.net")))
-@end example
-
-\e$B$3$N@_DjNc$G$O!"5/F0;~$K@\B3$9$k$N$O\e(B "ircnet" \e$B$@$1$G$9!#\e(B
-@samp{riece-startup-server-list} \e$B$r0J2<$N$h$&$K@_Dj$9$k$H!"\e(B
-"freenode" \e$B$K$b@\B3$9$k$h$&$K$J$j$^$9!#\e(B
-
-@example
-(setq riece-startup-server-list '("freenode"))
-@end example
-
-@section HTTP \e$B%W%m%-%7$r2p$7$F\e(B IRC \e$B%5!<%P$K@\B3$7$?$$\e(B
-@file{relay.el} \e$B$H\e(B @file{connect.c} \e$B$r;H$&$H!"\e(B
-HTTP \e$B%W%m%-%7$r2p$7$F\e(B IRC \e$B%5!<%P$K@\B3$9$k$3$H$,$G$-$^$9!#\e(B
-
-@table @asis
-@item relay.el
-@uref{http://www.taiyo.co.jp/~gotoh/lisp/relay.el}
-
-@item connect.c
-@uref{http://www.taiyo.co.jp/~gotoh/ssh/connect.html}
-@end table
-
-\e$B$?$H$($P!"\e(B@samp{proxy.example.com:8080} \e$B7PM3$G\e(B 
-@samp{irc.tokyo.wide.ad.jp} \e$B$K@\B3$9$k>l9g$K$O!"0J2<$N9T$r\e(B 
-@file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B
-
-@example
-(require 'relay)
-(setq relay-command-alist (cons '("^irc\.tokyo\.wide\.ad\.jp$"
-                                  "connect" "-H" "proxy.example.com:8080"
-                                  host service)
-                                relay-command-alist)
-      riece-server-alist (cons '("proxy-tokyo" :host "irc.tokyo.wide.ad.jp"
-                                 :function relay-open-network-stream)
-                               riece-server-alist))
-@end example
-
-@section \e$B2qOC$N%m%0$r%U%!%$%k$KJ]B8$7$?$$\e(B
-@vindex riece-log-directory-map
-
-@samp{riece-log} \e$B%"%I%*%s$r;H$&$H!"2qOC$N%m%0$r%U%!%$%k$KJ]B8$7!":F5/F0\e(B
-\e$B;~$K;2>H$G$-$^$9!#\e(B@samp{riece-log} \e$B%"%I%*%s$OI8=`$GAH$_9~$^$l$F$$$^$9!#\e(B
-
-\e$BDL>o$O\e(B @file{~/.riece/log} \e$B$N2<$K\e(B IRC \e$B%5!<%P$NL>A0!"%A%c%s%M%kL>$N%G%#%l\e(B
-\e$B%/%j$,:n@.$5$l!"$=$NCf$KF|$K$AKh$KJ,JL$5$l$FJ]B8$5$l$^$9!#\e(B
-
-\e$B%G%#%l%/%H%jL>$,J8;z2=$1$9$k>l9g$K$O!"\e(B
-@code{file-name-coding-system} \e$B$NCM$rE,@Z$K@_Dj$9$k$+!"$"$k$$$O\e(B 
-@code{riece-log-directory-map} \e$B$r;H$C$F%A%c%s%M%kL>$r\e(B US-ASCII \e$BJ8;zNs$K\e(B
-\e$BJQ49$9$kI,MW$,$"$j$^$9!#\e(B
-
-@example
-(setq riece-log-directory-map '(("#\e$B$j!<$9\e(B" . "riece")))
-@end example
-
-@section \e$B%&%#%s%I%&4V$r<+M3$K0\F0$7$?$$\e(B
-
-GNU Emacs \e$B$KImB0$N\e(B @samp{windmove.el} \e$B$r;H$&$HJXMx$G$9!#>\:Y$O\e(B 
-@samp{windmove.el} \e$B$N%3%a%s%H$r;2>H$/$@$5$$!#\e(B@samp{windmove.el} \e$B$O\e(B 
-\e$B:n<T$N%Z!<%8\e(B (@uref{http://hovav.net/elisp/}) \e$B$+$i$b<hF@$G$-$^$9!#\e(B
-
-@node Index, Function Index, Tips, Top
-@chapter Index
-@printindex cp
-
-@node Function Index, Variable Index, Index, Top
-@chapter Function Index
-@printindex fn
-
-@node Variable Index,  , Function Index, Top
-@chapter Variable Index
-@printindex vr
-
-@summarycontents
-@contents
-@bye
-
-@c End:
diff --git a/xemacs-packages/riece/doc/texinfo.tex b/xemacs-packages/riece/doc/texinfo.tex
deleted file mode 100644 (file)
index ff2c406..0000000
+++ /dev/null
@@ -1,7210 +0,0 @@
-% texinfo.tex -- TeX macros to handle Texinfo files.
-%
-% Load plain if necessary, i.e., if running under initex.
-\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
-%
-\def\texinfoversion{2005-07-05.19}
-%
-% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
-% Foundation, Inc.
-%
-% This texinfo.tex file is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License as
-% published by the Free Software Foundation; either version 2, or (at
-% your option) any later version.
-%
-% This texinfo.tex file is distributed in the hope that it will be
-% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-% General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with this texinfo.tex file; see the file COPYING.  If not, write
-% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-% Boston, MA 02110-1301, USA.
-%
-% As a special exception, when this file is read by TeX when processing
-% a Texinfo source document, you may use the result without
-% restriction.  (This has been our intent since Texinfo was invented.)
-%
-% Please try the latest version of texinfo.tex before submitting bug
-% reports; you can get the latest version from:
-%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-%   ftp://tug.org/tex/texinfo.tex
-%     (and all CTAN mirrors, see http://www.ctan.org).
-% The texinfo.tex in any given distribution could well be out
-% of date, so if that's what you're using, please check.
-%
-% Send bug reports to bug-texinfo@gnu.org.  Please include including a
-% complete document in each bug report with which we can reproduce the
-% problem.  Patches are, of course, greatly appreciated.
-%
-% To process a Texinfo manual with TeX, it's most reliable to use the
-% texi2dvi shell script that comes with the distribution.  For a simple
-% manual foo.texi, however, you can get away with this:
-%   tex foo.texi
-%   texindex foo.??
-%   tex foo.texi
-%   tex foo.texi
-%   dvips foo.dvi -o  # or whatever; this makes foo.ps.
-% The extra TeX runs get the cross-reference information correct.
-% Sometimes one run after texindex suffices, and sometimes you need more
-% than two; texi2dvi does it as many times as necessary.
-%
-% It is possible to adapt texinfo.tex for other languages, to some
-% extent.  You can get the existing language-specific files from the
-% full Texinfo distribution.
-%
-% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
-
-
-\message{Loading texinfo [version \texinfoversion]:}
-
-% If in a .fmt file, print the version number
-% and turn on active characters that we couldn't do earlier because
-% they might have appeared in the input file name.
-\everyjob{\message{[Texinfo version \texinfoversion]}%
-  \catcode`+=\active \catcode`\_=\active}
-
-\message{Basics,}
-\chardef\other=12
-
-% We never want plain's \outer definition of \+ in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
-
-% Save some plain tex macros whose names we will redefine.
-\let\ptexb=\b
-\let\ptexbullet=\bullet
-\let\ptexc=\c
-\let\ptexcomma=\,
-\let\ptexdot=\.
-\let\ptexdots=\dots
-\let\ptexend=\end
-\let\ptexequiv=\equiv
-\let\ptexexclam=\!
-\let\ptexfootnote=\footnote
-\let\ptexgtr=>
-\let\ptexhat=^
-\let\ptexi=\i
-\let\ptexindent=\indent
-\let\ptexinsert=\insert
-\let\ptexlbrace=\{
-\let\ptexless=<
-\let\ptexnewwrite\newwrite
-\let\ptexnoindent=\noindent
-\let\ptexplus=+
-\let\ptexrbrace=\}
-\let\ptexslash=\/
-\let\ptexstar=\*
-\let\ptext=\t
-
-% If this character appears in an error message or help string, it
-% starts a new line in the output.
-\newlinechar = `^^J
-
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\thisisundefined
-  \let\linenumber = \empty % Pre-3.0.
-\else
-  \def\linenumber{l.\the\inputlineno:\space}
-\fi
-
-% Set up fixed words for English if not already set.
-\ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
-\ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
-\ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
-\ifx\putwordin\undefined        \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined     \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
-\ifx\putwordInfo\undefined      \gdef\putwordInfo{Info}\fi
-\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
-\ifx\putwordMethodon\undefined  \gdef\putwordMethodon{Method on}\fi
-\ifx\putwordNoTitle\undefined   \gdef\putwordNoTitle{No Title}\fi
-\ifx\putwordof\undefined        \gdef\putwordof{of}\fi
-\ifx\putwordon\undefined        \gdef\putwordon{on}\fi
-\ifx\putwordpage\undefined      \gdef\putwordpage{page}\fi
-\ifx\putwordsection\undefined   \gdef\putwordsection{section}\fi
-\ifx\putwordSection\undefined   \gdef\putwordSection{Section}\fi
-\ifx\putwordsee\undefined       \gdef\putwordsee{see}\fi
-\ifx\putwordSee\undefined       \gdef\putwordSee{See}\fi
-\ifx\putwordShortTOC\undefined  \gdef\putwordShortTOC{Short Contents}\fi
-\ifx\putwordTOC\undefined       \gdef\putwordTOC{Table of Contents}\fi
-%
-\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
-\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
-\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
-\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
-\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
-\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
-\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
-\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
-\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
-\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
-\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
-\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
-%
-\ifx\putwordDefmac\undefined    \gdef\putwordDefmac{Macro}\fi
-\ifx\putwordDefspec\undefined   \gdef\putwordDefspec{Special Form}\fi
-\ifx\putwordDefvar\undefined    \gdef\putwordDefvar{Variable}\fi
-\ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
-\ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
-
-% In some macros, we cannot use the `\? notation---the left quote is
-% in some cases the escape char.
-\chardef\backChar  = `\\
-\chardef\colonChar = `\:
-\chardef\commaChar = `\,
-\chardef\dotChar   = `\.
-\chardef\exclamChar= `\!
-\chardef\plusChar  = `\+
-\chardef\questChar = `\?
-\chardef\semiChar  = `\;
-\chardef\underChar = `\_
-
-\chardef\spaceChar = `\ %
-\chardef\spacecat = 10
-\def\spaceisspace{\catcode\spaceChar=\spacecat}
-
-{% for help with debugging.
- % example usage: \expandafter\show\activebackslash
- \catcode`\! = 0 \catcode`\\ = \active
- !global!def!activebackslash{\}
-}
-
-% Ignore a token.
-%
-\def\gobble#1{}
-
-% The following is used inside several \edef's.
-\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
-
-% Hyphenation fixes.
-\hyphenation{
-  Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
-  ap-pen-dix bit-map bit-maps
-  data-base data-bases eshell fall-ing half-way long-est man-u-script
-  man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
-  par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
-  spell-ing spell-ings
-  stand-alone strong-est time-stamp time-stamps which-ever white-space
-  wide-spread wrap-around
-}
-
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen\bindingoffset
-\newdimen\normaloffset
-\newdimen\pagewidth \newdimen\pageheight
-
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
-%
-\def\finalout{\overfullrule=0pt}
-
-% @| inserts a changebar to the left of the current line.  It should
-% surround any changed text.  This approach does *not* work if the
-% change spans more than two lines of output.  To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
-%
-\def\|{%
-  % \vadjust can only be used in horizontal mode.
-  \leavevmode
-  %
-  % Append this vertical mode material after the current line in the output.
-  \vadjust{%
-    % We want to insert a rule with the height and depth of the current
-    % leading; that is exactly what \strutbox is supposed to record.
-    \vskip-\baselineskip
-    %
-    % \vadjust-items are inserted at the left edge of the type.  So
-    % the \llap here moves out into the left-hand margin.
-    \llap{%
-      %
-      % For a thicker or thinner bar, change the `1pt'.
-      \vrule height\baselineskip width1pt
-      %
-      % This is the space between the bar and the text.
-      \hskip 12pt
-    }%
-  }%
-}
-
-% Sometimes it is convenient to have everything in the transcript file
-% and nothing on the terminal.  We don't just call \tracingall here,
-% since that produces some useless output on the terminal.  We also make
-% some effort to order the tracing commands to reduce output in the log
-% file; cf. trace.sty in LaTeX.
-%
-\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\def\loggingall{%
-  \tracingstats2
-  \tracingpages1
-  \tracinglostchars2  % 2 gives us more in etex
-  \tracingparagraphs1
-  \tracingoutput1
-  \tracingmacros2
-  \tracingrestores1
-  \showboxbreadth\maxdimen \showboxdepth\maxdimen
-  \ifx\eTeXversion\undefined\else % etex gives us more logging
-    \tracingscantokens1
-    \tracingifs1
-    \tracinggroups1
-    \tracingnesting2
-    \tracingassigns1
-  \fi
-  \tracingcommands3  % 3 gives us more in etex
-  \errorcontextlines16
-}%
-
-% add check for \lastpenalty to plain's definitions.  If the last thing
-% we did was a \nobreak, we don't want to insert more space.
-%
-\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
-  \removelastskip\penalty-50\smallskip\fi\fi}
-\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
-  \removelastskip\penalty-100\medskip\fi\fi}
-\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
-  \removelastskip\penalty-200\bigskip\fi\fi}
-
-% For @cropmarks command.
-% Do @cropmarks to get crop marks.
-%
-\newif\ifcropmarks
-\let\cropmarks = \cropmarkstrue
-%
-% Dimensions to add cropmarks at corners.
-% Added by P. A. MacKay, 12 Nov. 1986
-%
-\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong  \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
-\newdimen\topandbottommargin \topandbottommargin=.75in
-
-% Main output routine.
-\chardef\PAGE = 255
-\output = {\onepageout{\pagecontents\PAGE}}
-
-\newbox\headlinebox
-\newbox\footlinebox
-
-% \onepageout takes a vbox as an argument.  Note that \pagecontents
-% does insertions, but you have to call it yourself.
-\def\onepageout#1{%
-  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
-  %
-  \ifodd\pageno  \advance\hoffset by \bindingoffset
-  \else \advance\hoffset by -\bindingoffset\fi
-  %
-  % Do this outside of the \shipout so @code etc. will be expanded in
-  % the headline as they should be, not taken literally (outputting ''code).
-  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
-  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
-  %
-  {%
-    % Have to do this stuff outside the \shipout because we want it to
-    % take effect in \write's, yet the group defined by the \vbox ends
-    % before the \shipout runs.
-    %
-    \indexdummies         % don't expand commands in the output.
-    \shipout\vbox{%
-      % Do this early so pdf references go to the beginning of the page.
-      \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
-      %
-      \ifcropmarks \vbox to \outervsize\bgroup
-        \hsize = \outerhsize
-        \vskip-\topandbottommargin
-        \vtop to0pt{%
-          \line{\ewtop\hfil\ewtop}%
-          \nointerlineskip
-          \line{%
-            \vbox{\moveleft\cornerthick\nstop}%
-            \hfill
-            \vbox{\moveright\cornerthick\nstop}%
-          }%
-          \vss}%
-        \vskip\topandbottommargin
-        \line\bgroup
-          \hfil % center the page within the outer (page) hsize.
-          \ifodd\pageno\hskip\bindingoffset\fi
-          \vbox\bgroup
-      \fi
-      %
-      \unvbox\headlinebox
-      \pagebody{#1}%
-      \ifdim\ht\footlinebox > 0pt
-        % Only leave this space if the footline is nonempty.
-        % (We lessened \vsize for it in \oddfootingxxx.)
-        % The \baselineskip=24pt in plain's \makefootline has no effect.
-        \vskip 2\baselineskip
-        \unvbox\footlinebox
-      \fi
-      %
-      \ifcropmarks
-          \egroup % end of \vbox\bgroup
-        \hfil\egroup % end of (centering) \line\bgroup
-        \vskip\topandbottommargin plus1fill minus1fill
-        \boxmaxdepth = \cornerthick
-        \vbox to0pt{\vss
-          \line{%
-            \vbox{\moveleft\cornerthick\nsbot}%
-            \hfill
-            \vbox{\moveright\cornerthick\nsbot}%
-          }%
-          \nointerlineskip
-          \line{\ewbot\hfil\ewbot}%
-        }%
-      \egroup % \vbox from first cropmarks clause
-      \fi
-    }% end of \shipout\vbox
-  }% end of group with \indexdummies
-  \advancepageno
-  \ifnum\outputpenalty>-20000 \else\dosupereject\fi
-}
-
-\newinsert\margin \dimen\margin=\maxdimen
-
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-{\catcode`\@ =11
-\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-% marginal hacks, juha@viisa.uucp (Juha Takala)
-\ifvoid\margin\else % marginal info is present
-  \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
-\dimen@=\dp#1 \unvbox#1
-\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-}
-
-% Here are the rules for the cropmarks.  Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
-  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
-  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-% Parse an argument, then pass it to #1.  The argument is the rest of
-% the input line (except we remove a trailing comment).  #1 should be a
-% macro which expects an ordinary undelimited TeX argument.
-%
-\def\parsearg{\parseargusing{}}
-\def\parseargusing#1#2{%
-  \def\next{#2}%
-  \begingroup
-    \obeylines
-    \spaceisspace
-    #1%
-    \parseargline\empty% Insert the \empty token, see \finishparsearg below.
-}
-
-{\obeylines %
-  \gdef\parseargline#1^^M{%
-    \endgroup % End of the group started in \parsearg.
-    \argremovecomment #1\comment\ArgTerm%
-  }%
-}
-
-% First remove any @comment, then any @c comment.
-\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
-\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-
-% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
-%
-% \argremovec might leave us with trailing space, e.g.,
-%    @end itemize  @c foo
-% This space token undergoes the same procedure and is eventually removed
-% by \finishparsearg.
-%
-\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
-\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
-\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
-  \def\temp{#3}%
-  \ifx\temp\empty
-    % We cannot use \next here, as it holds the macro to run;
-    % thus we reuse \temp.
-    \let\temp\finishparsearg
-  \else
-    \let\temp\argcheckspaces
-  \fi
-  % Put the space token in:
-  \temp#1 #3\ArgTerm
-}
-
-% If a _delimited_ argument is enclosed in braces, they get stripped; so
-% to get _exactly_ the rest of the line, we had to prevent such situation.
-% We prepended an \empty token at the very beginning and we expand it now,
-% just before passing the control to \next.
-% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
-% either the null string, or it ends with \^^M---thus there is no danger
-% that a pair of braces would be stripped.
-%
-% But first, we have to remove the trailing space token.
-%
-\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}}
-
-% \parseargdef\foo{...}
-%      is roughly equivalent to
-% \def\foo{\parsearg\Xfoo}
-% \def\Xfoo#1{...}
-%
-% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
-% favourite TeX trick.  --kasal, 16nov03
-
-\def\parseargdef#1{%
-  \expandafter \doparseargdef \csname\string#1\endcsname #1%
-}
-\def\doparseargdef#1#2{%
-  \def#2{\parsearg#1}%
-  \def#1##1%
-}
-
-% Several utility definitions with active space:
-{
-  \obeyspaces
-  \gdef\obeyedspace{ }
-
-  % Make each space character in the input produce a normal interword
-  % space in the output.  Don't allow a line break at this space, as this
-  % is used only in environments like @example, where each line of input
-  % should produce a line of output anyway.
-  %
-  \gdef\sepspaces{\obeyspaces\let =\tie}
-
-  % If an index command is used in an @example environment, any spaces
-  % therein should become regular spaces in the raw index file, not the
-  % expansion of \tie (\leavevmode \penalty \@M \ ).
-  \gdef\unsepspaces{\let =\space}
-}
-
-
-\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-
-% Define the framework for environments in texinfo.tex.  It's used like this:
-%
-%   \envdef\foo{...}
-%   \def\Efoo{...}
-%
-% It's the responsibility of \envdef to insert \begingroup before the
-% actual body; @end closes the group after calling \Efoo.  \envdef also
-% defines \thisenv, so the current environment is known; @end checks
-% whether the environment name matches.  The \checkenv macro can also be
-% used to check whether the current environment is the one expected.
-%
-% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
-% are not treated as enviroments; they don't open a group.  (The
-% implementation of @end takes care not to call \endgroup in this
-% special case.)
-
-
-% At runtime, environments start with this:
-\def\startenvironment#1{\begingroup\def\thisenv{#1}}
-% initialize
-\let\thisenv\empty
-
-% ... but they get defined via ``\envdef\foo{...}'':
-\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
-\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
-
-% Check whether we're in the right environment:
-\def\checkenv#1{%
-  \def\temp{#1}%
-  \ifx\thisenv\temp
-  \else
-    \badenverr
-  \fi
-}
-
-% Evironment mismatch, #1 expected:
-\def\badenverr{%
-  \errhelp = \EMsimple
-  \errmessage{This command can appear only \inenvironment\temp,
-    not \inenvironment\thisenv}%
-}
-\def\inenvironment#1{%
-  \ifx#1\empty
-    out of any environment%
-  \else
-    in environment \expandafter\string#1%
-  \fi
-}
-
-% @end foo executes the definition of \Efoo.
-% But first, it executes a specialized version of \checkenv
-%
-\parseargdef\end{%
-  \if 1\csname iscond.#1\endcsname
-  \else
-    % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
-    \expandafter\checkenv\csname#1\endcsname
-    \csname E#1\endcsname
-    \endgroup
-  \fi
-}
-
-\newhelp\EMsimple{Press RETURN to continue.}
-
-
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
-
-% This is turned off because it was never documented
-% and you can use @w{...} around a quote to suppress ligatures.
-%% Define @` and @' to be the same as ` and '
-%% but suppressing ligatures.
-%\def\`{{`}}
-%\def\'{{'}}
-
-% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-\begingroup
-  % Definitions to produce \{ and \} commands for indices,
-  % and @{ and @} for the aux/toc files.
-  \catcode`\{ = \other \catcode`\} = \other
-  \catcode`\[ = 1 \catcode`\] = 2
-  \catcode`\! = 0 \catcode`\\ = \other
-  !gdef!lbracecmd[\{]%
-  !gdef!rbracecmd[\}]%
-  !gdef!lbraceatcmd[@{]%
-  !gdef!rbraceatcmd[@}]%
-!endgroup
-
-% @comma{} to avoid , parsing problems.
-\let\comma = ,
-
-% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
-\let\, = \c
-\let\dotaccent = \.
-\def\ringaccent#1{{\accent23 #1}}
-\let\tieaccent = \t
-\let\ubaraccent = \b
-\let\udotaccent = \d
-
-% Other special characters: @questiondown @exclamdown @ordf @ordm
-% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
-\def\questiondown{?`}
-\def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-
-% Dotless i and dotless j, used for accents.
-\def\imacro{i}
-\def\jmacro{j}
-\def\dotless#1{%
-  \def\temp{#1}%
-  \ifx\temp\imacro \ptexi
-  \else\ifx\temp\jmacro \j
-  \else \errmessage{@dotless can be used only with i or j}%
-  \fi\fi
-}
-
-% The \TeX{} logo, as in plain, but resetting the spacing so that a
-% period following counts as ending a sentence.  (Idea found in latex.)
-%
-\edef\TeX{\TeX \spacefactor=1000 }
-
-% @LaTeX{} logo.  Not quite the same results as the definition in
-% latex.ltx, since we use a different font for the raised A; it's most
-% convenient for us to use an explicitly smaller font, rather than using
-% the \scriptstyle font (since we don't reset \scriptstyle and
-% \scriptscriptstyle).
-%
-\def\LaTeX{%
-  L\kern-.36em
-  {\setbox0=\hbox{T}%
-   \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
-  \kern-.15em
-  \TeX
-}
-
-% Be sure we're in horizontal mode when doing a tie, since we make space
-% equivalent to this in @example-like environments. Otherwise, a space
-% at the beginning of a line will start with \penalty -- and
-% since \penalty is valid in vertical mode, we'd end up putting the
-% penalty on the vertical list instead of in the new paragraph.
-{\catcode`@ = 11
- % Avoid using \@M directly, because that causes trouble
- % if the definition is written into an index file.
- \global\let\tiepenalty = \@M
- \gdef\tie{\leavevmode\penalty\tiepenalty\ }
-}
-
-% @: forces normal size whitespace following.
-\def\:{\spacefactor=1000 }
-
-% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
-
-% @/ allows a line break.
-\let\/=\allowbreak
-
-% @. is an end-of-sentence period.
-\def\.{.\spacefactor=\endofsentencespacefactor\space}
-
-% @! is an end-of-sentence bang.
-\def\!{!\spacefactor=\endofsentencespacefactor\space}
-
-% @? is an end-of-sentence query.
-\def\?{?\spacefactor=\endofsentencespacefactor\space}
-
-% @frenchspacing on|off  says whether to put extra space after punctuation.
-% 
-\def\onword{on}
-\def\offword{off}
-%
-\parseargdef\frenchspacing{%
-  \def\temp{#1}%
-  \ifx\temp\onword \plainfrenchspacing
-  \else\ifx\temp\offword \plainnonfrenchspacing
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
-  \fi\fi
-}
-
-% @w prevents a word break.  Without the \leavevmode, @w at the
-% beginning of a paragraph, when TeX is still in vertical mode, would
-% produce a whole line of output instead of starting the paragraph.
-\def\w#1{\leavevmode\hbox{#1}}
-
-% @group ... @end group forces ... to be all on one page, by enclosing
-% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
-% to keep its height that of a normal line.  According to the rules for
-% \topskip (p.114 of the TeXbook), the glue inserted is
-% max (\topskip - \ht (first item), 0).  If that height is large,
-% therefore, no glue is inserted, and the space between the headline and
-% the text is small, which looks bad.
-%
-% Another complication is that the group might be very large.  This can
-% cause the glue on the previous page to be unduly stretched, because it
-% does not have much material.  In this case, it's better to add an
-% explicit \vfill so that the extra space is at the bottom.  The
-% threshold for doing this is if the group is more than \vfilllimit
-% percent of a page (\vfilllimit can be changed inside of @tex).
-%
-\newbox\groupbox
-\def\vfilllimit{0.7}
-%
-\envdef\group{%
-  \ifnum\catcode`\^^M=\active \else
-    \errhelp = \groupinvalidhelp
-    \errmessage{@group invalid in context where filling is enabled}%
-  \fi
-  \startsavinginserts
-  %
-  \setbox\groupbox = \vtop\bgroup
-    % Do @comment since we are called inside an environment such as
-    % @example, where each end-of-line in the input causes an
-    % end-of-line in the output.  We don't want the end-of-line after
-    % the `@group' to put extra space in the output.  Since @group
-    % should appear on a line by itself (according to the Texinfo
-    % manual), we don't worry about eating any user text.
-    \comment
-}
-%
-% The \vtop produces a box with normal height and large depth; thus, TeX puts
-% \baselineskip glue before it, and (when the next line of text is done)
-% \lineskip glue after it.  Thus, space below is not quite equal to space
-% above.  But it's pretty close.
-\def\Egroup{%
-    % To get correct interline space between the last line of the group
-    % and the first line afterwards, we have to propagate \prevdepth.
-    \endgraf % Not \par, as it may have been set to \lisppar.
-    \global\dimen1 = \prevdepth
-  \egroup           % End the \vtop.
-  % \dimen0 is the vertical size of the group's box.
-  \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
-  % \dimen2 is how much space is left on the page (more or less).
-  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
-  % if the group doesn't fit on the current page, and it's a big big
-  % group, force a page break.
-  \ifdim \dimen0 > \dimen2
-    \ifdim \pagetotal < \vfilllimit\pageheight
-      \page
-    \fi
-  \fi
-  \box\groupbox
-  \prevdepth = \dimen1
-  \checkinserts
-}
-%
-% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
-% message, so this ends up printing `@group can only ...'.
-%
-\newhelp\groupinvalidhelp{%
-group can only be used in environments such as @example,^^J%
-where each line of input produces a line of output.}
-
-% @need space-in-mils
-% forces a page break if there is not space-in-mils remaining.
-
-\newdimen\mil  \mil=0.001in
-
-% Old definition--didn't work.
-%\parseargdef\need{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-%\prevdepth=-1000pt
-%}}
-
-\parseargdef\need{%
-  % Ensure vertical mode, so we don't make a big box in the middle of a
-  % paragraph.
-  \par
-  %
-  % If the @need value is less than one line space, it's useless.
-  \dimen0 = #1\mil
-  \dimen2 = \ht\strutbox
-  \advance\dimen2 by \dp\strutbox
-  \ifdim\dimen0 > \dimen2
-    %
-    % Do a \strut just to make the height of this box be normal, so the
-    % normal leading is inserted relative to the preceding line.
-    % And a page break here is fine.
-    \vtop to #1\mil{\strut\vfil}%
-    %
-    % TeX does not even consider page breaks if a penalty added to the
-    % main vertical list is 10000 or more.  But in order to see if the
-    % empty box we just added fits on the page, we must make it consider
-    % page breaks.  On the other hand, we don't want to actually break the
-    % page after the empty box.  So we use a penalty of 9999.
-    %
-    % There is an extremely small chance that TeX will actually break the
-    % page at this \penalty, if there are no other feasible breakpoints in
-    % sight.  (If the user is using lots of big @group commands, which
-    % almost-but-not-quite fill up a page, TeX will have a hard time doing
-    % good page breaking, for example.)  However, I could not construct an
-    % example where a page broke at this \penalty; if it happens in a real
-    % document, then we can reconsider our strategy.
-    \penalty9999
-    %
-    % Back up by the size of the box, whether we did a page break or not.
-    \kern -#1\mil
-    %
-    % Do not allow a page break right after this kern.
-    \nobreak
-  \fi
-}
-
-% @br   forces paragraph break (and is undocumented).
-
-\let\br = \par
-
-% @page forces the start of a new page.
-%
-\def\page{\par\vfill\supereject}
-
-% @exdent text....
-% outputs text on separate line in roman font, starting at standard page margin
-
-% This records the amount of indent in the innermost environment.
-% That's how much \exdent should take out.
-\newskip\exdentamount
-
-% This defn is used inside fill environments such as @defun.
-\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
-
-% This defn is used inside nofill environments such as @example.
-\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
-  \leftline{\hskip\leftskip{\rm#1}}}}
-
-% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
-% paragraph.  For more general purposes, use the \margin insertion
-% class.  WHICH is `l' or `r'.
-%
-\newskip\inmarginspacing \inmarginspacing=1cm
-\def\strutdepth{\dp\strutbox}
-%
-\def\doinmargin#1#2{\strut\vadjust{%
-  \nobreak
-  \kern-\strutdepth
-  \vtop to \strutdepth{%
-    \baselineskip=\strutdepth
-    \vss
-    % if you have multiple lines of stuff to put here, you'll need to
-    % make the vbox yourself of the appropriate size.
-    \ifx#1l%
-      \llap{\ignorespaces #2\hskip\inmarginspacing}%
-    \else
-      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
-    \fi
-    \null
-  }%
-}}
-\def\inleftmargin{\doinmargin l}
-\def\inrightmargin{\doinmargin r}
-%
-% @inmargin{TEXT [, RIGHT-TEXT]}
-% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
-% else use TEXT for both).
-%
-\def\inmargin#1{\parseinmargin #1,,\finish}
-\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
-  \setbox0 = \hbox{\ignorespaces #2}%
-  \ifdim\wd0 > 0pt
-    \def\lefttext{#1}%  have both texts
-    \def\righttext{#2}%
-  \else
-    \def\lefttext{#1}%  have only one text
-    \def\righttext{#1}%
-  \fi
-  %
-  \ifodd\pageno
-    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
-  \else
-    \def\temp{\inleftmargin\lefttext}%
-  \fi
-  \temp
-}
-
-% @include file    insert text of that file as input.
-%
-\def\include{\parseargusing\filenamecatcodes\includezzz}
-\def\includezzz#1{%
-  \pushthisfilestack
-  \def\thisfile{#1}%
-  {%
-    \makevalueexpandable
-    \def\temp{\input #1 }%
-    \expandafter
-  }\temp
-  \popthisfilestack
-}
-\def\filenamecatcodes{%
-  \catcode`\\=\other
-  \catcode`~=\other
-  \catcode`^=\other
-  \catcode`_=\other
-  \catcode`|=\other
-  \catcode`<=\other
-  \catcode`>=\other
-  \catcode`+=\other
-  \catcode`-=\other
-}
-
-\def\pushthisfilestack{%
-  \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
-}
-\def\pushthisfilestackX{%
-  \expandafter\pushthisfilestackY\thisfile\StackTerm
-}
-\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
-  \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
-}
-
-\def\popthisfilestack{\errthisfilestackempty}
-\def\errthisfilestackempty{\errmessage{Internal error:
-  the stack of filenames is empty.}}
-
-\def\thisfile{}
-
-% @center line
-% outputs that line, centered.
-%
-\parseargdef\center{%
-  \ifhmode
-    \let\next\centerH
-  \else
-    \let\next\centerV
-  \fi
-  \next{\hfil \ignorespaces#1\unskip \hfil}%
-}
-\def\centerH#1{%
-  {%
-    \hfil\break
-    \advance\hsize by -\leftskip
-    \advance\hsize by -\rightskip
-    \line{#1}%
-    \break
-  }%
-}
-\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
-
-% @sp n   outputs n lines of vertical space
-
-\parseargdef\sp{\vskip #1\baselineskip}
-
-% @comment ...line which is ignored...
-% @c is the same as @comment
-% @ignore ... @end ignore  is another way to write a comment
-
-\def\comment{\begingroup \catcode`\^^M=\other%
-\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-
-\let\c=\comment
-
-% @paragraphindent NCHARS
-% We'll use ems for NCHARS, close enough.
-% NCHARS can also be the word `asis' or `none'.
-% We cannot feasibly implement @paragraphindent asis, though.
-%
-\def\asisword{asis} % no translation, these are keywords
-\def\noneword{none}
-%
-\parseargdef\paragraphindent{%
-  \def\temp{#1}%
-  \ifx\temp\asisword
-  \else
-    \ifx\temp\noneword
-      \defaultparindent = 0pt
-    \else
-      \defaultparindent = #1em
-    \fi
-  \fi
-  \parindent = \defaultparindent
-}
-
-% @exampleindent NCHARS
-% We'll use ems for NCHARS like @paragraphindent.
-% It seems @exampleindent asis isn't necessary, but
-% I preserve it to make it similar to @paragraphindent.
-\parseargdef\exampleindent{%
-  \def\temp{#1}%
-  \ifx\temp\asisword
-  \else
-    \ifx\temp\noneword
-      \lispnarrowing = 0pt
-    \else
-      \lispnarrowing = #1em
-    \fi
-  \fi
-}
-
-% @firstparagraphindent WORD
-% If WORD is `none', then suppress indentation of the first paragraph
-% after a section heading.  If WORD is `insert', then do indent at such
-% paragraphs.
-%
-% The paragraph indentation is suppressed or not by calling
-% \suppressfirstparagraphindent, which the sectioning commands do.
-% We switch the definition of this back and forth according to WORD.
-% By default, we suppress indentation.
-%
-\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
-\def\insertword{insert}
-%
-\parseargdef\firstparagraphindent{%
-  \def\temp{#1}%
-  \ifx\temp\noneword
-    \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
-  \else\ifx\temp\insertword
-    \let\suppressfirstparagraphindent = \relax
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @firstparagraphindent option `\temp'}%
-  \fi\fi
-}
-
-% Here is how we actually suppress indentation.  Redefine \everypar to
-% \kern backwards by \parindent, and then reset itself to empty.
-%
-% We also make \indent itself not actually do anything until the next
-% paragraph.
-%
-\gdef\dosuppressfirstparagraphindent{%
-  \gdef\indent{%
-    \restorefirstparagraphindent
-    \indent
-  }%
-  \gdef\noindent{%
-    \restorefirstparagraphindent
-    \noindent
-  }%
-  \global\everypar = {%
-    \kern -\parindent
-    \restorefirstparagraphindent
-  }%
-}
-
-\gdef\restorefirstparagraphindent{%
-  \global \let \indent = \ptexindent
-  \global \let \noindent = \ptexnoindent
-  \global \everypar = {}%
-}
-
-
-% @asis just yields its argument.  Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math outputs its argument in math mode.
-%
-% One complication: _ usually means subscripts, but it could also mean
-% an actual _ character, as in @math{@var{some_variable} + 1}.  So make
-% _ active, and distinguish by seeing if the current family is \slfam,
-% which is what @var uses.
-{
-  \catcode\underChar = \active
-  \gdef\mathunderscore{%
-    \catcode\underChar=\active
-    \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
-  }
-}
-% Another complication: we want \\ (and @\) to output a \ character.
-% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
-% this is not advertised and we don't care.  Texinfo does not
-% otherwise define @\.
-%
-% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
-\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
-%
-\def\math{%
-  \tex
-  \mathunderscore
-  \let\\ = \mathbackslash
-  \mathactive
-  $\finishmath
-}
-\def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
-
-% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an argument
-% to a command which sets the catcodes (such as @item or @section).
-%
-{
-  \catcode`^ = \active
-  \catcode`< = \active
-  \catcode`> = \active
-  \catcode`+ = \active
-  \gdef\mathactive{%
-    \let^ = \ptexhat
-    \let< = \ptexless
-    \let> = \ptexgtr
-    \let+ = \ptexplus
-  }
-}
-
-% @bullet and @minus need the same treatment as @math, just above.
-\def\bullet{$\ptexbullet$}
-\def\minus{$-$}
-
-% @dots{} outputs an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in a typewriter
-% font as three actual period characters.
-%
-\def\dots{%
-  \leavevmode
-  \hbox to 1.5em{%
-    \hskip 0pt plus 0.25fil
-    .\hfil.\hfil.%
-    \hskip 0pt plus 0.5fil
-  }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
-  \dots
-  \spacefactor=\endofsentencespacefactor
-}
-
-% @comma{} is so commas can be inserted into text without messing up
-% Texinfo's parsing.
-%
-\let\comma = ,
-
-% @refill is a no-op.
-\let\refill=\relax
-
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
-   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
-   \iflinks
-     \tryauxfile
-     % Open the new aux file.  TeX will close it automatically at exit.
-     \immediate\openout\auxfile=\jobname.aux
-   \fi % \openindices needs to do some work in any case.
-   \openindices
-   \let\setfilename=\comment % Ignore extra @setfilename cmds.
-   %
-   % If texinfo.cnf is present on the system, read it.
-   % Useful for site-wide @afourpaper, etc.
-   \openin 1 texinfo.cnf
-   \ifeof 1 \else \input texinfo.cnf \fi
-   \closein 1
-   %
-   \comment % Ignore the actual filename.
-}
-
-% Called from \setfilename.
-%
-\def\openindices{%
-  \newindex{cp}%
-  \newcodeindex{fn}%
-  \newcodeindex{vr}%
-  \newcodeindex{tp}%
-  \newcodeindex{ky}%
-  \newcodeindex{pg}%
-}
-
-% @bye.
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-
-
-\message{pdf,}
-% adobe `portable' document format
-\newcount\tempnum
-\newcount\lnkcount
-\newtoks\filename
-\newcount\filenamelength
-\newcount\pgn
-\newtoks\toksA
-\newtoks\toksB
-\newtoks\toksC
-\newtoks\toksD
-\newbox\boxA
-\newcount\countA
-\newif\ifpdf
-\newif\ifpdfmakepagedest
-
-% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
-% can be set).  So we test for \relax and 0 as well as \undefined,
-% borrowed from ifpdf.sty.
-\ifx\pdfoutput\undefined
-\else
-  \ifx\pdfoutput\relax
-  \else
-    \ifcase\pdfoutput
-    \else
-      \pdftrue
-    \fi
-  \fi
-\fi
-
-% PDF uses PostScript string constants for the names of xref targets, to
-% for display in the outlines, and in other places.  Thus, we have to
-% double any backslashes.  Otherwise, a name like "\node" will be
-% interpreted as a newline (\n), followed by o, d, e.  Not good.
-% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
-% (and related messages, the final outcome is that it is up to the TeX
-% user to double the backslashes and otherwise make the string valid, so
-% that's we do).
-
-% double active backslashes.
-% 
-{\catcode`\@=0 \catcode`\\=\active
- @gdef@activebackslash{@catcode`@\=@active @otherbackslash}
- @gdef@activebackslashdouble{%
-   @catcode@backChar=@active
-   @let\=@doublebackslash}
-}
-
-% To handle parens, we must adopt a different approach, since parens are
-% not active characters.  hyperref.dtx (which has the same problem as
-% us) handles it with this amazing macro to replace tokens.  I've
-% tinkered with it a little for texinfo, but it's definitely from there.
-% 
-% #1 is the tokens to replace.
-% #2 is the replacement.
-% #3 is the control sequence with the string.
-% 
-\def\HyPsdSubst#1#2#3{%
-  \def\HyPsdReplace##1#1##2\END{%
-    ##1%
-    \ifx\\##2\\%
-    \else
-      #2%
-      \HyReturnAfterFi{%
-        \HyPsdReplace##2\END
-      }%
-    \fi
-  }%
-  \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
-}
-\long\def\HyReturnAfterFi#1\fi{\fi#1}
-
-% #1 is a control sequence in which to do the replacements.
-\def\backslashparens#1{%
-  \xdef#1{#1}% redefine it as its expansion; the definition is simply
-             % \lastnode when called from \setref -> \pdfmkdest.
-  \HyPsdSubst{(}{\backslashlparen}{#1}%
-  \HyPsdSubst{)}{\backslashrparen}{#1}%
-}
-
-{\catcode\exclamChar = 0 \catcode\backChar = \other
- !gdef!backslashlparen{\(}%
- !gdef!backslashrparen{\)}%
-}
-
-\ifpdf
-  \input pdfcolor
-  \pdfcatalog{/PageMode /UseOutlines}%
-  \def\dopdfimage#1#2#3{%
-    \def\imagewidth{#2}%
-    \def\imageheight{#3}%
-    % without \immediate, pdftex seg faults when the same image is
-    % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
-    \ifnum\pdftexversion < 14
-      \immediate\pdfimage
-    \else
-      \immediate\pdfximage
-    \fi
-      \ifx\empty\imagewidth\else width \imagewidth \fi
-      \ifx\empty\imageheight\else height \imageheight \fi
-      \ifnum\pdftexversion<13
-         #1.pdf%
-       \else
-         {#1.pdf}%
-       \fi
-    \ifnum\pdftexversion < 14 \else
-      \pdfrefximage \pdflastximage
-    \fi}
-  \def\pdfmkdest#1{{%
-    % We have to set dummies so commands such as @code, and characters
-    % such as \, aren't expanded when present in a section title.
-    \atdummies
-    \activebackslashdouble
-    \def\pdfdestname{#1}%
-    \backslashparens\pdfdestname
-    \pdfdest name{\pdfdestname} xyz%
-  }}%
-  %
-  % used to mark target names; must be expandable.
-  \def\pdfmkpgn#1{#1}%
-  %
-  \let\linkcolor = \Blue  % was Cyan, but that seems light?
-  \def\endlink{\Black\pdfendlink}
-  % Adding outlines to PDF; macros for calculating structure of outlines
-  % come from Petr Olsak
-  \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
-    \else \csname#1\endcsname \fi}
-  \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
-    \advance\tempnum by 1
-    \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
-  %
-  % #1 is the section text, which is what will be displayed in the
-  % outline by the pdf viewer.  #2 is the pdf expression for the number
-  % of subentries (or empty, for subsubsections).  #3 is the node text,
-  % which might be empty if this toc entry had no corresponding node.
-  % #4 is the page number
-  %
-  \def\dopdfoutline#1#2#3#4{%
-    % Generate a link to the node text if that exists; else, use the
-    % page number.  We could generate a destination for the section
-    % text in the case where a section has no node, but it doesn't
-    % seem worth the trouble, since most documents are normally structured.
-    \def\pdfoutlinedest{#3}%
-    \ifx\pdfoutlinedest\empty
-      \def\pdfoutlinedest{#4}%
-    \else
-      % Doubled backslashes in the name.
-      {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
-       \backslashparens\pdfoutlinedest}%
-    \fi
-    %
-    % Also double the backslashes in the display string.
-    {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
-     \backslashparens\pdfoutlinetext}%
-    %
-    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
-  }
-  %
-  \def\pdfmakeoutlines{%
-    \begingroup
-      % Thanh's hack / proper braces in bookmarks
-      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
-      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
-      %
-      % Read toc silently, to get counts of subentries for \pdfoutline.
-      \def\numchapentry##1##2##3##4{%
-       \def\thischapnum{##2}%
-       \def\thissecnum{0}%
-       \def\thissubsecnum{0}%
-      }%
-      \def\numsecentry##1##2##3##4{%
-       \advancenumber{chap\thischapnum}%
-       \def\thissecnum{##2}%
-       \def\thissubsecnum{0}%
-      }%
-      \def\numsubsecentry##1##2##3##4{%
-       \advancenumber{sec\thissecnum}%
-       \def\thissubsecnum{##2}%
-      }%
-      \def\numsubsubsecentry##1##2##3##4{%
-       \advancenumber{subsec\thissubsecnum}%
-      }%
-      \def\thischapnum{0}%
-      \def\thissecnum{0}%
-      \def\thissubsecnum{0}%
-      %
-      % use \def rather than \let here because we redefine \chapentry et
-      % al. a second time, below.
-      \def\appentry{\numchapentry}%
-      \def\appsecentry{\numsecentry}%
-      \def\appsubsecentry{\numsubsecentry}%
-      \def\appsubsubsecentry{\numsubsubsecentry}%
-      \def\unnchapentry{\numchapentry}%
-      \def\unnsecentry{\numsecentry}%
-      \def\unnsubsecentry{\numsubsecentry}%
-      \def\unnsubsubsecentry{\numsubsubsecentry}%
-      \readdatafile{toc}%
-      %
-      % Read toc second time, this time actually producing the outlines.
-      % The `-' means take the \expnumber as the absolute number of
-      % subentries, which we calculated on our first read of the .toc above.
-      %
-      % We use the node names as the destinations.
-      \def\numchapentry##1##2##3##4{%
-        \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
-      \def\numsecentry##1##2##3##4{%
-        \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
-      \def\numsubsecentry##1##2##3##4{%
-        \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
-      \def\numsubsubsecentry##1##2##3##4{% count is always zero
-        \dopdfoutline{##1}{}{##3}{##4}}%
-      %
-      % PDF outlines are displayed using system fonts, instead of
-      % document fonts.  Therefore we cannot use special characters,
-      % since the encoding is unknown.  For example, the eogonek from
-      % Latin 2 (0xea) gets translated to a | character.  Info from
-      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
-      %
-      % xx to do this right, we have to translate 8-bit characters to
-      % their "best" equivalent, based on the @documentencoding.  Right
-      % now, I guess we'll just let the pdf reader have its way.
-      \indexnofonts
-      \setupdatafile
-      \activebackslash
-      \input \jobname.toc
-    \endgroup
-  }
-  %
-  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
-    \ifx\PP\D\let\nextsp\relax
-    \else\let\nextsp\skipspaces
-      \ifx\p\space\else\addtokens{\filename}{\PP}%
-        \advance\filenamelength by 1
-      \fi
-    \fi
-    \nextsp}
-  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
-  \ifnum\pdftexversion < 14
-    \let \startlink \pdfannotlink
-  \else
-    \let \startlink \pdfstartlink
-  \fi
-  \def\pdfurl#1{%
-    \begingroup
-      \normalturnoffactive\def\@{@}%
-      \makevalueexpandable
-      \leavevmode\Red
-      \startlink attr{/Border [0 0 0]}%
-        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
-    \endgroup}
-  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
-  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
-  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
-  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
-  \def\maketoks{%
-    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
-    \ifx\first0\adn0
-    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
-    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
-    \else
-      \ifnum0=\countA\else\makelink\fi
-      \ifx\first.\let\next=\done\else
-        \let\next=\maketoks
-        \addtokens{\toksB}{\the\toksD}
-        \ifx\first,\addtokens{\toksB}{\space}\fi
-      \fi
-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-    \next}
-  \def\makelink{\addtokens{\toksB}%
-    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
-  \def\pdflink#1{%
-    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
-    \linkcolor #1\endlink}
-  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
-\else
-  \let\pdfmkdest = \gobble
-  \let\pdfurl = \gobble
-  \let\endlink = \relax
-  \let\linkcolor = \relax
-  \let\pdfmakeoutlines = \relax
-\fi  % \ifx\pdfoutput
-
-
-\message{fonts,}
-
-% Change the current font style to #1, remembering it in \curfontstyle.
-% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
-% italics, not bold italics.
-%
-\def\setfontstyle#1{%
-  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
-  \csname ten#1\endcsname  % change the current font
-}
-
-% Select #1 fonts with the current style.
-%
-\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
-
-\def\rm{\fam=0 \setfontstyle{rm}}
-\def\it{\fam=\itfam \setfontstyle{it}}
-\def\sl{\fam=\slfam \setfontstyle{sl}}
-\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-\def\tt{\fam=\ttfam \setfontstyle{tt}}
-
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf.
-\newfam\sffam
-\def\sf{\fam=\sffam \setfontstyle{sf}}
-\let\li = \sf % Sometimes we call it \li, not \sf.
-
-% We don't need math for this font style.
-\def\ttsl{\setfontstyle{ttsl}}
-
-% Default leading.
-\newdimen\textleading  \textleading = 13.2pt
-
-% Set the baselineskip to #1, and the lineskip and strut size
-% correspondingly.  There is no deep meaning behind these magic numbers
-% used as factors; they just match (closely enough) what Knuth defined.
-%
-\def\lineskipfactor{.08333}
-\def\strutheightpercent{.70833}
-\def\strutdepthpercent {.29167}
-%
-\def\setleading#1{%
-  \normalbaselineskip = #1\relax
-  \normallineskip = \lineskipfactor\normalbaselineskip
-  \normalbaselines
-  \setbox\strutbox =\hbox{%
-    \vrule width0pt height\strutheightpercent\baselineskip
-                    depth \strutdepthpercent \baselineskip
-  }%
-}
-
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
-% #3 is the font's design size, #4 is a scale factor
-\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
-
-% Use cm as the default font prefix.
-% To specify the font prefix, you must define \fontprefix
-% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
-\def\fontprefix{cm}
-\fi
-% Support font families that don't use the same naming scheme as CM.
-\def\rmshape{r}
-\def\rmbshape{bx}               %where the normal face is bold
-\def\bfshape{b}
-\def\bxshape{bx}
-\def\ttshape{tt}
-\def\ttbshape{tt}
-\def\ttslshape{sltt}
-\def\itshape{ti}
-\def\itbshape{bxti}
-\def\slshape{sl}
-\def\slbshape{bxsl}
-\def\sfshape{ss}
-\def\sfbshape{ss}
-\def\scshape{csc}
-\def\scbshape{csc}
-
-% Text fonts (11.2pt, magstep1).
-\def\textnominalsize{11pt}
-\edef\mainmagstep{\magstephalf}
-\setfont\textrm\rmshape{10}{\mainmagstep}
-\setfont\texttt\ttshape{10}{\mainmagstep}
-\setfont\textbf\bfshape{10}{\mainmagstep}
-\setfont\textit\itshape{10}{\mainmagstep}
-\setfont\textsl\slshape{10}{\mainmagstep}
-\setfont\textsf\sfshape{10}{\mainmagstep}
-\setfont\textsc\scshape{10}{\mainmagstep}
-\setfont\textttsl\ttslshape{10}{\mainmagstep}
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
-
-% A few fonts for @defun names and args.
-\setfont\defbf\bfshape{10}{\magstep1}
-\setfont\deftt\ttshape{10}{\magstep1}
-\setfont\defttsl\ttslshape{10}{\magstep1}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
-
-% Fonts for indices, footnotes, small examples (9pt).
-\def\smallnominalsize{9pt}
-\setfont\smallrm\rmshape{9}{1000}
-\setfont\smalltt\ttshape{9}{1000}
-\setfont\smallbf\bfshape{10}{900}
-\setfont\smallit\itshape{9}{1000}
-\setfont\smallsl\slshape{9}{1000}
-\setfont\smallsf\sfshape{9}{1000}
-\setfont\smallsc\scshape{10}{900}
-\setfont\smallttsl\ttslshape{10}{900}
-\font\smalli=cmmi9
-\font\smallsy=cmsy9
-
-% Fonts for small examples (8pt).
-\def\smallernominalsize{8pt}
-\setfont\smallerrm\rmshape{8}{1000}
-\setfont\smallertt\ttshape{8}{1000}
-\setfont\smallerbf\bfshape{10}{800}
-\setfont\smallerit\itshape{8}{1000}
-\setfont\smallersl\slshape{8}{1000}
-\setfont\smallersf\sfshape{8}{1000}
-\setfont\smallersc\scshape{10}{800}
-\setfont\smallerttsl\ttslshape{10}{800}
-\font\smalleri=cmmi8
-\font\smallersy=cmsy8
-
-% Fonts for title page (20.4pt):
-\def\titlenominalsize{20pt}
-\setfont\titlerm\rmbshape{12}{\magstep3}
-\setfont\titleit\itbshape{10}{\magstep4}
-\setfont\titlesl\slbshape{10}{\magstep4}
-\setfont\titlett\ttbshape{12}{\magstep3}
-\setfont\titlettsl\ttslshape{10}{\magstep4}
-\setfont\titlesf\sfbshape{17}{\magstep1}
-\let\titlebf=\titlerm
-\setfont\titlesc\scbshape{10}{\magstep4}
-\font\titlei=cmmi12 scaled \magstep3
-\font\titlesy=cmsy10 scaled \magstep4
-\def\authorrm{\secrm}
-\def\authortt{\sectt}
-
-% Chapter (and unnumbered) fonts (17.28pt).
-\def\chapnominalsize{17pt}
-\setfont\chaprm\rmbshape{12}{\magstep2}
-\setfont\chapit\itbshape{10}{\magstep3}
-\setfont\chapsl\slbshape{10}{\magstep3}
-\setfont\chaptt\ttbshape{12}{\magstep2}
-\setfont\chapttsl\ttslshape{10}{\magstep3}
-\setfont\chapsf\sfbshape{17}{1000}
-\let\chapbf=\chaprm
-\setfont\chapsc\scbshape{10}{\magstep3}
-\font\chapi=cmmi12 scaled \magstep2
-\font\chapsy=cmsy10 scaled \magstep3
-
-% Section fonts (14.4pt).
-\def\secnominalsize{14pt}
-\setfont\secrm\rmbshape{12}{\magstep1}
-\setfont\secit\itbshape{10}{\magstep2}
-\setfont\secsl\slbshape{10}{\magstep2}
-\setfont\sectt\ttbshape{12}{\magstep1}
-\setfont\secttsl\ttslshape{10}{\magstep2}
-\setfont\secsf\sfbshape{12}{\magstep1}
-\let\secbf\secrm
-\setfont\secsc\scbshape{10}{\magstep2}
-\font\seci=cmmi12 scaled \magstep1
-\font\secsy=cmsy10 scaled \magstep2
-
-% Subsection fonts (13.15pt).
-\def\ssecnominalsize{13pt}
-\setfont\ssecrm\rmbshape{12}{\magstephalf}
-\setfont\ssecit\itbshape{10}{1315}
-\setfont\ssecsl\slbshape{10}{1315}
-\setfont\ssectt\ttbshape{12}{\magstephalf}
-\setfont\ssecttsl\ttslshape{10}{1315}
-\setfont\ssecsf\sfbshape{12}{\magstephalf}
-\let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{1315}
-\font\sseci=cmmi12 scaled \magstephalf
-\font\ssecsy=cmsy10 scaled 1315
-
-% Reduced fonts for @acro in text (10pt).
-\def\reducednominalsize{10pt}
-\setfont\reducedrm\rmshape{10}{1000}
-\setfont\reducedtt\ttshape{10}{1000}
-\setfont\reducedbf\bfshape{10}{1000}
-\setfont\reducedit\itshape{10}{1000}
-\setfont\reducedsl\slshape{10}{1000}
-\setfont\reducedsf\sfshape{10}{1000}
-\setfont\reducedsc\scshape{10}{1000}
-\setfont\reducedttsl\ttslshape{10}{1000}
-\font\reducedi=cmmi10
-\font\reducedsy=cmsy10
-
-% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
-%
-\def\resetmathfonts{%
-  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
-  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
-  \textfont\ttfam=\tentt \textfont\sffam=\tensf
-}
-
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE.  We do this because \STYLE needs to also set the
-% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
-% \tenSTYLE to set the current font.
-%
-% Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower).  These relative commands are used in
-% the LaTeX logo and acronyms.
-%
-% This all needs generalizing, badly.
-%
-\def\textfonts{%
-  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
-  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
-  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
-  \let\tenttsl=\textttsl
-  \def\curfontsize{text}%
-  \def\lsize{reduced}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{\textleading}}
-\def\titlefonts{%
-  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
-  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
-  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
-  \let\tenttsl=\titlettsl
-  \def\curfontsize{title}%
-  \def\lsize{chap}\def\lllsize{subsec}%
-  \resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rm #1}}
-\def\chapfonts{%
-  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
-  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
-  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
-  \let\tenttsl=\chapttsl
-  \def\curfontsize{chap}%
-  \def\lsize{sec}\def\lllsize{text}%
-  \resetmathfonts \setleading{19pt}}
-\def\secfonts{%
-  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
-  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
-  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
-  \let\tenttsl=\secttsl
-  \def\curfontsize{sec}%
-  \def\lsize{subsec}\def\lllsize{reduced}%
-  \resetmathfonts \setleading{16pt}}
-\def\subsecfonts{%
-  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
-  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
-  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
-  \let\tenttsl=\ssecttsl
-  \def\curfontsize{ssec}%
-  \def\lsize{text}\def\lllsize{small}%
-  \resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts
-\def\reducedfonts{%
-  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
-  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
-  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
-  \let\tenttsl=\reducedttsl
-  \def\curfontsize{reduced}%
-  \def\lsize{small}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallfonts{%
-  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
-  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
-  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
-  \let\tenttsl=\smallttsl
-  \def\curfontsize{small}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallerfonts{%
-  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
-  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
-  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
-  \let\tenttsl=\smallerttsl
-  \def\curfontsize{smaller}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{9.5pt}}
-
-% Set the fonts to use with the @small... environments.
-\let\smallexamplefonts = \smallfonts
-
-% About \smallexamplefonts.  If we use \smallfonts (9pt), @smallexample
-% can fit this many characters:
-%   8.5x11=86   smallbook=72  a4=90  a5=69
-% If we use \scriptfonts (8pt), then we can fit this many characters:
-%   8.5x11=90+  smallbook=80  a4=90+  a5=77
-% For me, subjectively, the few extra characters that fit aren't worth
-% the additional smallness of 8pt.  So I'm making the default 9pt.
-%
-% By the way, for comparison, here's what fits with @example (10pt):
-%   8.5x11=71  smallbook=60  a4=75  a5=58
-%
-% I wish the USA used A4 paper.
-% --karl, 24jan03.
-
-
-% Set up the default fonts, so we can use them for creating boxes.
-%
-\textfonts \rm
-
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
-
-% Count depth in font-changes, for error checks
-\newcount\fontdepth \fontdepth=0
-
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}
-\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}
-\setfont\shortconttt\ttshape{12}{1000}
-
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
-
-% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
-                    \ptexslash\fi\fi\fi}
-\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
-
-% like \smartslanted except unconditionally uses \ttsl.
-% @var is set to this for defun arguments.
-\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
-
-% like \smartslanted except unconditionally use \sl.  We never want
-% ttsl for book titles, do we?
-\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
-
-\let\i=\smartitalic
-\let\slanted=\smartslanted
-\let\var=\smartslanted
-\let\dfn=\smartslanted
-\let\emph=\smartitalic
-
-% @b, explicit bold.
-\def\b#1{{\bf #1}}
-\let\strong=\b
-
-% @sansserif, explicit sans.
-\def\sansserif#1{{\sf #1}}
-
-% We can't just use \exhyphenpenalty, because that only has effect at
-% the end of a paragraph.  Restore normal hyphenation at the end of the
-% group within which \nohyphenation is presumably called.
-%
-\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
-\def\restorehyphenation{\hyphenchar\font = `- }
-
-% Set sfcode to normal for the chars that usually have another value.
-% Can't use plain's \frenchspacing because it uses the `\x notation, and
-% sometimes \x has an active definition that messes things up.
-%
-\catcode`@=11
-  \def\plainfrenchspacing{%
-    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
-    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
-    \def\endofsentencespacefactor{1000}% for @. and friends
-  }
-  \def\plainnonfrenchspacing{%
-    \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
-    \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
-    \def\endofsentencespacefactor{3000}% for @. and friends
-  }
-\catcode`@=\other
-\def\endofsentencespacefactor{3000}% default
-
-\def\t#1{%
-  {\tt \rawbackslash \plainfrenchspacing #1}%
-  \null
-}
-\def\samp#1{`\tclose{#1}'\null}
-\setfont\keyrm\rmshape{8}{1000}
-\font\keysy=cmsy9
-\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-    \vbox{\hrule\kern-0.4pt
-     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-    \kern-0.4pt\hrule}%
-  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-% The old definition, with no lozenge:
-%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
-\def\tclose#1{%
-  {%
-    % Change normal interword space to be same as for the current font.
-    \spaceskip = \fontdimen2\font
-    %
-    % Switch to typewriter.
-    \tt
-    %
-    % But `\ ' produces the large typewriter interword space.
-    \def\ {{\spaceskip = 0pt{} }}%
-    %
-    % Turn off hyphenation.
-    \nohyphenation
-    %
-    \rawbackslash
-    \plainfrenchspacing
-    #1%
-  }%
-  \null
-}
-
-% We *must* turn on hyphenation at `-' and `_' in @code.
-% Otherwise, it is too hard to avoid overfull hboxes
-% in the Emacs manual, the Library manual, etc.
-
-% Unfortunately, TeX uses one parameter (\hyphenchar) to control
-% both hyphenation at - and hyphenation within words.
-% We must therefore turn them both off (\tclose does that)
-% and arrange explicitly to hyphenate at a dash.
-%  -- rms.
-{
-  \catcode`\-=\active
-  \catcode`\_=\active
-  %
-  \global\def\code{\begingroup
-    \catcode`\-=\active  \catcode`\_=\active
-    \ifallowcodebreaks
-     \let-\codedash
-     \let_\codeunder
-    \else
-     \let-\realdash
-     \let_\realunder
-    \fi
-    \codex
-  }
-}
-
-\def\realdash{-}
-\def\codedash{-\discretionary{}{}{}}
-\def\codeunder{%
-  % this is all so @math{@code{var_name}+1} can work.  In math mode, _
-  % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
-  % will therefore expand the active definition of _, which is us
-  % (inside @code that is), therefore an endless loop.
-  \ifusingtt{\ifmmode
-               \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
-             \else\normalunderscore \fi
-             \discretionary{}{}{}}%
-            {\_}%
-}
-\def\codex #1{\tclose{#1}\endgroup}
-
-% An additional complication: the above will allow breaks after, e.g.,
-% each of the four underscores in __typeof__.  This is undesirable in
-% some manuals, especially if they don't have long identifiers in
-% general.  @allowcodebreaks provides a way to control this.
-% 
-\newif\ifallowcodebreaks  \allowcodebreakstrue
-
-\def\keywordtrue{true}
-\def\keywordfalse{false}
-
-\parseargdef\allowcodebreaks{%
-  \def\txiarg{#1}%
-  \ifx\txiarg\keywordtrue
-    \allowcodebreakstrue
-  \else\ifx\txiarg\keywordfalse
-    \allowcodebreaksfalse
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
-  \fi\fi
-}
-
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-
-% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-%   `example' (@kbd uses ttsl only inside of @example and friends),
-%   or `code' (@kbd uses normal tty font always).
-\parseargdef\kbdinputstyle{%
-  \def\txiarg{#1}%
-  \ifx\txiarg\worddistinct
-    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
-  \else\ifx\txiarg\wordexample
-    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
-  \else\ifx\txiarg\wordcode
-    \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
-  \fi\fi\fi
-}
-\def\worddistinct{distinct}
-\def\wordexample{example}
-\def\wordcode{code}
-
-% Default is `distinct.'
-\kbdinputstyle distinct
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\look}}\fi
-\else{\tclose{\kbdfont\look}}\fi}
-
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
-\let\command=\code
-
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself.  First (mandatory) arg is the url.  Perhaps eventually put in
-% a hypertex \special here.
-%
-\def\uref#1{\douref #1,,,\finish}
-\def\douref#1,#2,#3,#4\finish{\begingroup
-  \unsepspaces
-  \pdfurl{#1}%
-  \setbox0 = \hbox{\ignorespaces #3}%
-  \ifdim\wd0 > 0pt
-    \unhbox0 % third arg given, show only that
-  \else
-    \setbox0 = \hbox{\ignorespaces #2}%
-    \ifdim\wd0 > 0pt
-      \ifpdf
-        \unhbox0             % PDF: 2nd arg given, show only it
-      \else
-        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
-      \fi
-    \else
-      \code{#1}% only url given, so show it
-    \fi
-  \fi
-  \endlink
-\endgroup}
-
-% @url synonym for @uref, since that's how everyone uses it.
-%
-\let\url=\uref
-
-% rms does not like angle brackets --karl, 17may97.
-% So now @email is just like @uref, unless we are pdf.
-%
-%\def\email#1{\angleleft{\tt #1}\angleright}
-\ifpdf
-  \def\email#1{\doemail#1,,\finish}
-  \def\doemail#1,#2,#3\finish{\begingroup
-    \unsepspaces
-    \pdfurl{mailto:#1}%
-    \setbox0 = \hbox{\ignorespaces #2}%
-    \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
-    \endlink
-  \endgroup}
-\else
-  \let\email=\uref
-\fi
-
-% Check if we are currently using a typewriter font.  Since all the
-% Computer Modern typewriter fonts have zero interword stretch (and
-% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
-% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
-%
-\def\dmn#1{\thinspace #1}
-
-\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-
-% @l was never documented to mean ``switch to the Lisp font'',
-% and it is not used as such in any manual I can find.  We need it for
-% Polish suppressed-l.  --karl, 22sep96.
-%\def\l#1{{\li #1}\null}
-
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}}              % roman font
-\def\sc#1{{\smallcaps#1}}       % smallcaps font
-\def\ii#1{{\it #1}}             % italic font
-
-% @acronym for "FBI", "NATO", and the like.
-% We print this one point size smaller, since it's intended for
-% all-uppercase.
-% 
-\def\acronym#1{\doacronym #1,,\finish}
-\def\doacronym#1,#2,#3\finish{%
-  {\selectfonts\lsize #1}%
-  \def\temp{#2}%
-  \ifx\temp\empty \else
-    \space ({\unsepspaces \ignorespaces \temp \unskip})%
-  \fi
-}
-
-% @abbr for "Comput. J." and the like.
-% No font change, but don't do end-of-sentence spacing.
-% 
-\def\abbr#1{\doabbr #1,,\finish}
-\def\doabbr#1,#2,#3\finish{%
-  {\plainfrenchspacing #1}%
-  \def\temp{#2}%
-  \ifx\temp\empty \else
-    \space ({\unsepspaces \ignorespaces \temp \unskip})%
-  \fi
-}
-
-% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
-%
-\def\pounds{{\it\$}}
-
-% @euro{} comes from a separate font, depending on the current style.
-% We use the free feym* fonts from the eurosym package by Henrik
-% Theiling, which support regular, slanted, bold and bold slanted (and
-% "outlined" (blackboard board, sort of) versions, which we don't need).
-% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
-% 
-% Although only regular is the truly official Euro symbol, we ignore
-% that.  The Euro is designed to be slightly taller than the regular
-% font height.
-% 
-% feymr - regular
-% feymo - slanted
-% feybr - bold
-% feybo - bold slanted
-% 
-% There is no good (free) typewriter version, to my knowledge.
-% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
-% Hmm.
-% 
-% Also doesn't work in math.  Do we need to do math with euro symbols?
-% Hope not.
-% 
-% 
-\def\euro{{\eurofont e}}
-\def\eurofont{%
-  % We set the font at each command, rather than predefining it in
-  % \textfonts and the other font-switching commands, so that
-  % installations which never need the symbol don't have to have the
-  % font installed.
-  % 
-  % There is only one designed size (nominal 10pt), so we always scale
-  % that to the current nominal size.
-  % 
-  % By the way, simply using "at 1em" works for cmr10 and the like, but
-  % does not work for cmbx10 and other extended/shrunken fonts.
-  % 
-  \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
-  %
-  \ifx\curfontstyle\bfstylename 
-    % bold:
-    \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
-  \else 
-    % regular:
-    \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
-  \fi
-  \thiseurofont
-}
-
-% @registeredsymbol - R in a circle.  The font for the R should really
-% be smaller yet, but lllsize is the best we can do for now.
-% Adapted from the plain.tex definition of \copyright.
-%
-\def\registeredsymbol{%
-  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
-               \hfil\crcr\Orb}}%
-    }$%
-}
-
-% Laurent Siebenmann reports \Orb undefined with:
-%  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
-% so we'll define it if necessary.
-% 
-\ifx\Orb\undefined
-\def\Orb{\mathhexbox20D}
-\fi
-
-
-\message{page headings,}
-
-\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-
-% First the title page.  Must do @settitle before @titlepage.
-\newif\ifseenauthor
-\newif\iffinishedtitlepage
-
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-
-\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
-        \endgroup\page\hbox{}\page}
-
-\envdef\titlepage{%
-  % Open one extra group, as we want to close it in the middle of \Etitlepage.
-  \begingroup
-    \parindent=0pt \textfonts
-    % Leave some space at the very top of the page.
-    \vglue\titlepagetopglue
-    % No rule at page bottom unless we print one at the top with @title.
-    \finishedtitlepagetrue
-    %
-    % Most title ``pages'' are actually two pages long, with space
-    % at the top of the second.  We don't want the ragged left on the second.
-    \let\oldpage = \page
-    \def\page{%
-      \iffinishedtitlepage\else
-        \finishtitlepage
-      \fi
-      \let\page = \oldpage
-      \page
-      \null
-    }%
-}
-
-\def\Etitlepage{%
-    \iffinishedtitlepage\else
-       \finishtitlepage
-    \fi
-    % It is important to do the page break before ending the group,
-    % because the headline and footline are only empty inside the group.
-    % If we use the new definition of \page, we always get a blank page
-    % after the title page, which we certainly don't want.
-    \oldpage
-  \endgroup
-  %
-  % Need this before the \...aftertitlepage checks so that if they are
-  % in effect the toc pages will come out with page numbers.
-  \HEADINGSon
-  %
-  % If they want short, they certainly want long too.
-  \ifsetshortcontentsaftertitlepage
-    \shortcontents
-    \contents
-    \global\let\shortcontents = \relax
-    \global\let\contents = \relax
-  \fi
-  %
-  \ifsetcontentsaftertitlepage
-    \contents
-    \global\let\contents = \relax
-    \global\let\shortcontents = \relax
-  \fi
-}
-
-\def\finishtitlepage{%
-  \vskip4pt \hrule height 2pt width \hsize
-  \vskip\titlepagebottomglue
-  \finishedtitlepagetrue
-}
-
-%%% Macros to be used within @titlepage:
-
-\let\subtitlerm=\tenrm
-\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
-
-\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
-               \let\tt=\authortt}
-
-\parseargdef\title{%
-  \checkenv\titlepage
-  \leftline{\titlefonts\rm #1}
-  % print a rule at the page bottom also.
-  \finishedtitlepagefalse
-  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
-}
-
-\parseargdef\subtitle{%
-  \checkenv\titlepage
-  {\subtitlefont \rightline{#1}}%
-}
-
-% @author should come last, but may come many times.
-% It can also be used inside @quotation.
-%
-\parseargdef\author{%
-  \def\temp{\quotation}%
-  \ifx\thisenv\temp
-    \def\quotationauthor{#1}% printed in \Equotation.
-  \else
-    \checkenv\titlepage
-    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
-    {\authorfont \leftline{#1}}%
-  \fi
-}
-
-
-%%% Set up page headings and footings.
-
-\let\thispage=\folio
-
-\newtoks\evenheadline    % headline on even pages
-\newtoks\oddheadline     % headline on odd pages
-\newtoks\evenfootline    % footline on even pages
-\newtoks\oddfootline     % footline on odd pages
-
-% Now make TeX use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
-                            \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
-                            \else \the\evenfootline \fi}\HEADINGShook}
-\let\HEADINGShook=\relax
-
-% Commands to set those variables.
-% For example, this is what  @headings on  does
-% @evenheading @thistitle|@thispage|@thischapter
-% @oddheading @thischapter|@thispage|@thistitle
-% @evenfooting @thisfile||
-% @oddfooting ||@thisfile
-
-
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
-\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
-\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
-
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
-\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
-\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
-  \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
-  %
-  % Leave some space for the footline.  Hopefully ok to assume
-  % @evenfooting will not be used by itself.
-  \global\advance\pageheight by -\baselineskip
-  \global\advance\vsize by -\baselineskip
-}
-
-\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
-
-
-% @headings double      turns headings on for double-sided printing.
-% @headings single      turns headings on for single-sided printing.
-% @headings off         turns them off.
-% @headings on          same as @headings double, retained for compatibility.
-% @headings after       turns on double-sided headings after this page.
-% @headings doubleafter turns on double-sided headings after this page.
-% @headings singleafter turns on single-sided headings after this page.
-% By default, they are off at the start of a document,
-% and turned `on' after @end titlepage.
-
-\def\headings #1 {\csname HEADINGS#1\endcsname}
-
-\def\HEADINGSoff{%
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
-% When we turn headings on, set the page number to 1.
-% For double-sided printing, put current file name in lower left corner,
-% chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSdouble{%
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-\let\contentsalignmacro = \chappager
-
-% For single-sided printing, chapter title goes across top left of page,
-% page number on top right.
-\def\HEADINGSsingle{%
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-\def\HEADINGSon{\HEADINGSdouble}
-
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-
-% Subroutines used in generating headings
-% This produces Day Month Year style of output.
-% Only define if not already defined, in case a txi-??.tex file has set
-% up a different format (e.g., txi-cs.tex does this).
-\ifx\today\undefined
-\def\today{%
-  \number\day\space
-  \ifcase\month
-  \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
-  \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
-  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
-  \fi
-  \space\number\year}
-\fi
-
-% @settitle line...  specifies the title of the document, for headings.
-% It generates no output of its own.
-\def\thistitle{\putwordNoTitle}
-\def\settitle{\parsearg{\gdef\thistitle}}
-
-
-\message{tables,}
-% Tables -- @table, @ftable, @vtable, @item(x).
-
-% default indentation of table text
-\newdimen\tableindent \tableindent=.8in
-% default indentation of @itemize and @enumerate text
-\newdimen\itemindent  \itemindent=.3in
-% margin between end of table item and start of table text.
-\newdimen\itemmargin  \itemmargin=.1in
-
-% used internally for \itemindent minus \itemmargin
-\newdimen\itemmax
-
-% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
-% these defs.
-% They also define \itemindex
-% to index the item name in whatever manner is desired (perhaps none).
-
-\newif\ifitemxneedsnegativevskip
-
-\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
-
-\def\internalBitem{\smallbreak \parsearg\itemzzz}
-\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-
-\def\itemzzz #1{\begingroup %
-  \advance\hsize by -\rightskip
-  \advance\hsize by -\tableindent
-  \setbox0=\hbox{\itemindicate{#1}}%
-  \itemindex{#1}%
-  \nobreak % This prevents a break before @itemx.
-  %
-  % If the item text does not fit in the space we have, put it on a line
-  % by itself, and do not allow a page break either before or after that
-  % line.  We do not start a paragraph here because then if the next
-  % command is, e.g., @kindex, the whatsit would get put into the
-  % horizontal list on a line by itself, resulting in extra blank space.
-  \ifdim \wd0>\itemmax
-    %
-    % Make this a paragraph so we get the \parskip glue and wrapping,
-    % but leave it ragged-right.
-    \begingroup
-      \advance\leftskip by-\tableindent
-      \advance\hsize by\tableindent
-      \advance\rightskip by0pt plus1fil
-      \leavevmode\unhbox0\par
-    \endgroup
-    %
-    % We're going to be starting a paragraph, but we don't want the
-    % \parskip glue -- logically it's part of the @item we just started.
-    \nobreak \vskip-\parskip
-    %
-    % Stop a page break at the \parskip glue coming up.  However, if
-    % what follows is an environment such as @example, there will be no
-    % \parskip glue; then the negative vskip we just inserted would
-    % cause the example and the item to crash together.  So we use this
-    % bizarre value of 10001 as a signal to \aboveenvbreak to insert
-    % \parskip glue after all.  Section titles are handled this way also.
-    % 
-    \penalty 10001
-    \endgroup
-    \itemxneedsnegativevskipfalse
-  \else
-    % The item text fits into the space.  Start a paragraph, so that the
-    % following text (if any) will end up on the same line.
-    \noindent
-    % Do this with kerns and \unhbox so that if there is a footnote in
-    % the item text, it can migrate to the main vertical list and
-    % eventually be printed.
-    \nobreak\kern-\tableindent
-    \dimen0 = \itemmax  \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
-    \unhbox0
-    \nobreak\kern\dimen0
-    \endgroup
-    \itemxneedsnegativevskiptrue
-  \fi
-}
-
-\def\item{\errmessage{@item while not in a list environment}}
-\def\itemx{\errmessage{@itemx while not in a list environment}}
-
-% @table, @ftable, @vtable.
-\envdef\table{%
-  \let\itemindex\gobble
-  \tablecheck{table}%
-}
-\envdef\ftable{%
-  \def\itemindex ##1{\doind {fn}{\code{##1}}}%
-  \tablecheck{ftable}%
-}
-\envdef\vtable{%
-  \def\itemindex ##1{\doind {vr}{\code{##1}}}%
-  \tablecheck{vtable}%
-}
-\def\tablecheck#1{%
-  \ifnum \the\catcode`\^^M=\active
-    \endgroup
-    \errmessage{This command won't work in this context; perhaps the problem is
-      that we are \inenvironment\thisenv}%
-    \def\next{\doignore{#1}}%
-  \else
-    \let\next\tablex
-  \fi
-  \next
-}
-\def\tablex#1{%
-  \def\itemindicate{#1}%
-  \parsearg\tabley
-}
-\def\tabley#1{%
-  {%
-    \makevalueexpandable
-    \edef\temp{\noexpand\tablez #1\space\space\space}%
-    \expandafter
-  }\temp \endtablez
-}
-\def\tablez #1 #2 #3 #4\endtablez{%
-  \aboveenvbreak
-  \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
-  \ifnum 0#2>0 \tableindent=#2\mil \fi
-  \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
-  \itemmax=\tableindent
-  \advance \itemmax by -\itemmargin
-  \advance \leftskip by \tableindent
-  \exdentamount=\tableindent
-  \parindent = 0pt
-  \parskip = \smallskipamount
-  \ifdim \parskip=0pt \parskip=2pt \fi
-  \let\item = \internalBitem
-  \let\itemx = \internalBitemx
-}
-\def\Etable{\endgraf\afterenvbreak}
-\let\Eftable\Etable
-\let\Evtable\Etable
-\let\Eitemize\Etable
-\let\Eenumerate\Etable
-
-% This is the counter used by @enumerate, which is really @itemize
-
-\newcount \itemno
-
-\envdef\itemize{\parsearg\doitemize}
-
-\def\doitemize#1{%
-  \aboveenvbreak
-  \itemmax=\itemindent
-  \advance\itemmax by -\itemmargin
-  \advance\leftskip by \itemindent
-  \exdentamount=\itemindent
-  \parindent=0pt
-  \parskip=\smallskipamount
-  \ifdim\parskip=0pt \parskip=2pt \fi
-  \def\itemcontents{#1}%
-  % @itemize with no arg is equivalent to @itemize @bullet.
-  \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
-  \let\item=\itemizeitem
-}
-
-% Definition of @item while inside @itemize and @enumerate.
-%
-\def\itemizeitem{%
-  \advance\itemno by 1  % for enumerations
-  {\let\par=\endgraf \smallbreak}% reasonable place to break
-  {%
-   % If the document has an @itemize directly after a section title, a
-   % \nobreak will be last on the list, and \sectionheading will have
-   % done a \vskip-\parskip.  In that case, we don't want to zero
-   % parskip, or the item text will crash with the heading.  On the
-   % other hand, when there is normal text preceding the item (as there
-   % usually is), we do want to zero parskip, or there would be too much
-   % space.  In that case, we won't have a \nobreak before.  At least
-   % that's the theory.
-   \ifnum\lastpenalty<10000 \parskip=0in \fi
-   \noindent
-   \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
-   \vadjust{\penalty 1200}}% not good to break after first line of item.
-  \flushcr
-}
-
-% \splitoff TOKENS\endmark defines \first to be the first token in
-% TOKENS, and \rest to be the remainder.
-%
-\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
-
-% Allow an optional argument of an uppercase letter, lowercase letter,
-% or number, to specify the first label in the enumerated list.  No
-% argument is the same as `1'.
-%
-\envparseargdef\enumerate{\enumeratey #1  \endenumeratey}
-\def\enumeratey #1 #2\endenumeratey{%
-  % If we were given no argument, pretend we were given `1'.
-  \def\thearg{#1}%
-  \ifx\thearg\empty \def\thearg{1}\fi
-  %
-  % Detect if the argument is a single token.  If so, it might be a
-  % letter.  Otherwise, the only valid thing it can be is a number.
-  % (We will always have one token, because of the test we just made.
-  % This is a good thing, since \splitoff doesn't work given nothing at
-  % all -- the first parameter is undelimited.)
-  \expandafter\splitoff\thearg\endmark
-  \ifx\rest\empty
-    % Only one token in the argument.  It could still be anything.
-    % A ``lowercase letter'' is one whose \lccode is nonzero.
-    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
-    %   not equal to itself.
-    % Otherwise, we assume it's a number.
-    %
-    % We need the \relax at the end of the \ifnum lines to stop TeX from
-    % continuing to look for a <number>.
-    %
-    \ifnum\lccode\expandafter`\thearg=0\relax
-      \numericenumerate % a number (we hope)
-    \else
-      % It's a letter.
-      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
-        \lowercaseenumerate % lowercase letter
-      \else
-        \uppercaseenumerate % uppercase letter
-      \fi
-    \fi
-  \else
-    % Multiple tokens in the argument.  We hope it's a number.
-    \numericenumerate
-  \fi
-}
-
-% An @enumerate whose labels are integers.  The starting integer is
-% given in \thearg.
-%
-\def\numericenumerate{%
-  \itemno = \thearg
-  \startenumeration{\the\itemno}%
-}
-
-% The starting (lowercase) letter is in \thearg.
-\def\lowercaseenumerate{%
-  \itemno = \expandafter`\thearg
-  \startenumeration{%
-    % Be sure we're not beyond the end of the alphabet.
-    \ifnum\itemno=0
-      \errmessage{No more lowercase letters in @enumerate; get a bigger
-                  alphabet}%
-    \fi
-    \char\lccode\itemno
-  }%
-}
-
-% The starting (uppercase) letter is in \thearg.
-\def\uppercaseenumerate{%
-  \itemno = \expandafter`\thearg
-  \startenumeration{%
-    % Be sure we're not beyond the end of the alphabet.
-    \ifnum\itemno=0
-      \errmessage{No more uppercase letters in @enumerate; get a bigger
-                  alphabet}
-    \fi
-    \char\uccode\itemno
-  }%
-}
-
-% Call \doitemize, adding a period to the first argument and supplying the
-% common last two arguments.  Also subtract one from the initial value in
-% \itemno, since @item increments \itemno.
-%
-\def\startenumeration#1{%
-  \advance\itemno by -1
-  \doitemize{#1.}\flushcr
-}
-
-% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-% to @enumerate.
-%
-\def\alphaenumerate{\enumerate{a}}
-\def\capsenumerate{\enumerate{A}}
-\def\Ealphaenumerate{\Eenumerate}
-\def\Ecapsenumerate{\Eenumerate}
-
-
-% @multitable macros
-% Amy Hendrickson, 8/18/94, 3/6/96
-%
-% @multitable ... @end multitable will make as many columns as desired.
-% Contents of each column will wrap at width given in preamble.  Width
-% can be specified either with sample text given in a template line,
-% or in percent of \hsize, the current width of text on page.
-
-% Table can continue over pages but will only break between lines.
-
-% To make preamble:
-%
-% Either define widths of columns in terms of percent of \hsize:
-%   @multitable @columnfractions .25 .3 .45
-%   @item ...
-%
-%   Numbers following @columnfractions are the percent of the total
-%   current hsize to be used for each column. You may use as many
-%   columns as desired.
-
-
-% Or use a template:
-%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-%   @item ...
-%   using the widest term desired in each column.
-
-% Each new table line starts with @item, each subsequent new column
-% starts with @tab. Empty columns may be produced by supplying @tab's
-% with nothing between them for as many times as empty columns are needed,
-% ie, @tab@tab@tab will produce two empty columns.
-
-% @item, @tab do not need to be on their own lines, but it will not hurt
-% if they are.
-
-% Sample multitable:
-
-%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-%   @item first col stuff @tab second col stuff @tab third col
-%   @item
-%   first col stuff
-%   @tab
-%   second col stuff
-%   @tab
-%   third col
-%   @item first col stuff @tab second col stuff
-%   @tab Many paragraphs of text may be used in any column.
-%
-%         They will wrap at the width determined by the template.
-%   @item@tab@tab This will be in third column.
-%   @end multitable
-
-% Default dimensions may be reset by user.
-% @multitableparskip is vertical space between paragraphs in table.
-% @multitableparindent is paragraph indent in table.
-% @multitablecolmargin is horizontal space to be left between columns.
-% @multitablelinespace is space to leave between table items, baseline
-%                                                            to baseline.
-%   0pt means it depends on current normal line spacing.
-%
-\newskip\multitableparskip
-\newskip\multitableparindent
-\newdimen\multitablecolspace
-\newskip\multitablelinespace
-\multitableparskip=0pt
-\multitableparindent=6pt
-\multitablecolspace=12pt
-\multitablelinespace=0pt
-
-% Macros used to set up halign preamble:
-%
-\let\endsetuptable\relax
-\def\xendsetuptable{\endsetuptable}
-\let\columnfractions\relax
-\def\xcolumnfractions{\columnfractions}
-\newif\ifsetpercent
-
-% #1 is the @columnfraction, usually a decimal number like .5, but might
-% be just 1.  We just use it, whatever it is.
-%
-\def\pickupwholefraction#1 {%
-  \global\advance\colcount by 1
-  \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
-  \setuptable
-}
-
-\newcount\colcount
-\def\setuptable#1{%
-  \def\firstarg{#1}%
-  \ifx\firstarg\xendsetuptable
-    \let\go = \relax
-  \else
-    \ifx\firstarg\xcolumnfractions
-      \global\setpercenttrue
-    \else
-      \ifsetpercent
-         \let\go\pickupwholefraction
-      \else
-         \global\advance\colcount by 1
-         \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
-                   % separator; typically that is always in the input, anyway.
-         \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
-      \fi
-    \fi
-    \ifx\go\pickupwholefraction
-      % Put the argument back for the \pickupwholefraction call, so
-      % we'll always have a period there to be parsed.
-      \def\go{\pickupwholefraction#1}%
-    \else
-      \let\go = \setuptable
-    \fi%
-  \fi
-  \go
-}
-
-% multitable-only commands.
-%
-% @headitem starts a heading row, which we typeset in bold.
-% Assignments have to be global since we are inside the implicit group
-% of an alignment entry.  Note that \everycr resets \everytab.
-\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
-%
-% A \tab used to include \hskip1sp.  But then the space in a template
-% line is not enough.  That is bad.  So let's go back to just `&' until
-% we encounter the problem it was intended to solve again.
-%                                      --karl, nathan@acm.org, 20apr99.
-\def\tab{\checkenv\multitable &\the\everytab}%
-
-% @multitable ... @end multitable definitions:
-%
-\newtoks\everytab  % insert after every tab.
-%
-\envdef\multitable{%
-  \vskip\parskip
-  \startsavinginserts
-  %
-  % @item within a multitable starts a normal row.
-  % We use \def instead of \let so that if one of the multitable entries
-  % contains an @itemize, we don't choke on the \item (seen as \crcr aka
-  % \endtemplate) expanding \doitemize.
-  \def\item{\crcr}%
-  %
-  \tolerance=9500
-  \hbadness=9500
-  \setmultitablespacing
-  \parskip=\multitableparskip
-  \parindent=\multitableparindent
-  \overfullrule=0pt
-  \global\colcount=0
-  %
-  \everycr = {%
-    \noalign{%
-      \global\everytab={}%
-      \global\colcount=0 % Reset the column counter.
-      % Check for saved footnotes, etc.
-      \checkinserts
-      % Keeps underfull box messages off when table breaks over pages.
-      %\filbreak
-       % Maybe so, but it also creates really weird page breaks when the
-       % table breaks over pages. Wouldn't \vfil be better?  Wait until the
-       % problem manifests itself, so it can be fixed for real --karl.
-    }%
-  }%
-  %
-  \parsearg\domultitable
-}
-\def\domultitable#1{%
-  % To parse everything between @multitable and @item:
-  \setuptable#1 \endsetuptable
-  %
-  % This preamble sets up a generic column definition, which will
-  % be used as many times as user calls for columns.
-  % \vtop will set a single line and will also let text wrap and
-  % continue for many paragraphs if desired.
-  \halign\bgroup &%
-    \global\advance\colcount by 1
-    \multistrut
-    \vtop{%
-      % Use the current \colcount to find the correct column width:
-      \hsize=\expandafter\csname col\the\colcount\endcsname
-      %
-      % In order to keep entries from bumping into each other
-      % we will add a \leftskip of \multitablecolspace to all columns after
-      % the first one.
-      %
-      % If a template has been used, we will add \multitablecolspace
-      % to the width of each template entry.
-      %
-      % If the user has set preamble in terms of percent of \hsize we will
-      % use that dimension as the width of the column, and the \leftskip
-      % will keep entries from bumping into each other.  Table will start at
-      % left margin and final column will justify at right margin.
-      %
-      % Make sure we don't inherit \rightskip from the outer environment.
-      \rightskip=0pt
-      \ifnum\colcount=1
-       % The first column will be indented with the surrounding text.
-       \advance\hsize by\leftskip
-      \else
-       \ifsetpercent \else
-         % If user has not set preamble in terms of percent of \hsize
-         % we will advance \hsize by \multitablecolspace.
-         \advance\hsize by \multitablecolspace
-       \fi
-       % In either case we will make \leftskip=\multitablecolspace:
-      \leftskip=\multitablecolspace
-      \fi
-      % Ignoring space at the beginning and end avoids an occasional spurious
-      % blank line, when TeX decides to break the line at the space before the
-      % box from the multistrut, so the strut ends up on a line by itself.
-      % For example:
-      % @multitable @columnfractions .11 .89
-      % @item @code{#}
-      % @tab Legal holiday which is valid in major parts of the whole country.
-      % Is automatically provided with highlighting sequences respectively
-      % marking characters.
-      \noindent\ignorespaces##\unskip\multistrut
-    }\cr
-}
-\def\Emultitable{%
-  \crcr
-  \egroup % end the \halign
-  \global\setpercentfalse
-}
-
-\def\setmultitablespacing{%
-  \def\multistrut{\strut}% just use the standard line spacing
-  %
-  % Compute \multitablelinespace (if not defined by user) for use in
-  % \multitableparskip calculation.  We used define \multistrut based on
-  % this, but (ironically) that caused the spacing to be off.
-  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
-\ifdim\multitablelinespace=0pt
-\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
-\global\advance\multitablelinespace by-\ht0
-\fi
-%% Test to see if parskip is larger than space between lines of
-%% table. If not, do nothing.
-%%        If so, set to same dimension as multitablelinespace.
-\ifdim\multitableparskip>\multitablelinespace
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
-\fi%
-\ifdim\multitableparskip=0pt
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
-\fi}
-
-
-\message{conditionals,}
-
-% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
-% @ifnotxml always succeed.  They currently do nothing; we don't
-% attempt to check whether the conditionals are properly nested.  But we
-% have to remember that they are conditionals, so that @end doesn't
-% attempt to close an environment group.
-%
-\def\makecond#1{%
-  \expandafter\let\csname #1\endcsname = \relax
-  \expandafter\let\csname iscond.#1\endcsname = 1
-}
-\makecond{iftex}
-\makecond{ifnotdocbook}
-\makecond{ifnothtml}
-\makecond{ifnotinfo}
-\makecond{ifnotplaintext}
-\makecond{ifnotxml}
-
-% Ignore @ignore, @ifhtml, @ifinfo, and the like.
-%
-\def\direntry{\doignore{direntry}}
-\def\documentdescription{\doignore{documentdescription}}
-\def\docbook{\doignore{docbook}}
-\def\html{\doignore{html}}
-\def\ifdocbook{\doignore{ifdocbook}}
-\def\ifhtml{\doignore{ifhtml}}
-\def\ifinfo{\doignore{ifinfo}}
-\def\ifnottex{\doignore{ifnottex}}
-\def\ifplaintext{\doignore{ifplaintext}}
-\def\ifxml{\doignore{ifxml}}
-\def\ignore{\doignore{ignore}}
-\def\menu{\doignore{menu}}
-\def\xml{\doignore{xml}}
-
-% Ignore text until a line `@end #1', keeping track of nested conditionals.
-%
-% A count to remember the depth of nesting.
-\newcount\doignorecount
-
-\def\doignore#1{\begingroup
-  % Scan in ``verbatim'' mode:
-  \catcode`\@ = \other
-  \catcode`\{ = \other
-  \catcode`\} = \other
-  %
-  % Make sure that spaces turn into tokens that match what \doignoretext wants.
-  \spaceisspace
-  %
-  % Count number of #1's that we've seen.
-  \doignorecount = 0
-  %
-  % Swallow text until we reach the matching `@end #1'.
-  \dodoignore{#1}%
-}
-
-{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
-  \obeylines %
-  %
-  \gdef\dodoignore#1{%
-    % #1 contains the command name as a string, e.g., `ifinfo'.
-    %
-    % Define a command to find the next `@end #1', which must be on a line
-    % by itself.
-    \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
-    % And this command to find another #1 command, at the beginning of a
-    % line.  (Otherwise, we would consider a line `@c @ifset', for
-    % example, to count as an @ifset for nesting.)
-    \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
-    %
-    % And now expand that command.
-    \obeylines %
-    \doignoretext ^^M%
-  }%
-}
-
-\def\doignoreyyy#1{%
-  \def\temp{#1}%
-  \ifx\temp\empty                      % Nothing found.
-    \let\next\doignoretextzzz
-  \else                                        % Found a nested condition, ...
-    \advance\doignorecount by 1
-    \let\next\doignoretextyyy          % ..., look for another.
-    % If we're here, #1 ends with ^^M\ifinfo (for example).
-  \fi
-  \next #1% the token \_STOP_ is present just after this macro.
-}
-
-% We have to swallow the remaining "\_STOP_".
-%
-\def\doignoretextzzz#1{%
-  \ifnum\doignorecount = 0     % We have just found the outermost @end.
-    \let\next\enddoignore
-  \else                                % Still inside a nested condition.
-    \advance\doignorecount by -1
-    \let\next\doignoretext      % Look for the next @end.
-  \fi
-  \next
-}
-
-% Finish off ignored text.
-\def\enddoignore{\endgroup\ignorespaces}
-
-
-% @set VAR sets the variable VAR to an empty value.
-% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
-%
-% Since we want to separate VAR from REST-OF-LINE (which might be
-% empty), we can't just use \parsearg; we have to insert a space of our
-% own to delimit the rest of the line, and then take it out again if we
-% didn't need it.
-% We rely on the fact that \parsearg sets \catcode`\ =10.
-%
-\parseargdef\set{\setyyy#1 \endsetyyy}
-\def\setyyy#1 #2\endsetyyy{%
-  {%
-    \makevalueexpandable
-    \def\temp{#2}%
-    \edef\next{\gdef\makecsname{SET#1}}%
-    \ifx\temp\empty
-      \next{}%
-    \else
-      \setzzz#2\endsetzzz
-    \fi
-  }%
-}
-% Remove the trailing space \setxxx inserted.
-\def\setzzz#1 \endsetzzz{\next{#1}}
-
-% @clear VAR clears (i.e., unsets) the variable VAR.
-%
-\parseargdef\clear{%
-  {%
-    \makevalueexpandable
-    \global\expandafter\let\csname SET#1\endcsname=\relax
-  }%
-}
-
-% @value{foo} gets the text saved in variable foo.
-\def\value{\begingroup\makevalueexpandable\valuexxx}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
-{
-  \catcode`\- = \active \catcode`\_ = \active
-  %
-  \gdef\makevalueexpandable{%
-    \let\value = \expandablevalue
-    % We don't want these characters active, ...
-    \catcode`\-=\other \catcode`\_=\other
-    % ..., but we might end up with active ones in the argument if
-    % we're called from @code, as @code{@value{foo-bar_}}, though.
-    % So \let them to their normal equivalents.
-    \let-\realdash \let_\normalunderscore
-  }
-}
-
-% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we call \makevalueexpandable in \indexdummies).
-% The command has to be fully expandable (if the variable is set), since
-% the result winds up in the index file.  This means that if the
-% variable's value contains other Texinfo commands, it's almost certain
-% it will fail (although perhaps we could fix that with sufficient work
-% to do a one-level expansion on the result, instead of complete).
-%
-\def\expandablevalue#1{%
-  \expandafter\ifx\csname SET#1\endcsname\relax
-    {[No value for ``#1'']}%
-    \message{Variable `#1', used in @value, is not set.}%
-  \else
-    \csname SET#1\endcsname
-  \fi
-}
-
-% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
-% with @set.
-%
-% To get special treatment of `@end ifset,' call \makeond and the redefine.
-%
-\makecond{ifset}
-\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
-\def\doifset#1#2{%
-  {%
-    \makevalueexpandable
-    \let\next=\empty
-    \expandafter\ifx\csname SET#2\endcsname\relax
-      #1% If not set, redefine \next.
-    \fi
-    \expandafter
-  }\next
-}
-\def\ifsetfail{\doignore{ifset}}
-
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
-% defined with @set, or has been undefined with @clear.
-%
-% The `\else' inside the `\doifset' parameter is a trick to reuse the
-% above code: if the variable is not set, do nothing, if it is set,
-% then redefine \next to \ifclearfail.
-%
-\makecond{ifclear}
-\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
-\def\ifclearfail{\doignore{ifclear}}
-
-% @dircategory CATEGORY  -- specify a category of the dir file
-% which this file should belong to.  Ignore this in TeX.
-\let\dircategory=\comment
-
-% @defininfoenclose.
-\let\definfoenclose=\comment
-
-
-\message{indexing,}
-% Index generation facilities
-
-% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within macros and \if's.
-\edef\newwrite{\makecsname{ptexnewwrite}}
-
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index.  The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
-%
-\def\newindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-  \fi
-  \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
-    \noexpand\doindex{#1}}
-}
-
-% @defindex foo  ==  \newindex{foo}
-%
-\def\defindex{\parsearg\newindex}
-
-% Define @defcodeindex, like @defindex except put all entries in @code.
-%
-\def\defcodeindex{\parsearg\newcodeindex}
-%
-\def\newcodeindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1
-  \fi
-  \expandafter\xdef\csname#1index\endcsname{%
-    \noexpand\docodeindex{#1}}%
-}
-
-
-% @synindex foo bar    makes index foo feed into index bar.
-% Do this instead of @defindex foo if you don't want it as a separate index.
-%
-% @syncodeindex foo bar   similar, but put all entries made for index foo
-% inside @code.
-%
-\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
-\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
-
-% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
-% #3 the target index (bar).
-\def\dosynindex#1#2#3{%
-  % Only do \closeout if we haven't already done it, else we'll end up
-  % closing the target index.
-  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
-    % The \closeout helps reduce unnecessary open files; the limit on the
-    % Acorn RISC OS is a mere 16 files.
-    \expandafter\closeout\csname#2indfile\endcsname
-    \expandafter\let\csname\donesynindex#2\endcsname = 1
-  \fi
-  % redefine \fooindfile:
-  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
-  \expandafter\let\csname#2indfile\endcsname=\temp
-  % redefine \fooindex:
-  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
-}
-
-% Define \doindex, the driver for all \fooindex macros.
-% Argument #1 is generated by the calling \fooindex macro,
-%  and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
-
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
-
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-% Take care of Texinfo commands that can appear in an index entry.
-% Since there are some commands we want to expand, and others we don't,
-% we have to laboriously prevent expansion for those that we don't.
-%
-\def\indexdummies{%
-  \escapechar = `\\     % use backslash in output files.
-  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
-  \def\ {\realbackslash\space }%
-  % Need these in case \tex is in effect and \{ is a \delimiter again.
-  % But can't use \lbracecmd and \rbracecmd because texindex assumes
-  % braces and backslashes are used only as delimiters.
-  \let\{ = \mylbrace
-  \let\} = \myrbrace
-  %
-  % Do the redefinitions.
-  \commondummies
-}
-
-% For the aux and toc files, @ is the escape character.  So we want to
-% redefine everything using @ as the escape character (instead of
-% \realbackslash, still used for index files).  When everything uses @,
-% this will be simpler.
-%
-\def\atdummies{%
-  \def\@{@@}%
-  \def\ {@ }%
-  \let\{ = \lbraceatcmd
-  \let\} = \rbraceatcmd
-  %
-  % Do the redefinitions.
-  \commondummies
-}
-
-% Called from \indexdummies and \atdummies.
-%
-\def\commondummies{%
-  %
-  % \definedummyword defines \#1 as \string\#1\space, thus effectively
-  % preventing its expansion.  This is used only for control% words,
-  % not control letters, because the \space would be incorrect for
-  % control characters, but is needed to separate the control word
-  % from whatever follows.
-  %
-  % For control letters, we have \definedummyletter, which omits the
-  % space.
-  %
-  % These can be used both for control words that take an argument and
-  % those that do not.  If it is followed by {arg} in the input, then
-  % that will dutifully get written to the index (or wherever).
-  %
-  \def\definedummyword  ##1{\def##1{\string##1\space}}%
-  \def\definedummyletter##1{\def##1{\string##1}}%
-  \let\definedummyaccent\definedummyletter
-  %
-  \commondummiesnofonts
-  %
-  \definedummyletter\_%
-  %
-  % Non-English letters.
-  \definedummyword\AA
-  \definedummyword\AE
-  \definedummyword\L
-  \definedummyword\OE
-  \definedummyword\O
-  \definedummyword\aa
-  \definedummyword\ae
-  \definedummyword\l
-  \definedummyword\oe
-  \definedummyword\o
-  \definedummyword\ss
-  \definedummyword\exclamdown
-  \definedummyword\questiondown
-  \definedummyword\ordf
-  \definedummyword\ordm
-  %
-  % Although these internal commands shouldn't show up, sometimes they do.
-  \definedummyword\bf
-  \definedummyword\gtr
-  \definedummyword\hat
-  \definedummyword\less
-  \definedummyword\sf
-  \definedummyword\sl
-  \definedummyword\tclose
-  \definedummyword\tt
-  %
-  \definedummyword\LaTeX
-  \definedummyword\TeX
-  %
-  % Assorted special characters.
-  \definedummyword\bullet
-  \definedummyword\comma
-  \definedummyword\copyright
-  \definedummyword\registeredsymbol
-  \definedummyword\dots
-  \definedummyword\enddots
-  \definedummyword\equiv
-  \definedummyword\error
-  \definedummyword\euro
-  \definedummyword\expansion
-  \definedummyword\minus
-  \definedummyword\pounds
-  \definedummyword\point
-  \definedummyword\print
-  \definedummyword\result
-  %
-  % We want to disable all macros so that they are not expanded by \write.
-  \macrolist
-  %
-  \normalturnoffactive
-  %
-  % Handle some cases of @value -- where it does not contain any
-  % (non-fully-expandable) commands.
-  \makevalueexpandable
-}
-
-% \commondummiesnofonts: common to \commondummies and \indexnofonts.
-%
-% Better have this without active chars.
-{
-  \catcode`\~=\other
-  \gdef\commondummiesnofonts{%
-    % Control letters and accents.
-    \definedummyletter\!%
-    \definedummyaccent\"%
-    \definedummyaccent\'%
-    \definedummyletter\*%
-    \definedummyaccent\,%
-    \definedummyletter\.%
-    \definedummyletter\/%
-    \definedummyletter\:%
-    \definedummyaccent\=%
-    \definedummyletter\?%
-    \definedummyaccent\^%
-    \definedummyaccent\`%
-    \definedummyaccent\~%
-    \definedummyword\u
-    \definedummyword\v
-    \definedummyword\H
-    \definedummyword\dotaccent
-    \definedummyword\ringaccent
-    \definedummyword\tieaccent
-    \definedummyword\ubaraccent
-    \definedummyword\udotaccent
-    \definedummyword\dotless
-    %
-    % Texinfo font commands.
-    \definedummyword\b
-    \definedummyword\i
-    \definedummyword\r
-    \definedummyword\sc
-    \definedummyword\t
-    %
-    % Commands that take arguments.
-    \definedummyword\acronym
-    \definedummyword\cite
-    \definedummyword\code
-    \definedummyword\command
-    \definedummyword\dfn
-    \definedummyword\emph
-    \definedummyword\env
-    \definedummyword\file
-    \definedummyword\kbd
-    \definedummyword\key
-    \definedummyword\math
-    \definedummyword\option
-    \definedummyword\samp
-    \definedummyword\strong
-    \definedummyword\tie
-    \definedummyword\uref
-    \definedummyword\url
-    \definedummyword\var
-    \definedummyword\verb
-    \definedummyword\w
-  }
-}
-
-% \indexnofonts is used when outputting the strings to sort the index
-% by, and when constructing control sequence names.  It eliminates all
-% control sequences and just writes whatever the best ASCII sort string
-% would be for a given command (usually its argument).
-%
-\def\indexnofonts{%
-  % Accent commands should become @asis.
-  \def\definedummyaccent##1{\let##1\asis}%
-  % We can just ignore other control letters.
-  \def\definedummyletter##1{\let##1\empty}%
-  % Hopefully, all control words can become @asis.
-  \let\definedummyword\definedummyaccent
-  %
-  \commondummiesnofonts
-  %
-  % Don't no-op \tt, since it isn't a user-level command
-  % and is used in the definitions of the active chars like <, >, |, etc.
-  % Likewise with the other plain tex font commands.
-  %\let\tt=\asis
-  %
-  \def\ { }%
-  \def\@{@}%
-  % how to handle braces?
-  \def\_{\normalunderscore}%
-  %
-  % Non-English letters.
-  \def\AA{AA}%
-  \def\AE{AE}%
-  \def\L{L}%
-  \def\OE{OE}%
-  \def\O{O}%
-  \def\aa{aa}%
-  \def\ae{ae}%
-  \def\l{l}%
-  \def\oe{oe}%
-  \def\o{o}%
-  \def\ss{ss}%
-  \def\exclamdown{!}%
-  \def\questiondown{?}%
-  \def\ordf{a}%
-  \def\ordm{o}%
-  %
-  \def\LaTeX{LaTeX}%
-  \def\TeX{TeX}%
-  %
-  % Assorted special characters.
-  % (The following {} will end up in the sort string, but that's ok.)
-  \def\bullet{bullet}%
-  \def\comma{,}%
-  \def\copyright{copyright}%
-  \def\registeredsymbol{R}%
-  \def\dots{...}%
-  \def\enddots{...}%
-  \def\equiv{==}%
-  \def\error{error}%
-  \def\euro{euro}%
-  \def\expansion{==>}%
-  \def\minus{-}%
-  \def\pounds{pounds}%
-  \def\point{.}%
-  \def\print{-|}%
-  \def\result{=>}%
-  %
-  % We need to get rid of all macros, leaving only the arguments (if present).
-  % Of course this is not nearly correct, but it is the best we can do for now.
-  % makeinfo does not expand macros in the argument to @deffn, which ends up
-  % writing an index entry, and texindex isn't prepared for an index sort entry
-  % that starts with \.
-  % 
-  % Since macro invocations are followed by braces, we can just redefine them
-  % to take a single TeX argument.  The case of a macro invocation that
-  % goes to end-of-line is not handled.
-  % 
-  \macrolist
-}
-
-\let\indexbackslash=0  %overridden during \printindex.
-\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-
-% Most index entries go through here, but \dosubind is the general case.
-% #1 is the index name, #2 is the entry text.
-\def\doind#1#2{\dosubind{#1}{#2}{}}
-
-% Workhorse for all \fooindexes.
-% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% empty if called from \doind, as we usually are (the main exception
-% is with most defuns, which call us directly).
-%
-\def\dosubind#1#2#3{%
-  \iflinks
-  {%
-    % Store the main index entry text (including the third arg).
-    \toks0 = {#2}%
-    % If third arg is present, precede it with a space.
-    \def\thirdarg{#3}%
-    \ifx\thirdarg\empty \else
-      \toks0 = \expandafter{\the\toks0 \space #3}%
-    \fi
-    %
-    \edef\writeto{\csname#1indfile\endcsname}%
-    %
-    \ifvmode
-      \dosubindsanitize
-    \else
-      \dosubindwrite
-    \fi
-  }%
-  \fi
-}
-
-% Write the entry in \toks0 to the index file:
-%
-\def\dosubindwrite{%
-  % Put the index entry in the margin if desired.
-  \ifx\SETmarginindex\relax\else
-    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
-  \fi
-  %
-  % Remember, we are within a group.
-  \indexdummies % Must do this here, since \bf, etc expand at this stage
-  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
-      % so it will be output as is; and it will print as backslash.
-  %
-  % Process the index entry with all font commands turned off, to
-  % get the string to sort by.
-  {\indexnofonts
-   \edef\temp{\the\toks0}% need full expansion
-   \xdef\indexsorttmp{\temp}%
-  }%
-  %
-  % Set up the complete index entry, with both the sort key and
-  % the original text, including any font commands.  We write
-  % three arguments to \entry to the .?? file (four in the
-  % subentry case), texindex reduces to two when writing the .??s
-  % sorted result.
-  \edef\temp{%
-    \write\writeto{%
-      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
-  }%
-  \temp
-}
-
-% Take care of unwanted page breaks:
-%
-% If a skip is the last thing on the list now, preserve it
-% by backing up by \lastskip, doing the \write, then inserting
-% the skip again.  Otherwise, the whatsit generated by the
-% \write will make \lastskip zero.  The result is that sequences
-% like this:
-% @end defun
-% @tindex whatever
-% @defun ...
-% will have extra space inserted, because the \medbreak in the
-% start of the @defun won't see the skip inserted by the @end of
-% the previous defun.
-%
-% But don't do any of this if we're not in vertical mode.  We
-% don't want to do a \vskip and prematurely end a paragraph.
-%
-% Avoid page breaks due to these extra skips, too.
-%
-% But wait, there is a catch there:
-% We'll have to check whether \lastskip is zero skip.  \ifdim is not
-% sufficient for this purpose, as it ignores stretch and shrink parts
-% of the skip.  The only way seems to be to check the textual
-% representation of the skip.
-%
-% The following is almost like \def\zeroskipmacro{0.0pt} except that
-% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
-%
-\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
-%
-% ..., ready, GO:
-%
-\def\dosubindsanitize{%
-  % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
-  \skip0 = \lastskip
-  \edef\lastskipmacro{\the\lastskip}%
-  \count255 = \lastpenalty
-  %
-  % If \lastskip is nonzero, that means the last item was a
-  % skip.  And since a skip is discardable, that means this
-  % -\skip0 glue we're inserting is preceded by a
-  % non-discardable item, therefore it is not a potential
-  % breakpoint, therefore no \nobreak needed.
-  \ifx\lastskipmacro\zeroskipmacro
-  \else
-    \vskip-\skip0
-  \fi
-  %
-  \dosubindwrite
-  %
-  \ifx\lastskipmacro\zeroskipmacro
-    % If \lastskip was zero, perhaps the last item was a penalty, and
-    % perhaps it was >=10000, e.g., a \nobreak.  In that case, we want
-    % to re-insert the same penalty (values >10000 are used for various
-    % signals); since we just inserted a non-discardable item, any
-    % following glue (such as a \parskip) would be a breakpoint.  For example:
-    % 
-    %   @deffn deffn-whatever
-    %   @vindex index-whatever
-    %   Description.
-    % would allow a break between the index-whatever whatsit
-    % and the "Description." paragraph.
-    \ifnum\count255>9999 \penalty\count255 \fi
-  \else
-    % On the other hand, if we had a nonzero \lastskip,
-    % this make-up glue would be preceded by a non-discardable item
-    % (the whatsit from the \write), so we must insert a \nobreak.
-    \nobreak\vskip\skip0
-  \fi
-}
-
-% The index entry written in the file actually looks like
-%  \entry {sortstring}{page}{topic}
-% or
-%  \entry {sortstring}{page}{topic}{subtopic}
-% The texindex program reads in these files and writes files
-% containing these kinds of lines:
-%  \initial {c}
-%     before the first topic whose initial is c
-%  \entry {topic}{pagelist}
-%     for a topic that is used without subtopics
-%  \primary {topic}
-%     for the beginning of a topic that is used with subtopics
-%  \secondary {subtopic}{pagelist}
-%     for each subtopic.
-
-% Define the user-accessible indexing commands
-% @findex, @vindex, @kindex, @cindex.
-
-\def\findex {\fnindex}
-\def\kindex {\kyindex}
-\def\cindex {\cpindex}
-\def\vindex {\vrindex}
-\def\tindex {\tpindex}
-\def\pindex {\pgindex}
-
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
-% Define the macros used in formatting output of the sorted index material.
-
-% @printindex causes a particular index (the ??s file) to get printed.
-% It does not print any chapter heading (usually an @unnumbered).
-%
-\parseargdef\printindex{\begingroup
-  \dobreak \chapheadingskip{10000}%
-  %
-  \smallfonts \rm
-  \tolerance = 9500
-  \everypar = {}% don't want the \kern\-parindent from indentation suppression.
-  %
-  % See if the index file exists and is nonempty.
-  % Change catcode of @ here so that if the index file contains
-  % \initial {@}
-  % as its first line, TeX doesn't complain about mismatched braces
-  % (because it thinks @} is a control sequence).
-  \catcode`\@ = 11
-  \openin 1 \jobname.#1s
-  \ifeof 1
-    % \enddoublecolumns gets confused if there is no text in the index,
-    % and it loses the chapter title and the aux file entries for the
-    % index.  The easiest way to prevent this problem is to make sure
-    % there is some text.
-    \putwordIndexNonexistent
-  \else
-    %
-    % If the index file exists but is empty, then \openin leaves \ifeof
-    % false.  We have to make TeX try to read something from the file, so
-    % it can discover if there is anything in it.
-    \read 1 to \temp
-    \ifeof 1
-      \putwordIndexIsEmpty
-    \else
-      % Index files are almost Texinfo source, but we use \ as the escape
-      % character.  It would be better to use @, but that's too big a change
-      % to make right now.
-      \def\indexbackslash{\backslashcurfont}%
-      \catcode`\\ = 0
-      \escapechar = `\\
-      \begindoublecolumns
-      \input \jobname.#1s
-      \enddoublecolumns
-    \fi
-  \fi
-  \closein 1
-\endgroup}
-
-% These macros are used by the sorted index file itself.
-% Change them to control the appearance of the index.
-
-\def\initial#1{{%
-  % Some minor font changes for the special characters.
-  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-  %
-  % Remove any glue we may have, we'll be inserting our own.
-  \removelastskip
-  %
-  % We like breaks before the index initials, so insert a bonus.
-  \nobreak
-  \vskip 0pt plus 3\baselineskip
-  \penalty 0
-  \vskip 0pt plus -3\baselineskip
-  %
-  % Typeset the initial.  Making this add up to a whole number of
-  % baselineskips increases the chance of the dots lining up from column
-  % to column.  It still won't often be perfect, because of the stretch
-  % we need before each entry, but it's better.
-  %
-  % No shrink because it confuses \balancecolumns.
-  \vskip 1.67\baselineskip plus .5\baselineskip
-  \leftline{\secbf #1}%
-  % Do our best not to break after the initial.
-  \nobreak
-  \vskip .33\baselineskip plus .1\baselineskip
-}}
-
-% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
-% then page number (#2) flushed to the right margin.  It is used for index
-% and table of contents entries.  The paragraph is indented by \leftskip.
-%
-% A straightforward implementation would start like this:
-%      \def\entry#1#2{...
-% But this frozes the catcodes in the argument, and can cause problems to
-% @code, which sets - active.  This problem was fixed by a kludge---
-% ``-'' was active throughout whole index, but this isn't really right.
-%
-% The right solution is to prevent \entry from swallowing the whole text.
-%                                 --kasal, 21nov03
-\def\entry{%
-  \begingroup
-    %
-    % Start a new paragraph if necessary, so our assignments below can't
-    % affect previous text.
-    \par
-    %
-    % Do not fill out the last line with white space.
-    \parfillskip = 0in
-    %
-    % No extra space above this paragraph.
-    \parskip = 0in
-    %
-    % Do not prefer a separate line ending with a hyphen to fewer lines.
-    \finalhyphendemerits = 0
-    %
-    % \hangindent is only relevant when the entry text and page number
-    % don't both fit on one line.  In that case, bob suggests starting the
-    % dots pretty far over on the line.  Unfortunately, a large
-    % indentation looks wrong when the entry text itself is broken across
-    % lines.  So we use a small indentation and put up with long leaders.
-    %
-    % \hangafter is reset to 1 (which is the value we want) at the start
-    % of each paragraph, so we need not do anything with that.
-    \hangindent = 2em
-    %
-    % When the entry text needs to be broken, just fill out the first line
-    % with blank space.
-    \rightskip = 0pt plus1fil
-    %
-    % A bit of stretch before each entry for the benefit of balancing
-    % columns.
-    \vskip 0pt plus1pt
-    %
-    % Swallow the left brace of the text (first parameter):
-    \afterassignment\doentry
-    \let\temp =
-}
-\def\doentry{%
-    \bgroup % Instead of the swallowed brace.
-      \noindent
-      \aftergroup\finishentry
-      % And now comes the text of the entry.
-}
-\def\finishentry#1{%
-    % #1 is the page number.
-    %
-    % The following is kludged to not output a line of dots in the index if
-    % there are no page numbers.  The next person who breaks this will be
-    % cursed by a Unix daemon.
-    \def\tempa{{\rm }}%
-    \def\tempb{#1}%
-    \edef\tempc{\tempa}%
-    \edef\tempd{\tempb}%
-    \ifx\tempc\tempd
-      \ %
-    \else
-      %
-      % If we must, put the page number on a line of its own, and fill out
-      % this line with blank space.  (The \hfil is overwhelmed with the
-      % fill leaders glue in \indexdotfill if the page number does fit.)
-      \hfil\penalty50
-      \null\nobreak\indexdotfill % Have leaders before the page number.
-      %
-      % The `\ ' here is removed by the implicit \unskip that TeX does as
-      % part of (the primitive) \par.  Without it, a spurious underfull
-      % \hbox ensues.
-      \ifpdf
-       \pdfgettoks#1.%
-       \ \the\toksA
-      \else
-       \ #1%
-      \fi
-    \fi
-    \par
-  \endgroup
-}
-
-% Like \dotfill except takes at least 1 em.
-\def\indexdotfill{\cleaders
-  \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
-
-\def\primary #1{\line{#1\hfil}}
-
-\newskip\secondaryindent \secondaryindent=0.5cm
-\def\secondary#1#2{{%
-  \parfillskip=0in
-  \parskip=0in
-  \hangindent=1in
-  \hangafter=1
-  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
-  \ifpdf
-    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
-  \else
-    #2
-  \fi
-  \par
-}}
-
-% Define two-column mode, which we use to typeset indexes.
-% Adapted from the TeXbook, page 416, which is to say,
-% the manmac.tex format used to print the TeXbook itself.
-\catcode`\@=11
-
-\newbox\partialpage
-\newdimen\doublecolumnhsize
-
-\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
-  % Grab any single-column material above us.
-  \output = {%
-    %
-    % Here is a possibility not foreseen in manmac: if we accumulate a
-    % whole lot of material, we might end up calling this \output
-    % routine twice in a row (see the doublecol-lose test, which is
-    % essentially a couple of indexes with @setchapternewpage off).  In
-    % that case we just ship out what is in \partialpage with the normal
-    % output routine.  Generally, \partialpage will be empty when this
-    % runs and this will be a no-op.  See the indexspread.tex test case.
-    \ifvoid\partialpage \else
-      \onepageout{\pagecontents\partialpage}%
-    \fi
-    %
-    \global\setbox\partialpage = \vbox{%
-      % Unvbox the main output page.
-      \unvbox\PAGE
-      \kern-\topskip \kern\baselineskip
-    }%
-  }%
-  \eject % run that output routine to set \partialpage
-  %
-  % Use the double-column output routine for subsequent pages.
-  \output = {\doublecolumnout}%
-  %
-  % Change the page size parameters.  We could do this once outside this
-  % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
-  % format, but then we repeat the same computation.  Repeating a couple
-  % of assignments once per index is clearly meaningless for the
-  % execution time, so we may as well do it in one place.
-  %
-  % First we halve the line length, less a little for the gutter between
-  % the columns.  We compute the gutter based on the line length, so it
-  % changes automatically with the paper format.  The magic constant
-  % below is chosen so that the gutter has the same value (well, +-<1pt)
-  % as it did when we hard-coded it.
-  %
-  % We put the result in a separate register, \doublecolumhsize, so we
-  % can restore it in \pagesofar, after \hsize itself has (potentially)
-  % been clobbered.
-  %
-  \doublecolumnhsize = \hsize
-    \advance\doublecolumnhsize by -.04154\hsize
-    \divide\doublecolumnhsize by 2
-  \hsize = \doublecolumnhsize
-  %
-  % Double the \vsize as well.  (We don't need a separate register here,
-  % since nobody clobbers \vsize.)
-  \vsize = 2\vsize
-}
-
-% The double-column output routine for all double-column pages except
-% the last.
-%
-\def\doublecolumnout{%
-  \splittopskip=\topskip \splitmaxdepth=\maxdepth
-  % Get the available space for the double columns -- the normal
-  % (undoubled) page height minus any material left over from the
-  % previous page.
-  \dimen@ = \vsize
-  \divide\dimen@ by 2
-  \advance\dimen@ by -\ht\partialpage
-  %
-  % box0 will be the left-hand column, box2 the right.
-  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-  \onepageout\pagesofar
-  \unvbox255
-  \penalty\outputpenalty
-}
-%
-% Re-output the contents of the output page -- any previous material,
-% followed by the two boxes we just split, in box0 and box2.
-\def\pagesofar{%
-  \unvbox\partialpage
-  %
-  \hsize = \doublecolumnhsize
-  \wd0=\hsize \wd2=\hsize
-  \hbox to\pagewidth{\box0\hfil\box2}%
-}
-%
-% All done with double columns.
-\def\enddoublecolumns{%
-  \output = {%
-    % Split the last of the double-column material.  Leave it on the
-    % current page, no automatic page break.
-    \balancecolumns
-    %
-    % If we end up splitting too much material for the current page,
-    % though, there will be another page break right after this \output
-    % invocation ends.  Having called \balancecolumns once, we do not
-    % want to call it again.  Therefore, reset \output to its normal
-    % definition right away.  (We hope \balancecolumns will never be
-    % called on to balance too much material, but if it is, this makes
-    % the output somewhat more palatable.)
-    \global\output = {\onepageout{\pagecontents\PAGE}}%
-  }%
-  \eject
-  \endgroup % started in \begindoublecolumns
-  %
-  % \pagegoal was set to the doubled \vsize above, since we restarted
-  % the current page.  We're now back to normal single-column
-  % typesetting, so reset \pagegoal to the normal \vsize (after the
-  % \endgroup where \vsize got restored).
-  \pagegoal = \vsize
-}
-%
-% Called at the end of the double column material.
-\def\balancecolumns{%
-  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
-  \dimen@ = \ht0
-  \advance\dimen@ by \topskip
-  \advance\dimen@ by-\baselineskip
-  \divide\dimen@ by 2 % target to split to
-  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
-  \splittopskip = \topskip
-  % Loop until we get a decent breakpoint.
-  {%
-    \vbadness = 10000
-    \loop
-      \global\setbox3 = \copy0
-      \global\setbox1 = \vsplit3 to \dimen@
-    \ifdim\ht3>\dimen@
-      \global\advance\dimen@ by 1pt
-    \repeat
-  }%
-  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
-  \setbox0=\vbox to\dimen@{\unvbox1}%
-  \setbox2=\vbox to\dimen@{\unvbox3}%
-  %
-  \pagesofar
-}
-\catcode`\@ = \other
-
-
-\message{sectioning,}
-% Chapters, sections, etc.
-
-% \unnumberedno is an oxymoron, of course.  But we count the unnumbered
-% sections so that we can refer to them unambiguously in the pdf
-% outlines by their "section number".  We avoid collisions with chapter
-% numbers by starting them at 10000.  (If a document ever has 10000
-% chapters, we're in trouble anyway, I'm sure.)
-\newcount\unnumberedno \unnumberedno = 10000
-\newcount\chapno
-\newcount\secno        \secno=0
-\newcount\subsecno     \subsecno=0
-\newcount\subsubsecno  \subsubsecno=0
-
-% This counter is funny since it counts through charcodes of letters A, B, ...
-\newcount\appendixno  \appendixno = `\@
-%
-% \def\appendixletter{\char\the\appendixno}
-% We do the following ugly conditional instead of the above simple
-% construct for the sake of pdftex, which needs the actual
-% letter in the expansion, not just typeset.
-%
-\def\appendixletter{%
-  \ifnum\appendixno=`A A%
-  \else\ifnum\appendixno=`B B%
-  \else\ifnum\appendixno=`C C%
-  \else\ifnum\appendixno=`D D%
-  \else\ifnum\appendixno=`E E%
-  \else\ifnum\appendixno=`F F%
-  \else\ifnum\appendixno=`G G%
-  \else\ifnum\appendixno=`H H%
-  \else\ifnum\appendixno=`I I%
-  \else\ifnum\appendixno=`J J%
-  \else\ifnum\appendixno=`K K%
-  \else\ifnum\appendixno=`L L%
-  \else\ifnum\appendixno=`M M%
-  \else\ifnum\appendixno=`N N%
-  \else\ifnum\appendixno=`O O%
-  \else\ifnum\appendixno=`P P%
-  \else\ifnum\appendixno=`Q Q%
-  \else\ifnum\appendixno=`R R%
-  \else\ifnum\appendixno=`S S%
-  \else\ifnum\appendixno=`T T%
-  \else\ifnum\appendixno=`U U%
-  \else\ifnum\appendixno=`V V%
-  \else\ifnum\appendixno=`W W%
-  \else\ifnum\appendixno=`X X%
-  \else\ifnum\appendixno=`Y Y%
-  \else\ifnum\appendixno=`Z Z%
-  %