Skip to content

Latest commit

 

History

History
86 lines (81 loc) · 3.04 KB

HACKING

File metadata and controls

86 lines (81 loc) · 3.04 KB

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 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

no error-handling in SGF parsing

performance

‘compare-strings’ approach too clever/slow :-/

cache frolic fruits

ideas / wishlist

wrap GTP ‘loadsgf’ completely

revamp image support

zonk ‘require’
define simple API

talk GTP over the network

(?) 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 to label a position

SGF tree traversal

monkey mind
monkey body

“undo undo undoing”

integrate Emacs undo, GTP undo, subgame branching

make buffer name format configurable (but enforce uniqueness)

more tilde escapes for gnugo-mode-line

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 EIEIO first)

SVG display

pending revamp image support

(?) SGF support
IR compaterror handling
(?) other “backends”

pending talk GTP over the network

[your hacking ideas here!]

tested with (newest first)

EmacsGNU Go
26.0.50.63.8
24.3.50.33.8
?3.6
?3.4
?3.3.15
22.0.50?
21.3?
<l><l>

ChangeLog discipline

based on 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

copyright policy

update every year, unconditionally

(if (< 2 (- END BEGIN)) RANGE INDIVIDUAL)

other conventions: see .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-2021 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.