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

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

[elpa] externals/gnugo 11e545d 082/357: [gnugo int] Use ‘loop’ instead


From: Stefan Monnier
Subject: [elpa] externals/gnugo 11e545d 082/357: [gnugo int] Use ‘loop’ instead of ‘dolist’ + ‘destructuring-bind’.
Date: Sun, 29 Nov 2020 14:50:54 -0500 (EST)

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

    [gnugo int] Use ‘loop’ instead of ‘dolist’ + ‘destructuring-bind’.
    
    See: 
<http://lists.gnu.org/archive/html/help-gnu-emacs/2014-03/msg00312.html>.
    
    * packages/gnugo/gnugo.el (gnugo-board-mode): ...here.
---
 gnugo.el | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/gnugo.el b/gnugo.el
index a332864..b89138c 100644
--- a/gnugo.el
+++ b/gnugo.el
@@ -1734,20 +1734,20 @@ In this mode, keys do not self insert.
                            'gnugo-option-history))
         proc
         board-size user-color handicap komi minus-l infile)
-    (dolist (x '((board-size      19 "--boardsize")
-                 (user-color "black" "--color" "\\(black\\|white\\)")
-                 (handicap         0 "--handicap")
-                 (komi           0.0 "--komi")
-                 (minus-l        nil "\\([^-]\\|^\\)-l[ ]*" "[^ ]+")
-                 (infile         nil "--infile" "[ ]*[^ ]+")))
-      (destructuring-bind (var default opt &optional rx) x
-        (set var
-             (or (when (string-match opt args)
-                   (let ((start (match-end 0)) s)
-                     (string-match (or rx "[0-9.]+") args start)
-                     (setq s (match-string 0 args))
-                     (if rx s (string-to-number s))))
-                 default))))
+    (loop for (var default opt &optional rx)
+          in '((board-size      19 "--boardsize")
+               (user-color "black" "--color" "\\(black\\|white\\)")
+               (handicap         0 "--handicap")
+               (komi           0.0 "--komi")
+               (minus-l        nil "\\([^-]\\|^\\)-l[ ]*" "[^ ]+")
+               (infile         nil "--infile" "[ ]*[^ ]+"))
+          do (set var
+                  (or (when (string-match opt args)
+                        (let ((start (match-end 0)) s)
+                          (string-match (or rx "[0-9.]+") args start)
+                          (setq s (match-string 0 args))
+                          (if rx s (string-to-number s))))
+                      default)))
     (gnugo-put :user-color user-color)
     (let ((proc-args (split-string args)))
       (gnugo-put :proc-args proc-args)
@@ -1759,11 +1759,11 @@ In this mode, keys do not self insert.
     ;; Emacs is too protective sometimes, blech.
     (set-process-query-on-exit-flag proc nil)
     (when (or minus-l infile)
-      (dolist (x '((board-size "query_boardsize")
-                   (komi       "get_komi")
-                   (handicap   "get_handicap")))
-        (destructuring-bind (prop q) x
-          (set prop (string-to-number (gnugo-query q))))))
+      (loop for (prop q)
+            in '((board-size "query_boardsize")
+                 (komi       "get_komi")
+                 (handicap   "get_handicap"))
+            do (set prop (string-to-number (gnugo-query q)))))
     (gnugo-put :diamond (substring (process-name proc) 5))
     (gnugo-put :gnugo-color (gnugo-other user-color))
     (gnugo-put :highlight-last-move-spec



reply via email to

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