aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/motion.txt4
-rw-r--r--runtime/doc/options.txt7
-rw-r--r--src/nvim/edit.c16
-rw-r--r--src/nvim/ex_docmd.c7
-rw-r--r--src/nvim/option_defs.h5
5 files changed, 11 insertions, 28 deletions
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 9219911f68..7f590180d1 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -354,10 +354,6 @@ or the last line. The first two commands put the cursor in the same column
except after the "$" command, then the cursor will be put on the last
character of the line.
-If "k", "-" or CTRL-P is used with a [count] and there are less than [count]
-lines above the cursor and the 'cpo' option includes the "-" flag it is an
-error. |cpo--|.
-
==============================================================================
4. Word motions *word-motions*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index bb58feb1d5..801e16d753 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1925,13 +1925,6 @@ A jump table for the options with a short description can be found at |Q_op|.
there is one). This works very well for C programs.
This flag is also used for other features, such as
C-indenting.
- *cpo--*
- - When included, a vertical movement command fails when
- it would go above the first line or below the last
- line. Without it the cursor moves to the first or
- last line, unless it already was in that line.
- Applies to the commands "-", "k", CTRL-P, "+", "j",
- CTRL-N, CTRL-J and ":1234".
*cpo-+*
+ When included, a ":write file" command will reset the
'modified' flag of the buffer, even though the buffer
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 682a9146f3..ffbe0e0348 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -5966,10 +5966,11 @@ cursor_up (
if (n > 0) {
lnum = curwin->w_cursor.lnum;
- /* This fails if the cursor is already in the first line or the count
- * is larger than the line number and '-' is in 'cpoptions' */
- if (lnum <= 1 || (n >= lnum && vim_strchr(p_cpo, CPO_MINUS) != NULL))
+
+ // This fails if the cursor is already in the first line.
+ if (lnum <= 1) {
return FAIL;
+ }
if (n >= lnum)
lnum = 1;
else if (hasAnyFolding(curwin)) {
@@ -6021,12 +6022,11 @@ cursor_down (
lnum = curwin->w_cursor.lnum;
/* Move to last line of fold, will fail if it's the end-of-file. */
(void)hasFolding(lnum, NULL, &lnum);
- /* This fails if the cursor is already in the last line or would move
- * beyond the last line and '-' is in 'cpoptions' */
- if (lnum >= curbuf->b_ml.ml_line_count
- || (lnum + n > curbuf->b_ml.ml_line_count
- && vim_strchr(p_cpo, CPO_MINUS) != NULL))
+
+ // This fails if the cursor is already in the last line.
+ if (lnum >= curbuf->b_ml.ml_line_count) {
return FAIL;
+ }
if (lnum + n >= curbuf->b_ml.ml_line_count)
lnum = curbuf->b_ml.ml_line_count;
else if (hasAnyFolding(curwin)) {
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index ee935773b4..b55b59453f 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -1684,12 +1684,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
}
} else if (ea.addr_count != 0) {
if (ea.line2 > curbuf->b_ml.ml_line_count) {
- /* With '-' in 'cpoptions' a line number past the file is an
- * error, otherwise put it at the end of the file. */
- if (vim_strchr(p_cpo, CPO_MINUS) != NULL)
- ea.line2 = -1;
- else
- ea.line2 = curbuf->b_ml.ml_line_count;
+ ea.line2 = curbuf->b_ml.ml_line_count;
}
if (ea.line2 < 0)
diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h
index 5e85b4bbea..de8816af0a 100644
--- a/src/nvim/option_defs.h
+++ b/src/nvim/option_defs.h
@@ -127,7 +127,6 @@
#define CPO_FILTER '!'
#define CPO_MATCH '%'
#define CPO_PLUS '+' /* ":write file" resets 'modified' */
-#define CPO_MINUS '-' /* "9-" fails at and before line 9 */
#define CPO_SPECI '<' /* don't recognize <> in mappings */
#define CPO_REGAPPEND '>' /* insert NL when appending to a register */
/* POSIX flags */
@@ -142,9 +141,9 @@
* cursor would not move */
/* default values for Vim, Vi and POSIX */
#define CPO_VIM "aABceFs"
-#define CPO_VI "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%-+<>;"
+#define CPO_VI "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%+<>;"
#define CPO_ALL \
- "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%-+<>#{|&/\\.;"
+ "aAbBcCdDeEfFiIjJkKlLmMnoOpPqrRsStuvWxXyZ$!%+<>#{|&/\\.;"
/* characters for p_ww option: */
#define WW_ALL "bshl<>[],~"