]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/gnugo/HACKING
Add 'packages/loc-changes/' from commit 'efbe022eaeef0ccc54ffe219216974a786c3301c'
[gnu-emacs-elpa] / packages / gnugo / HACKING
index 989f0d3c2b4a962066d6f0323fd40676a7a25030..9c0c277ef307487baeff77a8a6aff5dd528d9545 100644 (file)
@@ -3,37 +3,52 @@ HACKING gnugo                                           -*- org -*-
 This file is both a guide for newcomers and a todo list for oldstayers.
 
 * next
+*** newbie support
+***** "don't panic" button :-D
+***** on gnugo.el load, check [[file:gnugo.el::defvar.gnugo-program][gnugo-program]], set "ready" state
+***** rat concessions :-/
+***** (?) ootb ‘gnugo-image-display-mode’ in ‘gnugo-start-game-hook’
 * fix bugs
+*** empty tree from many back/forw
+***** intermittent, grr
+***** manifests as ‘()’ (empty list) in .sgf (on write)
 *** {next,previous}-line weirdness in the presence of images
-*** ‘-l FILENAME’ lossage
-***** silently clobbers other options (PEBKAC, strictly speaking)
-***** game tree incomplete (doing ‘C-x C-s’ immediately writes empty tree)
-*** [[file:gnugo.el::defun.gnugo-toggle-dead-group][gnugo-toggle-dead-group]] only half-complete
 *** no error-handling in SGF parsing
-*** performance -- ‘compare-strings’ approach too clever/slow :-/
+* performance
+*** ‘compare-strings’ approach too clever/slow :-/
+*** cache frolic fruits
 * ideas / wishlist
-*** set ‘lexical-binding’ (if possible!)
-    Hmm, lots of symbol trickery going on; initial attempts FAIL.
-*** add a few screenshots to package
+*** wrap GTP ‘loadsgf’ completely
 *** revamp image support
+***** DONE zonk ‘require’
+***** define simple API
 *** talk GTP over the network
-*** "assist minor mode" (see gnugo-extra.el for work in progress)
-*** using assist minor mode, gnugo-v-gnugo (ibid)
+    (?) pending [[wrap GTP ‘loadsgf’ completely]]
 *** make gnugo (the external program) support query (read-only) thread
 *** extend GNUGO Board mode to manage another subprocess for analysis only
-*** 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
+*** command to label a position
+*** SGF tree traversal
+***** DONE monkey mind
+***** TODO monkey body
+*** "undo undo undoing"
+***** integrate Emacs undo, GTP undo, subgame branching
+***** (?) use [[file:../undo-tree/][../undo-tree/]]
 *** make buffer name format configurable (but enforce uniqueness)
 *** more tilde escapes for [[file:gnugo.el::defvar.gnugo-mode-line][gnugo-mode-line]]
-*** make veneration configurable
-*** make animation more configurable; lift same-color-stones-only
-*** restriction; allow sequencing rather than lock-step; include sound
+*** make veneration configurable (see also [[SVG display]])
+*** animation finery
+***** make more configurable
+***** lift same-color-stones-only restriction
+***** allow sequencing rather than lock-step
+***** include sound
+*** plunder el-go (grok [[info:eieio.info][EIEIO]] first)
+***** SVG display
+      pending [[revamp image support]]
+***** (?) SGF support
+******* IR compat
+******* error handling
+***** (?) other "backends"
+      pending [[talk GTP over the network]]
 *** [your hacking ideas here!]
 * tested with (newest first)
   | Emacs     | GNU Go |
@@ -53,6 +68,10 @@ This file is both a guide for newcomers and a todo list for oldstayers.
 ***** short: TITLE-FRAGMENT "; nfc." [LF LF DISCUSSION...]
 *** don't bother w/ ChangeLog for "short" commit-message format
 * other conventions: see [[file:.dir-locals.el][.dir-locals.el]]
+* NEWS nostalgia
+(with-current-buffer (find-file "NEWS")
+  (highlight-phrase "[0-9][.][0-9][.][0-9]+\\|[0-9]+[.][.][0-9]+"
+                    'hi-red-b))
 * etc
 #+odd