diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index c35e899..ea9a220 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1214,6 +1214,7 @@
 				To detect an abnormal exit use |v:dying|.
 				When v:dying is 2 or more this event is not
 				triggered.
+				To get the exit code use |v:exiting|.
 							*VimLeavePre*
 VimLeavePre			Before exiting Vim, just before writing the
 				.viminfo file.  This is executed only once,
@@ -1224,6 +1225,7 @@
 <				To detect an abnormal exit use |v:dying|.
 				When v:dying is 2 or more this event is not
 				triggered.
+				To get the exit code use |v:exiting|.
 							*VimResized*
 VimResized			After the Vim window was resized, thus 'lines'
 				and/or 'columns' changed.  Not when starting
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 72a66d5..6f594ab 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1850,6 +1850,13 @@
 <		Note: if another deadly signal is caught when v:dying is one,
 		VimLeave autocommands will not be executed.
 
+					*v:exiting* *exiting-variable*
+v:exiting	Vim exit code.  Normally zero, non-zero when something went
+		wrong.  The value is v:null before invoking the |VimLeavePre|
+		and |VimLeave| autocmds.  See |:q|, |:x| and |:cquit|.
+		Example: >
+			:au VimLeave * echo "Exit value is " .. v:exiting
+<
 					*v:echospace* *echospace-variable*
 v:echospace	Number of screen cells that can be used for an `:echo` message
 		in the last screen line before causing the |hit-enter-prompt|.
diff --git a/src/evalvars.c b/src/evalvars.c
index 75893bb..dea56be 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -146,6 +146,7 @@
     {VV_NAME("echospace",	 VAR_NUMBER), VV_RO},
     {VV_NAME("argv",		 VAR_LIST), VV_RO},
     {VV_NAME("collate",		 VAR_STRING), VV_RO},
+    {VV_NAME("exiting",		 VAR_SPECIAL), VV_RO},
 };
 
 // shorthand
@@ -218,6 +219,7 @@
 
     set_vim_var_nr(VV_SEARCHFORWARD, 1L);
     set_vim_var_nr(VV_HLSEARCH, 1L);
+    set_vim_var_nr(VV_EXITING, VVAL_NULL);
     set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc_lock(VAR_FIXED));
     set_vim_var_list(VV_ERRORS, list_alloc());
     set_vim_var_dict(VV_EVENT, dict_alloc_lock(VAR_FIXED));
diff --git a/src/main.c b/src/main.c
index e3ce9e4..1b7811a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1505,7 +1505,8 @@
 
 
 /*
- * Exit properly.
+ * Exit properly.  This is the only way to exit Vim after startup has
+ * succeeded.  We are certain to exit here, no way to abort it.
  */
     void
 getout(int exitval)
@@ -1521,6 +1522,11 @@
     if (exmode_active)
 	exitval += ex_exitval;
 
+#ifdef FEAT_EVAL
+    set_vim_var_type(VV_EXITING, VAR_NUMBER);
+    set_vim_var_nr(VV_EXITING, exitval);
+#endif
+
     // Position the cursor on the last screen line, below all the text
 #ifdef FEAT_GUI
     if (!gui.in_use)
diff --git a/src/testdir/test_exit.vim b/src/testdir/test_exit.vim
index 2b29c37..93b8f51 100644
--- a/src/testdir/test_exit.vim
+++ b/src/testdir/test_exit.vim
@@ -82,4 +82,31 @@
   call delete('Xtestout')
 endfunc
 
+" Test for getting the Vim exit code from v:exiting
+func Test_exit_code()
+  call assert_equal(v:null, v:exiting)
+
+  let before =<< trim [CODE]
+    au QuitPre * call writefile(['qp = ' .. v:exiting], 'Xtestout', 'a')
+    au ExitPre * call writefile(['ep = ' .. v:exiting], 'Xtestout', 'a')
+    au VimLeavePre * call writefile(['lp = ' .. v:exiting], 'Xtestout', 'a')
+    au VimLeave * call writefile(['l = ' .. v:exiting], 'Xtestout', 'a')
+  [CODE]
+
+  if RunVim(before, ['quit'], '')
+    call assert_equal(['qp = v:null', 'ep = v:null', 'lp = 0', 'l = 0'], readfile('Xtestout'))
+  endif
+  call delete('Xtestout')
+
+  if RunVim(before, ['cquit'], '')
+    call assert_equal(['lp = 1', 'l = 1'], readfile('Xtestout'))
+  endif
+  call delete('Xtestout')
+
+  if RunVim(before, ['cquit 4'], '')
+    call assert_equal(['lp = 4', 'l = 4'], readfile('Xtestout'))
+  endif
+  call delete('Xtestout')
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 6e9dfbc..4eb7f4b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2070,
+/**/
     2069,
 /**/
     2068,
diff --git a/src/vim.h b/src/vim.h
index 6dcc509..eda0734 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1996,7 +1996,8 @@
 #define VV_ECHOSPACE	93
 #define VV_ARGV		94
 #define VV_COLLATE      95
-#define VV_LEN		96	// number of v: vars
+#define VV_EXITING	96
+#define VV_LEN		97	// number of v: vars
 
 // used for v_number in VAR_BOOL and VAR_SPECIAL
 #define VVAL_FALSE	0L	// VAR_BOOL
