updated for version 7.3.544
Problem:    There is no good way to close a quickfix window when closing the
            last ordinary window.
Solution:   Add the QuitPre autocommand.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c1640a3..8d9ceb7 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -6458,6 +6458,7 @@
 	return;
     }
 #ifdef FEAT_AUTOCMD
+    apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
     if (curbuf_locked())
 	return;
 #endif
diff --git a/src/fileio.c b/src/fileio.c
index 6fe1127..0781424 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7678,6 +7678,7 @@
     {"MenuPopup",	EVENT_MENUPOPUP},
     {"QuickFixCmdPost",	EVENT_QUICKFIXCMDPOST},
     {"QuickFixCmdPre",	EVENT_QUICKFIXCMDPRE},
+    {"QuitPre",		EVENT_QUITPRE},
     {"RemoteReply",	EVENT_REMOTEREPLY},
     {"SessionLoadPost",	EVENT_SESSIONLOADPOST},
     {"ShellCmdPost",	EVENT_SHELLCMDPOST},
diff --git a/src/version.c b/src/version.c
index 9a573a0..8f98f51 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    544,
+/**/
     543,
 /**/
     542,
diff --git a/src/vim.h b/src/vim.h
index d63551d..41aba5d 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1264,8 +1264,9 @@
     EVENT_INSERTENTER,		/* when entering Insert mode */
     EVENT_INSERTLEAVE,		/* when leaving Insert mode */
     EVENT_MENUPOPUP,		/* just before popup menu is displayed */
-    EVENT_QUICKFIXCMDPOST,	/* after :make, :grep etc */
-    EVENT_QUICKFIXCMDPRE,	/* before :make, :grep etc */
+    EVENT_QUICKFIXCMDPOST,	/* after :make, :grep etc. */
+    EVENT_QUICKFIXCMDPRE,	/* before :make, :grep etc. */
+    EVENT_QUITPRE,		/* before :quit */
     EVENT_SESSIONLOADPOST,	/* after loading a session file */
     EVENT_STDINREADPOST,	/* after reading from stdin */
     EVENT_STDINREADPRE,		/* before reading from stdin */