[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[STUMP] [PATCH] UTF-8 support for CCL.
From: |
Ben Spencer |
Subject: |
[STUMP] [PATCH] UTF-8 support for CCL. |
Date: |
Sat, 2 Jan 2010 21:59:36 +0000 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
---
wrappers.lisp | 26 ++++++++++++--------------
1 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/wrappers.lisp b/wrappers.lisp
index 658b1c5..89f9626 100644
--- a/wrappers.lisp
+++ b/wrappers.lisp
@@ -212,26 +212,24 @@
(defun utf8-to-string (octets)
"Convert the list of octets to a string."
- #+sbcl (handler-bind
- ((sb-impl::octet-decoding-error #'(lambda (c)
- (declare (ignore c))
- (invoke-restart 'use-value
"?"))))
- (sb-ext:octets-to-string
- (coerce octets '(vector (unsigned-byte 8)))
- :external-format :utf-8))
- #+clisp (ext:convert-string-from-bytes (coerce octets '(vector
(unsigned-byte 8)))
- charset:utf-8)
- #-(or sbcl clisp)
- (map 'string #'code-char octets))
+ (let ((octets (coerce octets '(vector (unsigned-byte 8)))))
+ #+ccl (ccl:decode-string-from-octets octets :external-format :utf-8)
+ #+clisp (ext:convert-string-from-bytes octets charset:utf-8)
+ #+sbcl (handler-bind
+ ((sb-impl::octet-decoding-error #'(lambda (c)
+ (declare (ignore c))
+ (invoke-restart 'use-value
"?"))))
+ (sb-ext:octets-to-string octets :external-format :utf-8))
+ #-(or ccl clisp sbcl) (map 'string #'code-char octets)))
(defun string-to-utf8 (string)
"Convert the string to a vector of octets."
+ #+ccl (ccl:encode-string-to-octets string :external-format :utf-8)
+ #+clisp (ext:convert-string-to-bytes string charset:utf-8)
#+sbcl (sb-ext:string-to-octets
string
:external-format :utf-8)
- #+clisp (ext:convert-string-to-bytes string charset:utf-8)
- #-(or sbcl clisp)
- (map 'list #'char-code string))
+ #-(or ccl clisp sbcl) (map 'list #'char-code string))
(defun make-xlib-window (xobject)
"For some reason the clx xid cache screws up returns pixmaps when
--
1.6.5.4
- [STUMP] [PATCH] UTF-8 support for CCL.,
Ben Spencer <=