--- aspell-0.60.7-20110707/common/config.cpp.orig 2014-03-20 19:51:08.756753700 +0000 +++ aspell-0.60.7-20110707/common/config.cpp 2014-03-20 20:15:54.984480600 +0000 @@ -664,6 +664,21 @@ } else { // sep == '|' assert(replace[0] == '$'); const char * env = getenv(replace.c_str()+1); + if (NULL == env && strcmp (replace.c_str() + 1, "HOME") == 0) + { + const char *hd, *hp; + hd = getenv("HOMEDRIVE"); + hp = getenv("HOMEPATH"); + if (hd && hp) + { + char tmpbuf[strlen ("HOME=") + strlen (hd) + strlen (hp) + 1]; + strcpy (tmpbuf, "HOME="); + strcpy (&tmpbuf[strlen ("HOME=")], hd); + strcpy (&tmpbuf[strlen ("HOME=") + strlen (hd)], hp); + putenv (tmpbuf); + env = getenv(replace.c_str()+1); + } + } final_str += env ? env : second; } replace = "";