Bram Moolenaar wrote:
> Sung-Hyun Nam wrote:
> > > > Attached patch contains two items.
> > >
> > > It's probably better to keep these as two separate patches, so that
> > > people can decide to include one or both.
> > Sorry! I was lazy.
> > Anyway, if a multibyte user really want to split this patch, let me
> > know. I will do.
> I prefer to make two "official" patches out of this, since they are not
> directly related. One to fix the copy/paste problem for Eterm, another for
> multibyte in gvim.
I attach the splitted patches.
> > > > I mean, with this patch, gvim always connect to XIM if user use
> > > > over-the-spot.
> I'm not sure if I completely understand this. I thought that using
> XIM was either on or off for the whole gvim session. Is it possible
> to switch it on/off for each character that is obtained from the
> Perhaps you can explain this a bit more. Especially about the three
> methods "Root", "over-the-spot" and "off-the-spot", since that
> appears to make a big difference. I don't see it explained in
Sorry my weak english. But I can say the gvim with my patch works
same with the xterm vim. User can input multibyte in normal mode
if he use xterm vim (though vim just beeps).
If i use Eterm with XIM (It supports over-the-spot like gvim),
It always connect to XIM (There's no normal mode in xterm. ^_^).
So, vim in Eterm also connects to XIM even in normal mode.
If I use hanterm, localized xterm (you can imagine xterm has
HANGUL_INPUT code in vim), vim in hanterm acts like gvim +
on-the-spot (though gvim not yet support on-the-spot). With
on-the-spot, user can input multibyte character base. gvim got
character base from XIM program.
Over-the-spot, off-thespot, gvim gets multibyte word.
I mean XIM gets user input until user input non-multibyte-char.
After user input non-multibyte-char (Maybe always white-space, or
language toggle), it sends whole string to gvim.
Root method, gvim can get lines which include space or tab.
If user type <CR> or toggle language, XIM sends whole lines to gvim.
And input position is different. with Over-the-spot, user see his
input string on the cursor position. With off-the-spot, user see
his input string on the XIM status area. (You can imagine, user see
his normal command in the vim's status area).
With Root method, user should input multibyte in the window which
is pop-up by XIM, after user type <CR>, it sends to gvim window.
So, if user use Root method, and if gvim always connects to XIM,
it will be nightmare if he use gvim. He always switch between two
windows using mouse.
And if you see the multbyte.c, Root method is simple. Off-the-spot
is some complex. over-the-spot more complex. And on-the-spot, I
don't know well. Mozilla (CVS version) supports on-the-spot.
> > > I suppose that you don't need XIM in Normal mode, because Vim
> > > commands in Normal mode are not multi-byte characters. However,
> > > some _arguments_ to
> > ?? I can use multi-byte with 'f' command. vim56 patch 33 is only for
> > xterm version (Of course, user should use xterm which support multibyte
> > input/output such as Eterm, rxvt, localized xterm...)
> I mean, the "f" itself is not a multi-byte character, thus you don't need an
> input method to type it. Only the character that follows would require it,
> > In gui version, user could not input multibyte without XIM.
> > Because vim support multibyte in normal mode (with 'f' or 'r' ...),
> > gvim should always connect to XIM. I cannot input multibyte in normal
> > mode without my patch (though vim code support multibyte).
> XIM support was already there, your patch added using it for Normal mode,
> right? So now I wonder where else it might need to be added. Or perhaps
> where it should be removed?
> > I just think that option for off-the-spot because I'm not sure
> > off-the-spot user want to use XIM in normal mode only for 'f' or
> > 'r'
> Well, not for typing the 'f' or 'r' itself, I suppose, but for the character
> that follows.
I just want to say gvim with my patch now works same with xterm + vim.