[Uim] Re: What should be done until 0.4.6
YamaKen
yamaken at bp.iij4u.or.jp
Sat Jan 8 06:24:23 EET 2005
At Sat, 8 Jan 2005 13:02:35 +0900,
ekato at ees.hokudai.ac.jp wrote:
>
> On Sat, Jan 08, 2005 at 12:44:33PM +0900,
> Etsushi Kato <ekato at ees.hokudai.ac.jp> wrote:
>
> > > The backtrace looks like this:
> >
> > Thanks. This backtrace indicates that crash happen in libuim
> > (slib.c). Maybe GTK application also crashes with GTK_IM_MODULE=uim?
>
> OK. I was able to reproduce the bug. To avoid this, please use
> --disable-compat-custom --enable-compat-scm --enable-scm-nested-eval
> --disable-callback-queue configure option.
>
> This option has just become default since today's revision, but maybe
> your snapshot doesn't contain yet. Of cource, this should be resolved
> with any configure option.
It may be fixed by following patch. I'll test it after lunch.
Thank you reporting and investigating.
----------------------------------------------------------------
Index: uim/uim-scm.c
===================================================================
--- uim/uim-scm.c (revision 163)
+++ uim/uim-scm.c (working copy)
@@ -358,6 +358,7 @@
uim_bool
uim_scm_require_file(const char *fn)
{
+#ifdef UIM_SCM_NESTED_EVAL
uim_bool succeeded;
if (!fn)
@@ -367,6 +368,21 @@
succeeded = uim_scm_c_bool(uim_scm_return_value());
return succeeded;
+#else
+ uim_lisp stack_start;
+ uim_lisp _fn;
+ uim_bool ret;
+
+ if (!fn)
+ return UIM_FALSE;
+
+ uim_scm_gc_protect_stack(&stack_start);
+ _fn = uim_scm_make_str(fn);
+ ret = require((LISP)_fn); /* meaningless result */
+ uim_scm_gc_unprotect_stack(&stack_start);
+
+ return ret;
+#endif
}
void
----------------------------------------------------------------
-------------------------------
YamaKen yamaken at bp.iij4u.or.jp
More information about the uim
mailing list