From 397398a87bf155d6713bf597a1931afa7c7a0e08 Mon Sep 17 00:00:00 2001 From: Mario Lang Date: Sun, 7 Mar 2004 22:15:02 +0000 Subject: laptop sync --- ChangeLog | 11 +++++++++++ PLAN | 28 +++------------------------- README | 42 ++++++++++++++++++++++++++++++++++-------- chess-pgn.el | 5 ++++- 4 files changed, 52 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5e085bc..12d33d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2004-03-06 root + + * README: Rephrase the intro, and add a HISTORY section + to document the maintainership change. + + * PLAN: Remove chess-input entry, which was bogus. + + * chess-pgn.el (chess-pgn-read-game): Fix database-index calculation. + Now `chess-pgn-show-position' should work as expected in multiple + game PGN files. + 2004-03-01 Mario Lang * chess-ply.el 1.46 diff --git a/PLAN b/PLAN index 8b1fbac..8837eb8 100644 --- a/PLAN +++ b/PLAN @@ -21,31 +21,6 @@ chess-display it does so on the last ply (per display) - need a "save this game to a PGN file/database" command -chess-input -- In the following game, it wouldn't let me type "rh" to move Rh5, - when it was the only possible move - -[Event "ICS unrated blitz match"] -[Site "64.71.131.140"] -[Date "2002.06.05"] -[Round "-"] -[White "realmadrid"] -[Black "jwiegley"] -[Result "0-1"] -[WhiteElo "0"] -[BlackElo "1128"] -[TimeControl "60+6"] - -1. e4 c5 2. e5 d6 3. f4 dxe5 4. fxe5 Nc6 5. Qh5 g6 6. Qg5 Bg7 7. Nf3 Bf5 8. -d3 Nxe5 9. Nxe5 Bxe5 10. Qe3 Qa5+ 11. c3 Qc7 12. d4 cxd4 13. cxd4 Bxh2 14. -Bb5+ Bd7 15. Bxd7+ Kxd7 16. Qh3+ e6 17. Rxh2 Qxc1+ 18. Kf2 Qxb2+ 19. Kg1 -Qxa1 20. Qb3 Qxd4+ 21. Kf1 Qf4+ 22. Kg1 Ne7 23. Qxb7+ Kd6 24. g3 Qe3+ 25. -Rf2 Qxg3+ 26. Rg2 Qe1+ 27. Kh2 Rhb8 28. Rd2+ Qxd2+ 29. Nxd2 Rxb7 30. Kg3 -Rb2 31. Ne4+ Kd5 32. Nf6+ Ke5 33. Nxh7 Rxa2 34. Ng5 Nf5+ 35. Kg4 Kf6 36. -Ne4+ Ke7 37. Kg5 Rg2+ 38. Kf4 Rh8 39. Ke5 Rh5 40. Nf6 Ng7+ 41. Nxh5 gxh5 -42. Kf4 h4 43. Kf3 h3 44. Kf4 h2 45. Ke3 h1=Q 46. Kd3 Qh4 47. Kc3 Rg3+ 48. -Kb2 Qh2+ 49. Ka1 Rg1# {realmadrid checkmated} 0-1 - chess-images - if chess-display-popup is nil, and I resize the board, it merely deletes the frame and never shows it again @@ -65,6 +40,9 @@ chess-network 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 + of the opponents, so we do not really need to do this on + every move, just when a draw is requested.) chess-pgn - when saving a full game to the clipboard, it shouldn't need to save diff --git a/README b/README index c621fd9..09ca7e0 100644 --- a/README +++ b/README @@ -1,14 +1,40 @@ Welcome to chess.el, a client and library for playing Chess from Emacs. -chess.el does not know how to play chess against you. While the -library does know all legal moves, there is no "thinking" module. For -this, you must download one of the publically available chess engines, -such as gnuchess, crafty or phalanx. You will find all of these -sufficiently challenging, I'm sure. Once they are installed, chess.el -will use them, provided the locations of the binaries is on your PATH. - -John Wiegley +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'. + +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. + +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. + +HISTORY + +chess.el started out as a single file project with +version 1.0 by John Wiegley . 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 . + LAYOUT diff --git a/chess-pgn.el b/chess-pgn.el index 796187c..dde8d68 100644 --- a/chess-pgn.el +++ b/chess-pgn.el @@ -4,6 +4,9 @@ ;; (require 'chess-algebraic) +(require 'chess-fen) +(require 'chess-game) +(require 'chess-message) (defvar chess-pgn-fill-column 60) @@ -329,7 +332,7 @@ PGN text." (setq last-location locations locations (cdr locations)))) (setq index (if last-location - (1- (length last-location)) + (- (length chess-file-locations) (length last-location)) 0)) (when (or (null chess-pgn-current-game) (/= index (chess-game-data chess-pgn-current-game -- cgit v1.2.3