On Fr, 05 Jan 2024, '[email protected]' via vim_dev wrote:

> Specifying "wildignore" patterns in the initialization file prevent a file 
> matched by one of the patterns to be loaded when GVim is called with the 
> "--remote-silent" flag.
> 
> GVim: 9.1 [1-4]
> OS: Windows 10
> 
> default.vim
> ----------------------------
> set wildignore=*.a
> ----------------------------
> 
> Commands
> ----------------------------
> gvim -u default.vim                 test.a   // test.a is loaded
> gvim -u default.vim --remote-silent test.a   // test.a is not loaded
> gvim -u default.vim --remote-silent test.c   // test.c is loaded 
> ---------------------------- 

Hm, this builds a :drop command, so if you test using :drop test.a you 
will also get the error message "E479: No Match". 

I am not sure, if the drop command should by default ignore the 
wildignore setting, probably not, you could use :drop directory/* and 
would still ignore all files that match the wildignore pattern.

However, when using --remote-silent one probably wants to ignore the 
wildignore setting at least when only a single file is passed.

Here is a very simple patch, that saves and restores the wildignore 
setting when using `--remote`. Not sure if I should commit it.

diff --git a/src/clientserver.c b/src/clientserver.c
index cfc0ab661..a7273e376 100644
--- a/src/clientserver.c
+++ b/src/clientserver.c
@@ -566,6 +566,10 @@ build_drop_cmd(
     char_u     *p;
     char_u     *cdp;
     char_u     *cwd;
+    // reset wildignore temporarily
+    const char_u *wig[] =
+    {"<CR><C-\\><C-N>:let g:_wig=&wig|set wig=",
+     "<C-\\><C-N>:let &wig=g:_wig|unlet g:_wig<CR>"};

     if (filec > 0 && filev[0][0] == '+')
     {
@@ -596,9 +600,11 @@ build_drop_cmd(
     vim_free(cwd);
     if (cdp == NULL)
        return NULL;
-    ga_init2(&ga, 1, 100);
+    ga_init2(&ga, 1, 200);
     ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd ");
     ga_concat(&ga, cdp);
+    // reset wildignorecase temporarily
+    ga_concat(&ga, (char_u *)wig[0]);

     // Call inputsave() so that a prompt for an encryption key works.
     ga_concat(&ga, (char_u *)
@@ -650,6 +656,8 @@ build_drop_cmd(
     ga_concat(&ga, cdp);
     ga_concat(&ga, (char_u *)"'|cd -|endif|endif<CR>");
     vim_free(cdp);
+    // reset wildignorecase
+    ga_concat(&ga, (char_u *)wig[1]);

     if (sendReply)
        ga_concat(&ga, (char_u *)":call SetupRemoteReplies()<CR>");



Thanks,
Christian
-- 
I got the bill for my surgery.  Now I know what those doctors were
wearing masks for.
                -- James Boren

-- 
-- 
You received this message from the "vim_dev" 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_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/ZZhEfkiu6RdGAIpv%40256bit.org.

Raspunde prin e-mail lui