patch 7.4.1073
Problem:    Alloc_id depends on numbers, may use the same one twice.  It's not
            clear from the number what it's for.
Solution:   Use an enum.  Add a function to lookup the enum value from the
            name.
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())