[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