Odd cursor repositioning upon clientserver request

4 views
Skip to first unread message

Ben Schmidt

unread,
Jun 3, 2008, 1:24:46 AM6/3/08
to vim...@googlegroups.com, vim...@googlegroups.com
Ben Schmidt wrote:
> Hi, Björn,
>
> I've found a few bugs. Here's one:
>
> Start a MacVim instance, then run this in a bash shell in Terminal.app or such:
>
> while true ; do mvim --remote-expr mode\(\) ; sleep 2 ; done
>
> Modify it to reference the correct MacVim instance if necessary using --servername
> (find it with :echo v:servername). You can enjoy the output scrolling past as you
> use that MacVim window, but that is irrelevant. This is the oddity: if you enter
> command-line mode (press ':'), when the remote request is processed, the cursor
> moves out of the command-line and into the buffer (where it was before entering
> command-line mode). Further typing moves it back into the command-line, so it is
> still really there, but something in how MacVim handles remote requests must be
> moving it when it shouldn't.
>
> Cheers,
>
> Ben.

Actually, this isn't MacVim specific as it happens in the GTK GUI, too (change
mvim to gvim in the above). Let's see if the vim_dev guys have some ideas/a fix or
whether Bram can add it to the todo!

Ben.


Tony Mechelynck

unread,
Jun 3, 2008, 2:29:13 AM6/3/08
to vim...@googlegroups.com, vim...@googlegroups.com

VIM - Vi IMproved 7.1 (2007 May 12, compiled May 29 2008 23:03:50)
Included patches: 1-305
Modified by Bram Moolenaar (floating point)
Compiled by antoine.m...@skynet.be
Huge version with GTK2-GNOME GUI. Features included (+) or not (-):
[...]

Hmm... when typing an ex-command, the client displays "c" as the value
of mode() in the server, the typed command appears where it should,
etc., but the cursor jumps to the active editing window whenever a
--remote-send command is evaluated. Typing the next character of the
ex-command brings the cursor back where it belongs. This seems like a
cosmetic question to me -- and of course it can only happen when a
single instance of Vim is used both as a keyboard-driven editor and as a
server for the --clientserver facility at the same time.

This is on Linux; both server and client were started from a KDE konsole
terminal in a manner quite similar to the above:

gvim --servername gvim
while true; do vim --servername gvim --remote-send mode\(\); sleep 2; done;


Best regards,
Tony.
--
Let's just say that where a change was required, I adjusted. In every
relationship that exists, people have to seek a way to survive. If you
really care about the person, you do what's necessary, or that's the
end. For the first time, I found that I really could change, and the
qualities I most admired in myself I gave up. I stopped being loud and
bossy ... Oh, all right. I was still loud and bossy, but only behind
his back."
-- Kate Hepburn, on Tracy and Hepburn

Reply all
Reply to author
Forward
0 new messages