Historical Note (Or "Why?")

During a religious emacs discussion with ap (AyPEE on FICS) on the then AICS (now ICC) server some time ago, the idea of an ics mode for Emacs came up. I decided to attempt to write it. It was, however, my first Emacs Lisp program ever, and as such was really crap. So I printed out the elisp manual - all 706 pages. Then I read it - all 706 pages. (You believe me, right?) Then I started ics.el again from scratch. The result is the new, improved, all-singing, all-dancing ics.el.

I have now finally addressed what I saw as the main problems with the 0.3.x alpha releases. The current version is 0.4.1, released Sun Jul 21 19:58:49 BST 2002.

The next stage now is to redo the highlighting, buttonising and auto-command bits to be easier to customise, probably using the built-in customisation feature of Emacs. this will be worked on as v0.5 and eventually(!) released as 1.0.

Any feedback on current bugs and future feature requests will be gladly received via mark@oakden.org. Feature requests are particularly welcome since I am running out of ideas for things to add.

What is it?

ics.el is meant to handle the text portion of an Internet Chess Server (ICS) session. It handles colour highlighting and "buttonisation" (making certain portions of text active so that, for example, you can challenge opponents with a single mouse click) as well as command recall and editing and automation of commands based on regexps seen in the ICS output, all highly customisable using Emacs lisp.

One thing that it doesn't handle (yet?) is the chess board portion of the ICS session. For this I'd recommend Tim Mann's superlative xboard program.


I just (13th Feb 2006) put together a little amaroK script to send the currently playing track in amaroK to Emacs for, e.g., inclusion in your ICS finger notes.


You'll need to have gnuserv installed and active, which for me under GNU emacs requires the following in my .emacs:-

;; gnuserv (for amarok <-> ics integration)
(require 'gnuserv-compat)
(require 'gnuserv)


The current stable version of ics.el is 0.4.1 and was released on 21st July 2002.


Download version 0.4.1 as

Downloads are only currently available via http protocol, until I work out if Eclipse provide anon ftp server space, or I find another ftp site that can host ics.el. If you have trouble getting downloads to work without mangling the file, email me and I'll mail you a uuencoded version. (this is done manually, so might not happen quickly - please bear with me!). When checking the md5 sums given above, remember that the browser/server may have uncompressed/un-gzipped them on the fly for you.


My main development platform is FSF Emacs, but I have just installed a version of XEmacs in order to fix some of the grosser incompatibilities. Some of this has been incorporated into version 0.4.1.

Development version

My current development version (snapshotted at Wed Jul 12 23:03:00 BST 2006). This is usually not too broken, being the version I use on a day-to-day basis ;-). This has some fixes for XEmacs problems, but needs more work - currently, highlighting and button regexps and button pressing function have been fixed. The code is a mess at the moment, with numerous (string-match "XEmacs\\|Lucid" emacs-version) calls scattered throughout, and probably won't byte-compile without a lot of warnings, if at all but it seems to run in both Xemacs and GNU (FSF) Emacs. The md5sum for ics-devel.el is dcb151975f8e7a3c64e67f37bbc3a906

The development version has updated server list and now works a bit better with chess.net and the BCF online sites. chess.net support isn't complete since they seem to have decided for no good reason to do things just slightly differently to the other sites out there (despite springing from essentially the same codebase).

ics.el is released WITH NO WARRANTY under the GNU General Public License either version 2, or at your option, any later version.


The ChangeLog is available.

Known Bugs


Documentation is somewhat scarce at the moment, although the code is reasonably well commented throughout, with instructions on setup at the start of the file. There is a (plaintext) HOWTO document available here. It was written about 4 years ago but still covers the current version. (Just goes to show how long this project has stagnated for!).


ics.el, running in emacs 20.3, under windowmaker along with xboard looks a little bit like this (click on image for full size screenshot, 800x600 jpeg 283k):-

ics.el screenshot (small jpg 400x300 28k)


ics.el is intended to work with both ICC and FICS

Internet Chess Club
The Free Internet Chess Server