From 11957f51cc541efe3e4d5379191fa85dcdc50c45 Mon Sep 17 00:00:00 2001 From: Dundar Goc Date: Wed, 18 May 2022 22:58:10 +0200 Subject: [PATCH 1/2] refactor!: remove 'remap' option An option that should always be kept on except for when working with old Vi scripts is of little use to us. --- runtime/doc/map.txt | 5 ++--- runtime/doc/options.txt | 9 --------- runtime/doc/quickref.txt | 1 - runtime/doc/vim_diff.txt | 1 + runtime/optwin.vim | 1 - src/nvim/getchar.c | 3 +-- src/nvim/option_defs.h | 1 - src/nvim/options.lua | 4 ++-- 8 files changed, 6 insertions(+), 19 deletions(-) diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 056e6c3b56..98da68b76a 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -796,9 +796,8 @@ command. For example: > :noremap j k This will exchange the cursor up and down commands. -With the normal :map command, when the 'remap' option is on, mapping takes -place until the text is found not to be a part of a {lhs}. For example, if -you use: > +With the normal :map command mapping takes place until the text is found not +to be a part of a {lhs}. For example, if you use: > :map x y :map y x Vim will replace x with y, and then y with x, etc. When this has happened diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 4022bc4334..96fd0f4478 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -4800,15 +4800,6 @@ A jump table for the options with a short description can be found at |Q_op|. 'number', see |number_relativenumber| for all combinations of the two options. - *'remap'* *'noremap'* -'remap' boolean (default on) - global - Allows for mappings to work recursively. If you do not want this for - a single entry, use the :noremap[!] command. - NOTE: To avoid portability problems with Vim scripts, always keep - this option at the default "on". Only switch it off when working with - old Vi scripts. - *'report'* 'report' number (default 2) global diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index 961d734bfe..b0bfc50da1 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -824,7 +824,6 @@ Short explanation of each option: *option-list* 'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting 'regexpengine' 're' default regexp engine to use 'relativenumber' 'rnu' show relative line number in front of each line -'remap' allow mappings to work recursively 'report' threshold for reporting nr. of lines changed 'revins' 'ri' inserting characters will work backwards 'rightleft' 'rl' window is right-to-left oriented diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index fc98331697..32b345f113 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -548,6 +548,7 @@ Options: 'maxmemtot' Nvim delegates memory-management to the OS. 'maxcombine' (6 is always used) *'prompt'* *'noprompt'* + *'remap'* *'noremap'* *'restorescreen'* *'rs'* *'norestorescreen'* *'nors'* 'shelltype' *'shortname'* *'sn'* *'noshortname'* *'nosn'* diff --git a/runtime/optwin.vim b/runtime/optwin.vim index a13e945098..493f7b57d0 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -956,7 +956,6 @@ call Header("mapping") call append("$", "maxmapdepth\tmaximum depth of mapping") call append("$", " \tset mmd=" . &mmd) call append("$", "remap\trecognize mappings in mapped keys") -call BinOptionG("remap", &remap) call append("$", "timeout\tallow timing out halfway into a mapping") call BinOptionG("to", &to) call append("$", "ttimeout\tallow timing out halfway into a key code") diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 2cc068b30d..8881263d1c 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -1881,8 +1881,7 @@ static int handle_mapping(int *keylenp, bool *timedout, int *mapdepth) if (no_mapping == 0 && maphash_valid && (no_zero_mapping == 0 || tb_c1 != '0') && (typebuf.tb_maplen == 0 || is_plug_map - || (p_remap - && !(typebuf.tb_noremap[typebuf.tb_off] & (RM_NONE|RM_ABBR)))) + || (!(typebuf.tb_noremap[typebuf.tb_off] & (RM_NONE|RM_ABBR)))) && !(p_paste && (State & (MODE_INSERT | MODE_CMDLINE))) && !(State == MODE_HITRETURN && (tb_c1 == CAR || tb_c1 == ' ')) && State != MODE_ASKMORE diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index f5c7ae07bb..777c86bd06 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -557,7 +557,6 @@ static char *(p_rdb_values[]) = { #define RDB_NODELTA 0x008 EXTERN long p_rdt; // 'redrawtime' -EXTERN int p_remap; // 'remap' EXTERN long p_re; // 'regexpengine' EXTERN long p_report; // 'report' EXTERN long p_pvh; // 'previewheight' diff --git a/src/nvim/options.lua b/src/nvim/options.lua index eb92d47fc8..9b9843e3f9 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -1911,9 +1911,9 @@ return { }, { full_name='remap', - short_desc=N_("mappings to work recursively"), + short_desc=N_("No description"), type='bool', scope={'global'}, - varname='p_remap', + varname='p_force_on', defaults={if_true=true} }, { From 97fc68850ff349a32f226117e04c37647966b2ff Mon Sep 17 00:00:00 2001 From: Dundar Goc Date: Wed, 18 May 2022 23:57:18 +0200 Subject: [PATCH 2/2] refactor!: remove 'terse' option Having two methods of setting the same option is redundant and can be potentially confusing. Recommend adding 's' to 'shortmess' instead. --- runtime/doc/options.txt | 7 ------- runtime/doc/quickref.txt | 1 - runtime/doc/vim_diff.txt | 1 + src/nvim/option.c | 12 ------------ src/nvim/option_defs.h | 1 - src/nvim/options.lua | 4 ++-- 6 files changed, 3 insertions(+), 23 deletions(-) diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 96fd0f4478..b49512e1e6 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -6471,13 +6471,6 @@ A jump table for the options with a short description can be found at |Q_op|. C1 Control characters 0x80...0x9F - *'terse'* *'noterse'* -'terse' boolean (default off) - global - When set: Add 's' flag to 'shortmess' option (this makes the message - for a search that hits the start or end of the file not being - displayed). When reset: Remove 's' flag from 'shortmess' option. - *'textwidth'* *'tw'* 'textwidth' 'tw' number (default 0) local to buffer diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index b0bfc50da1..ff7e2ab400 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -895,7 +895,6 @@ Short explanation of each option: *option-list* 'tagstack' 'tgst' push tags onto the tag stack 'term' name of the terminal 'termbidi' 'tbidi' terminal takes care of bi-directionality -'terse' shorten some messages 'textwidth' 'tw' maximum width of text that is being inserted 'thesaurus' 'tsr' list of thesaurus files for keyword completion 'thesaurusfunc' 'tsrfu' function to be used for thesaurus completion diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 32b345f113..c926337b47 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -554,6 +554,7 @@ Options: *'shortname'* *'sn'* *'noshortname'* *'nosn'* *'swapsync'* *'sws'* *'termencoding'* *'tenc'* (Vim 7.4.852 also removed this for Windows) + *'terse'* *'noterse'* (Add "s" to 'shortmess' instead) 'textauto' 'textmode' *'toolbar'* *'tb'* diff --git a/src/nvim/option.c b/src/nvim/option.c index 2ee6c175bb..61ac542fcf 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -4049,18 +4049,6 @@ static char *set_bool_option(const int opt_idx, char_u *const varp, const int va // buf->b_p_swf mf_close_file(curbuf, true); // remove the swap file } - } else if ((int *)varp == &p_terse) { - // when 'terse' is set change 'shortmess' - char *p = vim_strchr((char *)p_shm, SHM_SEARCH); - - // insert 's' in p_shm - if (p_terse && p == NULL) { - STRCPY(IObuff, p_shm); - STRCAT(IObuff, "s"); - set_string_option_direct("shm", -1, IObuff, OPT_FREE, 0); - } else if (!p_terse && p != NULL) { // remove 's' from p_shm - STRMOVE(p, p + 1); - } } else if ((int *)varp == &p_paste) { // when 'paste' is set or reset also change other options paste_option_changed(); diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index 777c86bd06..876acf2f87 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -678,7 +678,6 @@ EXTERN int p_tr; ///< 'tagrelative' EXTERN char_u *p_tags; ///< 'tags' EXTERN int p_tgst; ///< 'tagstack' EXTERN int p_tbidi; ///< 'termbidi' -EXTERN int p_terse; ///< 'terse' EXTERN int p_to; ///< 'tildeop' EXTERN int p_timeout; ///< 'timeout' EXTERN long p_tm; ///< 'timeoutlen' diff --git a/src/nvim/options.lua b/src/nvim/options.lua index 9b9843e3f9..809d4ab48b 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -2529,9 +2529,9 @@ return { }, { full_name='terse', - short_desc=N_("hides notification of search wrap"), + short_desc=N_("No description"), type='bool', scope={'global'}, - varname='p_terse', + varname='p_force_off', defaults={if_true=false} }, {