Author: yamakenz
Date: Tue Jul 10 17:33:47 2007
New Revision: 4690
Modified:
trunk/scm/util.scm
trunk/test/test-uim-util.scm
trunk/uim/uim-util.c
Log:
* uim/uim-util.c
- (charcode2string, string2charcode): Removed
- (uim_init_util_subrs): Remove definitions for charcode->string and
string->charcode
* scm/util.scm
- (charcode->string, string->charcode): New procedure
* test/test-uim-util.scm
- Update the "passed revision" comment
Modified: trunk/scm/util.scm
==============================================================================
--- trunk/scm/util.scm (original)
+++ trunk/scm/util.scm Tue Jul 10 17:33:47 2007
@@ -31,6 +31,7 @@
(use srfi-1)
(use srfi-6)
(use srfi-34)
+(use srfi-60)
;;;;
@@ -297,6 +298,19 @@
(define numeral-char? char-numeric?)
(define usual-char? char-graphic?)
(define to-lower-char char-downcase)
+
+(define charcode->string
+ (lambda (c)
+ (list->string (list (integer->char (bitwise-and 255 c))))))
+
+(define string->charcode
+ (lambda (s)
+ (let ((sl (with-char-codec "ISO-8859-1"
+ (lambda ()
+ (string->list s)))))
+ (if (null? sl)
+ 0
+ (char->integer (car sl))))))
(define symbolconc symbol-append)
Modified: trunk/test/test-uim-util.scm
==============================================================================
--- trunk/test/test-uim-util.scm (original)
+++ trunk/test/test-uim-util.scm Tue Jul 10 17:33:47 2007
@@ -29,7 +29,7 @@
;;; SUCH DAMAGE.
;;;;
-;; These tests are passed at revision 4681 (new repository)
+;; These tests are passed at revision 4690 (new repository)
(use test.unit)
Modified: trunk/uim/uim-util.c
==============================================================================
--- trunk/uim/uim-util.c (original)
+++ trunk/uim/uim-util.c Tue Jul 10 17:33:47 2007
@@ -135,30 +135,6 @@
}
static uim_lisp
-charcode2string(uim_lisp x)
-{
- char buf[2];
- if (uim_scm_integerp(x)) {
- buf[0] = uim_scm_c_int(x);
- } else {
- buf[0] = 0;
- }
- buf[1] = 0;
- return uim_scm_make_str(buf);
-}
-
-static uim_lisp
-string2charcode(uim_lisp x)
-{
- const char *buf = uim_scm_refer_c_str(x);
-
- if (buf) {
- return uim_scm_make_int(*buf);
- }
- return uim_scm_f();
-}
-
-static uim_lisp
c_getenv(uim_lisp str_)
{
const char *str = uim_scm_refer_c_str(str_);
@@ -413,8 +389,6 @@
uim_scm_init_subr_1("unsetenv", c_unsetenv);
/* these procedures should be replaced with standard ones of R5RS or SRFIs */
- uim_scm_init_subr_1("charcode->string", charcode2string);
- uim_scm_init_subr_1("string->charcode", string2charcode);
uim_scm_init_subr_2("string-split", uim_split_string);
uim_scm_init_subr_1("string-to-list", eucjp_string_to_list);
uim_scm_init_subr_2("string-prefix?", string_prefixp);