[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/gnugo 8e3f44e 070/357: [gnugo] Make ‘C-u M-u’ switch r
From: |
Stefan Monnier |
Subject: |
[elpa] externals/gnugo 8e3f44e 070/357: [gnugo] Make ‘C-u M-u’ switch roles. |
Date: |
Sun, 29 Nov 2020 14:50:51 -0500 (EST) |
branch: externals/gnugo
commit 8e3f44e7a9a24e54c0d20e7b91e457299780b899
Author: Thien-Thi Nguyen <ttn@gnu.org>
Commit: Thien-Thi Nguyen <ttn@gnu.org>
[gnugo] Make ‘C-u M-u’ switch roles.
* packages/gnugo/gnugo.el (gnugo-undo-one-move):
Add optional arg SWITCH; if specified, arrange for user
to play the color of the next move (and GNU Go the opposite).
---
NEWS | 1 +
gnugo.el | 19 ++++++++++++++++---
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/NEWS b/NEWS
index d321bca..5f33ce3 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ Hint: (highlight-phrase
"[0-9][.][0-9][.][0-9]+\\|[0-9]+[.][.][0-9]+"
- next | NOT YET RELEASED
- new keybinding for ‘gnugo-undo-one-move’: M-u
+ - ‘gnugo-undo-one-move’ can optionally switch colors
- performance improvements
- 2.3.1 | 2014-02-27
diff --git a/gnugo.el b/gnugo.el
index 00de3f1..3cfdabf 100644
--- a/gnugo.el
+++ b/gnugo.el
@@ -1415,13 +1415,26 @@ turn to play. Optional second arg NOALT non-nil
inhibits this."
(when (and ulastp (not noalt))
(gnugo-get-move (gnugo-get :gnugo-color))))))
-(defun gnugo-undo-one-move ()
+(defun gnugo-undo-one-move (&optional switch)
"Undo exactly one move (perhaps GNU Go's, perhaps yours).
Do not schedule a move by GNU Go even if it is GNU Go's turn to play.
+Prefix arg SWITCH means to arrange for you to play
+the color of the next move (and GNU Go the opposite).
+This is useful after loading an SGF file whose last
+move was done by the color you prefer to play:
+ \\[gnugo-read-sgf-file] FILENAME RET
+ C-u \\[gnugo-undo-one-move]
+
See also `gnugo-undo-two-moves'."
- (interactive)
+ (interactive "P")
(gnugo-gate)
- (gnugo-magic-undo 1 t))
+ (gnugo-magic-undo 1 t)
+ (when switch
+ (let* ((wait (gnugo-get :last-mover))
+ (play (gnugo-other wait)))
+ (gnugo--who-is-who wait play (string= play (gnugo-get :user-color)))
+ (gnugo-put :user-color play)
+ (gnugo-put :gnugo-color wait))))
(defun gnugo-undo-two-moves ()
"Undo a pair of moves (GNU Go's and yours).
- [elpa] externals/gnugo c02cc72 030/357: [gnugo maint] Update NEWS file; nfc., (continued)
- [elpa] externals/gnugo c02cc72 030/357: [gnugo maint] Update NEWS file; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 1dcff48 019/357: [gnugo maint] Revamp "ChangeLog discipline" in HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo f0aa02d 033/357: [gnugo int] Zonk unused local var., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 74ff909 038/357: [gnugo] Fix bug: Relax sync regexp., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo f09af15 058/357: [gnugo maint] Reindent; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 052ea8a 045/357: [gnugo] New command: ‘A’ (gnugo-switch-to-another), Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 6e26e76 061/357: [gnugo int] Add abstraction: gnugo--begin-exchange, Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo b6bb24d 057/357: [gnugo int] Use ‘eq’ less., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo ae25c81 050/357: [gnugo maint] Update NEWS, HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo f282ec7 063/357: [gnugo int] Associate process w/ buffer immediately., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 8e3f44e 070/357: [gnugo] Make ‘C-u M-u’ switch roles.,
Stefan Monnier <=
- [elpa] externals/gnugo d02a500 095/357: [gnugo maint] NEWS futzing; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 273da4b 098/357: [gnugo sgf] Normalize PASS internal rep on read, as ""., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 61be18a 022/357: [gnugo maint] Add .dir-locals.el file, link in HACKING; nfc., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 0c7bc82 025/357: [gnugo int] Use cl-{plus, minus}p more., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 6d835b3 023/357: [gnugo int] Drop unused local var., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 2a75447 034/357: [gnugo int] Use ‘set-process-query-on-exit-flag’., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo bd4d40f 028/357: [gnugo int] Drop leading "*" in docstrings., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 7ef5c66 036/357: [gnugo int] Revamp gnugo-{put, get} doc / indentation decl., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo d41a581 029/357: [gnugo] Indicate buffer not modified after load., Stefan Monnier, 2020/11/29
- [elpa] externals/gnugo 80a22a5 032/357: [gnugo] Use ‘user-error’., Stefan Monnier, 2020/11/29