Skip to content

Commit

Permalink
0.9.9.8:
Browse files Browse the repository at this point in the history
        * Merge a patch by Ivan Boldyrev fixing character code
          conversions for OCTETS-TO-STRING and STRING-TO-OCTETS.
  • Loading branch information
Alexey Dejneka committed Jan 28, 2006
1 parent d59fb3b commit c6b0785
Show file tree
Hide file tree
Showing 7 changed files with 127 additions and 115 deletions.
2 changes: 2 additions & 0 deletions NEWS
Expand Up @@ -2,6 +2,8 @@
changes in sbcl-0.9.10 relative to sbcl-0.9.9:
* fixed bug #399: full call to DATA-VECTOR-REF in accesses to
certain complicated string types. (reported by Gary King)
* fixed bug: STRING-TO-OCTETS and OCTETS-TO-STRING did not convert
character codes. (thanks to Yaroslav Kavenchuk and Ivan Boldyrev)

changes in sbcl-0.9.9 relative to sbcl-0.9.8:
* new platform: experimental support for the Windows operating
Expand Down
18 changes: 9 additions & 9 deletions src/code/external-formats/enc-cyr.lisp
Expand Up @@ -136,7 +136,7 @@
(declare (optimize speed (safety 0))
(type simple-string string)
(type array-range pos end))
(get-latin-bytes #'identity :koi8-r string pos end))
(get-latin-bytes #'code->koi8-r-mapper :koi8-r string pos end))

(defun string->koi8-r (string sstart send null-padding)
(declare (optimize speed (safety 0))
Expand All @@ -149,14 +149,14 @@
(let ((name (make-od-name 'koi8-r->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 #'koi8-r->code-mapper)))))

(instantiate-octets-definition define-koi8-r->string*)

(defmacro define-koi8-r->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'koi8-r->string accessor) (array astart aend)
(,(make-od-name 'latin->string accessor) array astart aend #'identity)))
(,(make-od-name 'latin->string accessor) array astart aend #'koi8-r->code-mapper)))

(instantiate-octets-definition define-koi8-r->string)

Expand Down Expand Up @@ -311,7 +311,7 @@
(declare (optimize speed (safety 0))
(type simple-string string)
(type array-range pos end))
(get-latin-bytes #'identity :koi8-u string pos end))
(get-latin-bytes #'code->koi8-u-mapper :koi8-u string pos end))

(defun string->koi8-u (string sstart send null-padding)
(declare (optimize speed (safety 0))
Expand All @@ -324,14 +324,14 @@
(let ((name (make-od-name 'koi8-u->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 #'koi8-u->code-mapper)))))

(instantiate-octets-definition define-koi8-u->string*)

(defmacro define-koi8-u->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'koi8-u->string accessor) (array astart aend)
(,(make-od-name 'latin->string accessor) array astart aend #'identity)))
(,(make-od-name 'latin->string accessor) array astart aend #'koi8-u->code-mapper)))

(instantiate-octets-definition define-koi8-u->string)

Expand Down Expand Up @@ -481,7 +481,7 @@
(declare (optimize speed (safety 0))
(type simple-string string)
(type array-range pos end))
(get-latin-bytes #'identity :x-mac-cyrillic string pos end))
(get-latin-bytes #'code->x-mac-cyrillic-mapper :x-mac-cyrillic string pos end))

(defun string->x-mac-cyrillic (string sstart send null-padding)
(declare (optimize speed (safety 0))
Expand All @@ -494,14 +494,14 @@
(let ((name (make-od-name 'x-mac-cyrillic->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 #'x-mac-cyrillic->code-mapper)))))

(instantiate-octets-definition define-x-mac-cyrillic->string*)

(defmacro define-x-mac-cyrillic->string (accessor type)
(declare (ignore type))
`(defun ,(make-od-name 'x-mac-cyrillic->string accessor) (array astart aend)
(,(make-od-name 'latin->string accessor) array astart aend #'identity)))
(,(make-od-name 'latin->string accessor) array astart aend #'x-mac-cyrillic->code-mapper)))

(instantiate-octets-definition define-x-mac-cyrillic->string)

Expand Down

0 comments on commit c6b0785

Please sign in to comment.