~/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 @@ -153,4 +153,4 @@ -/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.el 172a9b435cfc4d6e6e7811e2cbbfb418de54fdd553ee340be3509f5f1517238c 0 -/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.elc 336c30edd20c245d136d8b0bdb4058b3bf9d817311585e035ce7c66889cb5fe7 0 -/usr/share/emacs/site-lisp/gnugo/gnugo.el e7c270618c4dd3569d1098f6c00fa720650b0a00282f05528777ce55e719ac31 0 -/usr/share/emacs/site-lisp/gnugo/gnugo.elc b7d9cb1c59fcdf2ea6a19d4f94015c9bd7a8dac46ce82091e409ff2a9f3a3075 0 +/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.el 61bbb1910419c82ba5f68b1fffe5bf9fafd1787968378410e774ba66ba74b225 0 +/usr/share/emacs/site-lisp/gnugo/gnugo-xpms.elc a345ed42ab22bc25d233a7587fd501a4c39a0a5a82bea43c612fa220f78eb2ee 0 +/usr/share/emacs/site-lisp/gnugo/gnugo.el 3bc5ed369c34e672f3dae9cc28ced8d9d2c87b6907e4d593f61f1a86ea6a3f1a 0 +/usr/share/emacs/site-lisp/gnugo/gnugo.elc 3d6737433e291b6cdbde143344ab084e03d95c98ff54e563e85cf300c65b8417 0 @@ -172 +172 @@ -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-big-xpms.elc fb33c31262b8f2bf4a0bcf37cd3b5a2d86500317731f6dab75a9c3c027d66931 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-big-xpms.elc 09e1825da6795c24966cf27de9b7974b67cb753bc167f54661cfd33af20ccd24 0 @@ -174,5 +174,5 @@ -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-db.elc 458abc41c6b18be93556f10a9046aced1efc404021460356fb9a64007b74db11 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.el 172a9b435cfc4d6e6e7811e2cbbfb418de54fdd553ee340be3509f5f1517238c 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.elc 9f8ca0a515ab8d7d1eb989ee2cdef882b61218ec03c4342b0291fbc4cdd41c4f 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el e7c270618c4dd3569d1098f6c00fa720650b0a00282f05528777ce55e719ac31 0 -/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.elc 52cdbc5e0da36d63a98814014a8c557f98d221fe040112e7744632250d72bbd0 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-db.elc 61313c8e352bf72fc211b9cb35230a370f3cd80f74a615e34c048af7df099967 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.el 61bbb1910419c82ba5f68b1fffe5bf9fafd1787968378410e774ba66ba74b225 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo-xpms.elc 8c7993d1d779975077fa288680da1c72534bdb3fb110c3ba442c45120b383052 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el 3bc5ed369c34e672f3dae9cc28ced8d9d2c87b6907e4d593f61f1a86ea6a3f1a 0 +/usr/share/xemacs/site-packages/lisp/gnugo/gnugo.elc e42ed382bce92bbda9db6c7eb55eba38e270b714a4ce583299cab3eb7a73b56c 0 @@ -180 +180 @@ -/usr/share/xemacs/site-packages/lisp/gnugo/make-xpms-file.elc affeeae068b5b54f51013a95657aea3d3f224d7d10353c3722719ab0a21436b6 0 +/usr/share/xemacs/site-packages/lisp/gnugo/make-xpms-file.elc 457eb1e4a5f4f6da822385a72de45f119baae38df8139f3189bbe2b62b561272 0 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 '24418' (Emacs/XEmacs v28 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 @@ 00005f40 46 46 46 46 46 46 46 46 46 46 46 46 5c 22 2c 5c |FFFFFFFFFFFF\",\| 00005f50 6e 5c 22 20 20 20 20 20 20 20 20 20 20 20 20 20 |n\" | -00005f60 20 2e 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 | .. | +00005f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005f70 20 5c 22 2c 5c 6e 5c 22 20 20 20 20 20 20 20 20 | \",\n\" | 00005f80 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e 20 20 20 20 20 | ........ | 00005f90 20 20 20 20 20 20 5c 22 2c 5c 6e 5c 22 20 20 20 | \",\n\" | /usr/share/emacs/site-lisp/gnugo/gnugo.el differs (Lisp/Scheme program, 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,53 +1,223 @@ -;;; ID: $Id: gnugo.el,v 1.1.1.1 2008/12/21 18:47:58 bump Exp $ +;;; gnugo.el ;;; ;;; This is GNU Go, a Go program. Contact gnugo@gnu.org, or see ;;; http://www.gnu.org/software/gnugo/ for more information. ;;; -;;; Copyright 1999, 2000, 2001 by the Free Software Foundation. +;;; Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 +;;; and 2008 by the Free Software Foundation. ;;; -;;; This program is free software; you can redistribute it and/ +;;; 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 - 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 COPYIN +;;; PURPOSE. See the GNU General Public License in file COPYING ;;; 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: -;; 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. :-) +;; 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. +;; ;; -;; Customization is presently limited to `gnugo-animation-string', q.v. +;; Meta-Meta-Playing (aka Hacking) +;; ------------------------------- ;; -;; This code was tested with Emacs 20.7 on a monochrome 80x24 terminal. +;; 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. ;;; 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 '81' (Emacs/XEmacs v28 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 @@ 00000040 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 0a 0a 0a 28 |imizations.....(| -00000050 72 65 71 75 69 72 65 20 27 63 6c 29 0a 23 40 33 |require 'cl).#@3| -00000060 31 20 4b 65 79 6d 61 70 20 66 6f 72 20 47 4e 55 |1 Keymap for GNU| -00000070 20 47 6f 20 42 6f 61 72 64 20 6d 6f 64 65 2e 1f | Go Board mode..| -00000080 0a 28 64 65 66 76 61 72 20 67 6e 75 67 6f 2d 62 |.(defvar gnugo-b| -00000090 6f 61 72 64 2d 6d 6f 64 65 2d 6d 61 70 20 6e 69 |oard-mode-map ni| -000000a0 6c 20 28 23 24 20 2e 20 39 38 29 29 0a 23 40 35 |l (#$ . 98)).#@5| -000000b0 32 20 48 69 73 74 6f 72 79 20 6f 66 20 61 64 64 |2 History of add| -000000c0 69 74 69 6f 6e 61 6c 20 47 4e 55 20 47 6f 20 63 |itional GNU Go c| -000000d0 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 6f 70 74 69 |ommand-line opti| -000000e0 6f 6e 73 2e 1f 0a 28 64 65 66 76 61 72 20 67 6e |ons...(defvar gn| -000000f0 75 67 6f 2d 6f 70 74 69 6f 6e 2d 68 69 73 74 6f |ugo-option-histo| -00000100 72 79 20 6e 69 6c 20 28 23 24 20 2e 20 31 37 38 |ry nil (#$ . 178| -00000110 29 29 0a 23 40 33 30 34 20 2a 53 74 72 69 6e 67 |)).#@304 *String| -00000120 20 77 68 6f 73 65 20 69 6e 64 69 76 69 64 75 61 | whose individua| -00000130 6c 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 |l characters are| -00000140 20 75 73 65 64 20 66 6f 72 20 61 6e 69 6d 61 74 | used for animat| -00000150 69 6f 6e 2e 0a 53 70 65 63 69 66 69 63 61 6c 6c |ion..Specificall| -00000160 79 2c 20 74 68 65 20 60 67 6e 75 67 6f 2d 77 6f |y, the `gnugo-wo| -00000170 72 6d 2d 73 74 6f 6e 65 73 27 20 61 6e 64 20 60 |rm-stones' and `| -00000180 67 6e 75 67 6f 2d 64 72 61 67 6f 6e 2d 73 74 6f |gnugo-dragon-sto| -00000190 6e 65 73 27 20 63 6f 6d 6d 61 6e 64 73 0a 72 65 |nes' commands.re| -000001a0 6e 64 65 72 20 74 68 65 20 73 74 6f 6e 65 73 20 |nder the stones | -000001b0 69 6e 20 74 68 65 69 72 20 72 65 73 70 65 63 74 |in their respect| -000001c0 69 76 65 20 28 63 6f 6d 70 75 74 65 64 29 20 67 |ive (computed) g| -000001d0 72 6f 75 70 73 20 61 73 20 74 68 65 20 66 69 72 |roups as the fir| -000001e0 73 74 0a 63 68 61 72 61 63 74 65 72 20 69 6e 20 |st.character in | -000001f0 74 68 65 20 73 74 72 69 6e 67 2c 20 74 68 65 6e |the string, then| -00000200 20 74 68 65 20 6e 65 78 74 2c 20 61 6e 64 20 73 | the next, and s| -00000210 6f 20 6f 6e 20 75 6e 74 69 6c 20 74 68 65 20 73 |o on until the s| -00000220 74 72 69 6e 67 20 28 61 6e 64 2f 6f 72 0a 74 68 |tring (and/or.th| -00000230 65 20 76 69 65 77 65 72 29 20 69 73 20 65 78 68 |e viewer) is exh| +00000050 62 79 74 65 2d 63 6f 64 65 20 22 5c 33 30 30 5c |byte-code "\300\| +00000060 33 30 31 21 5c 32 31 30 5c 33 30 32 31 0d 00 5c |301!\210\3021..\| +00000070 33 30 30 5c 33 30 33 21 30 5c 32 30 37 5c 32 31 |300\303!0\207\21| +00000080 30 5c 33 30 34 5c 32 30 37 22 20 5b 72 65 71 75 |0\304\207" [requ| +00000090 69 72 65 20 63 6c 20 28 65 72 72 6f 72 29 20 74 |ire cl (error) t| +000000a0 69 6d 65 2d 64 61 74 65 20 6e 69 6c 5d 20 32 29 |ime-date nil] 2)| +000000b0 0a 23 40 33 31 30 20 56 65 72 73 69 6f 6e 20 6f |.#@310 Version o| +000000c0 66 20 67 6e 75 67 6f 2e 65 6c 20 63 75 72 72 65 |f gnugo.el curre| +000000d0 6e 74 6c 79 20 6c 6f 61 64 65 64 2e 0a 4e 6f 74 |ntly loaded..Not| +000000e0 65 20 74 68 61 74 20 6d 6f 72 65 20 74 68 61 6e |e that more than| +000000f0 20 74 77 6f 20 64 6f 74 73 20 69 6e 20 74 68 65 | two dots in the| +00000100 20 76 61 6c 75 65 20 69 6e 64 69 63 61 74 65 73 | value indicates| +00000110 20 22 70 72 65 2d 72 65 6c 65 61 73 65 22 2c 0a | "pre-release",.| +00000120 6f 72 20 22 61 6c 70 68 61 22 20 6f 72 20 22 68 |or "alpha" or "h| +00000130 61 63 6b 65 72 73 2d 69 6e 76 69 74 65 64 2d 61 |ackers-invited-a| +00000140 6c 6c 2d 65 6c 73 65 2d 62 65 77 61 72 65 22 3b |ll-else-beware";| +00000150 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e | use at your own| +00000160 20 72 69 73 6b 21 0a 54 68 65 20 6d 6f 72 65 20 | risk!.The more | +00000170 64 6f 74 73 20 74 68 65 20 6d 6f 72 65 20 63 6f |dots the more co| +00000180 75 72 61 67 65 2f 66 6f 6f 6c 69 73 68 6e 65 73 |urage/foolishnes| +00000190 73 20 79 6f 75 20 6d 75 73 74 20 66 69 6e 64 20 |s you must find | +000001a0 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 0a 53 65 65 |to continue..See| +000001b0 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 | source code for| +000001c0 20 61 20 68 69 73 74 6f 72 79 20 6f 66 20 77 68 | a history of wh| +000001d0 61 74 20 6d 65 61 6e 73 20 77 68 61 74 20 76 65 |at means what ve| +000001e0 72 73 69 6f 6e 2d 77 69 73 65 2e 1f 0a 28 64 65 |rsion-wise...(de| +000001f0 66 63 6f 6e 73 74 20 67 6e 75 67 6f 2d 76 65 72 |fconst gnugo-ver| +00000200 73 69 6f 6e 20 22 32 2e 32 2e 38 2e 62 35 22 20 |sion "2.2.8.b5" | +00000210 28 23 24 20 2e 20 31 38 33 29 29 0a 23 40 34 30 |(#$ . 183)).#@40| +00000220 30 20 2a 43 6f 6d 6d 61 6e 64 20 74 6f 20 73 74 |0 *Command to st| +00000230 61 72 74 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 |art an external | 00000240 /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 '468' (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 20 0a 23 40 32 36 37 20 41 6c 69 73 74 20 | .#@267 Alist | -000001e0 6f 66 20 58 50 4d 20 69 6d 61 67 65 73 20 73 75 |of XPM images su| -000001f0 69 74 61 62 6c 65 20 66 6f 72 20 75 73 65 20 62 |itable for use b| -00000200 79 20 67 6e 75 67 6f 2e 65 6c 2e 0a 4b 65 79 73 |y gnugo.el..Keys| -00000210 20 61 72 65 20 28 54 59 50 45 20 2e 20 50 4c 41 | are (TYPE . PLA| -00000220 43 45 29 2c 20 77 68 65 72 65 20 54 59 50 45 20 |CE), where TYPE | -00000230 69 73 20 6f 6e 65 20 6f 66 3a 0a 20 20 62 6d 6f |is one of:. bmo| -00000240 6b 75 20 62 70 6d 6f 6b 75 20 65 6d 70 74 79 20 |ku bpmoku empty | -00000250 68 6f 73 68 69 20 77 6d 6f 6b 75 20 77 70 6d 6f |hoshi wmoku wpmo| -00000260 6b 75 0a 61 6e 64 20 50 4c 41 43 45 20 69 73 20 |ku.and PLACE is | -00000270 61 6e 20 69 6e 74 65 67 65 72 20 64 65 73 63 72 |an integer descr| -00000280 69 62 69 6e 67 20 61 20 76 69 73 69 62 6c 65 20 |ibing a visible | -00000290 6c 6f 63 61 74 69 6f 6e 3a 0a 20 20 31 20 32 20 |location:. 1 2 | -000002a0 33 0a 20 20 34 20 35 20 36 0a 20 20 37 20 38 20 |3. 4 5 6. 7 8 | -000002b0 39 2e 0a 54 68 65 20 69 6d 61 67 65 20 76 61 6c |9..The image val| -000002c0 75 65 73 20 61 72 65 20 74 68 65 20 72 65 73 75 |ues are the resu| -000002d0 6c 74 20 6f 66 20 60 66 69 6e 64 2d 69 6d 61 67 |lt of `find-imag| -000002e0 65 27 2e 1f 0a 28 64 65 66 63 6f 6e 73 74 20 67 |e'...(defconst g| -000002f0 6e 75 67 6f 2d 78 70 6d 73 20 28 6d 61 70 63 61 |nugo-xpms (mapca| -00000300 72 20 23 5b 28 70 61 69 72 29 20 22 08 40 c1 c2 |r #[(pair) ".@..| -00000310 c3 c4 08 41 c5 c6 af 06 43 21 42 87 22 20 5b 70 |...A....C!B." [p| -00000320 61 69 72 20 66 69 6e 64 2d 69 6d 61 67 65 20 3a |air find-image :| -00000330 74 79 70 65 20 78 70 6d 20 3a 64 61 74 61 20 3a |type xpm :data :| -00000340 61 73 63 65 6e 74 20 63 65 6e 74 65 72 5d 20 38 |ascent center] 8| -00000350 5d 20 27 28 28 28 62 6d 6f 6b 75 20 2e 20 31 29 |] '(((bmoku . 1)| -00000360 20 2e 20 22 2f 2a 20 58 50 4d 20 2a 2f 5c 6e 2f | . "/* XPM */\n/| -00000370 2a 20 43 6f 70 79 72 69 67 68 74 20 32 30 30 34 |* Copyright 2004| -00000380 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 | by the Free Sof| -00000390 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e |tware Foundation| -000003a0 2e 20 53 65 65 20 43 4f 50 59 49 4e 47 20 2a 2f |. See COPYING */| -000003b0 5c 6e 73 74 61 74 69 63 20 63 68 61 72 20 2a 20 |\nstatic char * | +000001d0 20 20 20 20 20 20 20 20 0a 23 40 32 36 37 20 41 | .#@267 A| +000001e0 6c 69 73 74 20 6f 66 20 58 50 4d 20 69 6d 61 67 |list of XPM imag| +000001f0 65 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 |es suitable for | +00000200 75 73 65 20 62 79 20 67 6e 75 67 6f 2e 65 6c 2e |use by gnugo.el.| +00000210 0a 4b 65 79 73 20 61 72 65 20 28 54 59 50 45 20 |.Keys are (TYPE | +00000220 2e 20 50 4c 41 43 45 29 2c 20 77 68 65 72 65 20 |. PLACE), where | +00000230 54 59 50 45 20 69 73 20 6f 6e 65 20 6f 66 3a 0a |TYPE is one of:.| +00000240 20 20 62 6d 6f 6b 75 20 62 70 6d 6f 6b 75 20 65 | bmoku bpmoku e| +00000250 6d 70 74 79 20 68 6f 73 68 69 20 77 6d 6f 6b 75 |mpty hoshi wmoku| +00000260 20 77 70 6d 6f 6b 75 0a 61 6e 64 20 50 4c 41 43 | wpmoku.and PLAC| +00000270 45 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 20 |E is an integer | +00000280 64 65 73 63 72 69 62 69 6e 67 20 61 20 76 69 73 |describing a vis| +00000290 69 62 6c 65 20 6c 6f 63 61 74 69 6f 6e 3a 0a 20 |ible location:. | +000002a0 20 31 20 32 20 33 0a 20 20 34 20 35 20 36 0a 20 | 1 2 3. 4 5 6. | +000002b0 20 37 20 38 20 39 2e 0a 54 68 65 20 69 6d 61 67 | 7 8 9..The imag| +000002c0 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 |e values are the| +000002d0 20 72 65 73 75 6c 74 20 6f 66 20 60 66 69 6e 64 | result of `find| +000002e0 2d 69 6d 61 67 65 27 2e 1f 0a 28 64 65 66 63 6f |-image'...(defco| +000002f0 6e 73 74 20 67 6e 75 67 6f 2d 78 70 6d 73 20 28 |nst gnugo-xpms (| +00000300 6d 61 70 63 61 72 20 23 5b 28 70 61 69 72 29 20 |mapcar #[(pair) | +00000310 22 08 40 c1 c2 c3 c4 08 41 c5 c6 af 06 43 21 42 |".@.....A....C!B| +00000320 87 22 20 5b 70 61 69 72 20 66 69 6e 64 2d 69 6d |." [pair find-im| +00000330 61 67 65 20 3a 74 79 70 65 20 78 70 6d 20 3a 64 |age :type xpm :d| +00000340 61 74 61 20 3a 61 73 63 65 6e 74 20 63 65 6e 74 |ata :ascent cent| +00000350 65 72 5d 20 38 5d 20 27 28 28 28 62 6d 6f 6b 75 |er] 8] '(((bmoku| +00000360 20 2e 20 31 29 20 2e 20 22 2f 2a 20 58 50 4d 20 | . 1) . "/* XPM | +00000370 2a 2f 5c 6e 2f 2a 20 43 6f 70 79 72 69 67 68 74 |*/\n/* Copyright| +00000380 20 32 30 30 34 20 62 79 20 74 68 65 20 46 72 65 | 2004 by the Fre| +00000390 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 |e Software Found| +000003a0 61 74 69 6f 6e 2e 20 53 65 65 20 43 4f 50 59 49 |ation. See COPYI| +000003b0 4e 47 20 2a 2f 5c 6e 73 74 61 74 69 63 20 63 68 |NG */\nstatic ch| 000003c0 /usr/share/xemacs/site-packages/lisp/gnugo/gnugo.el differs (Lisp/Scheme program, 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,53 +1,223 @@ -;;; ID: $Id: gnugo.el,v 1.1.1.1 2008/12/21 18:47:58 bump Exp $ +;;; gnugo.el ;;; ;;; This is GNU Go, a Go program. Contact gnugo@gnu.org, or see ;;; http://www.gnu.org/software/gnugo/ for more information. ;;; -;;; Copyright 1999, 2000, 2001 by the Free Software Foundation. +;;; Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 +;;; and 2008 by the Free Software Foundation. ;;; -;;; This program is free software; you can redistribute it and/ +;;; 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 - 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 COPYIN +;;; PURPOSE. See the GNU General Public License in file COPYING ;;; 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: -;; 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. :-) +;; 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. +;; ;; -;; Customization is presently limited to `gnugo-animation-string', q.v. +;; Meta-Meta-Playing (aka Hacking) +;; ------------------------------- ;; -;; This code was tested with Emacs 20.7 on a monochrome 80x24 terminal. +;; 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. ;;; 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 '465' (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 0a 28 72 65 71 75 69 72 65 20 27 63 6c 29 0a 23 |.(require 'cl).#| -000001e0 40 33 31 20 4b 65 79 6d 61 70 20 66 6f 72 20 47 |@31 Keymap for G| -000001f0 4e 55 20 47 6f 20 42 6f 61 72 64 20 6d 6f 64 65 |NU Go Board mode| -00000200 2e 1f 0a 28 64 65 66 76 61 72 20 67 6e 75 67 6f |...(defvar gnugo| -00000210 2d 62 6f 61 72 64 2d 6d 6f 64 65 2d 6d 61 70 20 |-board-mode-map | -00000220 6e 69 6c 20 28 23 24 20 2e 20 34 39 35 29 29 0a |nil (#$ . 495)).| -00000230 23 40 35 32 20 48 69 73 74 6f 72 79 20 6f 66 20 |#@52 History of | -00000240 61 64 64 69 74 69 6f 6e 61 6c 20 47 4e 55 20 47 |additional GNU G| -00000250 6f 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 6f |o command-line o| -00000260 70 74 69 6f 6e 73 2e 1f 0a 28 64 65 66 76 61 72 |ptions...(defvar| -00000270 20 67 6e 75 67 6f 2d 6f 70 74 69 6f 6e 2d 68 69 | gnugo-option-hi| -00000280 73 74 6f 72 79 20 6e 69 6c 20 28 23 24 20 2e 20 |story nil (#$ . | -00000290 35 37 36 29 29 0a 23 40 33 30 34 20 2a 53 74 72 |576)).#@304 *Str| -000002a0 69 6e 67 20 77 68 6f 73 65 20 69 6e 64 69 76 69 |ing whose indivi| -000002b0 64 75 61 6c 20 63 68 61 72 61 63 74 65 72 73 20 |dual characters | -000002c0 61 72 65 20 75 73 65 64 20 66 6f 72 20 61 6e 69 |are used for ani| -000002d0 6d 61 74 69 6f 6e 2e 0a 53 70 65 63 69 66 69 63 |mation..Specific| -000002e0 61 6c 6c 79 2c 20 74 68 65 20 60 67 6e 75 67 6f |ally, the `gnugo| -000002f0 2d 77 6f 72 6d 2d 73 74 6f 6e 65 73 27 20 61 6e |-worm-stones' an| -00000300 64 20 60 67 6e 75 67 6f 2d 64 72 61 67 6f 6e 2d |d `gnugo-dragon-| -00000310 73 74 6f 6e 65 73 27 20 63 6f 6d 6d 61 6e 64 73 |stones' commands| -00000320 0a 72 65 6e 64 65 72 20 74 68 65 20 73 74 6f 6e |.render the ston| -00000330 65 73 20 69 6e 20 74 68 65 69 72 20 72 65 73 70 |es in their resp| -00000340 65 63 74 69 76 65 20 28 63 6f 6d 70 75 74 65 64 |ective (computed| -00000350 29 20 67 72 6f 75 70 73 20 61 73 20 74 68 65 20 |) groups as the | -00000360 66 69 72 73 74 0a 63 68 61 72 61 63 74 65 72 20 |first.character | -00000370 69 6e 20 74 68 65 20 73 74 72 69 6e 67 2c 20 74 |in the string, t| -00000380 68 65 6e 20 74 68 65 20 6e 65 78 74 2c 20 61 6e |hen the next, an| -00000390 64 20 73 6f 20 6f 6e 20 75 6e 74 69 6c 20 74 68 |d so on until th| -000003a0 65 20 73 74 72 69 6e 67 20 28 61 6e 64 2f 6f 72 |e string (and/or| -000003b0 0a 74 68 65 20 76 69 65 77 65 72 29 20 69 73 20 |.the viewer) is | +000001d0 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 28 62 | .(b| +000001e0 79 74 65 2d 63 6f 64 65 20 22 c0 c1 21 88 c2 c3 |yte-code "..!...| +000001f0 c4 8f 87 22 20 5b 72 65 71 75 69 72 65 20 63 6c |..." [require cl| +00000200 20 6e 69 6c 20 28 62 79 74 65 2d 63 6f 64 65 20 | nil (byte-code | +00000210 22 c0 c1 21 87 22 20 5b 72 65 71 75 69 72 65 20 |"..!." [require | +00000220 74 69 6d 65 2d 64 61 74 65 5d 20 32 29 20 28 28 |time-date] 2) ((| +00000230 65 72 72 6f 72 29 29 5d 20 33 29 0a 23 40 33 31 |error))] 3).#@31| +00000240 30 20 56 65 72 73 69 6f 6e 20 6f 66 20 67 6e 75 |0 Version of gnu| +00000250 67 6f 2e 65 6c 20 63 75 72 72 65 6e 74 6c 79 20 |go.el currently | +00000260 6c 6f 61 64 65 64 2e 0a 4e 6f 74 65 20 74 68 61 |loaded..Note tha| +00000270 74 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 |t more than two | +00000280 64 6f 74 73 20 69 6e 20 74 68 65 20 76 61 6c 75 |dots in the valu| +00000290 65 20 69 6e 64 69 63 61 74 65 73 20 22 70 72 65 |e indicates "pre| +000002a0 2d 72 65 6c 65 61 73 65 22 2c 0a 6f 72 20 22 61 |-release",.or "a| +000002b0 6c 70 68 61 22 20 6f 72 20 22 68 61 63 6b 65 72 |lpha" or "hacker| +000002c0 73 2d 69 6e 76 69 74 65 64 2d 61 6c 6c 2d 65 6c |s-invited-all-el| +000002d0 73 65 2d 62 65 77 61 72 65 22 3b 20 75 73 65 20 |se-beware"; use | +000002e0 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b |at your own risk| +000002f0 21 0a 54 68 65 20 6d 6f 72 65 20 64 6f 74 73 20 |!.The more dots | +00000300 74 68 65 20 6d 6f 72 65 20 63 6f 75 72 61 67 65 |the more courage| +00000310 2f 66 6f 6f 6c 69 73 68 6e 65 73 73 20 79 6f 75 |/foolishness you| +00000320 20 6d 75 73 74 20 66 69 6e 64 20 74 6f 20 63 6f | must find to co| +00000330 6e 74 69 6e 75 65 2e 0a 53 65 65 20 73 6f 75 72 |ntinue..See sour| +00000340 63 65 20 63 6f 64 65 20 66 6f 72 20 61 20 68 69 |ce code for a hi| +00000350 73 74 6f 72 79 20 6f 66 20 77 68 61 74 20 6d 65 |story of what me| +00000360 61 6e 73 20 77 68 61 74 20 76 65 72 73 69 6f 6e |ans what version| +00000370 2d 77 69 73 65 2e 1f 0a 28 64 65 66 63 6f 6e 73 |-wise...(defcons| +00000380 74 20 67 6e 75 67 6f 2d 76 65 72 73 69 6f 6e 20 |t gnugo-version | +00000390 22 32 2e 32 2e 38 2e 62 35 22 20 28 23 24 20 2e |"2.2.8.b5" (#$ .| +000003a0 20 35 37 36 29 29 0a 23 40 34 30 30 20 2a 43 6f | 576)).#@400 *Co| +000003b0 6d 6d 61 6e 64 20 74 6f 20 73 74 61 72 74 20 61 |mmand to start a| 000003c0 overalldiffered=1 (number of pkgs that are not bit-by-bit identical: 0 is good) overall=1