emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/gnugo bf04735 094/357: [gnugo] Fix bug: Don't misuse S


From: Stefan Monnier
Subject: [elpa] externals/gnugo bf04735 094/357: [gnugo] Fix bug: Don't misuse SGF prop ‘:EV’ for "resign" state.
Date: Sun, 29 Nov 2020 14:50:57 -0500 (EST)

branch: externals/gnugo
commit bf04735ebed0cad4c7c8f8dff2a6f808aa53bf96
Author: Thien-Thi Nguyen <ttn@gnu.org>
Commit: Thien-Thi Nguyen <ttn@gnu.org>

    [gnugo] Fix bug: Don't misuse SGF prop ‘:EV’ for "resign" state.
    
    * packages/gnugo/gnugo.el (gnugo-push-move): ...here.
    (gnugo-display-final-score): Detect resignation
    via ‘gnugo-move-history’; use ‘:last-mover’ directly.
---
 NEWS     | 1 +
 gnugo.el | 8 ++------
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/NEWS b/NEWS
index f891f09..0726540 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,7 @@ Hint: (highlight-phrase 
"[0-9][.][0-9][.][0-9]+\\|[0-9]+[.][.][0-9]+"
     - don't special-case property value type ‘none’
     - handle subtrees on write
     - display "resign" as "resign" in move history (amazing!)
+    - avoid clobbering SGF property ‘EV’ on resignation
   - new keybinding for ‘gnugo-undo-one-move’: M-u
   - ‘gnugo-undo-one-move’ can optionally switch colors
   - ‘gnugo-move-history’ returns last two moves w/ RSEL ‘two’
diff --git a/gnugo.el b/gnugo.el
index c60df4b..f52bf37 100644
--- a/gnugo.el
+++ b/gnugo.el
@@ -783,8 +783,6 @@ For all other values of RSEL, do nothing and return nil."
     (when userp
       (gnugo-put :last-user-bpos (and (not passp) (not resignp) move)))
     (gnugo-note (if (gnugo--blackp color) :B :W) move (not resignp))
-    (when resignp
-      (gnugo-note :EV "resignation"))
     (when start
       (gnugo-put :last-waiting (cadr (time-subtract now start))))
     (when donep
@@ -1490,10 +1488,8 @@ Also, add the `:RE' SGF property to the root node of the 
game tree."
       (sit-for 3)))
   (let ((b=  "   Black = ")
         (w=  "   White = ")
-        (res (let* ((node (car (aref (gnugo-get :monkey) 0)))
-                    (event (and node (cdr (assq :EV node)))))
-               (and event (string= "resignation" event)
-                    (if (assq :B node) "black" "white"))))
+        (res (when (string= "resign" (gnugo-move-history 'car))
+               (gnugo-get :last-mover)))
         blurb result)
     (if res
         (setq blurb (list



reply via email to

[Prev in Thread] Current Thread [Next in Thread]