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

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

[elpa] externals/gnugo 3e3fbea 155/357: [gnugo sgf] Fix bug: Preserve w


From: Stefan Monnier
Subject: [elpa] externals/gnugo 3e3fbea 155/357: [gnugo sgf] Fix bug: Preserve whitespace for ‘text’ values.
Date: Sun, 29 Nov 2020 14:51:11 -0500 (EST)

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

    [gnugo sgf] Fix bug: Preserve whitespace for ‘text’ values.
    
    * packages/gnugo/gnugo.el (gnugo/sgf-create x):
    Take arg PRESERVE-WHITESPACE; when set, don't squeeze whitespace.
    (gnugo/sgf-create one): Specify PRESERVE-WHITESPACE
    to ‘x’ when ‘type’ is ‘text’.
---
 NEWS     | 1 +
 gnugo.el | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index e813c77..8bd3b75 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@ NB: "RCS: X..Y " means that the particular release includes
 
 - next | NOT YET RELEASED
   - bugfixes
+    - preserve whitespace for value type ‘text’
     - don't special-case property value type ‘none’
     - handle subtrees on write
     - display "resign" as "resign" in move history (amazing!)
diff --git a/gnugo.el b/gnugo.el
index 7c28831..66af605 100644
--- a/gnugo.el
+++ b/gnugo.el
@@ -2595,7 +2595,7 @@ A collection is a list of gametrees, each a vector of 
four elements:
         SZ)
     (cl-labels
         ((sw () (skip-chars-forward " \t\n"))
-         (x (end)
+         (x (end preserve-whitespace)
             (let ((beg (point))
                   (endp (case end
                           (:end (lambda (char) (= ?\] char)))
@@ -2609,14 +2609,15 @@ A collection is a list of gametrees, each a vector of 
four elements:
                        (if (eolp)
                            (kill-line 1)
                          (forward-char 1)))
-                      ((looking-at "\\s-+")
+                      ((unless preserve-whitespace
+                         (looking-at "\\s-+"))
                        (delete-region (point) (match-end 0))
                        (insert " "))
                       (t (forward-char 1))))
               (buffer-substring-no-properties beg (point))))
          (one (type end) (let ((s (progn
                                     (forward-char 1)
-                                    (x end))))
+                                    (x end (eq 'text type)))))
                            (case type
                              ((stone point move)
                               ;; blech, begone bu"tt"-ugly blatherings



reply via email to

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