A multilingual input method framework
Revision | f9625aeadb4881a873b97c4aaa004dbef18e503a (tree) |
---|---|
Time | 2006-12-22 06:33:14 |
Author | yamaken <yamaken@ff9a...> |
Commiter | yamaken |
* This commit make SigScheme-based uim runnable again
* sigscheme/configure.in
* sigscheme/src/module-srfi6.c
* uim/uim-scm.c
* scm/prime.scm
* scm/util.scm
* scm/uim-module-manager.scm
* sigscheme/QALog
@@ -2048,7 +2048,7 @@ | ||
2048 | 2048 | (define prime-reset-handler |
2049 | 2049 | (lambda (context) |
2050 | 2050 | ;(print "prime-reset-handler") |
2051 | - )) | |
2051 | + #f)) | |
2052 | 2052 | |
2053 | 2053 | (define prime-mode-set |
2054 | 2054 | (lambda (context mode) |
@@ -29,6 +29,7 @@ | ||
29 | 29 | ;;; SUCH DAMAGE. |
30 | 30 | ;;;; |
31 | 31 | |
32 | +(require "util.scm") | |
32 | 33 | (require "im.scm") |
33 | 34 | (require "lazy-load.scm") |
34 | 35 |
@@ -43,9 +44,10 @@ | ||
43 | 44 | ;; XXX temporary solution to register all IM in a file |
44 | 45 | (set! require |
45 | 46 | (lambda (file) |
46 | - (let* ((file-sym (string->symbol file)) | |
47 | - (loaded-sym (symbolconc '* file-sym '-loaded*)) | |
48 | - (reloaded-sym (symbolconc '* file-sym '-reloaded*))) | |
47 | + (let* ((loaded-sym (string->symbol | |
48 | + (string-append "*" file "-loaded*"))) | |
49 | + (reloaded-sym (string->symbol | |
50 | + (string-append "*" file "-reloaded*")))) | |
49 | 51 | (cond |
50 | 52 | ((symbol-bound? reloaded-sym) |
51 | 53 | loaded-sym) |
@@ -34,6 +34,8 @@ | ||
34 | 34 | ;(require "slib-mulapply.scm") |
35 | 35 | ;(require "slib-srfi-1.scm") |
36 | 36 | |
37 | +(define hyphen-sym (string->symbol "-")) | |
38 | + | |
37 | 39 | ;; |
38 | 40 | ;; generic utilities |
39 | 41 | ;; |
@@ -574,10 +576,10 @@ | ||
574 | 576 | (for-each (lambda (spec index) |
575 | 577 | (let* ((elem-sym (list-ref spec 0)) |
576 | 578 | (default (list-ref spec 1)) |
577 | - (getter-sym (symbolconc rec-sym '- elem-sym)) | |
579 | + (getter-sym (symbolconc rec-sym hyphen-sym elem-sym)) | |
578 | 580 | (getter (lambda (rec) |
579 | 581 | (list-ref rec index))) |
580 | - (setter-sym (symbolconc rec-sym '-set- elem-sym '!)) | |
582 | + (setter-sym (symbolconc rec-sym hyphen-sym 'set- elem-sym '!)) | |
581 | 583 | (setter (lambda (rec val) |
582 | 584 | (set-car! (nthcdr index rec) |
583 | 585 | val)))) |
@@ -587,7 +589,7 @@ | ||
587 | 589 | (interaction-environment)))) |
588 | 590 | rec-spec |
589 | 591 | (iota (length rec-spec))) |
590 | - (let ((creator-sym (symbolconc rec-sym '-new)) | |
592 | + (let ((creator-sym (symbolconc rec-sym hyphen-sym 'new)) | |
591 | 593 | (creator (let ((defaults (map cadr rec-spec))) |
592 | 594 | (lambda init-lst |
593 | 595 | (cond |
@@ -911,7 +911,7 @@ corner case tests: | ||
911 | 911 | |
912 | 912 | file: module-srfi6.c |
913 | 913 | category: srfi |
914 | -spec by eyes: yamaken@r3992 | |
914 | +spec by eyes: yamaken@r3992, yamaken@r4172 | |
915 | 915 | spec by tests: yamaken@r3992 |
916 | 916 | general review: yamaken@r3992 |
917 | 917 | 64-bit by eyes: yamaken@r3992 |
@@ -288,7 +288,7 @@ AX_FEATURE_ARG_X(conf, [select base configuration of SigScheme. | ||
288 | 288 | r5rs) |
289 | 289 | use_strict_r5rs=yes |
290 | 290 | ;; |
291 | - full|dev|uim) | |
291 | + full|dev) | |
292 | 292 | use_strict_r5rs=no |
293 | 293 | #use_const_list_literal=yes |
294 | 294 | use_const_vector_literal=yes |
@@ -298,6 +298,16 @@ AX_FEATURE_ARG_X(conf, [select base configuration of SigScheme. | ||
298 | 298 | use_strict_toplevel_definitions=yes |
299 | 299 | use_internal_definitions=yes |
300 | 300 | ;; |
301 | + uim) | |
302 | + use_strict_r5rs=no | |
303 | + #use_const_list_literal=yes | |
304 | + use_const_vector_literal=yes | |
305 | + use_strict_null_form=no | |
306 | + use_strict_vector_form=yes | |
307 | + use_strict_argcheck=yes | |
308 | + use_strict_toplevel_definitions=no | |
309 | + use_internal_definitions=yes | |
310 | + ;; | |
301 | 311 | small|siod) |
302 | 312 | use_strict_r5rs=no |
303 | 313 | use_const_list_literal=no |
@@ -456,7 +466,7 @@ AX_FEATURE_ARG_X(conf, [select base configuration of SigScheme. | ||
456 | 466 | use_srfi38=yes |
457 | 467 | use_srfi48=yes |
458 | 468 | use_srfi60=yes |
459 | - use_srfi75_named_chars=no | |
469 | + use_srfi75_named_chars=yes | |
460 | 470 | use_srfi75=no |
461 | 471 | use_sscm_extensions=yes |
462 | 472 | use_sscm_format_extensions=yes |
@@ -657,7 +667,7 @@ default_encoding_sjis: sjis sjis_as_default | ||
657 | 667 | AX_FEATURE_RESOLVE_DEPENDENCIES([recommended], [ |
658 | 668 | conf_dev: warning_suppressor |
659 | 669 | storage_fatty: valuecons const_list_literal const_vector_literal |
660 | -debug: accessor_assert strict_argcheck strict_encoding_check | |
670 | +debug: soft_assert accessor_assert strict_argcheck strict_encoding_check | |
661 | 671 | backtrace: srfi38 |
662 | 672 | ]) |
663 | 673 |
@@ -58,7 +58,8 @@ | ||
58 | 58 | /*======================================= |
59 | 59 | File Local Function Declarations |
60 | 60 | =======================================*/ |
61 | -static void istrport_finalize(char **str, scm_bool ownership, void **opaque); | |
61 | +static void srfi6_istrport_finalize(char **str, scm_bool ownership, | |
62 | + void **opaque); | |
62 | 63 | |
63 | 64 | /*======================================= |
64 | 65 | Function Definitions |
@@ -72,7 +73,7 @@ scm_initialize_srfi6(void) | ||
72 | 73 | } |
73 | 74 | |
74 | 75 | static void |
75 | -istrport_finalize(char **str, scm_bool ownership, void **opaque) | |
76 | +srfi6_istrport_finalize(char **str, scm_bool ownership, void **opaque) | |
76 | 77 | { |
77 | 78 | SCM_ASSERT(!ownership); |
78 | 79 |
@@ -89,7 +90,8 @@ scm_p_srfi6_open_input_string(ScmObj str) | ||
89 | 90 | |
90 | 91 | ENSURE_STRING(str); |
91 | 92 | |
92 | - bport = ScmInputStrPort_new_const(SCM_STRING_STR(str), istrport_finalize); | |
93 | + bport = ScmInputStrPort_new_const(SCM_STRING_STR(str), | |
94 | + srfi6_istrport_finalize); | |
93 | 95 | hold_str = (ScmObj *)ScmInputStrPort_ref_opaque(bport); |
94 | 96 | scm_gc_protect_with_init(hold_str, str); |
95 | 97 | cport = scm_make_char_port(bport); |
@@ -590,6 +590,7 @@ uim_scm_init(const char *verbose_level) | ||
590 | 590 | vlevel = atoi(verbose_level) % 10; |
591 | 591 | } |
592 | 592 | |
593 | +#if SCM_USE_MULTIBYTE_CHAR | |
593 | 594 | /* *GC safe operation* |
594 | 595 | * |
595 | 596 | * Set the raw unibyte codec which accepts all (multi)byte sequence |
@@ -599,6 +600,7 @@ uim_scm_init(const char *verbose_level) | ||
599 | 600 | * "ISO-8859-1" is a dummy name for the codec. |
600 | 601 | */ |
601 | 602 | scm_current_char_codec = scm_mb_find_codec("ISO-8859-1"); |
603 | +#endif | |
602 | 604 | |
603 | 605 | storage_conf.heap_size = 16384; |
604 | 606 | storage_conf.heap_alloc_threshold = 16384; |