diff --git a/src/alloc.h b/src/alloc.h
new file mode 100644
index 0000000..c237ef3
--- /dev/null
+++ b/src/alloc.h
@@ -0,0 +1,20 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved	by Bram Moolenaar
+ *
+ * Do ":help uganda"  in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+/*
+ * alloc.h: enumeration of alloc IDs.
+ * Each entry must be on exactly one line, GetAllocId() depends on that.
+ */
+typedef enum {
+	aid_none = 0,
+	aid_qf_dirname_start,
+	aid_qf_dirname_now,
+	aid_qf_namebuf,
+	aid_qf_errmsg,
+	aid_qf_pattern,
+} alloc_id_T;
diff --git a/src/globals.h b/src/globals.h
index 54a1d72..0931466 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1621,7 +1621,7 @@
 
 #ifdef FEAT_EVAL
 /* set by alloc_fail(): ID */
-EXTERN int  alloc_fail_id INIT(= 0);
+EXTERN alloc_id_T  alloc_fail_id INIT(= aid_none);
 /* set by alloc_fail(), when zero alloc() returns NULL */
 EXTERN int  alloc_fail_countdown INIT(= -1);
 /* set by alloc_fail(), number of times alloc() returns NULL */
diff --git a/src/misc2.c b/src/misc2.c
index d8202f8..8540212 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -837,12 +837,11 @@
 
 /*
  * alloc() with an ID for alloc_fail().
- * LAST_ID_USED: 5
  */
     char_u *
 alloc_id(size, id)
     unsigned	size;
-    int		id UNUSED;
+    alloc_id_T	id UNUSED;
 {
 #ifdef FEAT_EVAL
     if (alloc_fail_id == id && alloc_does_fail())
@@ -1001,13 +1000,12 @@
 
 /*
  * lalloc() with an ID for alloc_fail().
- * See LAST_ID_USED above.
  */
     char_u *
 lalloc_id(size, message, id)
     long_u	size;
     int		message;
-    int		id UNUSED;
+    alloc_id_T	id UNUSED;
 {
 #ifdef FEAT_EVAL
     if (alloc_fail_id == id && alloc_does_fail())
diff --git a/src/proto/misc2.pro b/src/proto/misc2.pro
index 35e1a8e..3d1f10a 100644
--- a/src/proto/misc2.pro
+++ b/src/proto/misc2.pro
@@ -20,12 +20,12 @@
 int leftcol_changed __ARGS((void));
 void vim_mem_profile_dump __ARGS((void));
 char_u *alloc __ARGS((unsigned size));
-char_u *alloc_id __ARGS((unsigned size, int id));
+char_u *alloc_id __ARGS((unsigned size, alloc_id_T id));
 char_u *alloc_clear __ARGS((unsigned size));
 char_u *alloc_check __ARGS((unsigned size));
 char_u *lalloc_clear __ARGS((long_u size, int message));
 char_u *lalloc __ARGS((long_u size, int message));
-char_u *lalloc_id __ARGS((long_u size, int message, int id));
+char_u *lalloc_id __ARGS((long_u size, int message, alloc_id_T id));
 void *mem_realloc __ARGS((void *ptr, size_t size));
 void do_outofmem_msg __ARGS((long_u size));
 void free_all_mem __ARGS((void));
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 734039a..72b21d5 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -43,6 +43,22 @@
 " Output all messages in English.
 lang mess C
 
+let s:srcdir = expand('%:p:h:h')
+
+" Support function: get the alloc ID by name.
+function GetAllocId(name)
+  exe 'split ' . s:srcdir . '/alloc.h'
+  /typedef enum/
+  let top = getline('.')
+  let lnum = search('aid_' . a:name . ',')
+  if lnum == 0
+    call add(v:errors, 'Alloc ID ' . a:name . ' not defined')
+  endif
+  close
+  return lnum - top
+endfunc
+
+
 " Source the test script.  First grab the file name, in case the script
 " navigates away.
 let testname = expand('%')
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index fb05b7d..b9f3f7b 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -278,35 +278,35 @@
 endfunction
 
 function Test_nomem()
-  call alloc_fail(1, 0, 0)
+  call alloc_fail(GetAllocId('qf_dirname_start'), 0, 0)
   try
     vimgrep vim runtest.vim
   catch
     call assert_true(v:exception =~ 'E342')
   endtry
 
-  call alloc_fail(2, 0, 0)
+  call alloc_fail(GetAllocId('qf_dirname_now'), 0, 0)
   try
     vimgrep vim runtest.vim
   catch
     call assert_true(v:exception =~ 'E342')
   endtry
 
-  call alloc_fail(3, 0, 0)
+  call alloc_fail(GetAllocId('qf_namebuf'), 0, 0)
   try
     cfile runtest.vim
   catch
     call assert_true(v:exception =~ 'E342')
   endtry
 
-  call alloc_fail(4, 0, 0)
+  call alloc_fail(GetAllocId('qf_errmsg'), 0, 0)
   try
     cfile runtest.vim
   catch
     call assert_true(v:exception =~ 'E342')
   endtry
 
-  call alloc_fail(5, 0, 0)
+  call alloc_fail(GetAllocId('qf_pattern'), 0, 0)
   try
     cfile runtest.vim
   catch
diff --git a/src/version.c b/src/version.c
index ad87d1d..46e5aa7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1073,
+/**/
     1072,
 /**/
     1071,
diff --git a/src/vim.h b/src/vim.h
index 1a176be..fd0b0b0 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1765,6 +1765,8 @@
 
 #include "structs.h"	    /* file that defines many structures */
 
+#include "alloc.h"
+
 /* Values for "do_profiling". */
 #define PROF_NONE	0	/* profiling not started */
 #define PROF_YES	1	/* profiling busy */
