--- /dev/null
+diff -Nru vim62.orig/src/misc1.c vim62/src/misc1.c
+--- vim62.orig/src/misc1.c 2003-11-11 18:53:52.000000000 +0100
++++ vim62/src/misc1.c 2003-11-11 19:29:32.000000000 +0100
+@@ -3333,7 +3333,7 @@
+ if (STRCMP(name, "HOME") == 0)
+ return homedir;
+ #endif
+-
++first_test:
+ p = mch_getenv(name);
+ if (p != NULL && *p == NUL) /* empty is the same as not set */
+ p = NULL;
+@@ -3341,6 +3341,11 @@
+ if (p != NULL)
+ return p;
+
++ if (strcmp(name, "HOME_ETC") == 0) {
++ name = "HOME";
++ goto first_test;
++ }
++
+ vimruntime = (STRCMP(name, "VIMRUNTIME") == 0);
+ if (!vimruntime && STRCMP(name, "VIM") != 0)
+ return NULL;
+--- vim62.orig/src/os_unix.h 2003-11-11 18:53:52.000000000 +0100
++++ vim62/src/os_unix.h 2003-11-11 19:53:54.000000000 +0100
+@@ -264,7 +264,7 @@
+ # ifdef VMS
+ # define USR_EXRC_FILE "sys$login:.exrc"
+ # else
+-# define USR_EXRC_FILE "$HOME/.exrc"
++# define USR_EXRC_FILE "$HOME_ETC/.exrc"
+ # endif
+ #endif
+
+@@ -279,7 +279,7 @@
+ # ifdef VMS
+ # define USR_VIMRC_FILE "sys$login:.vimrc"
+ # else
+-# define USR_VIMRC_FILE "$HOME/.vimrc"
++# define USR_VIMRC_FILE "$HOME_ETC/.vimrc"
+ # endif
+ #endif
+
+@@ -294,7 +294,7 @@
+ # ifdef VMS
+ # define USR_GVIMRC_FILE "sys$login:.gvimrc"
+ # else
+-# define USR_GVIMRC_FILE "$HOME/.gvimrc"
++# define USR_GVIMRC_FILE "$HOME_ETC/.gvimrc"
+ # endif
+ #endif
+
+@@ -313,7 +313,7 @@
+ # ifdef VMS
+ # define VIMINFO_FILE "sys$login:.viminfo"
+ # else
+-# define VIMINFO_FILE "$HOME/.viminfo"
++# define VIMINFO_FILE "$HOME_ETC/.viminfo"
+ # endif
+ # endif
+ # if !defined(VIMINFO_FILE2) && defined(OS2)
+@@ -373,7 +373,7 @@
+ # ifdef VMS
+ # define DFLT_VDIR "sys$login:vimfiles/view"
+ # else
+-# define DFLT_VDIR "$HOME/.vim/view" /* default for 'viewdir' */
++# define DFLT_VDIR "$HOME_ETC/.vim/view" /* default for 'viewdir' */
+ # endif
+ # endif
+ #endif
+@@ -387,9 +387,9 @@
+ # define DFLT_RUNTIMEPATH "sys$login:vimfiles,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,sys$login:vimfiles/after"
+ # else
+ # ifdef RUNTIME_GLOBAL
+-# define DFLT_RUNTIMEPATH "~/.vim," RUNTIME_GLOBAL ",$VIMRUNTIME," RUNTIME_GLOBAL "/after,~/.vim/after"
++# define DFLT_RUNTIMEPATH "$HOME_ETC/.vim," RUNTIME_GLOBAL ",$VIMRUNTIME," RUNTIME_GLOBAL "/after,$HOME_ETC/.vim/after"
+ # else
+-# define DFLT_RUNTIMEPATH "~/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,~/.vim/after"
++# define DFLT_RUNTIMEPATH "$HOME_ETC/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME_ETC/.vim/after"
+ # endif
+ # endif
+ #endif