[Top][All Lists]

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

[elpa] master 48cbab3: [gnugo int] Avoid latent order-of-evaluation erro

From: Thien-Thi Nguyen
Subject: [elpa] master 48cbab3: [gnugo int] Avoid latent order-of-evaluation error.
Date: Tue, 31 Jan 2017 21:36:00 +0000 (UTC)

branch: master
commit 48cbab3d213d085abaaadef81c92b722a86652ad
Author: Thien-Thi Nguyen <address@hidden>
Commit: Thien-Thi Nguyen <address@hidden>

    [gnugo int] Avoid latent order-of-evaluation error.
    * packages/gnugo/gnugo.el (gnugo--decorate): Replace sibling ‘pop’
    calls as args to ‘cons’ w/ explicit sequencing and local vars.
 packages/gnugo/gnugo.el |   13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/packages/gnugo/gnugo.el b/packages/gnugo/gnugo.el
index c644850..b466e24 100644
--- a/packages/gnugo/gnugo.el
+++ b/packages/gnugo/gnugo.el
@@ -897,9 +897,16 @@ For all other values of RSEL, do nothing and return nil."
    with fruit
    while plist
    do (setf
-       fruit (list (cons                ; DWR: LtR OoE assumed.
-                    (pop plist)
-                    (pop plist)))
+       fruit (list
+              ;; Albeit elegant, this assumes LtR OoE, unfortunately.
+              ;;- (cons
+              ;;   (pop plist)
+              ;;   (pop plist))
+              ;; Instead, we use ‘let*’ for explicit sequencing.
+              ;; Let the Scheme-based Emacs hacking proceed apace!
+              (let* ((k (pop plist))
+                     (v (pop plist)))
+                (cons k v)))
        (cdr tp) fruit
        tp       fruit)))

reply via email to

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