-(in-package #:sb!impl)
+(in-package "SB!IMPL")
(define-unibyte-mapper cp437->code-mapper code->cp437-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp437-bytes))
-(defun get-cp437-bytes(string pos end)
+(defun get-cp437-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp437 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp437-mapper :cp437 string pos))
(defun string->cp437 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp437-bytes null-padding)))
(defmacro define-cp437->string* (accessor type)
(let ((name (make-od-name 'cp437->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp437->code-mapper)))))
(instantiate-octets-definition define-cp437->string*)
(defmacro define-cp437->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp437->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp437->code-mapper)))
(instantiate-octets-definition define-cp437->string)
-(push '((:cp437 :|cp437|)
- cp437->string-aref string->cp437)
- *external-format-functions*)
+(add-external-format-funs '(:cp437 :|cp437|)
+ '(cp437->string-aref string->cp437))
(define-external-format (:cp437 :|cp437|)
1 t
(let ((cp437-byte (code->cp437-mapper bits)))
(if cp437-byte
(setf (sap-ref-8 sap tail) cp437-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp437->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp850->code-mapper code->cp850-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp850-bytes))
-(defun get-cp850-bytes(string pos end)
+(defun get-cp850-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp850 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp850-mapper :cp850 string pos))
(defun string->cp850 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp850-bytes null-padding)))
(defmacro define-cp850->string* (accessor type)
(let ((name (make-od-name 'cp850->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp850->code-mapper)))))
(instantiate-octets-definition define-cp850->string*)
(defmacro define-cp850->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp850->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp850->code-mapper)))
(instantiate-octets-definition define-cp850->string)
-(push '((:cp850 :|cp850|)
- cp850->string-aref string->cp850)
- *external-format-functions*)
+(add-external-format-funs '(:cp850 :|cp850|)
+ '(cp850->string-aref string->cp850))
(define-external-format (:cp850 :|cp850|)
1 t
(let ((cp850-byte (code->cp850-mapper bits)))
(if cp850-byte
(setf (sap-ref-8 sap tail) cp850-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp850->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp852->code-mapper code->cp852-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp852-bytes))
-(defun get-cp852-bytes(string pos end)
+(defun get-cp852-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp852 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp852-mapper :cp852 string pos))
(defun string->cp852 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp852-bytes null-padding)))
(defmacro define-cp852->string* (accessor type)
(let ((name (make-od-name 'cp852->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp852->code-mapper)))))
(instantiate-octets-definition define-cp852->string*)
(defmacro define-cp852->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp852->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp852->code-mapper)))
(instantiate-octets-definition define-cp852->string)
-(push '((:cp852 :|cp852|)
- cp852->string-aref string->cp852)
- *external-format-functions*)
+(add-external-format-funs '(:cp852 :|cp852|)
+ '(cp852->string-aref string->cp852))
(define-external-format (:cp852 :|cp852|)
1 t
(let ((cp852-byte (code->cp852-mapper bits)))
(if cp852-byte
(setf (sap-ref-8 sap tail) cp852-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp852->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp855->code-mapper code->cp855-mapper
(#x80 #x0452) ; CYRILLIC SMALL LETTER DJE
)
(declaim (inline get-cp855-bytes))
-(defun get-cp855-bytes(string pos end)
+(defun get-cp855-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp855 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp855-mapper :cp855 string pos))
(defun string->cp855 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp855-bytes null-padding)))
(defmacro define-cp855->string* (accessor type)
(let ((name (make-od-name 'cp855->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp855->code-mapper)))))
(instantiate-octets-definition define-cp855->string*)
(defmacro define-cp855->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp855->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp855->code-mapper)))
(instantiate-octets-definition define-cp855->string)
-(push '((:cp855 :|cp855|)
- cp855->string-aref string->cp855)
- *external-format-functions*)
+(add-external-format-funs '(:cp855 :|cp855|)
+ '(cp855->string-aref string->cp855))
(define-external-format (:cp855 :|cp855|)
1 t
(let ((cp855-byte (code->cp855-mapper bits)))
(if cp855-byte
(setf (sap-ref-8 sap tail) cp855-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp855->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp857->code-mapper code->cp857-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp857-bytes))
-(defun get-cp857-bytes(string pos end)
+(defun get-cp857-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp857 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp857-mapper :cp857 string pos))
(defun string->cp857 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp857-bytes null-padding)))
(defmacro define-cp857->string* (accessor type)
(let ((name (make-od-name 'cp857->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp857->code-mapper)))))
(instantiate-octets-definition define-cp857->string*)
(defmacro define-cp857->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp857->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp857->code-mapper)))
(instantiate-octets-definition define-cp857->string)
-(push '((:cp857 :|cp857|)
- cp857->string-aref string->cp857)
- *external-format-functions*)
+(add-external-format-funs '(:cp857 :|cp857|)
+ '(cp857->string-aref string->cp857))
(define-external-format (:cp857 :|cp857|)
1 t
(let ((cp857-byte (code->cp857-mapper bits)))
(if cp857-byte
(setf (sap-ref-8 sap tail) cp857-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp857->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp860->code-mapper code->cp860-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp860-bytes))
-(defun get-cp860-bytes(string pos end)
+(defun get-cp860-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp860 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp860-mapper :cp860 string pos))
(defun string->cp860 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp860-bytes null-padding)))
(defmacro define-cp860->string* (accessor type)
(let ((name (make-od-name 'cp860->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp860->code-mapper)))))
(instantiate-octets-definition define-cp860->string*)
(defmacro define-cp860->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp860->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp860->code-mapper)))
(instantiate-octets-definition define-cp860->string)
-(push '((:cp860 :|cp860|)
- cp860->string-aref string->cp860)
- *external-format-functions*)
+(add-external-format-funs '(:cp860 :|cp860|)
+ '(cp860->string-aref string->cp860))
(define-external-format (:cp860 :|cp860|)
1 t
(let ((cp860-byte (code->cp860-mapper bits)))
(if cp860-byte
(setf (sap-ref-8 sap tail) cp860-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp860->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp861->code-mapper code->cp861-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp861-bytes))
-(defun get-cp861-bytes(string pos end)
+(defun get-cp861-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp861 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp861-mapper :cp861 string pos))
(defun string->cp861 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp861-bytes null-padding)))
(defmacro define-cp861->string* (accessor type)
(let ((name (make-od-name 'cp861->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp861->code-mapper)))))
(instantiate-octets-definition define-cp861->string*)
(defmacro define-cp861->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp861->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp861->code-mapper)))
(instantiate-octets-definition define-cp861->string)
-(push '((:cp861 :|cp861|)
- cp861->string-aref string->cp861)
- *external-format-functions*)
+(add-external-format-funs '(:cp861 :|cp861|)
+ '(cp861->string-aref string->cp861))
(define-external-format (:cp861 :|cp861|)
1 t
(let ((cp861-byte (code->cp861-mapper bits)))
(if cp861-byte
(setf (sap-ref-8 sap tail) cp861-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp861->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp862->code-mapper code->cp862-mapper
(#x80 #x05D0) ; HEBREW LETTER ALEF
)
(declaim (inline get-cp862-bytes))
-(defun get-cp862-bytes(string pos end)
+(defun get-cp862-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp862 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp862-mapper :cp862 string pos))
(defun string->cp862 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp862-bytes null-padding)))
(defmacro define-cp862->string* (accessor type)
(let ((name (make-od-name 'cp862->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp862->code-mapper)))))
(instantiate-octets-definition define-cp862->string*)
(defmacro define-cp862->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp862->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp862->code-mapper)))
(instantiate-octets-definition define-cp862->string)
-(push '((:cp862 :|cp862|)
- cp862->string-aref string->cp862)
- *external-format-functions*)
+(add-external-format-funs '(:cp862 :|cp862|)
+ '(cp862->string-aref string->cp862))
(define-external-format (:cp862 :|cp862|)
1 t
(let ((cp862-byte (code->cp862-mapper bits)))
(if cp862-byte
(setf (sap-ref-8 sap tail) cp862-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp862->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp863->code-mapper code->cp863-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp863-bytes))
-(defun get-cp863-bytes(string pos end)
+(defun get-cp863-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp863 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp863-mapper :cp863 string pos))
(defun string->cp863 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp863-bytes null-padding)))
(defmacro define-cp863->string* (accessor type)
(let ((name (make-od-name 'cp863->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp863->code-mapper)))))
(instantiate-octets-definition define-cp863->string*)
(defmacro define-cp863->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp863->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp863->code-mapper)))
(instantiate-octets-definition define-cp863->string)
-(push '((:cp863 :|cp863|)
- cp863->string-aref string->cp863)
- *external-format-functions*)
+(add-external-format-funs '(:cp863 :|cp863|)
+ '(cp863->string-aref string->cp863))
(define-external-format (:cp863 :|cp863|)
1 t
(let ((cp863-byte (code->cp863-mapper bits)))
(if cp863-byte
(setf (sap-ref-8 sap tail) cp863-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp863->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp864->code-mapper code->cp864-mapper
(#x80 #x00B0) ; DEGREE SIGN
)
(declaim (inline get-cp864-bytes))
-(defun get-cp864-bytes(string pos end)
+(defun get-cp864-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp864 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp864-mapper :cp864 string pos))
(defun string->cp864 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp864-bytes null-padding)))
(defmacro define-cp864->string* (accessor type)
(let ((name (make-od-name 'cp864->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp864->code-mapper)))))
(instantiate-octets-definition define-cp864->string*)
(defmacro define-cp864->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp864->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp864->code-mapper)))
(instantiate-octets-definition define-cp864->string)
-(push '((:cp864 :|cp864|)
- cp864->string-aref string->cp864)
- *external-format-functions*)
+(add-external-format-funs '(:cp864 :|cp864|)
+ '(cp864->string-aref string->cp864))
(define-external-format (:cp864 :|cp864|)
1 t
(let ((cp864-byte (code->cp864-mapper bits)))
(if cp864-byte
(setf (sap-ref-8 sap tail) cp864-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp864->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp865->code-mapper code->cp865-mapper
(#x80 #x00C7) ; LATIN CAPITAL LETTER C WITH CEDILLA
)
(declaim (inline get-cp865-bytes))
-(defun get-cp865-bytes(string pos end)
+(defun get-cp865-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp865 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp865-mapper :cp865 string pos))
(defun string->cp865 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp865-bytes null-padding)))
(defmacro define-cp865->string* (accessor type)
(let ((name (make-od-name 'cp865->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp865->code-mapper)))))
(instantiate-octets-definition define-cp865->string*)
(defmacro define-cp865->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp865->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp865->code-mapper)))
(instantiate-octets-definition define-cp865->string)
-(push '((:cp865 :|cp865|)
- cp865->string-aref string->cp865)
- *external-format-functions*)
+(add-external-format-funs '(:cp865 :|cp865|)
+ '(cp865->string-aref string->cp865))
(define-external-format (:cp865 :|cp865|)
1 t
(let ((cp865-byte (code->cp865-mapper bits)))
(if cp865-byte
(setf (sap-ref-8 sap tail) cp865-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp865->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp866->code-mapper code->cp866-mapper
(#x80 #x0410) ; CYRILLIC CAPITAL LETTER A
)
(declaim (inline get-cp866-bytes))
-(defun get-cp866-bytes(string pos end)
+(defun get-cp866-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp866 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp866-mapper :cp866 string pos))
(defun string->cp866 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp866-bytes null-padding)))
(defmacro define-cp866->string* (accessor type)
(let ((name (make-od-name 'cp866->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp866->code-mapper)))))
(instantiate-octets-definition define-cp866->string*)
(defmacro define-cp866->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp866->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp866->code-mapper)))
(instantiate-octets-definition define-cp866->string)
-(push '((:cp866 :|cp866|)
- cp866->string-aref string->cp866)
- *external-format-functions*)
+(add-external-format-funs '(:cp866 :|cp866|)
+ '(cp866->string-aref string->cp866))
(define-external-format (:cp866 :|cp866|)
1 t
(let ((cp866-byte (code->cp866-mapper bits)))
(if cp866-byte
(setf (sap-ref-8 sap tail) cp866-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp866->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp869->code-mapper code->cp869-mapper
(#x80 nil)
)
(declaim (inline get-cp869-bytes))
-(defun get-cp869-bytes(string pos end)
+(defun get-cp869-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp869 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp869-mapper :cp869 string pos))
(defun string->cp869 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp869-bytes null-padding)))
(defmacro define-cp869->string* (accessor type)
(let ((name (make-od-name 'cp869->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp869->code-mapper)))))
(instantiate-octets-definition define-cp869->string*)
(defmacro define-cp869->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp869->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp869->code-mapper)))
(instantiate-octets-definition define-cp869->string)
-(push '((:cp869 :|cp869|)
- cp869->string-aref string->cp869)
- *external-format-functions*)
+(add-external-format-funs '(:cp869 :|cp869|)
+ '(cp869->string-aref string->cp869))
(define-external-format (:cp869 :|cp869|)
1 t
(let ((cp869-byte (code->cp869-mapper bits)))
(if cp869-byte
(setf (sap-ref-8 sap tail) cp869-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp869->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check
(define-unibyte-mapper cp874->code-mapper code->cp874-mapper
(#x80 #x20AC) ; EURO SIGN
)
(declaim (inline get-cp874-bytes))
-(defun get-cp874-bytes(string pos end)
+(defun get-cp874-bytes (string pos)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range pos end))
- (get-latin-bytes #'identity :cp874 string pos end))
+ (type simple-string string)
+ (type array-range pos))
+ (get-latin-bytes #'code->cp874-mapper :cp874 string pos))
(defun string->cp874 (string sstart send null-padding)
(declare (optimize speed (safety 0))
- (type simple-string string)
- (type array-range sstart send))
+ (type simple-string string)
+ (type array-range sstart send))
(values (string->latin% string sstart send #'get-cp874-bytes null-padding)))
(defmacro define-cp874->string* (accessor type)
(let ((name (make-od-name 'cp874->string* accessor)))
`(progn
(defun ,name (string sstart send array astart aend)
- (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'identity)))))
+ (,(make-od-name 'latin->string* accessor) string sstart send array astart aend #'cp874->code-mapper)))))
(instantiate-octets-definition define-cp874->string*)
(defmacro define-cp874->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'cp874->string accessor) (array astart aend)
- (,(make-od-name 'latin->string accessor) array astart aend #'identity)))
+ (,(make-od-name 'latin->string accessor) array astart aend #'cp874->code-mapper)))
(instantiate-octets-definition define-cp874->string)
-(push '((:cp874 :|cp874|)
- cp874->string-aref string->cp874)
- *external-format-functions*)
+(add-external-format-funs '(:cp874 :|cp874|)
+ '(cp874->string-aref string->cp874))
(define-external-format (:cp874 :|cp874|)
1 t
(let ((cp874-byte (code->cp874-mapper bits)))
(if cp874-byte
(setf (sap-ref-8 sap tail) cp874-byte)
- (stream-encoding-error-and-handle stream bits)))
+ (external-format-encoding-error stream bits)))
(let ((code (cp874->code-mapper byte)))
(if code
(code-char code)
- (stream-decoding-error stream byte)))) ;; TODO -- error check
+ (external-format-decoding-error stream byte)))) ;; TODO -- error check