[Uim] Questions on coding for uim
Park Jae-hyeon
jhpark at kias.re.kr
Sat Jun 18 09:28:07 EEST 2005
Hello,
I have bug reports on UIM. I am using 0.4.6final1-3 on Debian sarge.
1) UIM scheme interpreter does not have independent boolean values,
and predicates do not return boolean values. For example, with
uim-sh, I get
uim> #t
1
uim> #f
()
uim> (equal? #t 1)
t
uim> (boolean? 1)
t
uim> (boolean? '())
t
uim> (not '())
t
while, with guile, I get
guile> #t
#t
guile> #f
#f
guile> (equal? #t 1)
#f
guile> (boolean? '())
#f
guile> (boolean? 1)
#f
guile> (not '())
#f
As far as I know, scheme should distinguish #t from 1, and #f from
'(). '() should count as true, not false. Also, a predicate such
as equal? should return either #t or #f, and nothing else. I found
that this was already reported in the bugzilla as bugs #617 and
#642.
2) Switching input method does not always work. I run gedit with
$ GTK_IM_MODULE=uim gedit
with no other program using uim, and do
$ uim-im-switcher-gtk
After I choose another input method in uim-im-switcher-gtk's window
and click Okay, sometimes the input method is switched to the new
one, and sometimes it is not.
3) The optional third argument of delete in util.scm, defaults to =.
http://srfi.schemers.org/srfi-1/srfi-1.html#delete says that the
default comparison procedure should be equal?.
4) If I click on a submit button before committing preedit in a
mozilla form, the preedit reappears the next time I begin input.
For example, at www.google.com, I write in the form,
はやくちことば
using anthy, but I do not commit the string by hitting RETURN yet.
I click on the Google Search button. Then, I see the search
results. Now, when I type a key in the form, はやくちことば
appears in the preedit area plus the newly typed key. Maybe this
is a bug of mozilla, not of uim, in view of the fact that I have
the same phenomenon with kinput2 + canna. Probably, this is
related with the issue of reset, focus-in, focus-out, and
focus-move.
I have a question on writing scheme code for uim, related to bug 1).
The second argument of context-update-preedit is a list of pairs of
attributes and strings. According to anthy-input-state-preedit, it
seems that the list is also allowed to have #f or '() as one of its
elements. Is it #f or '() that can be an element of the second
argument of context-update-preedit?
Regards,
Jae-hyeon
More information about the uim
mailing list