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/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));