comparison src/ex_cmds.c @ 16451:7ae2396cef62 v8.1.1230

patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe commit https://github.com/vim/vim/commit/afde13b62b8fa25dac4635d5caee8d088b937ee0 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 28 19:46:49 2019 +0200 patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe Problem: A lot of code is shared between vim.exe and gvim.exe. Solution: Optionally put the shared code in vim.dll. (Ken Takata, closes #4287)
author Bram Moolenaar <Bram@vim.org>
date Sun, 28 Apr 2019 20:00:10 +0200
parents 54ffc82f38a8
children 4e9bea9b8025
comparison
equal deleted inserted replaced
16450:bf74bce807e8 16451:7ae2396cef62
1535 do_shell( 1535 do_shell(
1536 char_u *cmd, 1536 char_u *cmd,
1537 int flags) /* may be SHELL_DOOUT when output is redirected */ 1537 int flags) /* may be SHELL_DOOUT when output is redirected */
1538 { 1538 {
1539 buf_T *buf; 1539 buf_T *buf;
1540 #ifndef FEAT_GUI_MSWIN 1540 #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
1541 int save_nwr; 1541 int save_nwr;
1542 #endif 1542 #endif
1543 #ifdef MSWIN 1543 #ifdef MSWIN
1544 int winstart = FALSE; 1544 int winstart = FALSE;
1545 int keep_termcap = FALSE; 1545 int keep_termcap = FALSE;
1634 * For ":sh" there is no need to call wait_return(), just redraw. 1634 * For ":sh" there is no need to call wait_return(), just redraw.
1635 * Also for the Win32 GUI (the output is in a console window). 1635 * Also for the Win32 GUI (the output is in a console window).
1636 * Otherwise there is probably text on the screen that the user wants 1636 * Otherwise there is probably text on the screen that the user wants
1637 * to read before redrawing, so call wait_return(). 1637 * to read before redrawing, so call wait_return().
1638 */ 1638 */
1639 #ifndef FEAT_GUI_MSWIN 1639 #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
1640 if (cmd == NULL 1640 # ifdef VIMDLL
1641 if (!gui.in_use)
1642 # endif
1643 {
1644 if (cmd == NULL
1641 # ifdef MSWIN 1645 # ifdef MSWIN
1642 || (keep_termcap && !need_wait_return) 1646 || (keep_termcap && !need_wait_return)
1643 # endif 1647 # endif
1644 ) 1648 )
1645 { 1649 {
1646 if (msg_silent == 0) 1650 if (msg_silent == 0)
1647 redraw_later_clear(); 1651 redraw_later_clear();
1648 need_wait_return = FALSE; 1652 need_wait_return = FALSE;
1649 } 1653 }
1650 else 1654 else
1651 { 1655 {
1652 /* 1656 /*
1653 * If we switch screens when starttermcap() is called, we really 1657 * If we switch screens when starttermcap() is called, we
1654 * want to wait for "hit return to continue". 1658 * really want to wait for "hit return to continue".
1655 */ 1659 */
1656 save_nwr = no_wait_return; 1660 save_nwr = no_wait_return;
1657 if (swapping_screen()) 1661 if (swapping_screen())
1658 no_wait_return = FALSE; 1662 no_wait_return = FALSE;
1659 # ifdef AMIGA 1663 # ifdef AMIGA
1660 wait_return(term_console ? -1 : msg_silent == 0); /* see below */ 1664 wait_return(term_console ? -1 : msg_silent == 0); // see below
1661 # else 1665 # else
1662 wait_return(msg_silent == 0); 1666 wait_return(msg_silent == 0);
1663 # endif 1667 # endif
1664 no_wait_return = save_nwr; 1668 no_wait_return = save_nwr;
1669 }
1665 } 1670 }
1666 #endif /* FEAT_GUI_MSWIN */ 1671 #endif /* FEAT_GUI_MSWIN */
1667 1672
1668 #ifdef MSWIN 1673 #ifdef MSWIN
1669 if (!keep_termcap) // if keep_termcap is TRUE didn't stop termcap 1674 if (!keep_termcap) // if keep_termcap is TRUE didn't stop termcap