branch: elpa/parseedn
commit e1de65e463adac2c8b46fc4b24d48ca62b74f23d
Merge: b00eb42a1c 1a3640d298
Author: Arne Brasseur <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #10 from clojure-emacs/cl-case-to-cond
Replace `cl-case` with `cond`
---
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)