diff options
-rw-r--r-- | runtime/doc/change.txt | 3 | ||||
-rw-r--r-- | runtime/doc/options.txt | 4 | ||||
-rw-r--r-- | src/nvim/edit.c | 7 | ||||
-rw-r--r-- | src/nvim/ops.c | 8 | ||||
-rw-r--r-- | src/nvim/option_defs.h | 5 | ||||
-rw-r--r-- | src/nvim/search.c | 6 |
6 files changed, 12 insertions, 21 deletions
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index 373431b481..122e76d0d3 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -147,8 +147,7 @@ These commands, except "gJ", insert one space in place of the <EOL> unless there is trailing white space or the next line starts with a ')'. These commands, except "gJ", delete any leading white space on the next line. If the 'joinspaces' option is on, these commands insert two spaces after a '.', -'!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces -only after a '.'). +'!' or '?'. The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting spaces before and after a multi-byte character |fo-table|. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 801e16d753..fadcbac9f1 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1779,9 +1779,6 @@ A jump table for the options with a short description can be found at |Q_op|. *cpo-I* I When moving the cursor up or down just after inserting indent for 'autoindent', do not delete the indent. - *cpo-j* - j When joining lines, only add two spaces after a '.', - not after '!' or '?'. Also see 'joinspaces'. *cpo-J* J A |sentence| has to be followed by two spaces after the '.', '!' or '?'. A <Tab> is not recognized as @@ -4024,7 +4021,6 @@ A jump table for the options with a short description can be found at |Q_op|. 'joinspaces' 'js' boolean (default on) global Insert two spaces after a '.', '?' and '!' with a join command. - When 'cpoptions' includes the 'j' flag, only do this after a '.'. Otherwise only one space is inserted. *'key'* diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 31a5c54c20..9704295aaa 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -3719,11 +3719,10 @@ static int ins_compl_get_exp(pos_T *ini) /* IObuf =~ "\k.* ", thus len >= 2 */ if (p_js && (IObuff[len - 2] == '.' - || (vim_strchr(p_cpo, CPO_JOINSP) - == NULL - && (IObuff[len - 2] == '?' - || IObuff[len - 2] == '!')))) + || IObuff[len - 2] == '?' + || IObuff[len - 2] == '!')) { IObuff[len++] = ' '; + } } /* copy as much as possible of the new word */ if (tmp_ptr - ptr >= IOSIZE - len) diff --git a/src/nvim/ops.c b/src/nvim/ops.c index dfc41d5685..0b95dd4642 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -3460,12 +3460,10 @@ int do_join(long count, endcurr1 = endcurr2; else ++spaces[t]; - /* extra space when 'joinspaces' set and line ends in '.' */ - if ( p_js - && (endcurr1 == '.' - || (vim_strchr(p_cpo, CPO_JOINSP) == NULL - && (endcurr1 == '?' || endcurr1 == '!')))) + // Extra space when 'joinspaces' set and line ends in '.', '?', or '!'. + if (p_js && (endcurr1 == '.' || endcurr1 == '?' || endcurr1 == '!')) { ++spaces[t]; + } } } currsize = (int)STRLEN(curr); diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index de8816af0a..80f2373a85 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -97,7 +97,6 @@ #define CPO_FNAMEW 'F' /* set file name for ":w file" */ #define CPO_INTMOD 'i' /* interrupt a read makes buffer modified */ #define CPO_INDENT 'I' /* remove auto-indent more often */ -#define CPO_JOINSP 'j' /* only use two spaces for join after '.' */ #define CPO_ENDOFSENT 'J' /* need two spaces to detect end of sentence */ #define CPO_KEYCODE 'k' /* don't recognize raw key code in mappings */ #define CPO_KOFFSET 'K' /* don't wait for key code in mappings */ @@ -141,9 +140,9 @@ * cursor would not move */ /* default values for Vim, Vi and POSIX */ #define CPO_VIM "aABceFs" -#define CPO_VI "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%+<>;" +#define CPO_VI "aAbBcCdDeEfFiIJkKlLmMnoOpPqrRsStuvWxXyZ$!%+<>;" #define CPO_ALL \ - "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%+<>#{|&/\\.;" + "aAbBcCdDeEfFiIJkKlLmMnoOpPqrRsStuvWxXyZ$!%+<>#{|&/\\.;" /* characters for p_ww option: */ #define WW_ALL "bshl<>[],~" diff --git a/src/nvim/search.c b/src/nvim/search.c index 464e112900..e10504973b 100644 --- a/src/nvim/search.c +++ b/src/nvim/search.c @@ -4335,10 +4335,10 @@ search_line: /* IObuf =~ "\(\k\|\i\).* ", thus i >= 2*/ if (p_js && (IObuff[i-2] == '.' - || (vim_strchr(p_cpo, CPO_JOINSP) == NULL - && (IObuff[i-2] == '?' - || IObuff[i-2] == '!')))) + || IObuff[i-2] == '?' + || IObuff[i-2] == '!')) { IObuff[i++] = ' '; + } } /* copy as much as possible of the new word */ if (p - aux >= IOSIZE - i) |