Author: yamakenz
Date: Mon Aug  6 17:59:15 2007
New Revision: 4808

Modified:
   trunk/doc/COMPATIBILITY
   trunk/test/uim-test-utils.scm
   trunk/uim/uim-scm.c
   trunk/uim/uim-scm.h
   trunk/uim/uim-sh.c

Log:
* uim/uim-scm.h
  - (uim_scm_get_output, uim_scm_set_output): Removed
* uim/uim-scm.c
  - (scm_out, scm_err): Removed the illegal accessor definition
  - (uim_output, uim_scm_get_output, uim_scm_set_output): Removed
  - (uim_scm_init): Remove output port handlings
* uim/uim-sh.c
  - (main): Remove uim_scm_set_output()
* test/uim-test-utils.scm
  - (*uim-sh-setup-proc*): Add error port redirection
* doc/COMPATIBILITY
  - Update


Modified: trunk/doc/COMPATIBILITY
==============================================================================
--- trunk/doc/COMPATIBILITY     (original)
+++ trunk/doc/COMPATIBILITY     Mon Aug  6 17:59:15 2007
@@ -174,8 +174,8 @@
 Affects: IM developers, Bridge developers
 Updates: C API
 Version: 1.5.0
-Revision: ac4519, ac4520, ac4788
-Date: 2007-03-26, 2007-08-05
+Revision: ac4519, ac4520, ac4788, ac4807
+Date: 2007-03-26, 2007-08-05, 2007-08-07
 Modifier: YamaKen
 Related: uim-scm API reorganization in uim 1.5.0
 URL:
@@ -188,9 +188,12 @@
   (changed) uim_scm_symbol_value_bool()
   (removed) uim_scm_get_verbose_level()
   (removed) uim_scm_set_verbose_level()
+  (removed) uim_scm_get_output()
+  (removed) uim_scm_set_output()
 Description:
-  The arguments now requires non-NULL string. If you want to access
-  the verbose-level, use uim_scm_callf() instead.
+  - The arguments now requires non-NULL string
+  - If you want to access the verbose-level, use uim_scm_callf() instead
+  - If you want to redirect stderr, use %%set-current-error-port!
 ------------------------------------------------------------------------------
 Summary: Change return type of uim_set_candidate_selector_cb() to void
 Affects: Bridge developers

Modified: trunk/test/uim-test-utils.scm
==============================================================================
--- trunk/test/uim-test-utils.scm       (original)
+++ trunk/test/uim-test-utils.scm       Mon Aug  6 17:59:15 2007
@@ -127,7 +127,8 @@
         (set! *uim-sh-process* (run-process "uim/uim-sh"
                                             "-b"
                                             :input :pipe
-                                            :output :pipe)))
+                                            :output :pipe))
+       (uim '(%%set-current-error-port! (current-output-port))))
       (define (*uim-sh-teardown-proc*)
         (close-input-port (process-input *uim-sh-process*))
         (set! *uim-sh-process* #f))
@@ -159,6 +160,7 @@
                                                 "-b"
                                                 :input :pipe
                                                 :output :pipe))
+           (uim '(%%set-current-error-port! (current-output-port)))
             (additional-setup-proc))))
 
       (define (make-uim-sh-teardown-proc . args)

Modified: trunk/uim/uim-scm.c
==============================================================================
--- trunk/uim/uim-scm.c (original)
+++ trunk/uim/uim-scm.c Mon Aug  6 17:59:15 2007
@@ -61,13 +61,9 @@
 #include "uim-compat-scm.c"
 #endif
 
-/* FIXME: illegal internal access */
-#define scm_out SCM_GLOBAL_VAR(port, scm_out)
-#define scm_err SCM_GLOBAL_VAR(port, scm_err)
 
 static uim_lisp protected;
 static uim_bool initialized, sscm_is_exit_with_fatal_error;
-static FILE *uim_output = NULL;
 
 static void uim_scm_error(const char *msg, uim_lisp errobj);
 struct uim_scm_error_args {
@@ -134,24 +130,6 @@
   SCM_NOTREACHED;
 }
 
-FILE *
-uim_scm_get_output(void)
-{
-  /* semantic assertion */
-  assert(!uim_scm_is_initialized() || uim_scm_is_initialized());
-
-  return uim_output;
-}
-
-void
-uim_scm_set_output(FILE *fp)
-{
-  /* semantic assertion */
-  assert(!uim_scm_is_initialized() || uim_scm_is_initialized());
-
-  uim_output = fp;
-}
-
 void
 uim_scm_ensure(uim_bool cond)
 {
@@ -1024,15 +1002,11 @@
 uim_scm_init(const char *system_load_path)
 {
   ScmStorageConf storage_conf;
-  ScmObj output_port;
   char **argp, *argv[8];
 
   if (initialized)
     return;
 
-  if (!uim_output)
-    uim_output = stderr;
-
   argp = argv;
   *argp++ = "dummy";  /* command name */
 #if SCM_USE_MULTIBYTE_CHAR
@@ -1064,10 +1038,6 @@
   scm_set_fatal_error_callback(exit_hook);
   initialized = UIM_TRUE;  /* init here for uim_scm_gc_protect() */
 
-  /* GC safe */
-  output_port = scm_make_shared_file_port(uim_output, "uim", 
SCM_PORTFLAG_OUTPUT);
-  scm_out = scm_err = output_port;
-
   protected = (uim_lisp)SCM_FALSE;
   uim_scm_gc_protect(&protected);
 
@@ -1087,6 +1057,5 @@
 
   scm_finalize();
   sscm_is_exit_with_fatal_error = UIM_FALSE;
-  uim_output = NULL;
   initialized = UIM_FALSE;
 }

Modified: trunk/uim/uim-scm.h
==============================================================================
--- trunk/uim/uim-scm.h (original)
+++ trunk/uim/uim-scm.h Mon Aug  6 17:59:15 2007
@@ -79,12 +79,6 @@
 #endif
 
 
-/* 'uim_scm' prefix is not appropriate for these functions... any ideas? */
-FILE *
-uim_scm_get_output(void);
-void
-uim_scm_set_output(FILE *fp);
-  
 uim_bool uim_scm_is_initialized(void);
 uim_bool
 uim_scm_is_alive(void);

Modified: trunk/uim/uim-sh.c
==============================================================================
--- trunk/uim/uim-sh.c  (original)
+++ trunk/uim/uim-sh.c  Mon Aug  6 17:59:15 2007
@@ -60,8 +60,6 @@
   struct uim_sh_args c_args;
   int err;
 
-  uim_scm_set_output(stdout);
-  
   /* TODO: be able to suppress ordinary initialization process */
   uim_init();
 

Reply via email to