summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2005-06-27 23:53:18 +0000
committerJohn Wiegley <johnw@newartisans.com>2005-06-27 23:53:18 +0000
commit8bc8dc6b37fba2139233f0c3574ded067b94ff0d (patch)
tree66d638ccfe07b5c3284537d4a7073d7266eabc6c
parent0ff2c29a361b07c27b6a961193ae3731a765ad51 (diff)
*** no comment ***
-rw-r--r--ChangeLog29
-rw-r--r--PLAN37
-rw-r--r--README102
-rw-r--r--chess-maint.el6
-rw-r--r--chess-none.el3
5 files changed, 69 insertions, 108 deletions
diff --git a/ChangeLog b/ChangeLog
index 965fba6..14c3abc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2005-06-27 John Wiegley <johnw@newartisans.com>
+
+ * chess-ics.el (chess-ics-sought-add): Added this routine to
+ factor out a lot of duplicated code.
+
+ * chess-plain.el (chess-plain-popup): Pass nil for the `font'
+ argument to `chess-display-popup-in-frame', since we don't care
+ what the size of the font is with textual chessboards.
+
+ * chess-input.el (chess-input-shortcut): If a character is typed
+ that is not a legal start of a move (which only happens if it's
+ not bound to anything else), just ignore it.
+
+ * chess-images.el (chess-images-determine-size): On Macs and
+ Windows, reduce the screen height by 80 instead of just 20, to
+ account for the Start/Status bar.
+ (chess-images-popup): Pass in a `font' to
+ `chess-display-popup-in-frame', so that the pixel height for each
+ graphical piece is computed correctly.
+ (chess-images-change-size): Foricbly popup the chess buffer when
+ changing the size of graphical pieces.
+
+ * chess-ics1.el (chess-ics1-popup): Added `font' argument in call
+ to `chess-display-popup-in-frame'.
+
+ * chess-display.el (chess-display-popup-in-frame): Added a `font'
+ parameter, so that the font can be set in new chessboard
+ frames (which is necessary to get the pixel height/width right).
+
2004-12-07 Mario Lang <mlang@delysid.org>
* chess-algebraic.el, chess-announce.el, chess-autosave.el,
diff --git a/PLAN b/PLAN
index aaff7d2..dba0963 100644
--- a/PLAN
+++ b/PLAN
@@ -2,6 +2,20 @@ chess-autosave
- this module currently isn't working at all!
- doesn't support undoing of moves
+chess-clock
+- sometimes, the clock gets shut off (while playing on ICS) for no
+ reason that I can determine
+
+chess-irc
+- if I move before my opponent has connected, I get a symbol assertion
+ about "value"
+
+chess-network
+- does not work at all!
+
+chess-gnuchess
+- triggers a Lisp error when I resign
+
chess-ics
- takebacks still aren't working 100%; when I submit a takeback
request manually, and the other side accepts, my client doesn't know
@@ -10,37 +24,21 @@ chess-ics
- resuming adjourned games does not work at all
- not detecting forfeit by disconnection at the moment
-chess-clock
-- sometimse, the clock gets shut off (while playing on ICS) for no
- reason that I can determine
-
chess-display
+- although chess-display-side-to-move is using faces, the Black/White
+ text doesn't show the face in the modeline
- sometimes the final event of a game doesn't change the modeline,
like CHECKMATE, or FLAG FELL
- if I win a game, it still reports CHECKMATE incorrect; if I'm white,
it does so on the last ply (per display)
- need a "save this game to a PGN file/database" command
-chess-images
-- if chess-display-popup is nil, and I resize the board, it merely
- deletes the frame and never shows it again
-
chess-engine
- if I say "y" to accepting something from my opponent (new game,
takeback, etc), I get left with an hourglass cursor
- if no chess engine is available, there is no nice message being
printed
-chess-irc
-- if I move before my opponent has connected, I get a symbol assertion
- about "value"
-
-chess-network
-- does not work at all!
-
-chess-pos
-- typing a number in a chessboard display gets an assertion
-
chess-ply
- detect games drawn by three-fold repetition and the 50 move rule
(Note, FIDE rules define that a draw must be claimed by one
@@ -57,9 +55,6 @@ chess-pgn
chess-german
- complete translation
-chess-gnuchess
-- triggers a Lisp error when I resign
-
general
- add an 'install' target to the Makefile
- use more asserts throughout the code
diff --git a/README b/README
index 09ca7e0..38000bb 100644
--- a/README
+++ b/README
@@ -1,94 +1,34 @@
Welcome to chess.el, a client and library for playing Chess from
Emacs.
-chess.el is an Emacs Lisp library and several clients on top of the underlying
-library functionality for performing various activities related
-to the game of chess.
+chess.el is an Emacs Lisp library and several clients on top of the
+underlying library functionality for performing various activities
+related to the game of chess.
+
You can play against an external chess program such as gnuchess,
-crafty, phalanx or sjeng. All of them are publically available,
-and chess.el will automatically detect which one
-you have installed, provided they have standard executable
-program names, and are in a located in a directory which
-is part of the PATH. See the customisable variable
-`chess-default-engine'.
+crafty, phalanx or sjeng. All of them are publically available, and
+chess.el will automatically detect which one you have installed,
+provided they have standard executable program names, and are in a
+located in a directory which is part of the PATH. See the
+customisable variable `chess-default-engine'.
You can also play against another human or computer over the internet
-(through a direct Emacs-to-Emacs connection, or
-on one of the Internet Chess Servers like freechess.org or
-chessclub.com), or even against a very simple chess thinking
-module implemented in pure Emacs Lisp.
+(through a direct Emacs-to-Emacs connection, or on one of the Internet
+Chess Servers like freechess.org or chessclub.com), or even against a
+very simple chess thinking module implemented in pure Emacs Lisp.
chess.el also provides a mode for editing Portable Game Notation (PGN
files.
-To improve your chessaility, you might also like to have
-a look at chess-puzzle, which allows you to solve
-chess puzzle collections (in PGN or EPD format) against
-one of the engines you have installed.
+To improve your chessaility, you might also like to have a look at
+chess-puzzle, which allows you to solve chess puzzle collections (in
+PGN or EPD format) against one of the engines you have installed.
HISTORY
-chess.el started out as a single file project with
-version 1.0 by John Wiegley <johnw@gnu.org>. Version 2.0 is a major
-rewrite and reorganisation of the original code, also done
-by John Wiegley. In the end of 2003, John did not
-have a lot of time to finish all the various aspects of version 2.0,
-and maintainership was given to Mario Lang <mlang@delysid.org>.
-
-
-LAYOUT
-
-Core library
-
- chess-pos.el
- chess-fen.el
-
- chess-ply.el
- chess-algebraic.el
-
- chess-var.el
- chess-game.el
-
-* chess-module.el
-** chess-announce.el
-** chess-sound.el
-** chess-display.el
-*** chess-plain.el
-*** chess-ics1.el
-*** chess-images.el
-** chess-database.el
-*** chess-file.el
-*** chess-pgn.el
-*** chess-scid.el
-** chess-engine.el
-*** chess-none.el
-*** chess-common.el
-**** chess-ai.el
-**** chess-crafty.el
-**** chess-gnuchess.el
-**** chess-phalanx.el
-*** chess-network.el
-**** chess-irc.el
-
-** input modules
-*** chess-input.el
-*** chess-ucb.el
-
-** chess-autosave.el
-** chess-chat.el
-** chess-clock.el
-** chess-kibitz.el
-
-* chess-message.el
-** chess-german.el
-
-chess-maint.el
-
-chess.el
-chess-ics.el
-chess-link.el
-chess-puzzle.el
-chess-tutorial.el
-
-chess-random.el
-chess-transport.el
+chess.el started out as a single file project with version 1.0 by John
+Wiegley <johnw@gnu.org>. Version 2.0 is a major rewrite and
+reorganisation of the original code, also done by John Wiegley. In
+the end of 2003, John did not have a lot of time to finish all the
+various aspects of version 2.0, and maintainership was given to Mario
+Lang <mlang@delysid.org>.
diff --git a/chess-maint.el b/chess-maint.el
index 4bfcfd4..41612e3 100644
--- a/chess-maint.el
+++ b/chess-maint.el
@@ -1,14 +1,10 @@
(add-to-list 'load-path ".")
+(require 'cl)
(require 'pp)
(require 'chess)
(require 'chess-pgn)
-(defmacro assert (form)
- (unless (byte-compiling-files-p)
- `(unless ,form
- (error "Assertion failed: %s" (pp-to-string ,form)))))
-
(defun chess-generate-texinfo-file ()
(require 'lispdoc)
(require 'texinfo)
diff --git a/chess-none.el b/chess-none.el
index e833744..efc3afe 100644
--- a/chess-none.el
+++ b/chess-none.el
@@ -1,6 +1,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
-;; A null engine, used when two humans play each on the same display.
+;; A null engine, used when two humans play against each other on the
+;; same display.
;;
(require 'chess-engine)