~/f/gnugo/RPMS.2017 ~/f/gnugo ~/f/gnugo RPMS.2017/gnugo-1371149103.84a32e9c-0.0.x86_64.rpm RPMS/gnugo-1371149103.84a32e9c-0.0.x86_64.rpm differ: byte 225, line 1 Comparing gnugo-1371149103.84a32e9c-0.0.x86_64.rpm to gnugo-1371149103.84a32e9c-0.0.x86_64.rpm comparing the rpm tags of gnugo --- old-rpm-tags +++ new-rpm-tags @@ -149,10 +149,10 @@ /usr/share/emacs/site-lisp/gnugo/gnugo-big-xpms.elc a9c4074d5f36d235cbe1a2cc1d362e76a2680595a77dc8fee3c2fb0f4213d371 0 /usr/share/emacs/site-lisp/gnugo/gnugo-db.el 7d0cc0cbb1690de7dbd23de69c6df5589c49d8db776582bdbe1933ef99b2c733 0 /usr/share/emacs/site-lisp/gnugo/gnugo-db.elc e21029334002aea5ed0f71a2da95cb0e3b1249421826f51f8d1fe5f1df77b6aa 0 -/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.el 172a9b435cfc4d6e6e7811e2cbbfb418de54fdd553ee340be3509f5f1517238c 0 -/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.elc f65ceb42b3fc2266e9ffed70743ced5f4fbe2f43841b6505ac2af6d918871626 0 -/usr/share/emacs/site-lisp/gnugo/gnugo.el 3bc5ed369c34e672f3dae9cc28ced8d9d2c87b6907e4d593f61f1a86ea6a3f1a 0 -/usr/share/emacs/site-lisp/gnugo/gnugo.elc ec452bbec8477fa87c2485ecb8634d6af0c0791e1ac274eab198a6093a00865f 0 +/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.el 61bbb1910419c82ba5f68b1fffe5bf9fafd1787968378410e774ba66ba74b225 0 +/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.elc 87bcec817debe4ab57901606bc7fdbd9791a284ab47feffa2edf6a6afb307d30 0 +/usr/share/emacs/site-lisp/gnugo/gnugo.el e7c270618c4dd3569d1098f6c00fa720650b0a00282f05528777ce55e719ac31 0 +/usr/share/emacs/site-lisp/gnugo/gnugo.elc 4161ab80bad20b43266a4eb3f86396c333ffddf0c8a5b8b2f9784671c27a4a93 0 /usr/share/emacs/site-lisp/gnugo/make-xpms-file.el 2bdf954bb8ab3c475302ab50ebd7d1119c777670eae64f339ae58a6e7c9f0519 0 /usr/share/emacs/site-lisp/gnugo/make-xpms-file.elc 6fc37a6935089791414cb2c04ad39ede4ad9bb709ff8b3475b2aa4d546eb3dc5 0 /usr/share/emacs/site-lisp/suse-start-gnugo.el 9f79e73099682e9e622dccf758c0ecd50b924a7e2224722af39d38f295b54088 0 @@ -168,15 +168,15 @@ /usr/share/xemacs/site-packages/lisp/gnugo 0 /usr/share/xemacs/site-packages/lisp/gnugo/auto-autoloads.el 2a70645201ca508c9d3686500ca759322acbf2c85a7d22338f8ee6f964f0d08f 0 /usr/share/xemacs/site-packages/lisp/gnugo/gnugo-big-xpms.el 4f42a8a199bac2c7850d970ba2d5249df9e8add423c1d9828ec8e2b805bdf739 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-big-xpms.elc 350ccf1deada5c16c08d6941b0f87a226b971dea0ba63274568e6ec49302bb41 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-big-xpms.elc 870e154b422fcf2f2a77e2f4152e530ef940c4fcaf6562bbac21b74b900fdfff 0 /usr/share/xemacs/site-packages/lisp/gnugo/gnugo-db.el 7d0cc0cbb1690de7dbd23de69c6df5589c49d8db776582bdbe1933ef99b2c733 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-db.elc f1c01d455ba5e5b3678b412777b145dfed9c4d230249f4b22135473d7db70da9 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.el 172a9b435cfc4d6e6e7811e2cbbfb418de54fdd553ee340be3509f5f1517238c 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.elc 9a030d563ee6d3d71ebde24e9a17b6a765d996c53acef740e954483f009a1e92 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el 3bc5ed369c34e672f3dae9cc28ced8d9d2c87b6907e4d593f61f1a86ea6a3f1a 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.elc 8d1772b36050eff237c0d80b826a20f90aef14fd909311ed111a594a08212bbf 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-db.elc 40d39e9ab551fc471e5d524c84acec15f35a9b0f4e883c474cebdbf0abcbd622 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.el 61bbb1910419c82ba5f68b1fffe5bf9fafd1787968378410e774ba66ba74b225 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.elc 40bb928d9c9243360cb67b3e7a7f213f3e2d2b0f40364fac87a3a419585b7445 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el e7c270618c4dd3569d1098f6c00fa720650b0a00282f05528777ce55e719ac31 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.elc 6396c4b91e444aaa2ddc1e5a0d6d1af08263f1f4ef3a91750595ed7c8e75d9e0 0 /usr/share/xemacs/site-packages/lisp/gnugo/make-xpms-file.el 2bdf954bb8ab3c475302ab50ebd7d1119c777670eae64f339ae58a6e7c9f0519 0 -/usr/share/xemacs/site-packages/lisp/gnugo/make-xpms-file.elc 79e04783dbb1a4cb6be690986489212009502e989eb598817bed34c8c5425f17 0 +/usr/share/xemacs/site-packages/lisp/gnugo/make-xpms-file.elc efe8b63c463557966140db2bd730a92b8320479a6b0878325fae17d480acf4d4 0 ___QF_CHECKSUM___ comparing rpmtags comparing RELEASE comparing PROVIDES comparing scripts comparing filelist comparing file checksum creating rename script RPM file checksum differs. Extracting packages /usr/share/emacs/site-lisp/gnugo/gnugo-xpms.el differs (ASCII text, with very long lines) --- old//usr/share/emacs/site-lisp/gnugo/gnugo-xpms.el 2020-06-11 00:00:00.000000000 +0000 +++ new//usr/share/emacs/site-lisp/gnugo/gnugo-xpms.el 2020-06-11 00:00:00.000000000 +0000 @@ -67,7 +67,7 @@ ((bpmoku . 8) . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 6 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\"+ c #FFFFFFFFFFFF\",\n\" .. \",\n\" ........ \",\n\" ............ \",\n\" ................ \",\n\" ..........XXX..... \",\n\" ..........XXXXXX.... \",\n\" ..........XXooooXX.... \",\n\" ...........XooOOOooX.... \",\n\" ...........XooOOOoXX.... \",\n\" ............XoooOoooX..... \",\n\" .............XXoooXX...... \",\n\" ...............XXXXX........ \",\n\" .............OO............. \",\n\" ............O++O............ \",\n\"............O++++O............\",\n\"............O++++O............\",\n\" ............O++O............ \",\n\" .............OO............. \",\n\" ........................... \",\n\" .......................... \",\n\" .......................... \",\n\" ........................ \",\n\" ........................ \",\n\" ...................... \",\n\" .................... \",\n\" .................. \",\n\" ................ \",\n\" ............ \",\n\" ........ \",\n\" \"};\n\n") ((bpmoku . 9) - . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 6 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\"+ c #FFFFFFFFFFFF\",\n\" .. \",\n\" ........ \",\n\" ............ \",\n\" ................ \",\n\" ..........XXX..... \",\n\" ..........XXXXXX.... \",\n\" ..........XXooooXX.... \",\n\" ...........XooOOOooX.... \",\n\" ...........XooOOOoXX.... \",\n\" ............XoooOoooX..... \",\n\" .............XXoooXX...... \",\n\" ...............XXXXX........ \",\n\" .............OO............. \",\n\" ............O++O............ \",\n\"............O++++O........... \",\n\"............O++++O........... \",\n\" ............O++O............ \",\n\" .............OO............. \",\n\" ........................... \",\n\" .......................... \",\n\" .......................... \",\n\" ........................ \",\n\" ........................ \",\n\" ...................... \",\n\" .................... \",\n\" .................. \",\n\" ................ \",\n\" ............ \",\n\" ........ \",\n\" \"};\n\n") + . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 6 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\"+ c #FFFFFFFFFFFF\",\n\" \",\n\" ........ \",\n\" ............ \",\n\" ................ \",\n\" ..........XXX..... \",\n\" ..........XXXXXX.... \",\n\" ..........XXooooXX.... \",\n\" ...........XooOOOooX.... \",\n\" ...........XooOOOoXX.... \",\n\" ............XoooOoooX..... \",\n\" .............XXoooXX...... \",\n\" ...............XXXXX........ \",\n\" .............OO............. \",\n\" ............O++O............ \",\n\" ...........O++++O............\",\n\" ...........O++++O............\",\n\" ............O++O............ \",\n\" .............OO............. \",\n\" ........................... \",\n\" .......................... \",\n\" .......................... \",\n\" ........................ \",\n\" ........................ \",\n\" ...................... \",\n\" .................... \",\n\" .................. \",\n\" ................ \",\n\" ............ \",\n\" ........ \",\n\" .. \"};\n\n") ((empty . 1) . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 5 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" ................\",\n\" ................\",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \"};\n\n") ((empty . 2) /usr/share/emacs/site-lisp/gnugo/gnugo-xpms.elc differs at offset '24742' (Emacs/XEmacs v23 byte-compiled Lisp data) --- old /usr/share/emacs/site-lisp/gnugo/gnugo-xpms.elc (hex) +++ new /usr/share/emacs/site-lisp/gnugo/gnugo-xpms.elc (hex) @@ -1,6 +1,6 @@ 00006080 09 63 20 23 46 46 46 46 46 46 46 46 46 46 46 46 |.c #FFFFFFFFFFFF| 00006090 5c 22 2c 5c 6e 5c 22 20 20 20 20 20 20 20 20 20 |\",\n\" | -000060a0 20 20 20 20 20 2e 2e 20 20 20 20 20 20 20 20 20 | .. | +000060a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000060b0 20 20 20 20 20 5c 22 2c 5c 6e 5c 22 20 20 20 20 | \",\n\" | 000060c0 20 20 20 20 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e 20 | ........ | 000060d0 20 20 20 20 20 20 20 20 20 20 5c 22 2c 5c 6e 5c | \",\n\| /usr/share/emacs/site-lisp/gnugo/gnugo.el differs (ASCII text) --- old//usr/share/emacs/site-lisp/gnugo/gnugo.el 2020-06-11 00:00:00.000000000 +0000 +++ new//usr/share/emacs/site-lisp/gnugo/gnugo.el 2020-06-11 00:00:00.000000000 +0000 @@ -1,223 +1,53 @@ -;;; gnugo.el +;;; ID: $Id: gnugo.el,v 1.1.1.1 2008/12/21 18:47:58 bump Exp $ ;;; ;;; This is GNU Go, a Go program. Contact gnugo@gnu.org, or see ;;; http://www.gnu.org/software/gnugo/ for more information. ;;; -;;; Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 -;;; and 2008 by the Free Software Foundation. +;;; Copyright 1999, 2000, 2001 by the Free Software Foundation. ;;; -;;; This program is free software; you can redistribute it and/or +;;; This program is free software; you can redistribute it and/ ;;; modify it under the terms of the GNU General Public License -;;; as published by the Free Software Foundation - version 3 +;;; as published by the Free Software Foundation - version 3, ;;; 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 in file COPYING +;;; PURPOSE. See the GNU General Public License in file COPYIN ;;; for more details. ;;; -;;; You should have received a copy of the GNU General Public +;;; You should have received a copy of the GNU General Public ;;; License along with this program; if not, write to the Free ;;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;;; Boston, MA 02111, USA. -;;; -;;; This Emacs mode for GNU Go may work with Emacs 20.x but -;;; the graphical display requires Emacs 21.x. -;;; -;;; Maintainer: Thien-Thi Nguyen -;;; -;;; Rel:standalone-gnugo-el-2-2-8 -;;; + ;;; Description: Run GNU Go in a buffer. ;;; Commentary: -;; Playing -;; ------- -;; -;; This file provides the command `gnugo' which allows you to play the game of -;; go against the external program "gnugo" (http://www.gnu.org/software/gnugo) -;; in a dedicated Emacs buffer, or to resume a game in progress. NOTE: In -;; this file, to avoid confusion w/ elisp vars and funcs, we use the term "GNU -;; Go" to refer to the process object created by running the external program. -;; -;; At the start of a new game, you can pass additional command-line arguments -;; to GNU Go to specify level, board size, color, komi, handicap, etc. By -;; default GNU Go plays at level 10, board size 19, color white, and zero for -;; both komi and handicap. -;; -;; To play a stone, move the cursor to the desired vertice and type `SPC' or -;; `RET'; to pass, `P' (note: uppercase); to quit, `q'; to undo one of your -;; moves (as well as a possibly intervening move by GNU Go), `u'. To undo -;; back through an arbitrary stone that you played, place the cursor on a -;; stone and type `U' (note: uppercase). Other keybindings are described in -;; the `gnugo-board-mode' documentation, which you may view with the command -;; `describe-mode' (normally `C-h m') in that buffer. The buffer name shows -;; the last move and who is currently to play. Capture counts and other info -;; are shown on the mode line immediately following the major mode name. -;; -;; While GNU Go is pondering its next move, certain commands that rely on its -;; assistence will result in a "still waiting" error. Do not be alarmed; that -;; is normal. When it is your turn again you may retry the command. In the -;; meantime, you can use Emacs for other tasks, or start an entirely new game -;; with `C-u M-x gnugo'. (NOTE: A new game will slow down all games. :-) -;; -;; If GNU Go should crash during a game the mode line will show "no process". -;; Please report the event to the GNU Go maintainers so that they can improve -;; the program. -;; -;; This code was tested with: -;; - GNU Emacs: 21.3 / 21.3.50 (from CVS) -;; - GNU Go: 3.3.15 / 3.4 / 3.6-pre3 -;; -;; -;; Meta-Playing (aka Customizing) -;; ------------------------------ -;; -;; Customization is presently limited to -;; vars: `gnugo-program' -;; `gnugo-animation-string' -;; `gnugo-mode-line' -;; `gnugo-xpms' -;; normal hooks: `gnugo-board-mode-hook' -;; `gnugo-post-move-hook' -;; and the keymap: `gnugo-board-mode-map' -;; -;; The variable `gnugo-xpms' is a special case. To set it you need to load -;; gnugo-xpms.el (http://www.emacswiki.org) or some other library w/ congruent -;; interface. -;; +;; This is an interface to GNU Go using the Go Text Protocol. Interaction +;; with the gnugo subprocess is synchronous except for `gnugo-get-move'. This +;; means you can use Emacs to do other things while gnugo is thinking about +;; its move. (Actually, all interaction with the subprocess is inhibited +;; during thinking time -- really, trying to distract your opponent is poor +;; sportsmanship. :-) ;; -;; Meta-Meta-Playing (aka Hacking) -;; ------------------------------- +;; Customization is presently limited to `gnugo-animation-string', q.v. ;; -;; You may wish to first fix the bugs: -;; - `gnugo-toggle-dead-group' only half-complete; see docstring for details -;; - probably sgf handling is not 100% to spec (excuse: written w/o spec!) -;; - subprocess should provide scoring details, gnugo.el not yet blissful -;; - no move history and sgf tree re-init in the case of mid-session loadsgf -;; -;; Otherwise (we can live w/ some bugs), here are some ideas: -;; - talk GTP over the network -;; - "assist minor mode" (see gnugo-extra.el for work in progress) -;; - using assist minor mode, gnugo-v-gnugo (ibid) -;; - extract GNU Go Board mode and sgf stuff into sgf.el; make gnugo.el use it -;; - make gnugo (the external program) support query (read-only) thread -;; so as to be able to lift "still waiting" restriction -;; - alternatively, extend GNU Go Board mode to manage another subprocess -;; dedicated to analysis (no genmove) -;; - command `C' to add a comment to the sgf tree -;; - command `C-u =' to label a position -;; - sgf tree display, traversal (belongs in sgf.el); review game history -;; in another buffer; branch subgame tree at arbitrary point -;; - subgame branch matriculation (maturity: child leaves the family) -;; - dribble the sgf tree -;; - "undo undo undoing"; integrate Emacs undo, GTP undo, subgame branching -;; - make buffer name format configurable (but enforce uniqueness) -;; - more tilde escapes for `gnugo-mode-line' -;; - make veneration configurable -;; - make animation more configurable; lift same-color-stones-only -;; restriction; allow sequencing rather than lock-step; include sound -;; - [your hacking ideas here] -;; -;; Some gnugo.el hackers update http://www.emacswiki.org -- check it out! -;; -;; -;; History -;; ------- -;; -;; Originally gnugo.el was written to interact w/ "gnugo --mode text" and then -;; "gnugo --mode emacs" as the subprocess. Those versions were released as -;; 1.x, w/ x < 14. In Novemeber 2002, gnugo.el was changed to interact w/ -;; "gnugo --mode gtp", but was released as 1.14 through 1.26, even though the -;; proper versions should be 2.0.x for "--mode gtp", and 2.1.x for XPM image -;; support. (Sorry about the confusion.) -;; -;; Thus we arrive at at the current version. The first gnugo.el to be -;; released w/ a `gnugo-version' variable is "2.2.0". The versioning scheme -;; is strictly monotonically increasing numbers and dots, no letters or other -;; suffixes (and none of this even/odd crap). Here we list, aside from the -;; bugfixes, some of the notable changes introduced in each released version: -;; -;; 2.2.x -- uncluttered, letters and numbers hidden, board centered -;; buffer name shows last move and current player -;; mode-line customization (var `gnugo-mode-line') -;; new commands: `=', `h', `s', `F', `R', `l', `U' -;; program option customization (var `gnugo-program') -;; new hooks (vars `gnugo-post-move-hook', `gnugo-board-mode-hook') -;; multiple independent buffers/games -;; XPM set can be changed on the fly (global and/or local) -;; font-locking for "X", "O", "[xo]" -;; undo by N moves, by "move pair", or by board position -;; -;; -;; History Predicted -;; ----------------- -;; -;; If you are an elisp programmer, this section might not apply to you; -;; the GPL allows you to define the future of the code you receive under -;; its terms, as long as you do not deny that freedom to subsequent users. -;; -;; For users who are not elisp programmers, you can look forward to gradual -;; refinement in 2.x, splitting into gnugo.el and sgf.el in 3.x, and then -;; eventual merging into GNU Emacs for 4.x (if RMS gives it the thumbs-up). -;; If it is not accepted into Emacs at that time, a new maintainer will be -;; sought. In any case, it will no longer be bundled w/ ttn-pers-elisp. +;; This code was tested with Emacs 20.7 on a monochrome 80x24 terminal. ;;; Code: (require 'cl) ; use the source luke! -(ignore-errors (require 'time-date)) ; for `time-subtract' - - -;;; ========================================================================== - -; Modifications to gnugo.el-2.2.8: -; -; * Grid display implemented -; * SGF handling improved -; * Undo and Redo related enhancements -; * Primitive edit mode -; * Regression view mode /usr/share/emacs/site-lisp/gnugo/gnugo.elc differs at offset '405' (Emacs/XEmacs v23 byte-compiled Lisp data) --- old /usr/share/emacs/site-lisp/gnugo/gnugo.elc (hex) +++ new /usr/share/emacs/site-lisp/gnugo/gnugo.elc (hex) @@ -1,33 +1,33 @@ 00000180 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;;;;;;;;;| -00000190 0a 0a 0a 28 62 79 74 65 2d 63 6f 64 65 20 22 5c |...(byte-code "\| -000001a0 33 30 30 5c 33 30 31 21 5c 32 31 30 5c 33 30 32 |300\301!\210\302| -000001b0 31 0d 00 5c 33 30 30 5c 33 30 33 21 30 5c 32 30 |1..\300\303!0\20| -000001c0 37 5c 32 31 30 5c 33 30 34 5c 32 30 37 22 20 5b |7\210\304\207" [| -000001d0 72 65 71 75 69 72 65 20 63 6c 20 28 65 72 72 6f |require cl (erro| -000001e0 72 29 20 74 69 6d 65 2d 64 61 74 65 20 6e 69 6c |r) time-date nil| -000001f0 5d 20 32 29 0a 23 40 33 31 30 20 56 65 72 73 69 |] 2).#@310 Versi| -00000200 6f 6e 20 6f 66 20 67 6e 75 67 6f 2e 65 6c 20 63 |on of gnugo.el c| -00000210 75 72 72 65 6e 74 6c 79 20 6c 6f 61 64 65 64 2e |urrently loaded.| -00000220 0a 4e 6f 74 65 20 74 68 61 74 20 6d 6f 72 65 20 |.Note that more | -00000230 74 68 61 6e 20 74 77 6f 20 64 6f 74 73 20 69 6e |than two dots in| -00000240 20 74 68 65 20 76 61 6c 75 65 20 69 6e 64 69 63 | the value indic| -00000250 61 74 65 73 20 22 70 72 65 2d 72 65 6c 65 61 73 |ates "pre-releas| -00000260 65 22 2c 0a 6f 72 20 22 61 6c 70 68 61 22 20 6f |e",.or "alpha" o| -00000270 72 20 22 68 61 63 6b 65 72 73 2d 69 6e 76 69 74 |r "hackers-invit| -00000280 65 64 2d 61 6c 6c 2d 65 6c 73 65 2d 62 65 77 61 |ed-all-else-bewa| -00000290 72 65 22 3b 20 75 73 65 20 61 74 20 79 6f 75 72 |re"; use at your| -000002a0 20 6f 77 6e 20 72 69 73 6b 21 0a 54 68 65 20 6d | own risk!.The m| -000002b0 6f 72 65 20 64 6f 74 73 20 74 68 65 20 6d 6f 72 |ore dots the mor| -000002c0 65 20 63 6f 75 72 61 67 65 2f 66 6f 6f 6c 69 73 |e courage/foolis| -000002d0 68 6e 65 73 73 20 79 6f 75 20 6d 75 73 74 20 66 |hness you must f| -000002e0 69 6e 64 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e |ind to continue.| -000002f0 0a 53 65 65 20 73 6f 75 72 63 65 20 63 6f 64 65 |.See source code| -00000300 20 66 6f 72 20 61 20 68 69 73 74 6f 72 79 20 6f | for a history o| -00000310 66 20 77 68 61 74 20 6d 65 61 6e 73 20 77 68 61 |f what means wha| -00000320 74 20 76 65 72 73 69 6f 6e 2d 77 69 73 65 2e 1f |t version-wise..| -00000330 0a 28 64 65 66 63 6f 6e 73 74 20 67 6e 75 67 6f |.(defconst gnugo| -00000340 2d 76 65 72 73 69 6f 6e 20 22 32 2e 32 2e 38 2e |-version "2.2.8.| -00000350 62 35 22 20 28 23 24 20 2e 20 35 30 37 29 29 0a |b5" (#$ . 507)).| -00000360 23 40 34 30 30 20 2a 43 6f 6d 6d 61 6e 64 20 74 |#@400 *Command t| -00000370 6f 20 73 74 61 72 74 20 61 6e 20 65 78 74 65 72 |o start an exter| +00000190 0a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 29 |...(require 'cl)| +000001a0 0a 23 40 33 31 20 4b 65 79 6d 61 70 20 66 6f 72 |.#@31 Keymap for| +000001b0 20 47 4e 55 20 47 6f 20 42 6f 61 72 64 20 6d 6f | GNU Go Board mo| +000001c0 64 65 2e 1f 0a 28 64 65 66 76 61 72 20 67 6e 75 |de...(defvar gnu| +000001d0 67 6f 2d 62 6f 61 72 64 2d 6d 6f 64 65 2d 6d 61 |go-board-mode-ma| +000001e0 70 20 6e 69 6c 20 28 23 24 20 2e 20 34 32 32 29 |p nil (#$ . 422)| +000001f0 29 0a 23 40 35 32 20 48 69 73 74 6f 72 79 20 6f |).#@52 History o| +00000200 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 47 4e 55 |f additional GNU| +00000210 20 47 6f 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 | Go command-line| +00000220 20 6f 70 74 69 6f 6e 73 2e 1f 0a 28 64 65 66 76 | options...(defv| +00000230 61 72 20 67 6e 75 67 6f 2d 6f 70 74 69 6f 6e 2d |ar gnugo-option-| +00000240 68 69 73 74 6f 72 79 20 6e 69 6c 20 28 23 24 20 |history nil (#$ | +00000250 2e 20 35 30 33 29 29 0a 23 40 33 30 34 20 2a 53 |. 503)).#@304 *S| +00000260 74 72 69 6e 67 20 77 68 6f 73 65 20 69 6e 64 69 |tring whose indi| +00000270 76 69 64 75 61 6c 20 63 68 61 72 61 63 74 65 72 |vidual character| +00000280 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 20 61 |s are used for a| +00000290 6e 69 6d 61 74 69 6f 6e 2e 0a 53 70 65 63 69 66 |nimation..Specif| +000002a0 69 63 61 6c 6c 79 2c 20 74 68 65 20 60 67 6e 75 |ically, the `gnu| +000002b0 67 6f 2d 77 6f 72 6d 2d 73 74 6f 6e 65 73 27 20 |go-worm-stones' | +000002c0 61 6e 64 20 60 67 6e 75 67 6f 2d 64 72 61 67 6f |and `gnugo-drago| +000002d0 6e 2d 73 74 6f 6e 65 73 27 20 63 6f 6d 6d 61 6e |n-stones' comman| +000002e0 64 73 0a 72 65 6e 64 65 72 20 74 68 65 20 73 74 |ds.render the st| +000002f0 6f 6e 65 73 20 69 6e 20 74 68 65 69 72 20 72 65 |ones in their re| +00000300 73 70 65 63 74 69 76 65 20 28 63 6f 6d 70 75 74 |spective (comput| +00000310 65 64 29 20 67 72 6f 75 70 73 20 61 73 20 74 68 |ed) groups as th| +00000320 65 20 66 69 72 73 74 0a 63 68 61 72 61 63 74 65 |e first.characte| +00000330 72 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 2c |r in the string,| +00000340 20 74 68 65 6e 20 74 68 65 20 6e 65 78 74 2c 20 | then the next, | +00000350 61 6e 64 20 73 6f 20 6f 6e 20 75 6e 74 69 6c 20 |and so on until | +00000360 74 68 65 20 73 74 72 69 6e 67 20 28 61 6e 64 2f |the string (and/| +00000370 6f 72 0a 74 68 65 20 76 69 65 77 65 72 29 20 69 |or.the viewer) i| 00000380 /usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.el differs (ASCII text, with very long lines) --- old//usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.el 2020-06-11 00:00:00.000000000 +0000 +++ new//usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.el 2020-06-11 00:00:00.000000000 +0000 @@ -67,7 +67,7 @@ ((bpmoku . 8) . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 6 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\"+ c #FFFFFFFFFFFF\",\n\" .. \",\n\" ........ \",\n\" ............ \",\n\" ................ \",\n\" ..........XXX..... \",\n\" ..........XXXXXX.... \",\n\" ..........XXooooXX.... \",\n\" ...........XooOOOooX.... \",\n\" ...........XooOOOoXX.... \",\n\" ............XoooOoooX..... \",\n\" .............XXoooXX...... \",\n\" ...............XXXXX........ \",\n\" .............OO............. \",\n\" ............O++O............ \",\n\"............O++++O............\",\n\"............O++++O............\",\n\" ............O++O............ \",\n\" .............OO............. \",\n\" ........................... \",\n\" .......................... \",\n\" .......................... \",\n\" ........................ \",\n\" ........................ \",\n\" ...................... \",\n\" .................... \",\n\" .................. \",\n\" ................ \",\n\" ............ \",\n\" ........ \",\n\" \"};\n\n") ((bpmoku . 9) - . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 6 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\"+ c #FFFFFFFFFFFF\",\n\" .. \",\n\" ........ \",\n\" ............ \",\n\" ................ \",\n\" ..........XXX..... \",\n\" ..........XXXXXX.... \",\n\" ..........XXooooXX.... \",\n\" ...........XooOOOooX.... \",\n\" ...........XooOOOoXX.... \",\n\" ............XoooOoooX..... \",\n\" .............XXoooXX...... \",\n\" ...............XXXXX........ \",\n\" .............OO............. \",\n\" ............O++O............ \",\n\"............O++++O........... \",\n\"............O++++O........... \",\n\" ............O++O............ \",\n\" .............OO............. \",\n\" ........................... \",\n\" .......................... \",\n\" .......................... \",\n\" ........................ \",\n\" ........................ \",\n\" ...................... \",\n\" .................... \",\n\" .................. \",\n\" ................ \",\n\" ............ \",\n\" ........ \",\n\" \"};\n\n") + . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 6 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\"+ c #FFFFFFFFFFFF\",\n\" \",\n\" ........ \",\n\" ............ \",\n\" ................ \",\n\" ..........XXX..... \",\n\" ..........XXXXXX.... \",\n\" ..........XXooooXX.... \",\n\" ...........XooOOOooX.... \",\n\" ...........XooOOOoXX.... \",\n\" ............XoooOoooX..... \",\n\" .............XXoooXX...... \",\n\" ...............XXXXX........ \",\n\" .............OO............. \",\n\" ............O++O............ \",\n\" ...........O++++O............\",\n\" ...........O++++O............\",\n\" ............O++O............ \",\n\" .............OO............. \",\n\" ........................... \",\n\" .......................... \",\n\" .......................... \",\n\" ........................ \",\n\" ........................ \",\n\" ...................... \",\n\" .................... \",\n\" .................. \",\n\" ................ \",\n\" ............ \",\n\" ........ \",\n\" .. \"};\n\n") ((empty . 1) . "/* XPM */\n/* Copyright 2004 by the Free Software Foundation. See COPYING */\nstatic char * bmoku1_xpm[] = {\n\"30 30 5 1\",\n\" c #E79DB2CA4924\",\n\". c #000000000000\",\n\"X c #618561856185\",\n\"o c #9E799E799E79\",\n\"O c #CF3CCF3CCF3C\",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" \",\n\" ................\",\n\" ................\",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \",\n\" .. \"};\n\n") ((empty . 2) /usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.elc differs at offset '467' (Emacs/XEmacs v20 byte-compiled Lisp data) --- old /usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.elc (hex) +++ new /usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.elc (hex) @@ -1,33 +1,33 @@ 000001c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | -000001d0 20 20 0a 23 40 32 36 37 20 41 6c 69 73 74 20 6f | .#@267 Alist o| -000001e0 66 20 58 50 4d 20 69 6d 61 67 65 73 20 73 75 69 |f XPM images sui| -000001f0 74 61 62 6c 65 20 66 6f 72 20 75 73 65 20 62 79 |table for use by| -00000200 20 67 6e 75 67 6f 2e 65 6c 2e 0a 4b 65 79 73 20 | gnugo.el..Keys | -00000210 61 72 65 20 28 54 59 50 45 20 2e 20 50 4c 41 43 |are (TYPE . PLAC| -00000220 45 29 2c 20 77 68 65 72 65 20 54 59 50 45 20 69 |E), where TYPE i| -00000230 73 20 6f 6e 65 20 6f 66 3a 0a 20 20 62 6d 6f 6b |s one of:. bmok| -00000240 75 20 62 70 6d 6f 6b 75 20 65 6d 70 74 79 20 68 |u bpmoku empty h| -00000250 6f 73 68 69 20 77 6d 6f 6b 75 20 77 70 6d 6f 6b |oshi wmoku wpmok| -00000260 75 0a 61 6e 64 20 50 4c 41 43 45 20 69 73 20 61 |u.and PLACE is a| -00000270 6e 20 69 6e 74 65 67 65 72 20 64 65 73 63 72 69 |n integer descri| -00000280 62 69 6e 67 20 61 20 76 69 73 69 62 6c 65 20 6c |bing a visible l| -00000290 6f 63 61 74 69 6f 6e 3a 0a 20 20 31 20 32 20 33 |ocation:. 1 2 3| -000002a0 0a 20 20 34 20 35 20 36 0a 20 20 37 20 38 20 39 |. 4 5 6. 7 8 9| -000002b0 2e 0a 54 68 65 20 69 6d 61 67 65 20 76 61 6c 75 |..The image valu| -000002c0 65 73 20 61 72 65 20 74 68 65 20 72 65 73 75 6c |es are the resul| -000002d0 74 20 6f 66 20 60 66 69 6e 64 2d 69 6d 61 67 65 |t of `find-image| -000002e0 27 2e 1f 0a 28 64 65 66 63 6f 6e 73 74 20 67 6e |'...(defconst gn| -000002f0 75 67 6f 2d 78 70 6d 73 20 28 6d 61 70 63 61 72 |ugo-xpms (mapcar| -00000300 20 23 5b 28 70 61 69 72 29 20 22 08 40 c1 c2 c3 | #[(pair) ".@...| -00000310 c4 08 41 c5 c6 af 06 43 21 42 87 22 20 5b 70 61 |..A....C!B." [pa| -00000320 69 72 20 66 69 6e 64 2d 69 6d 61 67 65 20 3a 74 |ir find-image :t| -00000330 79 70 65 20 78 70 6d 20 3a 64 61 74 61 20 3a 61 |ype xpm :data :a| -00000340 73 63 65 6e 74 20 63 65 6e 74 65 72 5d 20 38 5d |scent center] 8]| -00000350 20 27 28 28 28 62 6d 6f 6b 75 20 2e 20 31 29 20 | '(((bmoku . 1) | -00000360 2e 20 22 2f 2a 20 58 50 4d 20 2a 2f 5c 6e 2f 2a |. "/* XPM */\n/*| -00000370 20 43 6f 70 79 72 69 67 68 74 20 32 30 30 34 20 | Copyright 2004 | -00000380 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 |by the Free Soft| -00000390 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e |ware Foundation.| -000003a0 20 53 65 65 20 43 4f 50 59 49 4e 47 20 2a 2f 5c | See COPYING */\| -000003b0 6e 73 74 61 74 69 63 20 63 68 61 72 20 2a 20 62 |nstatic char * b| +000001d0 20 20 20 20 20 20 20 0a 23 40 32 36 37 20 41 6c | .#@267 Al| +000001e0 69 73 74 20 6f 66 20 58 50 4d 20 69 6d 61 67 65 |ist of XPM image| +000001f0 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 75 |s suitable for u| +00000200 73 65 20 62 79 20 67 6e 75 67 6f 2e 65 6c 2e 0a |se by gnugo.el..| +00000210 4b 65 79 73 20 61 72 65 20 28 54 59 50 45 20 2e |Keys are (TYPE .| +00000220 20 50 4c 41 43 45 29 2c 20 77 68 65 72 65 20 54 | PLACE), where T| +00000230 59 50 45 20 69 73 20 6f 6e 65 20 6f 66 3a 0a 20 |YPE is one of:. | +00000240 20 62 6d 6f 6b 75 20 62 70 6d 6f 6b 75 20 65 6d | bmoku bpmoku em| +00000250 70 74 79 20 68 6f 73 68 69 20 77 6d 6f 6b 75 20 |pty hoshi wmoku | +00000260 77 70 6d 6f 6b 75 0a 61 6e 64 20 50 4c 41 43 45 |wpmoku.and PLACE| +00000270 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 20 64 | is an integer d| +00000280 65 73 63 72 69 62 69 6e 67 20 61 20 76 69 73 69 |escribing a visi| +00000290 62 6c 65 20 6c 6f 63 61 74 69 6f 6e 3a 0a 20 20 |ble location:. | +000002a0 31 20 32 20 33 0a 20 20 34 20 35 20 36 0a 20 20 |1 2 3. 4 5 6. | +000002b0 37 20 38 20 39 2e 0a 54 68 65 20 69 6d 61 67 65 |7 8 9..The image| +000002c0 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 20 | values are the | +000002d0 72 65 73 75 6c 74 20 6f 66 20 60 66 69 6e 64 2d |result of `find-| +000002e0 69 6d 61 67 65 27 2e 1f 0a 28 64 65 66 63 6f 6e |image'...(defcon| +000002f0 73 74 20 67 6e 75 67 6f 2d 78 70 6d 73 20 28 6d |st gnugo-xpms (m| +00000300 61 70 63 61 72 20 23 5b 28 70 61 69 72 29 20 22 |apcar #[(pair) "| +00000310 08 40 c1 c2 c3 c4 08 41 c5 c6 af 06 43 21 42 87 |.@.....A....C!B.| +00000320 22 20 5b 70 61 69 72 20 66 69 6e 64 2d 69 6d 61 |" [pair find-ima| +00000330 67 65 20 3a 74 79 70 65 20 78 70 6d 20 3a 64 61 |ge :type xpm :da| +00000340 74 61 20 3a 61 73 63 65 6e 74 20 63 65 6e 74 65 |ta :ascent cente| +00000350 72 5d 20 38 5d 20 27 28 28 28 62 6d 6f 6b 75 20 |r] 8] '(((bmoku | +00000360 2e 20 31 29 20 2e 20 22 2f 2a 20 58 50 4d 20 2a |. 1) . "/* XPM *| +00000370 2f 5c 6e 2f 2a 20 43 6f 70 79 72 69 67 68 74 20 |/\n/* Copyright | +00000380 32 30 30 34 20 62 79 20 74 68 65 20 46 72 65 65 |2004 by the Free| +00000390 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 | Software Founda| +000003a0 74 69 6f 6e 2e 20 53 65 65 20 43 4f 50 59 49 4e |tion. See COPYIN| +000003b0 47 20 2a 2f 5c 6e 73 74 61 74 69 63 20 63 68 61 |G */\nstatic cha| 000003c0 /usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el differs (ASCII text) --- old//usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el 2020-06-11 00:00:00.000000000 +0000 +++ new//usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el 2020-06-11 00:00:00.000000000 +0000 @@ -1,223 +1,53 @@ -;;; gnugo.el +;;; ID: $Id: gnugo.el,v 1.1.1.1 2008/12/21 18:47:58 bump Exp $ ;;; ;;; This is GNU Go, a Go program. Contact gnugo@gnu.org, or see ;;; http://www.gnu.org/software/gnugo/ for more information. ;;; -;;; Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 -;;; and 2008 by the Free Software Foundation. +;;; Copyright 1999, 2000, 2001 by the Free Software Foundation. ;;; -;;; This program is free software; you can redistribute it and/or +;;; This program is free software; you can redistribute it and/ ;;; modify it under the terms of the GNU General Public License -;;; as published by the Free Software Foundation - version 3 +;;; as published by the Free Software Foundation - version 3, ;;; 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 in file COPYING +;;; PURPOSE. See the GNU General Public License in file COPYIN ;;; for more details. ;;; -;;; You should have received a copy of the GNU General Public +;;; You should have received a copy of the GNU General Public ;;; License along with this program; if not, write to the Free ;;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;;; Boston, MA 02111, USA. -;;; -;;; This Emacs mode for GNU Go may work with Emacs 20.x but -;;; the graphical display requires Emacs 21.x. -;;; -;;; Maintainer: Thien-Thi Nguyen -;;; -;;; Rel:standalone-gnugo-el-2-2-8 -;;; + ;;; Description: Run GNU Go in a buffer. ;;; Commentary: -;; Playing -;; ------- -;; -;; This file provides the command `gnugo' which allows you to play the game of -;; go against the external program "gnugo" (http://www.gnu.org/software/gnugo) -;; in a dedicated Emacs buffer, or to resume a game in progress. NOTE: In -;; this file, to avoid confusion w/ elisp vars and funcs, we use the term "GNU -;; Go" to refer to the process object created by running the external program. -;; -;; At the start of a new game, you can pass additional command-line arguments -;; to GNU Go to specify level, board size, color, komi, handicap, etc. By -;; default GNU Go plays at level 10, board size 19, color white, and zero for -;; both komi and handicap. -;; -;; To play a stone, move the cursor to the desired vertice and type `SPC' or -;; `RET'; to pass, `P' (note: uppercase); to quit, `q'; to undo one of your -;; moves (as well as a possibly intervening move by GNU Go), `u'. To undo -;; back through an arbitrary stone that you played, place the cursor on a -;; stone and type `U' (note: uppercase). Other keybindings are described in -;; the `gnugo-board-mode' documentation, which you may view with the command -;; `describe-mode' (normally `C-h m') in that buffer. The buffer name shows -;; the last move and who is currently to play. Capture counts and other info -;; are shown on the mode line immediately following the major mode name. -;; -;; While GNU Go is pondering its next move, certain commands that rely on its -;; assistence will result in a "still waiting" error. Do not be alarmed; that -;; is normal. When it is your turn again you may retry the command. In the -;; meantime, you can use Emacs for other tasks, or start an entirely new game -;; with `C-u M-x gnugo'. (NOTE: A new game will slow down all games. :-) -;; -;; If GNU Go should crash during a game the mode line will show "no process". -;; Please report the event to the GNU Go maintainers so that they can improve -;; the program. -;; -;; This code was tested with: -;; - GNU Emacs: 21.3 / 21.3.50 (from CVS) -;; - GNU Go: 3.3.15 / 3.4 / 3.6-pre3 -;; -;; -;; Meta-Playing (aka Customizing) -;; ------------------------------ -;; -;; Customization is presently limited to -;; vars: `gnugo-program' -;; `gnugo-animation-string' -;; `gnugo-mode-line' -;; `gnugo-xpms' -;; normal hooks: `gnugo-board-mode-hook' -;; `gnugo-post-move-hook' -;; and the keymap: `gnugo-board-mode-map' -;; -;; The variable `gnugo-xpms' is a special case. To set it you need to load -;; gnugo-xpms.el (http://www.emacswiki.org) or some other library w/ congruent -;; interface. -;; +;; This is an interface to GNU Go using the Go Text Protocol. Interaction +;; with the gnugo subprocess is synchronous except for `gnugo-get-move'. This +;; means you can use Emacs to do other things while gnugo is thinking about +;; its move. (Actually, all interaction with the subprocess is inhibited +;; during thinking time -- really, trying to distract your opponent is poor +;; sportsmanship. :-) ;; -;; Meta-Meta-Playing (aka Hacking) -;; ------------------------------- +;; Customization is presently limited to `gnugo-animation-string', q.v. ;; -;; You may wish to first fix the bugs: -;; - `gnugo-toggle-dead-group' only half-complete; see docstring for details -;; - probably sgf handling is not 100% to spec (excuse: written w/o spec!) -;; - subprocess should provide scoring details, gnugo.el not yet blissful -;; - no move history and sgf tree re-init in the case of mid-session loadsgf -;; -;; Otherwise (we can live w/ some bugs), here are some ideas: -;; - talk GTP over the network -;; - "assist minor mode" (see gnugo-extra.el for work in progress) -;; - using assist minor mode, gnugo-v-gnugo (ibid) -;; - extract GNU Go Board mode and sgf stuff into sgf.el; make gnugo.el use it -;; - make gnugo (the external program) support query (read-only) thread -;; so as to be able to lift "still waiting" restriction -;; - alternatively, extend GNU Go Board mode to manage another subprocess -;; dedicated to analysis (no genmove) -;; - command `C' to add a comment to the sgf tree -;; - command `C-u =' to label a position -;; - sgf tree display, traversal (belongs in sgf.el); review game history -;; in another buffer; branch subgame tree at arbitrary point -;; - subgame branch matriculation (maturity: child leaves the family) -;; - dribble the sgf tree -;; - "undo undo undoing"; integrate Emacs undo, GTP undo, subgame branching -;; - make buffer name format configurable (but enforce uniqueness) -;; - more tilde escapes for `gnugo-mode-line' -;; - make veneration configurable -;; - make animation more configurable; lift same-color-stones-only -;; restriction; allow sequencing rather than lock-step; include sound -;; - [your hacking ideas here] -;; -;; Some gnugo.el hackers update http://www.emacswiki.org -- check it out! -;; -;; -;; History -;; ------- -;; -;; Originally gnugo.el was written to interact w/ "gnugo --mode text" and then -;; "gnugo --mode emacs" as the subprocess. Those versions were released as -;; 1.x, w/ x < 14. In Novemeber 2002, gnugo.el was changed to interact w/ -;; "gnugo --mode gtp", but was released as 1.14 through 1.26, even though the -;; proper versions should be 2.0.x for "--mode gtp", and 2.1.x for XPM image -;; support. (Sorry about the confusion.) -;; -;; Thus we arrive at at the current version. The first gnugo.el to be -;; released w/ a `gnugo-version' variable is "2.2.0". The versioning scheme -;; is strictly monotonically increasing numbers and dots, no letters or other -;; suffixes (and none of this even/odd crap). Here we list, aside from the -;; bugfixes, some of the notable changes introduced in each released version: -;; -;; 2.2.x -- uncluttered, letters and numbers hidden, board centered -;; buffer name shows last move and current player -;; mode-line customization (var `gnugo-mode-line') -;; new commands: `=', `h', `s', `F', `R', `l', `U' -;; program option customization (var `gnugo-program') -;; new hooks (vars `gnugo-post-move-hook', `gnugo-board-mode-hook') -;; multiple independent buffers/games -;; XPM set can be changed on the fly (global and/or local) -;; font-locking for "X", "O", "[xo]" -;; undo by N moves, by "move pair", or by board position -;; -;; -;; History Predicted -;; ----------------- -;; -;; If you are an elisp programmer, this section might not apply to you; -;; the GPL allows you to define the future of the code you receive under -;; its terms, as long as you do not deny that freedom to subsequent users. -;; -;; For users who are not elisp programmers, you can look forward to gradual -;; refinement in 2.x, splitting into gnugo.el and sgf.el in 3.x, and then -;; eventual merging into GNU Emacs for 4.x (if RMS gives it the thumbs-up). -;; If it is not accepted into Emacs at that time, a new maintainer will be -;; sought. In any case, it will no longer be bundled w/ ttn-pers-elisp. +;; This code was tested with Emacs 20.7 on a monochrome 80x24 terminal. ;;; Code: (require 'cl) ; use the source luke! -(ignore-errors (require 'time-date)) ; for `time-subtract' - - -;;; ========================================================================== - -; Modifications to gnugo.el-2.2.8: -; -; * Grid display implemented -; * SGF handling improved -; * Undo and Redo related enhancements -; * Primitive edit mode -; * Regression view mode /usr/share/xemacs/site-packages/lisp/gnugo/gnugo.elc differs at offset '464' (Emacs/XEmacs v20 byte-compiled Lisp data) --- old /usr/share/xemacs/site-packages/lisp/gnugo/gnugo.elc (hex) +++ new /usr/share/xemacs/site-packages/lisp/gnugo/gnugo.elc (hex) @@ -1,33 +1,33 @@ -000001c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | -000001d0 20 20 20 20 20 20 20 20 20 20 20 20 0a 28 62 79 | .(by| -000001e0 74 65 2d 63 6f 64 65 20 22 c0 c1 21 88 c2 c3 c4 |te-code "..!....| -000001f0 8f 87 22 20 5b 72 65 71 75 69 72 65 20 63 6c 20 |.." [require cl | -00000200 6e 69 6c 20 28 62 79 74 65 2d 63 6f 64 65 20 22 |nil (byte-code "| -00000210 c0 c1 21 87 22 20 5b 72 65 71 75 69 72 65 20 74 |..!." [require t| -00000220 69 6d 65 2d 64 61 74 65 5d 20 32 29 20 28 28 65 |ime-date] 2) ((e| -00000230 72 72 6f 72 29 29 5d 20 33 29 0a 23 40 33 31 30 |rror))] 3).#@310| -00000240 20 56 65 72 73 69 6f 6e 20 6f 66 20 67 6e 75 67 | Version of gnug| -00000250 6f 2e 65 6c 20 63 75 72 72 65 6e 74 6c 79 20 6c |o.el currently l| -00000260 6f 61 64 65 64 2e 0a 4e 6f 74 65 20 74 68 61 74 |oaded..Note that| -00000270 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 64 | more than two d| -00000280 6f 74 73 20 69 6e 20 74 68 65 20 76 61 6c 75 65 |ots in the value| -00000290 20 69 6e 64 69 63 61 74 65 73 20 22 70 72 65 2d | indicates "pre-| -000002a0 72 65 6c 65 61 73 65 22 2c 0a 6f 72 20 22 61 6c |release",.or "al| -000002b0 70 68 61 22 20 6f 72 20 22 68 61 63 6b 65 72 73 |pha" or "hackers| -000002c0 2d 69 6e 76 69 74 65 64 2d 61 6c 6c 2d 65 6c 73 |-invited-all-els| -000002d0 65 2d 62 65 77 61 72 65 22 3b 20 75 73 65 20 61 |e-beware"; use a| -000002e0 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 21 |t your own risk!| -000002f0 0a 54 68 65 20 6d 6f 72 65 20 64 6f 74 73 20 74 |.The more dots t| -00000300 68 65 20 6d 6f 72 65 20 63 6f 75 72 61 67 65 2f |he more courage/| -00000310 66 6f 6f 6c 69 73 68 6e 65 73 73 20 79 6f 75 20 |foolishness you | -00000320 6d 75 73 74 20 66 69 6e 64 20 74 6f 20 63 6f 6e |must find to con| -00000330 74 69 6e 75 65 2e 0a 53 65 65 20 73 6f 75 72 63 |tinue..See sourc| -00000340 65 20 63 6f 64 65 20 66 6f 72 20 61 20 68 69 73 |e code for a his| -00000350 74 6f 72 79 20 6f 66 20 77 68 61 74 20 6d 65 61 |tory of what mea| -00000360 6e 73 20 77 68 61 74 20 76 65 72 73 69 6f 6e 2d |ns what version-| -00000370 77 69 73 65 2e 1f 0a 28 64 65 66 63 6f 6e 73 74 |wise...(defconst| -00000380 20 67 6e 75 67 6f 2d 76 65 72 73 69 6f 6e 20 22 | gnugo-version "| -00000390 32 2e 32 2e 38 2e 62 35 22 20 28 23 24 20 2e 20 |2.2.8.b5" (#$ . | -000003a0 35 37 36 29 29 0a 23 40 34 30 30 20 2a 43 6f 6d |576)).#@400 *Com| -000003b0 6d 61 6e 64 20 74 6f 20 73 74 61 72 74 20 61 6e |mand to start an| +000001c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a | .| +000001d0 28 72 65 71 75 69 72 65 20 27 63 6c 29 0a 23 40 |(require 'cl).#@| +000001e0 33 31 20 4b 65 79 6d 61 70 20 66 6f 72 20 47 4e |31 Keymap for GN| +000001f0 55 20 47 6f 20 42 6f 61 72 64 20 6d 6f 64 65 2e |U Go Board mode.| +00000200 1f 0a 28 64 65 66 76 61 72 20 67 6e 75 67 6f 2d |..(defvar gnugo-| +00000210 62 6f 61 72 64 2d 6d 6f 64 65 2d 6d 61 70 20 6e |board-mode-map n| +00000220 69 6c 20 28 23 24 20 2e 20 34 39 35 29 29 0a 23 |il (#$ . 495)).#| +00000230 40 35 32 20 48 69 73 74 6f 72 79 20 6f 66 20 61 |@52 History of a| +00000240 64 64 69 74 69 6f 6e 61 6c 20 47 4e 55 20 47 6f |dditional GNU Go| +00000250 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 6f 70 | command-line op| +00000260 74 69 6f 6e 73 2e 1f 0a 28 64 65 66 76 61 72 20 |tions...(defvar | +00000270 67 6e 75 67 6f 2d 6f 70 74 69 6f 6e 2d 68 69 73 |gnugo-option-his| +00000280 74 6f 72 79 20 6e 69 6c 20 28 23 24 20 2e 20 35 |tory nil (#$ . 5| +00000290 37 36 29 29 0a 23 40 33 30 34 20 2a 53 74 72 69 |76)).#@304 *Stri| +000002a0 6e 67 20 77 68 6f 73 65 20 69 6e 64 69 76 69 64 |ng whose individ| +000002b0 75 61 6c 20 63 68 61 72 61 63 74 65 72 73 20 61 |ual characters a| +000002c0 72 65 20 75 73 65 64 20 66 6f 72 20 61 6e 69 6d |re used for anim| +000002d0 61 74 69 6f 6e 2e 0a 53 70 65 63 69 66 69 63 61 |ation..Specifica| +000002e0 6c 6c 79 2c 20 74 68 65 20 60 67 6e 75 67 6f 2d |lly, the `gnugo-| +000002f0 77 6f 72 6d 2d 73 74 6f 6e 65 73 27 20 61 6e 64 |worm-stones' and| +00000300 20 60 67 6e 75 67 6f 2d 64 72 61 67 6f 6e 2d 73 | `gnugo-dragon-s| +00000310 74 6f 6e 65 73 27 20 63 6f 6d 6d 61 6e 64 73 0a |tones' commands.| +00000320 72 65 6e 64 65 72 20 74 68 65 20 73 74 6f 6e 65 |render the stone| +00000330 73 20 69 6e 20 74 68 65 69 72 20 72 65 73 70 65 |s in their respe| +00000340 63 74 69 76 65 20 28 63 6f 6d 70 75 74 65 64 29 |ctive (computed)| +00000350 20 67 72 6f 75 70 73 20 61 73 20 74 68 65 20 66 | groups as the f| +00000360 69 72 73 74 0a 63 68 61 72 61 63 74 65 72 20 69 |irst.character i| +00000370 6e 20 74 68 65 20 73 74 72 69 6e 67 2c 20 74 68 |n the string, th| +00000380 65 6e 20 74 68 65 20 6e 65 78 74 2c 20 61 6e 64 |en the next, and| +00000390 20 73 6f 20 6f 6e 20 75 6e 74 69 6c 20 74 68 65 | so on until the| +000003a0 20 73 74 72 69 6e 67 20 28 61 6e 64 2f 6f 72 0a | string (and/or.| +000003b0 74 68 65 20 76 69 65 77 65 72 29 20 69 73 20 65 |the viewer) is e| 000003c0 overalldiffered=1 (not bit-by-bit identical) overall=1