Я начинающий пользователь Emacs и Clojure, тестирую свою рабочую среду с помощью простой обработки текста. У меня проблемы с получением Replay Slime для правильной печати текста UTF-8, сохраненного в векторе.
Я начинаю с чтения содержимого файла (словаря Tocharian B) в вектор:
user> (def toch
(with-open [rdr (java.io.BufferedReader.
(java.io.FileReader. "/directory/toch.txt"))]
(vec (line-seq rdr))))
=> #'user/toch
Затем я пытаюсь получить строку из вектора и получаю мусор:
user> (toch 44)
=> " Examples : /// kektseñe akappi ste ‘the body is an impurity’ (121b5), akappī = BHS aśuciṃ (529a3). "
Я могу ввести строку в REPL слизи и вернуть ее так, как должно быть:
user> " Examples : /// kektseñe akappi ste ‘the body is an impurity’ (121b5), akappī = BHS aśuciṃ (529a3). "
=> " Examples : /// kektseñe akappi ste ‘the body is an impurity’ (121b5), akappī = BHS aśuciṃ (529a3). "
И я могу печатать на диск без проблем:
user> (binding [*out* (java.io.FileWriter. "test.txt")]
(prn (toch 44)))
=> nil
[Contents of test.txt: " Examples : /// kektseñe akappi ste ‘the body is an impurity’ (121b5), akappī = BHS aśuciṃ (529a3). "]
И получение строк из вектора из других REPL (например, clj, lein repl) также работает нормально. Только когда я пытаюсь посмотреть содержимое вектора в REPL слизи, возникает какая-то проблема.
Что здесь происходит? Есть ли какое-то недопонимание между Emacs и Swank? Как я могу это исправить?