On Thu, Jul 3, 2008 at 8:41 AM, SungHyun Nam <[EMAIL PROTECTED]> wrote:
<snip>
> >> Or, CursorIM should be changed while the preediting characters are
> >> exist.
>
> And my patch exactly did it? did I misunderstood?
Yes. I don't think the removing all supports of CursorIM on gtk2. It's
a partial supports.
I tried imhangle. vim can't get status of IM with imhangle too because
gtkimmodule does not provide API which can get status.
Certainly, when you type 's-space' on imhangul, vim change the cursor
to CursorIM. but im may not be active.
(1) imhangul
for example, you want to input multi-byte "[A1][A2]".
* A1: need to type a1# (example)
* A2: need to type a2#
you will type "<s-space>a1#a2#<s-space>". then gtkimmodule emit
following events.
<s-space> : preedit_start
a : preedit_change
1 : preedit_change
# : commit
a : preedit_change
2 : preedit_change
# : commit
<s-space> : preedit_end
(2) scim or uim
for example, japanese want to input multi-byte "[A1][A2]".
* A1: need to type a1# (example)
* A2: need to type a2#
japanese will type ...
<s-space>
a1#<space><cr>
a2#<space><cr>
<s-space>
gtkimmodule emit following events.
<s-space> : no events
a : preedit_start, preedit_change
1 : preedit_change
# : preedit_change
<space> : preedit_change
<cr> : commit, preedit_change, preedit_end
a : preedit_start, preedit_change
2 : preedit_change
# : preedit_change
<space> : preedit_change
<cr> : commit, preedit_change, preedit_end
<s-space> : no events
Thus, the range of "preedit_start" and "preedit_end" does not mean
that IM is active.
i.e. vim-gtk2 can't treat status of IM perfectly.
> >> Bram, how do you think about?
> >>
> >> If you accept above changes, I'll make a patch of fixing this.
> >> (I have already the patch roughly)
>
> BTW, was this problem caused by CursorIM supporting?
> Bram said:
> Looks like this is the usual mixup with using one flag for
> more than one thing. Perhaps we also need a
> "preedit_is_active" flag?
> Please think about it if you didn't.
Yes, my solution is the fixing of above. CursorIM is getting status of
IM from "im_get_status()".
But vim should set status of preediting for CursorIM. My roughly patch
is fixing this.
--
- Yasuhiro Matsumoto
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---