[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/gnugo e16a8d5 031/357: [gnugo int] Add abstraction: gnu
From: |
Stefan Monnier |
Subject: |
[elpa] externals/gnugo e16a8d5 031/357: [gnugo int] Add abstraction: gnugo--unclose-game |
Date: |
Sun, 29 Nov 2020 14:50:41 -0500 (EST) |
branch: externals/gnugo
commit e16a8d5b83037e80661d87025ea94e691bd25a20
Author: Thien-Thi Nguyen <ttn@gnu.org>
Commit: Thien-Thi Nguyen <ttn@gnu.org>
[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.
---
gnugo.el | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/gnugo.el b/gnugo.el
index 593aba2..8777864 100644
--- a/gnugo.el
+++ b/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] externals/gnugo aedeff7 004/357: [gnugo maint] Add NEWS file; prune Commentary; nfc., (continued)
- [elpa] externals/gnugo aedeff7 004/357: [gnugo maint] Add NEWS file; prune Commentary; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo fdb7810 005/357: [gnugo] Use ‘cl-labels’ instead of ‘flet’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 9ec0f3e 007/357: [gnugo] Presume "modern" GNU Emacs., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 0893d87 010/357: [gnugo] Don't use ‘process-kill-buffer-query-function’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 7484ea0 011/357: [gnugo maint] Add HACKING; prune Commentary; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 5b0f262 012/357: [gnugo doc] Document version-number scheme., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo fee8b33 015/357: [gnugo int] Use ‘(split-string STR SEP t)’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 7f961b7 016/357: [gnugo maint] Update "next" in HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo f84b823 018/357: [gnugo maint] Update a musing item in HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 0838a13 021/357: [gnugo gtp int] Use :post-thunk instead of :post-hook., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo e16a8d5 031/357: [gnugo int] Add abstraction: gnugo--unclose-game,
Stefan Monnier <=
- [elpa] externals/gnugo 28da1b4 035/357: [gnugo int] Use ‘dolist’ and ‘destructuring-bind’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 08b2a66 017/357: [gnugo] Indicate buffer not modified after save., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 9893ff1 027/357: [gnugo int] Hang the sync-return-stash on the process object., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo b8b8763 037/357: [gnugo maint] Update "next" in HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo a4b96a1 024/357: [gnugo int] Use ‘number-sequence’ more., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 402bf68 039/357: [gnugo] Don't show underscore in group-animation message., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 7647c9c 062/357: [gnugo int] Avoid redundant calls to ‘gnugo-get’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo fef1847 040/357: [gnugo] Use special constructs for keybindings in docstrings., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 5c8f31d 043/357: [gnugo maint] Update HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 2d4c9ad 046/357: [gnugo] New command: ‘_’ and ‘M-_’ (gnugo-boss-is-near), Stefan Monnier, 2020/11/29