HACKING gnugo                                           -*- org -*-

This file is both a guide for newcomers and a todo list for oldstayers.

* next
* fix bugs
*** {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 :-/
* ideas / wishlist
*** set ‘lexical-binding’ (if possible!)
    Hmm, lots of symbol trickery going on; initial attempts FAIL.
*** add a few screenshots to package
*** revamp image support
*** talk GTP over the network
*** "assist minor mode" (see gnugo-extra.el for work in progress)
*** using assist minor mode, gnugo-v-gnugo (ibid)
*** 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
*** 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
*** [your hacking ideas here!]
* tested with (newest first)
  | Emacs     | GNU Go |
  |-----------+--------|
  | 24.3.50.3 | 3.8    |
  | ?         | 3.6    |
  | ?         | 3.4    |
  | ?         | 3.3.15 |
  | 22.0.50   | ?      |
  | 21.3      | ?      |
  |-----------+--------|
  | <l>       | <l>    |
* ChangeLog discipline
*** based on [[info:standards#Change%20Logs][GNU Coding Standards]]
*** commit-message format
***** basic: TITLE LF LF [DISCUSSION...] LF LF CLASSIC
***** 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]]
* etc
#+odd


Copyright (C) 2014  Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
