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

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

[nongnu] elpa/parseedn 1a3640d298 29/32: Replace `cl-case` with `cond`


From: ELPA Syncer
Subject: [nongnu] elpa/parseedn 1a3640d298 29/32: Replace `cl-case` with `cond`
Date: Tue, 28 Dec 2021 14:04:43 -0500 (EST)

branch: elpa/parseedn
commit 1a3640d29820e51c874c7e4c11f1abc42b938629
Author: Arne Brasseur <arne@arnebrasseur.net>
Commit: Arne Brasseur <arne@arnebrasseur.net>

    Replace `cl-case` with `cond`
    
    Users are reporting issues with cl-case, depending on the Emacs version and
    build.
---
 Cask        |  4 +---
 parseedn.el | 48 ++++++++++++++++++++++++------------------------
 2 files changed, 25 insertions(+), 27 deletions(-)

diff --git a/Cask b/Cask
index 33c29274a8..58d69c9b1a 100644
--- a/Cask
+++ b/Cask
@@ -5,7 +5,5 @@
 
 (development
  (depends-on "a")
- (depends-on "parseclj"
-             :git "https://github.com/clojure-emacs/parseclj";
-             :ref "13059d8529f8352497f5ceaf671476d7b8968dac")
+ (depends-on "parseclj")
  (depends-on "ert-runner"))
diff --git a/parseedn.el b/parseedn.el
index 959b53f542..7620cafb37 100644
--- a/parseedn.el
+++ b/parseedn.el
@@ -89,22 +89,22 @@ on available options."
     (if (eq token-type :discard)
         stack
       (cons
-       (cl-case token-type
-         (:root children)
-         (:lparen children)
-         (:lbracket (apply #'vector children))
-         (:set (list 'edn-set children))
-         (:lbrace (let* ((kvs (seq-partition children 2))
-                         (hash-map (make-hash-table :test 'equal :size (length 
kvs))))
-                    (seq-do (lambda (pair)
-                              (puthash (car pair) (cadr pair) hash-map))
-                            kvs)
-                    hash-map))
-         (:tag (let* ((tag (intern (substring (alist-get :form opening-token) 
1)))
-                      (reader (alist-get tag tag-readers :missing)))
-                 (when (eq :missing reader)
-                   (user-error "No reader for tag #%S in %S" tag (map-keys 
tag-readers)))
-                 (funcall reader (car children)))))
+       (cond
+        ((eq :root token-type) children)
+        ((eq :lparen token-type) children)
+        ((eq :lbracket token-type) (apply #'vector children))
+        ((eq :set token-type) (list 'edn-set children))
+        ((eq :lbrace token-type) (let* ((kvs (seq-partition children 2))
+                                        (hash-map (make-hash-table :test 
'equal :size (length kvs))))
+                                   (seq-do (lambda (pair)
+                                             (puthash (car pair) (cadr pair) 
hash-map))
+                                           kvs)
+                                   hash-map))
+        ((eq :tag token-type) (let* ((tag (intern (substring (alist-get :form 
opening-token) 1)))
+                                     (reader (alist-get tag tag-readers 
:missing)))
+                                (when (eq :missing reader)
+                                  (user-error "No reader for tag #%S in %S" 
tag (map-keys tag-readers)))
+                                (funcall reader (car children)))))
        stack))))
 
 (defun parseedn-read (&optional tag-readers)
@@ -198,14 +198,14 @@ DATUM can be any Emacs Lisp value."
    ((stringp datum)
     (insert "\"")
     (seq-doseq (char datum)
-      (insert (cl-case char
-                (?\t "\\t")
-                (?\f "\\f")
-                (?\" "\\\"")
-                (?\r "\\r")
-                (?\n"foo\t" "\\n")
-                (?\\ "\\\\")
-                (t (char-to-string char)))))
+      (insert (cond
+               ((eq ?\t char) "\\t")
+               ((eq ?\f char) "\\f")
+               ((eq ?\" char) "\\\"")
+               ((eq ?\r char) "\\r")
+               ((eq ?\n char) "\\n")
+               ((eq ?\\ char) "\\\\")
+               (t (char-to-string char)))))
     (insert "\""))
 
    ((eq t datum)



reply via email to

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