[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/gnugo f9668f0 090/357: [gnugo int] Add abstraction: gnu
From: |
Stefan Monnier |
Subject: |
[elpa] externals/gnugo f9668f0 090/357: [gnugo int] Add abstraction: gnugo--blackp |
Date: |
Sun, 29 Nov 2020 14:50:56 -0500 (EST) |
branch: externals/gnugo
commit f9668f04eeff62d06330ec9ca52f42bd48814859
Author: Thien-Thi Nguyen <ttn@gnu.org>
Commit: Thien-Thi Nguyen <ttn@gnu.org>
[gnugo int] Add abstraction: gnugo--blackp
* packages/gnugo/gnugo.el (gnugo--blackp): New defsubst.
(gnugo-other, gnugo-push-move, gnugo-refresh)
(gnugo-magic-undo, gnugo-display-final-score, gnugo): Use it.
---
gnugo.el | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/gnugo.el b/gnugo.el
index bc5b2e9..2d68780 100644
--- a/gnugo.el
+++ b/gnugo.el
@@ -296,8 +296,11 @@ Handle the big, slow-to-render, and/or uninteresting ones
specially."
(with-current-buffer (or buffer (current-buffer))
(and gnugo-state (not (gnugo-get :waitingp)))))
+(defsubst gnugo--blackp (string)
+ (string= "black" string))
+
(defun gnugo-other (color)
- (if (string= "black" color) "white" "black"))
+ (if (gnugo--blackp color) "white" "black"))
(defun gnugo-gate (&optional in-progress-p)
(unless (gnugo-board-buffer-p)
@@ -773,7 +776,7 @@ For all other values of RSEL, do nothing and return nil."
(gnugo-put :last-mover color)
(when userp
(gnugo-put :last-user-bpos (and (not passp) (not resignp) move)))
- (gnugo-note (if (string= "black" color) :B :W) move (not resignp))
+ (gnugo-note (if (gnugo--blackp color) :B :W) move (not resignp))
(when resignp
(gnugo-note :EV "resignation"))
(when start
@@ -887,7 +890,7 @@ its move."
(dolist (group dead)
(unless (cdar group)
(let (ov pall c (color (caar group)))
- (setq c (if (string= "black" color) "x" "o"))
+ (setq c (if (gnugo--blackp color) "x" "o"))
(dolist (pos (cdr group))
(gnugo-goto-pos pos)
(setq p (point) ov (make-overlay p (1+ p)))
@@ -1394,7 +1397,7 @@ turn to play. Optional second arg NOALT non-nil inhibits
this."
(when (= (save-excursion
(gnugo-goto-pos pos)
(following-char))
- (if (string= "black" user-color)
+ (if (gnugo--blackp user-color)
?O
?X))
(user-error "%s not occupied by %s" pos user-color))))
@@ -1512,12 +1515,12 @@ Also, add the `:RE' SGF property to the root node of
the game tree."
result (gnugo-query "final_score %d" seed))
(cond ((string= "Chinese" (gnugo--root-prop :RU))
(dolist (group live)
- (incf (if (string= "black" (caar group))
+ (incf (if (gnugo--blackp (caar group))
b-terr
w-terr)
(length (cdr group))))
(dolist (group dead)
- (incf (if (string= "black" (caar group))
+ (incf (if (gnugo--blackp (caar group))
w-terr
b-terr)
(length (cdr group))))
@@ -1527,7 +1530,7 @@ Also, add the `:RE' SGF property to the root node of the
game tree."
blurb))
(t
(dolist (group dead)
- (incf (if (string= "black" (caar group))
+ (incf (if (gnugo--blackp (caar group))
w-terr
b-terr)
(* 2 (length (cdr group)))))
@@ -1850,8 +1853,8 @@ starting a new one. See `gnugo-board-mode' documentation
for more info."
(n (or (gnugo--root-prop :HA) 0))
(u (gnugo-get :user-color)))
(gnugo-put :last-mover g)
- (when (or (and (string= "black" u) (< 1 n))
- (and (string= "black" g) (< n 2)))
+ (when (or (and (gnugo--blackp u) (< 1 n))
+ (and (gnugo--blackp g) (< n 2)))
(gnugo-put :last-mover u)
(gnugo-refresh t)
(gnugo-get-move g))))))
- [elpa] externals/gnugo c2f7717 053/357: [gnugo slog] Fix bug: Avoid ‘cl-lib’ funcs; use only macros., (continued)
- [elpa] externals/gnugo c2f7717 053/357: [gnugo slog] Fix bug: Avoid ‘cl-lib’ funcs; use only macros., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 02926a1 049/357: [gnugo] Rename var to ‘gnugo-inhibit-refresh’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 5e4b5a8 051/357: [gnugo] Release: 2.3.0, Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 400e27d 069/357: [gnugo int] Add abstraction: gnugo--who-is-who, Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 3547cbe 080/357: [gnugo int] Add abstraction: gnugo--set-root-prop, Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 11e545d 082/357: [gnugo int] Use ‘loop’ instead of ‘dolist’ + ‘destructuring-bind’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 5eeb99b 087/357: [gnugo int] Use ‘incf’ more., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 7293802 088/357: [gnugo int] Use ‘setq’ less., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 35b1551 091/357: [gnugo int] Use ‘loop’ instead of ‘mapc’ + ‘apply’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo b5990a0 085/357: [gnugo int] Use ‘gnugo-treeroot’ more., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo f9668f0 090/357: [gnugo int] Add abstraction: gnugo--blackp,
Stefan Monnier <=
- [elpa] externals/gnugo c164c40 092/357: [gnugo int] Add abstraction: gnugo--passp, Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo bf04735 094/357: [gnugo] Fix bug: Don't misuse SGF prop ‘:EV’ for "resign" state., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo e036fed 096/357: [gnugo] Fix bug: On load, follow mainline through subtrees., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo eaaa7c8 102/357: [gnugo int] Invert gametree IR to hang by the leaves., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo ed11a74 101/357: [gnugo int] Embrace (NODE[...] [SUBTREE...]) IR, for now., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo b7843bf 103/357: [gnugo maint] Move hi-lock hint from NEWS to HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo ae888ba 105/357: [gnugo] Add command ‘gnugo-oops’ and keybinding., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 2c5e356 107/357: [gnugo maint] Add some debugging aids to HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo a708759 110/357: [gnugo int] Use ‘cl-labels’ less., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo a35f657 115/357: [gnugo] Support SGF[4] parsing from string data., Stefan Monnier, 2020/11/29