diff -ur core/make/user_home.c core-adc/make/user_home.c --- user_home.c 2004-02-23 23:02:41.000000000 -0500 +++ user_home.c 2004-08-09 11:38:42.019001544 -0400 @@ -316,6 +316,8 @@ if (*user == '\0' || forceU == 0 || *defs == '\0' || forceD == 0) { + char *env_var; + strcpy(path, home); strcat(path, SEP); strcat(path, ".GNUsteprc"); @@ -381,6 +383,25 @@ } fclose(fptr); } +#if !defined(__MINGW__) + /* if specified in the environment, as long as system does not override, + * observe user environment variables for USER and DEFAULTS here + */ + env_var = malloc(2048); + if((0 == forceU) && (NULL != (env_var = getenv("GNUSTEP_USER_ROOT")))) + { + user = malloc(strlen(env_var) + 1); + strcpy(user, env_var); + } + free(env_var); + env_var = malloc(2048); + if((0 == forceD) && (NULL != (env_var = getenv("GNUSTEP_DEFAULTS_ROOT")))) + { + defs = malloc(strlen(env_var) + 1); + strcpy(defs, env_var); + } + free(env_var); +#endif } if (type == DEFS)