> On Mi, 07 Sep 2022, Andrew Bernard wrote:
> 
> > Sorry, this is all too hard it would seem. To explain in it in detail you
> > would have to read how to use point and click with PDFs made by Lilypond.
> > 
> > The program gvim is producing unwanted messages when invoked with a remote
> > call and produces a needless pres ENTER, when all one wants is for the
> > remote call to go to the line and column.
> > 
> > If there is any interest still, here is an example call:
> > 
> > gvim --remote "+3:norm4" test.ly
> > 
> > Apologies if I left this out. I thought people would be familiar with
> > textedit URLs and how to use them. I suppose that sort of call is not
> > obvious after all.
> 
> Ah, so this comes from the --remote call. 

That was the missing info.  This leads to the remote server feature,
which builds a sequence of commands and sends it to the server.

For me it already helps to set 'cmdheight' to 2 or more.

> Interesting, that the :norm4 works, because there is no pipe after it. 
> But it looks like Vim builds up the whole string dynamically and adds an 
> '|' at the end automatically.
> 
> However, I think this silently breaks, because the ":norm" sees 
> everything after it as belonging to it, so in this case the '|' does not 
> really end the user specified command and therefore you see this 
> message. I messed around briefly, trying to wrap everything into an :exe 
> expression (or using :call cursor), but at least, this did not seem to 
> work on my windows environment.
> 
> A possible work-around would be to it build the whole command yourself 
> by using, e.g. --remote-send "<c-\><c-N>:e +3|norm4| .bashrc<cr>"
> 
> or:
> 
> --remote-send "<c-\><c-n>:e .bashrc<cr>|:e|norm4|<cr>"
> 
> I wonder if this would work better with the following patch, by wrapping 
> everything into an :exe call.
> 
> diff --git a/src/clientserver.c b/src/clientserver.c
> index bb2108d7d..c4489c953 100644
> --- a/src/clientserver.c
> +++ b/src/clientserver.c
> @@ -654,8 +654,9 @@ build_drop_cmd(
>         // Can't use <CR> after "inicmd", because a "startinsert" would cause
>         // the following commands to be inserted as text.  Use a "|",
>         // hopefully "inicmd" does allow this...
> +       ga_concat(&ga, (char_u *)":exe \"");
>         ga_concat(&ga, inicmd);
> -       ga_concat(&ga, (char_u *)"|");
> +       ga_concat(&ga, (char_u *)"\"|");
>      }
>      // Bring the window to the foreground, goto Insert mode when 'im' set and
>      // clear command line.

The main problem is that on the server this is received as a command and
put in the input buffer, after which it is executed almost as typed.

Instead of building the command on the client, which can end up being a
bit long, we could send the minimal information to the server and
expand it into the right commands there.  We already have
runtime/plugin/rrhelper.vim.

-- 
Shift happens.
                -- Doppler

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_use+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/20220907120332.616D71C0CE4%40moolenaar.net.

Reply via email to