Re: The base-char issue again...
"Edward Kiser (as edkiser at gmail dot com)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <CACzs4FgZnry-j31A_c-N-HYdiiMwK9TZA4+aFybcNY6v_bQeNA@mail.gmail.com> |
If writing Unicode characters is what you want, you might need to add an
:external-format argument to with-open-file:
(defun test-single-quote3 ()
(with-open-file (fs "/Users/sgithens/testlisp-lw.txt" :direction
':output
:external-format '(:utf-8 :eol-style :lf) :if-exists
:supersede)
(write-line "Some test text2: ’" fs))
On Wed, Sep 10, 2025 at 8:42 PM David McClain (as dbm at
refined-audiometrics dot com) <[email protected]> wrote:
> Not sure if you are asking how to rid yourself of unicode, or to allow it.
>
> I allow UTF-8 encodings everywhere in my LW systems, which allows me to
> use Greek characters in my function names.
>
> For that, I have this at the very start of my .Lispworks file:
>
> #+:LISPWORKS
> (progn
> (pushnew :LATIN-1 system:*specific-valid-file-encodings*)
> (pushnew :utf-8 system:*specific-valid-file-encodings*)
>
> (lw:set-default-character-element-type 'cl:character))
>
>
>
> On Sep 10, 2025, at 17:13, Steven Githens (as steve at githens dot org) <
> [email protected]> wrote:
>
> Hi all,
>
> I'm having a regression of a recurring issue with unicode characters,
> which I've fixed in other parts of my code base, but now I'm having the
> darnest time trying to write some unicode to a text file, and after
> reviewing the mailing list and my other file access, I can't figure out
> what the issue is. It must be something obvious I'm missing... can anyone
> see what I'm doing wrong below. I've got the default char element type set
> in .lispworks. This is on macOS 8.1.0 ( I haven't upgraded to 8.1.1 yet,
> but I didn't see anything liek this in the release notes). Just trying to
> include unicode chat 0x2019.
>
> Cheers,
> Steve
>
>
> CL-USER 1 > *default-character-element-type*
> CHARACTER
>
> CL-USER 2 > (defun test-single-quote ()
> (with-open-file (fs "/Users/sgithens/testlisp-lw.txt" :direction ':output
> :element-type 'character :if-exists :supersede)
> (write-line "Some test text2: ’" fs)))
> TEST-SINGLE-QUOTE
>
> CL-USER 3 > (test-single-quote)
>
> Error: #\’ (of type CHARACTER) is not of type BASE-CHAR.
> 1 (abort) Return to top loop level 0.
>
> Type :b for backtrace, or :c <option number> to proceed, or :a to abort.
> Type :bug-form "<subject>" for a bug report template or :? for other
> options.
>
> CL-USER 4 : 1 > :top
>
> CL-USER 5 > (defun test-single-quote2 ()
> (with-open-file (fs "/Users/sgithens/testlisp-lw.txt" :direction ':output
> :element-type '(unsigned-byte 8.) :if-exists
> :supersede)
> (write-line "Some test text2: ’" fs)))
> TEST-SINGLE-QUOTE2
>
> CL-USER 6 > (test-single-quote2)
>
> Error: #\’ (of type CHARACTER) is not of type BASE-CHAR.
> 1 (abort) Return to top loop level 0.
>
> Type :b for backtrace, or :c <option number> to proceed, or :a to abort.
> Type :bug-form "<subject>" for a bug report template or :? for other
> options.
>
> _______________________________________________
> Lisp Hug - the mailing list for LispWorks users
> [email protected]
> http://www.lispworks.com/support/lisp-hug.html
>
>
>