diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-11-25 15:09:35 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-11-25 15:09:35 +0000 |
commit | c1cf4c91072f91b6b8dd636627a4ddf6f4b21f16 (patch) | |
tree | 7ad101eee74d7a37d58407e1ea0800088ddf4d14 | |
parent | cc762a48d42b579fb7bdec2c614636b830342dd5 (diff) | |
download | vim-git-c1cf4c91072f91b6b8dd636627a4ddf6f4b21f16.tar.gz |
patch 9.0.0948: 'ttyfast' is set for arbitrary terminalsv9.0.0948
Problem: 'ttyfast' is set for arbitrary terminals.
Solution: Always set 'ttyfast'. (closes #11549)
-rw-r--r-- | runtime/doc/options.txt | 13 | ||||
-rw-r--r-- | runtime/doc/os_unix.txt | 9 | ||||
-rw-r--r-- | runtime/doc/os_vms.txt | 11 | ||||
-rw-r--r-- | runtime/doc/term.txt | 5 | ||||
-rw-r--r-- | src/optiondefs.h | 2 | ||||
-rw-r--r-- | src/os_unix.c | 18 | ||||
-rw-r--r-- | src/proto/os_unix.pro | 1 | ||||
-rw-r--r-- | src/term.c | 15 | ||||
-rw-r--r-- | src/version.c | 2 |
9 files changed, 22 insertions, 54 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index c730527cf..83a4904c3 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -8569,10 +8569,7 @@ A jump table for the options with a short description can be found at |Q_op|. xterm entries...). *'ttyfast'* *'tf'* *'nottyfast'* *'notf'* -'ttyfast' 'tf' boolean (default off, on when 'term' is xterm, hpterm, - sun-cmd, screen, rxvt, dtterm or - iris-ansi; also on when running Vim in - a DOS console) +'ttyfast' 'tf' boolean (default on) global Indicates a fast terminal connection. More characters will be sent to the screen for redrawing, instead of using insert/delete line @@ -8582,6 +8579,14 @@ A jump table for the options with a short description can be found at |Q_op|. line for lines that wrap. This helps when using copy/paste with the mouse in an xterm and other terminals. + The default used to be set only for some terminal names, but these + days nearly all terminals are fast, therefore the default is now "on". + If you have a slow connection you may want to set this option off, + e.g. depending on the host name: > + if hostname() =~ 'faraway' + set nottyfast + endif +< *'ttymouse'* *'ttym'* 'ttymouse' 'ttym' string (default depends on 'term') global diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt index 0b0f389bc..f875f160d 100644 --- a/runtime/doc/os_unix.txt +++ b/runtime/doc/os_unix.txt @@ -28,10 +28,11 @@ system() is used, which is a bit slower. The output of ":version" includes can be changed at compile time. (For forking of the GUI version see |gui-fork|.) -Because terminal updating under Unix is often slow (e.g. serial line -terminal, shell window in suntools), the 'showcmd' and 'ruler' options -are off by default. If you have a fast terminal, try setting them on. You -might also want to set 'ttyfast'. +For historic reasons terminal updating under Unix is expected to be slow (e.g. +serial line terminal, shell window in suntools), the 'showcmd' and 'ruler' +options are off by default. If you have a fast terminal, try setting them +on: > + set showcmd ruler When using Vim in an xterm the mouse clicks can be used by Vim by setting 'mouse' to "a". If there is access to an X-server gui style copy/paste will diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt index b2a159018..8ba12baa7 100644 --- a/runtime/doc/os_vms.txt +++ b/runtime/doc/os_vms.txt @@ -458,18 +458,11 @@ Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to Vim will also recognize that they are fast terminals. -If you have some annoying line jumping on the screen between windows add to -your .vimrc file: > - - set ttyfast " set fast terminal - -Note: if you're using Vim on remote host or through a very slow connection, it's -recommended to avoid the fast terminal option with: > +If you're using Vim on remote host or through a very slow connection, you +might want to reset fast terminal option with: > set nottyfast " set terminal to slow mode -(Zoltan Arpadffy, Vim 5.6) - 8.7 Hex-editing and other external tools diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt index fdbcc7d41..2bd83c712 100644 --- a/runtime/doc/term.txt +++ b/runtime/doc/term.txt @@ -768,8 +768,9 @@ See the "Options" chapter |options|. If your terminal does not support a scrolling region, but it does support insert/delete line commands, scrolling with multiple windows may make the -lines jump up and down. If you don't want this set the 'ttyfast' option. -This will redraw the window instead of scroll it. +lines jump up and down. This would happen if the 'ttyfast' option has been +reset. Check that with: > + verbose set ttyfast? If your terminal scrolls very slowly, but redrawing is not slow, set the 'ttyscroll' option to a small number, e.g., 3. This will make Vim redraw the diff --git a/src/optiondefs.h b/src/optiondefs.h index 0278b6061..e7eb357d7 100644 --- a/src/optiondefs.h +++ b/src/optiondefs.h @@ -2599,7 +2599,7 @@ static struct vimoption options[] = {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, {"ttyfast", "tf", P_BOOL|P_NO_MKRC|P_VI_DEF, (char_u *)&p_tf, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, + {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, {"ttymouse", "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF, #if defined(UNIX) || defined(VMS) (char_u *)&p_ttym, PV_NONE, diff --git a/src/os_unix.c b/src/os_unix.c index 0540fc950..fd6d35fed 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -2438,24 +2438,6 @@ vim_is_vt300(char_u *name) } /* - * Return TRUE if "name" is a terminal for which 'ttyfast' should be set. - * This should include all windowed terminal emulators. - */ - int -vim_is_fastterm(char_u *name) -{ - if (name == NULL) - return FALSE; - if (vim_is_xterm(name) || vim_is_vt300(name) || vim_is_iris(name)) - return TRUE; - return ( STRNICMP(name, "hpterm", 6) == 0 - || STRNICMP(name, "sun-cmd", 7) == 0 - || STRNICMP(name, "screen", 6) == 0 - || STRNICMP(name, "tmux", 4) == 0 - || STRNICMP(name, "dtterm", 6) == 0); -} - -/* * Insert user name in s[len]. * Return OK if a name found. */ diff --git a/src/proto/os_unix.pro b/src/proto/os_unix.pro index f30b78d26..926636440 100644 --- a/src/proto/os_unix.pro +++ b/src/proto/os_unix.pro @@ -23,7 +23,6 @@ int use_xterm_like_mouse(char_u *name); int use_xterm_mouse(void); int vim_is_iris(char_u *name); int vim_is_vt300(char_u *name); -int vim_is_fastterm(char_u *name); int mch_get_user_name(char_u *s, int len); int mch_get_uname(uid_t uid, char_u *s, int len); void mch_get_host_name(char_u *s, int len); diff --git a/src/term.c b/src/term.c index 8a428338a..ec3c3db5a 100644 --- a/src/term.c +++ b/src/term.c @@ -2174,21 +2174,6 @@ set_termname(char_u *term) } #endif -#if defined(UNIX) || defined(VMS) - /* - * 'ttyfast' is default on for xterm, iris-ansi and a few others. - */ - if (vim_is_fastterm(term)) - p_tf = TRUE; -#endif -#ifdef USE_TERM_CONSOLE - /* - * 'ttyfast' is default on consoles - */ - if (term_console) - p_tf = TRUE; -#endif - ttest(TRUE); // make sure we have a valid set of terminal codes full_screen = TRUE; // we can use termcap codes from now on diff --git a/src/version.c b/src/version.c index 5686005f3..8427210fd 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 948, +/**/ 947, /**/ 946, |