Author: yamakenz
Date: Fri Aug 24 08:02:56 2007
New Revision: 4884
Modified:
trunk/doc/COMPATIBILITY
trunk/uim/uim-internal.h
trunk/uim/uim-scm.c
trunk/uim/uim-scm.h
trunk/uim/uim.h
Log:
* This commit make uim-scm.[hc] independent of other part of libuim
* uim/uim.h
- (UIM_BOOL_DEFINED): New macro
- Add duplicate definition guard for uim_bool, UIM_FALSE and
UIM_TRUE by UIM_BOOL_DEFINED
* uim/uim-internal.h
- (uim_scm_init, uim_scm_quit, uim_scm_set_fatal_error_hook): Move to
from uim-scm.h
* uim/uim-scm.h
- (UIM_BOOL_DEFINED): New macro
- (uim_bool): New type
- (UIM_FALSE, UIM_TRUE): New macro
- Add duplicate definition guard for uim_bool, UIM_FALSE and
UIM_TRUE by UIM_BOOL_DEFINED
- Exclude unneeded stdio.h
- Include stdlib.h for size_t
- Exclude uim.h
- (uim_scm_init, uim_scm_quit, uim_scm_set_fatal_error_hook): Moved
from uim-internal.h
* uim/uim-scm.c
- Exclude uim-internal.h
* doc/COMPATIBILITY
- Update
Modified: trunk/doc/COMPATIBILITY
==============================================================================
--- trunk/doc/COMPATIBILITY (original)
+++ trunk/doc/COMPATIBILITY Fri Aug 24 08:02:56 2007
@@ -430,7 +430,7 @@
Affects: uim developers, IM developers
Updates: C API, libuim ABI
Version: 1.5.0
-Revision: ac4333, ac4334, ac4339, ac4347, ac4351-ac4353, ac4355, ac4444,
ac4446, ac4751, ac4761, ac4764, ac4788, ac4808, ac4812, ac4813, ac4815, ac4817,
ac4819, ac4821, ac4830, ac4870, ac4871, ac4873, ac4875, ac4877, ac4878, ac4881,
ac4882
+Revision: ac4333, ac4334, ac4339, ac4347, ac4351-ac4353, ac4355, ac4444,
ac4446, ac4751, ac4761, ac4764, ac4788, ac4808, ac4812, ac4813, ac4815, ac4817,
ac4819, ac4821, ac4830, ac4870, ac4871, ac4873, ac4875, ac4877, ac4878, ac4881,
ac4882, ac4884
Date: 2007-01-09 -
Modifier: YamaKen
Related: uim-scm API truth predicates reorganization in uim 1.5.0
@@ -452,6 +452,8 @@
(new) uim_scm_make_str_directly()
(new) uim_scm_error()
(new) uim_scm_error_obj()
+ (new) uim_scm_init()
+ (new) uim_scm_quit()
(new) uim_scm_set_fatal_error_hook()
(new) uim_scm_nullify_c_ptr()
(new) uim_scm_eof()
Modified: trunk/uim/uim-internal.h
==============================================================================
--- trunk/uim/uim-internal.h (original)
+++ trunk/uim/uim-internal.h Fri Aug 24 08:02:56 2007
@@ -147,10 +147,6 @@
/* throw recoverable error */
void uim_throw_error(const char *msg);
-void uim_scm_init(const char *system_load_path);
-void uim_scm_quit(void);
-void uim_scm_set_fatal_error_hook(void (*hook)(void));
-
void uim_init_plugin(void);
void uim_quit_plugin(void);
Modified: trunk/uim/uim-scm.c
==============================================================================
--- trunk/uim/uim-scm.c (original)
+++ trunk/uim/uim-scm.c Fri Aug 24 08:02:56 2007
@@ -53,7 +53,6 @@
#include <assert.h>
#include "uim-scm.h"
-#include "uim-internal.h"
/* To avoid macro name conflict with SigScheme, uim-scm-abbrev.h should not
* be included. */
Modified: trunk/uim/uim-scm.h
==============================================================================
--- trunk/uim/uim-scm.h (original)
+++ trunk/uim/uim-scm.h Fri Aug 24 08:02:56 2007
@@ -47,12 +47,10 @@
*/
-/* API and ABI are unstable */
#ifndef _uim_scm_h_included_
#define _uim_scm_h_included_
-#include <stdio.h>
-#include "uim.h"
+#include <stdlib.h>
#ifdef __cplusplus
extern "C" {
@@ -60,6 +58,24 @@
#define UIM_SCM_USE_DEPRECATED_API 1
+#ifndef UIM_BOOL_DEFINED
+/*
+ * A boolean type for uim to explicitly indicate intention about values.
+ *
+ * *** IMPORTANT ***
+ *
+ * Do not test a value with (val == UIM_TRUE). The UIM_TRUE is only A TYPICAL
+ * VALUE FOR TRUE. Use (val) or (val != UIM_FALSE) instead.
+ *
+ */
+typedef int uim_bool;
+
+#define UIM_FALSE 0
+#define UIM_TRUE 1
+
+#define UIM_BOOL_DEFINED 1
+#endif /* UIM_BOOL_DEFINED */
+
/*
uim companion tools should treat lisp object as opaque. struct
uim_opaque exists only for type check and has no actual definition.
@@ -70,7 +86,12 @@
/* subsystem interfaces */
+/* uim_scm_init(), uim_scm_quit() and uim_scm_set_fatal_error_hook() are
+ * called from libuim internal. Ordinary user must not call it directly. */
+void uim_scm_init(const char *system_load_path);
+void uim_scm_quit(void);
uim_bool uim_scm_is_initialized(void);
+void uim_scm_set_fatal_error_hook(void (*hook)(void));
void
uim_scm_set_lib_path(const char *path);
Modified: trunk/uim/uim.h
==============================================================================
--- trunk/uim/uim.h (original)
+++ trunk/uim/uim.h Fri Aug 24 08:02:56 2007
@@ -50,6 +50,7 @@
|| ((major) == UIM_VERSION_MAJOR && (minor) == UIM_VERSION_MINOR \
&& (patchlevel) <= UIM_VERSION_PATCHLEVEL))
+#ifndef UIM_BOOL_DEFINED
/*
* A boolean type for uim to explicitly indicate intention about values
*
@@ -63,6 +64,9 @@
#define UIM_FALSE 0
#define UIM_TRUE 1
+
+#define UIM_BOOL_DEFINED 1
+#endif /* UIM_BOOL_DEFINED */
typedef struct uim_context_ *uim_context;