[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 04/10: [gnugo int] Add abstraction: gnugo--unclose-game
From: |
Thien-Thi Nguyen |
Subject: |
[elpa] 04/10: [gnugo int] Add abstraction: gnugo--unclose-game |
Date: |
Sat, 15 Feb 2014 11:58:31 +0000 |
ttn pushed a commit to branch ttn-gnugo
in repository elpa.
commit 0e71b331b1aecf4b10112ca96f5e177e4e7d9fd1
Author: Thien-Thi Nguyen <address@hidden>
Date: Thu Feb 13 12:29:19 2014 +0100
[gnugo int] Add abstraction: gnugo--unclose-game
* packages/gnugo/gnugo.el (gnugo--unclose-game): New func.
(gnugo-magic-undo): Use it.
(boardsize, clear_board, fixed_handicap):
Likewise, in the value of the ‘:post-thunk’ property.
---
packages/gnugo/ChangeLog | 9 +++++++++
packages/gnugo/gnugo.el | 17 +++++++++++++++--
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/packages/gnugo/ChangeLog b/packages/gnugo/ChangeLog
index 1789317..0dad0da 100644
--- a/packages/gnugo/ChangeLog
+++ b/packages/gnugo/ChangeLog
@@ -1,3 +1,12 @@
+2014-02-13 Thien-Thi Nguyen <address@hidden>
+
+ [gnugo int] Add abstraction: gnugo--unclose-game
+
+ * gnugo.el (gnugo--unclose-game): New func.
+ (gnugo-magic-undo): Use it.
+ (boardsize, clear_board, fixed_handicap):
+ Likewise, in the value of the ‘:post-thunk’ property.
+
2014-02-11 Thien-Thi Nguyen <address@hidden>
[gnugo] Indicate buffer not modified after load.
diff --git a/packages/gnugo/gnugo.el b/packages/gnugo/gnugo.el
index 593aba2..8777864 100644
--- a/packages/gnugo/gnugo.el
+++ b/packages/gnugo/gnugo.el
@@ -695,6 +695,19 @@ For all other values of RSEL, do nothing and return nil."
`((live ,@live)
(dead ,@dead))))))
+(defun gnugo--unclose-game ()
+ (dolist (prop '(:game-over ; all those in -close-game
+ :scoring-seed
+ :game-end-time))
+ (gnugo-put prop nil))
+ (let* ((root (car (gnugo-get :sgf-gametree)))
+ (cur (assq :RE root)))
+ (when cur
+ (assert (not (eq cur (car root))) nil
+ ":RE at head of root node: %S"
+ root)
+ (delq cur root))))
+
(defun gnugo-push-move (userp move)
(let* ((color (gnugo-get (if userp :user-color :gnugo-color)))
(start (gnugo-get :waiting-start))
@@ -1325,7 +1338,7 @@ turn to play. Optional second arg NOALT non-nil inhibits
this."
(error "%s not occupied by %s" pos u)))))
(t (error "Bad spec: %S" spec)))
(when (gnugo-get :game-over)
- (gnugo-put :game-over nil))
+ (gnugo--unclose-game))
(while (not (funcall done))
(setq ans (cdr (gnugo-synchronous-send/return "undo")))
(unless (= ?= (aref ans 0))
@@ -1904,7 +1917,7 @@ starting a new one. See `gnugo-board-mode' documentation
for more info."
fixed_handicap)
:output :discard
:post-thunk (lambda ()
- (gnugo-put :game-over nil)
+ (gnugo--unclose-game)
(gnugo-put :last-mover nil)
(gnugo-refresh t)))
- [elpa] branch ttn-gnugo updated (cfa23d6 -> 5d7da3f), Thien-Thi Nguyen, 2014/02/15
- [elpa] 06/10: [gnugo int] Zonk unused local var., Thien-Thi Nguyen, 2014/02/15
- [elpa] 02/10: [gnugo maint] Update NEWS file; nfc., Thien-Thi Nguyen, 2014/02/15
- [elpa] 04/10: [gnugo int] Add abstraction: gnugo--unclose-game,
Thien-Thi Nguyen <=
- [elpa] 07/10: [gnugo int] Use ‘set-p rocess-query-on-exit-flag’., Thien-Thi Nguyen, 2014/02/15
- [elpa] 05/10: [gnugo] Use ‘user-erro r’., Thien-Thi Nguyen, 2014/02/15
- [elpa] 10/10: [gnugo maint] Update "next" in HACKING; nfc., Thien-Thi Nguyen, 2014/02/15
- [elpa] 09/10: [gnugo int] Revamp gnugo-{put, get} doc / indentation decl., Thien-Thi Nguyen, 2014/02/15
- [elpa] 03/10: [gnugo maint] Sync ChangeLog email addr w/ that in VCS commit message; nfc., Thien-Thi Nguyen, 2014/02/15
- [elpa] 01/10: [gnugo] Indicate buffer not modified after load., Thien-Thi Nguyen, 2014/02/15
- [elpa] 08/10: [gnugo int] Use ‘dolis t’ and ‘destructuring-bind’., Thien-Thi Nguyen, 2014/02/15