From 2b7eb97650c910494c0b8bd8716f5f849e199302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wilfredo=20Vel=C3=A1zquez-Rodr=C3=ADguez?= Date: Thu, 19 Oct 2023 10:43:15 -0400 Subject: [PATCH] Fix error when reading/writing pathnames on LispWorks --- CHANGELOG.md | 1 + src/jzon.lisp | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 54dc63a..88be561 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ Changes relative to [v1.1.2](#v112) * LispWorks 8 Structure Serialization +* Fix error when reading/writing from/to pathnames on LispWorks (https://github.com/Zulu-Inuoe/jzon/issues/56) ## v1.1.2 diff --git a/src/jzon.lisp b/src/jzon.lisp index 986d7df..5d91ff2 100644 --- a/src/jzon.lisp +++ b/src/jzon.lisp @@ -700,7 +700,7 @@ see `close-parser'" (multiple-value-bind (input close-action) (typecase in (pathname - (let ((f (open in :direction :input :external-format :utf-8))) + (let ((f (open in :direction :input :external-format :utf-8 :element-type 'character))) (values f (lambda () (close f))))) (t (values in (lambda ())))) (let ((parser (make-instance 'parser)) @@ -1125,7 +1125,7 @@ see `close-parser'" (typecase in (pathname - (with-open-file (in in :direction :input :external-format :utf-8) + (with-open-file (in in :direction :input :external-format :utf-8 :element-type 'character) (parse in :max-depth max-depth :allow-comments allow-comments :allow-trailing-comma allow-trailing-comma :allow-multiple-content allow-multiple-content :max-string-length max-string-length :key-fn key-fn))) (t (multiple-value-bind (%step %read-string %pos) (%make-fns in max-string-length) @@ -1305,7 +1305,8 @@ Example return value: (let ((stream (open stream :direction :output :if-does-not-exist :create :if-exists :supersede - :external-format :utf-8))) + :external-format :utf-8 + :element-type 'character))) (values stream (lambda () (close stream))))) ((streamp stream) (unless (output-stream-p stream)