[uim-commit] r1578 - branches/r5rs/uim
yamaken at freedesktop.org
yamaken at freedesktop.org
Sat Sep 24 22:52:14 PDT 2005
Author: yamaken
Date: 2005-09-24 22:52:11 -0700 (Sat, 24 Sep 2005)
New Revision: 1578
Removed:
branches/r5rs/uim/uimint.h
Modified:
branches/r5rs/uim/uim-internal.h
Log:
* uim/uim-internal.h
- Resurrect the codes lost in mismerge of r1576
* uim/uimint.h
- Removed to correct the mismerge of r1576
Modified: branches/r5rs/uim/uim-internal.h
===================================================================
--- branches/r5rs/uim/uim-internal.h 2005-09-25 05:48:28 UTC (rev 1577)
+++ branches/r5rs/uim/uim-internal.h 2005-09-25 05:52:11 UTC (rev 1578)
@@ -119,6 +119,24 @@
int nr_psegs;
};
+
+/*
+ Most of following definitions should be separated into another file such as
+ private.h since they are not relevant to input contexts. I'm not having
+ enough time to do and validate it. Anyone? -- YamaKen 2005-07-30
+*/
+
+#if 0
+/*
+ Evaluating a S-expression in C involves the two problems, performance and
+ sourcecode-simpleness. Traditional UIM_EVAL_FSTRINGn() satisfies the latter,
+ but loses former. Manual sexp construction and evaluation by a sequence of
+ function calling is an opponent. The two should co-exist until better
+ solution has been implemented as a uim-scm API. -- YamaKen 2005-07-30
+ */
+#define UIM_EVAL_SEXP_AS_STRING
+#endif
+
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#define UIM_DEFINE_MUTEX(mtx) \
Deleted: branches/r5rs/uim/uimint.h
===================================================================
--- branches/r5rs/uim/uimint.h 2005-09-25 05:48:28 UTC (rev 1577)
+++ branches/r5rs/uim/uimint.h 2005-09-25 05:52:11 UTC (rev 1578)
@@ -1,308 +0,0 @@
-/*
-
- Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
-
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of authors nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#ifndef _uimint_h_included_
-#define _uimint_h_included_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdio.h>
-#include "config.h"
-#include "gettext.h"
-#include "uim.h"
-#include "uim-scm.h"
-
-struct uim_im {
- char *name;
- char *lang;
- char *encoding;
- char *short_desc;
-};
-
-struct uim_candidate_ {
- char *str; /* candidate */
- char *heading_label;
- char *annotation;
- /* uim_pos part_of_speech; */
- /* int freq; */
- /* int freshness; */
- /* int formality; */
- /* char *src_dict; */
-};
-
-struct preedit_segment {
- int attr;
- char *str;
-};
-
-struct uim_context_ {
- /* cookier pointer */
- void *ptr;
- /* internal id */
- int id;
- /**/
- int is_enable;
-
- struct uim_code_converter *conv_if;
- void *conv;
- char *current_im_name;
- char *short_desc;
- char *encoding;
- /**/
- int commit_raw_flag;
- /**/
- int nr_modes;
- char **modes;
- /**/
- int mode;
- /**/
- char *proplabelstr;
- char *propstr;
- /**/
- int candidate_index;
- int nr_candidates;
- /**/
- void (*commit_cb)(void *ptr, const char *str);
- /* preedit */
- void (*preedit_clear_cb)(void *ptr);
- void (*preedit_pushback_cb)(void *ptr, int attr, const char *str);
- void (*preedit_update_cb)(void *ptr);
- /* mode list */
- void (*mode_list_update_cb)(void *ptr);
- /* mode */
- void (*mode_update_cb)(void *ptr, int);
- /* property list */
- void (*prop_list_update_cb)(void *ptr, const char *str);
- /* property label */
- void (*prop_label_update_cb)(void *ptr, const char *str);
- /* candidate window */
- void (*candidate_selector_activate_cb)(void *ptr, int nr, int index);
- void (*candidate_selector_select_cb)(void *ptr, int index);
- void (*candidate_selector_shift_page_cb)(void *ptr, int direction);
- void (*candidate_selector_deactivate_cb)(void *ptr);
- /* surrounding text */
- void (*request_surrounding_text_cb)(void *ptr);
- int (*delete_surrounding_text_cb)(void *ptr, int offset, int len);
- /* preedit segments array */
- struct preedit_segment *psegs;
- int nr_psegs;
-};
-
-
-/*
- Most of following definitions should be separated into another file such as
- private.h since they are not relevant to input contexts. I'm not having
- enough time to do and validate it. Anyone? -- YamaKen 2005-07-30
-*/
-
-#if 0
-/*
- Evaluating a S-expression in C involves the two problems, performance and
- sourcecode-simpleness. Traditional UIM_EVAL_FSTRINGn() satisfies the latter,
- but loses former. Manual sexp construction and evaluation by a sequence of
- function calling is an opponent. The two should co-exist until better
- solution has been implemented as a uim-scm API. -- YamaKen 2005-07-30
- */
-#define UIM_EVAL_SEXP_AS_STRING
-#endif
-
-#ifdef HAVE_PTHREAD_H
-#include <pthread.h>
- #define UIM_DEFINE_MUTEX(mtx) \
- pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER
- #define UIM_DEFINE_MUTEX_STATIC(mtx) \
- static pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER
- #define UIM_LOCK_MUTEX(mtx) pthread_mutex_lock(&mtx)
- #define UIM_UNLOCK_MUTEX(mtx) pthread_mutex_unlock(&mtx)
-#else
- #define UIM_DEFINE_MUTEX(mtx)
- #define UIM_DEFINE_MUTEX_STATIC(mtx)
- #define UIM_LOCK_MUTEX(mtx)
- #define UIM_UNLOCK_MUTEX(mtx)
-#endif /* HAVE_PTHREAD_H */
-
-#ifdef ENABLE_NLS
-#define UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET() \
- char *enc, *orig_encoding = NULL; \
- const char *client_encoding;
-#define UIM_SWITCH_TEXTDOMAIN_CODESET(uc) \
- if ((enc = bind_textdomain_codeset(GETTEXT_PACKAGE, NULL))) \
- orig_encoding = strdup(enc); \
- client_encoding = (uc) ? ((struct uim_context_ *)uc)->encoding : uim_last_client_encoding; \
- bind_textdomain_codeset(GETTEXT_PACKAGE, client_encoding);
-#define UIM_RESTORE_TEXTDOMAIN_CODESET() \
- bind_textdomain_codeset(GETTEXT_PACKAGE, orig_encoding); \
- free(orig_encoding);
-#else /* ENABLE_NLS */
-#define UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET()
-#define UIM_SWITCH_TEXTDOMAIN_CODESET(uc)
-#define UIM_RESTORE_TEXTDOMAIN_CODESET()
-#endif /* ENABLE_NLS */
-
-/* we cannot use the variadic macro (i.e. __VA_ARGS__) because we
- should also support C89 compilers
-*/
-#define UIM_EVAL_STRING_INTERNAL(uc, sexp_str) \
- if (uc) \
- uim_eval_string(uc, sexp_str); \
- else \
- uim_scm_eval_c_string(sexp_str); \
-
-#define UIM_EVAL_STRING(uc, sexp_str) \
- { \
- UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET(); \
- UIM_SWITCH_TEXTDOMAIN_CODESET(uc); \
- UIM_EVAL_STRING_INTERNAL(uc, sexp_str); \
- UIM_RESTORE_TEXTDOMAIN_CODESET(); \
- }
-
-#define UIM_EVAL_FSTRING1(uc, sexp_tmpl, arg1) \
- { \
- int form_size; \
- char *buf; \
- UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET(); \
- UIM_SWITCH_TEXTDOMAIN_CODESET(uc); \
- form_size = uim_sizeof_sexp_str(sexp_tmpl, arg1); \
- if (form_size != -1) { \
- buf = malloc(form_size); \
- snprintf(buf, form_size, sexp_tmpl, arg1); \
- UIM_EVAL_STRING_INTERNAL(uc, buf); \
- free(buf); \
- } \
- UIM_RESTORE_TEXTDOMAIN_CODESET(); \
- }
-
-#define UIM_EVAL_FSTRING2(uc, sexp_tmpl, arg1, arg2) \
- { \
- int form_size; \
- char *buf; \
- UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET(); \
- UIM_SWITCH_TEXTDOMAIN_CODESET(uc); \
- form_size = uim_sizeof_sexp_str(sexp_tmpl, arg1, arg2); \
- if (form_size != -1) { \
- buf = malloc(form_size); \
- snprintf(buf, form_size, sexp_tmpl, arg1, arg2); \
- UIM_EVAL_STRING_INTERNAL(uc, buf); \
- free(buf); \
- } \
- UIM_RESTORE_TEXTDOMAIN_CODESET(); \
- }
-
-#define UIM_EVAL_FSTRING3(uc, sexp_tmpl, arg1, arg2, arg3) \
- { \
- int form_size; \
- char *buf; \
- UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET(); \
- UIM_SWITCH_TEXTDOMAIN_CODESET(uc); \
- form_size = uim_sizeof_sexp_str(sexp_tmpl, arg1, arg2, arg3); \
- if (form_size != -1) { \
- buf = malloc(form_size); \
- snprintf(buf, form_size, sexp_tmpl, arg1, arg2, arg3); \
- UIM_EVAL_STRING_INTERNAL(uc, buf); \
- free(buf); \
- } \
- UIM_RESTORE_TEXTDOMAIN_CODESET(); \
- }
-
-#define UIM_EVAL_FSTRING4(uc, sexp_tmpl, arg1, arg2, arg3, arg4) \
- { \
- int form_size; \
- char *buf; \
- UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET(); \
- UIM_SWITCH_TEXTDOMAIN_CODESET(uc); \
- form_size = uim_sizeof_sexp_str(sexp_tmpl, arg1, arg2, arg3, arg4); \
- if (form_size != -1) { \
- buf = malloc(form_size); \
- snprintf(buf, form_size, sexp_tmpl, arg1, arg2, arg3, arg4); \
- UIM_EVAL_STRING_INTERNAL(uc, buf); \
- free(buf); \
- } \
- UIM_RESTORE_TEXTDOMAIN_CODESET(); \
- }
-
-#define UIM_EVAL_FSTRING5(uc, sexp_tmpl, arg1, arg2, arg3, arg4, arg5) \
- { \
- int form_size; \
- char *buf; \
- UIM_PREPARE_SAVING_TEXTDOMAIN_CODESET(); \
- UIM_SWITCH_TEXTDOMAIN_CODESET(uc); \
- form_size = uim_sizeof_sexp_str(sexp_tmpl, arg1, arg2, arg3, arg4, arg5); \
- if (form_size != -1) { \
- buf = malloc(form_size); \
- snprintf(buf, form_size, sexp_tmpl, arg1, arg2, arg3, arg4, arg5); \
- UIM_EVAL_STRING_INTERNAL(uc, buf); \
- free(buf); \
- } \
- UIM_RESTORE_TEXTDOMAIN_CODESET(); \
- }
-
-/**/
-uim_context
-uim_find_context(int id);
-void uim_scm_init(const char *verbose_level);
-void uim_scm_quit(void);
-
-#ifdef UIM_COMPAT_SCM
-void uim_init_compat_scm_subrs(void);
-#endif
-void uim_init_key_subrs(void);
-void uim_init_util_subrs(void);
-#ifdef UIM_COMPAT_TABLE
-void uim_init_table_subrs(void);
-#endif
-void uim_init_im_subrs(void);
-void uim_init_intl_subrs(void);
-
-/**/
-void uim_init_plugin(void);
-void uim_quit_plugin(void);
-
-int uim_iconv_is_convertible(const char *tocode, const char *fromcode);
-void *uim_iconv_create(const char *tocode, const char *fromcode);
-char *uim_iconv_code_conv(void *obj, const char *str);
-void uim_iconv_release(void *obj);
-
-int uim_sizeof_sexp_str(const char *tmpl, ...);
-void uim_eval_string(uim_context, char *str);
-void uim_release_preedit_segments(uim_context uc);
-void uim_update_preedit_segments(uim_context uc);
-
-extern struct uim_im *uim_im_array;
-extern int uim_nr_im;
-extern char *uim_last_client_encoding;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
More information about the uim-commit
mailing list