]> code.delx.au - gnu-emacs-elpa/blob - packages/gnugo/HACKING
Merge commit '0cda39255827f283e7578cd469ae42daad9556a2' from js2-mode
[gnu-emacs-elpa] / packages / gnugo / HACKING
1 HACKING gnugo -*- org -*-
2
3 This file is both a guide for newcomers and a todo list for oldstayers.
4
5 * next
6 *** newbie support
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’
11 * fix bugs
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
17 * performance
18 *** ‘compare-strings’ approach too clever/slow :-/
19 *** cache frolic fruits
20 * ideas / wishlist
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]])
39 *** animation finery
40 ***** make more configurable
41 ***** lift same-color-stones-only restriction
42 ***** allow sequencing rather than lock-step
43 ***** include sound
44 *** plunder el-go (grok [[info:eieio.info][EIEIO]] first)
45 ***** SVG display
46 pending [[revamp image support]]
47 ***** (?) SGF support
48 ******* IR compat
49 ******* error handling
50 ***** (?) other "backends"
51 pending [[talk GTP over the network]]
52 *** [your hacking ideas here!]
53 * tested with (newest first)
54 | Emacs | GNU Go |
55 |-----------+--------|
56 | 24.3.50.3 | 3.8 |
57 | ? | 3.6 |
58 | ? | 3.4 |
59 | ? | 3.3.15 |
60 | 22.0.50 | ? |
61 | 21.3 | ? |
62 |-----------+--------|
63 | <l> | <l> |
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]]
71 * NEWS nostalgia
72 (with-current-buffer (find-file "NEWS")
73 (highlight-phrase "[0-9][.][0-9][.][0-9]+\\|[0-9]+[.][.][0-9]+"
74 'hi-red-b))
75 * etc
76 #+odd
77
78 \f
79 Copyright (C) 2014 Free Software Foundation, Inc.
80
81 Copying and distribution of this file, with or without modification,
82 are permitted provided the copyright notice and this notice are preserved.