runtime(doc): Expand docs on :! vs. :term

Commit: 
https://github.com/vim/vim/commit/a01148d2cb2f8d2820a5b95474d11db0d1802360
Author: matveyt <matthewtara...@yandex.ru>
Date:   Sat Nov 23 14:19:58 2024 +0100

    runtime(doc): Expand docs on :! vs. :term
    
    fixes: https://github.com/vim/vim/issues/16071
    closes: https://github.com/vim/vim/issues/16089
    
    Signed-off-by: matveyt <matthewtara...@yandex.ru>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/doc/tags b/runtime/doc/tags
index cdb642e3d..f33988020 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -10643,6 +10643,7 @@ template        autocmd.txt     /*template*
 tempname()     builtin.txt     /*tempname()*
 term++close    terminal.txt    /*term++close*
 term++open     terminal.txt    /*term++open*
+term++shell    terminal.txt    /*term++shell*
 term-dependent-settings        term.txt        /*term-dependent-settings*
 term-list      syntax.txt      /*term-list*
 term.txt       term.txt        /*term.txt*
@@ -10723,6 +10724,7 @@ terminal-job-index      index.txt       
/*terminal-job-index*
 terminal-key-codes     term.txt        /*terminal-key-codes*
 terminal-mouse term.txt        /*terminal-mouse*
 terminal-ms-windows    terminal.txt    /*terminal-ms-windows*
+terminal-nospecial     terminal.txt    /*terminal-nospecial*
 terminal-options       term.txt        /*terminal-options*
 terminal-output-codes  term.txt        /*terminal-output-codes*
 terminal-resizing      terminal.txt    /*terminal-resizing*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 593dec77c..a0bfd6034 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt* For Vim version 9.1.  Last change: 2024 Nov 19
+*terminal.txt* For Vim version 9.1.  Last change: 2024 Nov 23
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -197,6 +197,13 @@ Command syntax ~
                        if [command] is NONE no job is started, the pty of the
                        terminal can be used by a command like gdb.
 
+                                                       *terminal-nospecial*
+                       Vim itself only recognizes |cmdline-special|
+                       characters inside [command].  Everything else will be
+                       passed untouched.  When needed to expand wildcards,
+                       environment variables or other shell specials consider
+                       |term++shell| option.
+
                        If [command] is missing the default behavior is to
                        close the terminal when the shell exits.  This can be
                        changed with the ++noclose argument.
@@ -241,10 +248,16 @@ Command syntax ~
                                        no window will be used.
                        ++norestore     Do not include this terminal window
                                        in a session file.
+
+                                               *term++shell*
                        ++shell         Instead of executing {command}
                                        directly, use a shell, like with
                                        `:!command`             *E279*
                                        {only works on Unix and MS-Windows}
+                                       The resulting command will look like
+                                       'shell' 'shellcmdflag' [command]
+                                       Other options related to `:!command`
+                                       have no effect.
                        ++kill={how}    When trying to close the terminal
                                        window kill the job with {how}.  See
                                        |term_setkill()| for the values.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 5f0ad0635..0ebcd0684 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 9.1.  Last change: 2024 Nov 12
+*various.txt*   For Vim version 9.1.  Last change: 2024 Nov 23
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -256,6 +256,17 @@ g8                 Print the hex values of the bytes used 
in the
 :!{cmd}                        Execute {cmd} with the shell.  See also the 
'shell'
                        and 'shelltype' option.  For the filter command, see
                        |:range!|.
+
+                       Vim builds command line using options 'shell', 'shcf',
+                       'sxq' and 'shq' in the following order:
+                       `&sh &shcf &sxq &shq {cmd} &shq &sxq`
+                       So setting both 'sxq' and 'shq' is possible but rarely
+                       useful.  Additional escaping inside `{cmd}` may also
+                       be due to 'sxe' option.
+
+                       Also, all |cmdline-special| characters in {cmd} are
+                       replaced by Vim before passing them to shell.
+
                                                        *E34*
                        Any '!' in {cmd} is replaced with the previous
                        external command (see also 'cpoptions').  But not when
@@ -306,7 +317,10 @@ g8                 Print the hex values of the bytes used 
in the
                        CTRL-L or ":redraw!" if the command did display
                        something.  However, this depends on what the |t_ti|
                        and |t_te| termcap entries are set to.
-                       Also see |shell-window|.
+
+                       Hint: use |:terminal| command if you want to run {cmd}
+                       in Vim window.  `:term ++shell ++close {cmd}` could
+                       serve as close approximation to what `:!{cmd}` does.
 
                                                        *:!!*
 :!!                    Repeat last ":!{cmd}".

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1tEqD5-00GjMe-Qp%40256bit.org.

Raspunde prin e-mail lui