mirror of
https://github.com/dimitri/pgloader.git
synced 2025-08-08 23:37:00 +02:00
Fix parsing ccl:describe-character-encodings.
First, despite the documentation mentionning the function writes to *terminal-io*, in fact it's doing (format t ...) and thus the result is written to *standard-output*. Second, CCL has encodings with no aliases.
This commit is contained in:
parent
0c371797dc
commit
f5f584fdf1
@ -208,10 +208,12 @@ in 2 bytes.
|
||||
|
||||
(defun parse-ccl-encodings-desc-first-line (line)
|
||||
"Given a line with :ENCODING [Aliases: :X :Y] return a proper cons."
|
||||
(cl-ppcre:register-groups-bind (name aliases)
|
||||
(or (cl-ppcre:register-groups-bind (name aliases)
|
||||
(":([A-Z0-9-]+).*Aliases: (.*)[]]" line)
|
||||
(cons name (mapcar (lambda (alias) (subseq alias 1))
|
||||
(split-sequence:split-sequence #\Space aliases)))))
|
||||
(split-sequence:split-sequence #\Space aliases))))
|
||||
;; some of them have no alias
|
||||
(cons (subseq line 1) nil)))
|
||||
|
||||
(defun parse-ccl-encodings-desc (&optional
|
||||
(desc *ccl-describe-character-encodings*))
|
||||
@ -228,7 +230,7 @@ in 2 bytes.
|
||||
of them."
|
||||
(let ((encoding-and-aliases
|
||||
#+ccl
|
||||
(parse-ccl-encoding-desc (with-output-to-string (*terminal-io*)
|
||||
(parse-ccl-encodings-desc (with-output-to-string (*standard-output*)
|
||||
(ccl:describe-character-encodings)))
|
||||
#+sbcl
|
||||
(let ((result '()))
|
||||
|
Loading…
Reference in New Issue
Block a user