1 HACKING gnugo -*- org -*-
3 This file is both a guide for newcomers and a todo list for oldstayers.
7 ***** "don't panic" button :-D
8 ***** on gnugo.el load, check [[file:gnugo.el::defvar.gnugo-program][gnugo-program]], set "ready" state
9 ***** rat concessions :-/
10 ***** (?) ootb ‘gnugo-image-display-mode’ in ‘gnugo-start-game-hook’
12 *** empty tree from many back/forw
13 ***** intermittent, grr
14 ***** manifests as ‘()’ (empty list) in .sgf (on write)
15 *** {next,previous}-line weirdness in the presence of images
16 *** no error-handling in SGF parsing
18 *** ‘compare-strings’ approach too clever/slow :-/
19 *** cache frolic fruits
21 *** wrap GTP ‘loadsgf’ completely
22 *** revamp image support
23 ***** DONE zonk ‘require’
24 ***** define simple API
25 *** talk GTP over the network
26 (?) pending [[wrap GTP ‘loadsgf’ completely]]
27 *** make gnugo (the external program) support query (read-only) thread
28 *** extend GNUGO Board mode to manage another subprocess for analysis only
29 *** command to label a position
30 *** SGF tree traversal
31 ***** DONE monkey mind
32 ***** TODO monkey body
33 *** "undo undo undoing"
34 ***** integrate Emacs undo, GTP undo, subgame branching
35 ***** (?) use [[file:../undo-tree/][../undo-tree/]]
36 *** make buffer name format configurable (but enforce uniqueness)
37 *** more tilde escapes for [[file:gnugo.el::defvar.gnugo-mode-line][gnugo-mode-line]]
38 *** make veneration configurable (see also [[SVG display]])
40 ***** make more configurable
41 ***** lift same-color-stones-only restriction
42 ***** allow sequencing rather than lock-step
44 *** plunder el-go (grok [[info:eieio.info][EIEIO]] first)
46 pending [[revamp image support]]
49 ******* error handling
50 ***** (?) other "backends"
51 pending [[talk GTP over the network]]
52 *** [your hacking ideas here!]
53 * tested with (newest first)
55 |-----------+--------|
62 |-----------+--------|
64 * ChangeLog discipline
65 *** based on [[info:standards#Change%20Logs][GNU Coding Standards]]
66 *** commit-message format
67 ***** basic: TITLE LF LF [DISCUSSION...] LF LF CLASSIC
68 ***** short: TITLE-FRAGMENT "; nfc." [LF LF DISCUSSION...]
69 *** don't bother w/ ChangeLog for "short" commit-message format
70 * other conventions: see [[file:.dir-locals.el][.dir-locals.el]]
72 (with-current-buffer (find-file "NEWS")
73 (highlight-phrase "[0-9][.][0-9][.][0-9]+\\|[0-9]+[.][.][0-9]+"
79 Copyright (C) 2014 Free Software Foundation, Inc.
81 Copying and distribution of this file, with or without modification,
82 are permitted provided the copyright notice and this notice are preserved.