Skip to content

Commit 1a3640d

Browse files
committed
Replace cl-case with cond
Users are reporting issues with cl-case, depending on the Emacs version and build.
1 parent b00eb42 commit 1a3640d

File tree

2 files changed

+25
-27
lines changed

2 files changed

+25
-27
lines changed

Cask

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,5 @@
55

66
(development
77
(depends-on "a")
8-
(depends-on "parseclj"
9-
:git "https://github.com/clojure-emacs/parseclj"
10-
:ref "13059d8529f8352497f5ceaf671476d7b8968dac")
8+
(depends-on "parseclj")
119
(depends-on "ert-runner"))

parseedn.el

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,22 @@ on available options."
8989
(if (eq token-type :discard)
9090
stack
9191
(cons
92-
(cl-case token-type
93-
(:root children)
94-
(:lparen children)
95-
(:lbracket (apply #'vector children))
96-
(:set (list 'edn-set children))
97-
(:lbrace (let* ((kvs (seq-partition children 2))
98-
(hash-map (make-hash-table :test 'equal :size (length kvs))))
99-
(seq-do (lambda (pair)
100-
(puthash (car pair) (cadr pair) hash-map))
101-
kvs)
102-
hash-map))
103-
(:tag (let* ((tag (intern (substring (alist-get :form opening-token) 1)))
104-
(reader (alist-get tag tag-readers :missing)))
105-
(when (eq :missing reader)
106-
(user-error "No reader for tag #%S in %S" tag (map-keys tag-readers)))
107-
(funcall reader (car children)))))
92+
(cond
93+
((eq :root token-type) children)
94+
((eq :lparen token-type) children)
95+
((eq :lbracket token-type) (apply #'vector children))
96+
((eq :set token-type) (list 'edn-set children))
97+
((eq :lbrace token-type) (let* ((kvs (seq-partition children 2))
98+
(hash-map (make-hash-table :test 'equal :size (length kvs))))
99+
(seq-do (lambda (pair)
100+
(puthash (car pair) (cadr pair) hash-map))
101+
kvs)
102+
hash-map))
103+
((eq :tag token-type) (let* ((tag (intern (substring (alist-get :form opening-token) 1)))
104+
(reader (alist-get tag tag-readers :missing)))
105+
(when (eq :missing reader)
106+
(user-error "No reader for tag #%S in %S" tag (map-keys tag-readers)))
107+
(funcall reader (car children)))))
108108
stack))))
109109

110110
(defun parseedn-read (&optional tag-readers)
@@ -198,14 +198,14 @@ DATUM can be any Emacs Lisp value."
198198
((stringp datum)
199199
(insert "\"")
200200
(seq-doseq (char datum)
201-
(insert (cl-case char
202-
(?\t "\\t")
203-
(?\f "\\f")
204-
(?\" "\\\"")
205-
(?\r "\\r")
206-
(?\n"foo\t" "\\n")
207-
(?\\ "\\\\")
208-
(t (char-to-string char)))))
201+
(insert (cond
202+
((eq ?\t char) "\\t")
203+
((eq ?\f char) "\\f")
204+
((eq ?\" char) "\\\"")
205+
((eq ?\r char) "\\r")
206+
((eq ?\n char) "\\n")
207+
((eq ?\\ char) "\\\\")
208+
(t (char-to-string char)))))
209209
(insert "\""))
210210

211211
((eq t datum)

0 commit comments

Comments
 (0)