aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJurica Bradaric <jbradaric@gmail.com>2016-01-28 18:35:20 +0100
committerJurica Bradaric <jbradaric@gmail.com>2016-02-01 09:04:08 +0100
commit208f9dd09d6d9d12679ad57cf1583f330665f7ad (patch)
treec7e1a7a53fe8f80d72ec2c983173fb2e7a8539c1 /src
parent76086b36b777440a79b77e8c7a3670f5b0003917 (diff)
downloadrneovim-208f9dd09d6d9d12679ad57cf1583f330665f7ad.tar.gz
rneovim-208f9dd09d6d9d12679ad57cf1583f330665f7ad.tar.bz2
rneovim-208f9dd09d6d9d12679ad57cf1583f330665f7ad.zip
vim-patch:7.4.740
Problem: ":1quit" works like ":.quit". (Bohr Shaw) Solution: Don't exit Vim when a range is specified. (Christian Brabandt) https://github.com/vim/vim/commit/c7a0d32c834ff321491d8fd7bc68bf6cabd11e44
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_docmd.c9
-rw-r--r--src/nvim/testdir/test13.in6
-rw-r--r--src/nvim/testdir/test13.ok1
-rw-r--r--src/nvim/version.c2
4 files changed, 15 insertions, 3 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 1ae440c757..cb8f91328d 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -5656,8 +5656,13 @@ static void ex_quit(exarg_T *eap)
|| (only_one_window() && check_changed_any(eap->forceit))) {
not_exiting();
} else {
- if (only_one_window()) {
- // quit last window
+ // quit last window
+ // Note: only_one_window() returns true, even so a help window is
+ // still open. In that case only quit, if no address has been
+ // specified. Example:
+ // :h|wincmd w|1q - don't quit
+ // :h|wincmd w|q - quit
+ if (only_one_window() && (firstwin == lastwin || eap->addr_count == 0)) {
getout(0);
}
/* close window; may free buffer */
diff --git a/src/nvim/testdir/test13.in b/src/nvim/testdir/test13.in
index cb8a6fff89..cbf78c7367 100644
--- a/src/nvim/testdir/test13.in
+++ b/src/nvim/testdir/test13.in
@@ -48,6 +48,12 @@ otestje3
:au BufWipeout Xtestje1 buf Xtestje1
:bwipe
:w >>test.out
+:only
+:help
+:wincmd w
+:1quit
+:$put ='Final line'
+:$w >>test.out
:qa!
ENDTEST
diff --git a/src/nvim/testdir/test13.ok b/src/nvim/testdir/test13.ok
index 0f1fc347a4..66ebce63f7 100644
--- a/src/nvim/testdir/test13.ok
+++ b/src/nvim/testdir/test13.ok
@@ -28,3 +28,4 @@ testje1
contents
contents
end of testfile
+Final line
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 030825c6f1..bbb3a4d7bb 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -422,7 +422,7 @@ static int included_patches[] = {
// 743,
// 742,
741,
- // 740,
+ 740,
739,
// 738 NA
// 737,