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 traversal *** "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 | ? | |-----------+--------| | | | * 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]] * 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 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.