~/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