In the unix variant (& hence the Mac variant), there are many environment variables that can specify such things as SQUEAK_PLUGINS SQUEAK_ENCODING SQUEAK_PATHENC SQUEAK_TEXTENC SQUEAK_VM First these should be dialect-specific (PHARO_PLUGINS CUIS_PLUGINS NEWSPEAK_PLUGINS etc), and for backward-compatibility the Squeak specific names should remain functional. So all VM environment variable access should be though a routine, somewhat like
if ((ev = getvmenvvar("PLUGINS"))) squeakPlugins = strdup(ev);
where getvmenvvar is something like
char * getvmenvvar(const char *var) { char varname[64]; char *value; #if PHARO_VM # define VM_VAR_PREFIX "PHARO_" #elif CUIS_VM # define VM_VAR_PREFIX "CUIS_" #elif NEWSPEAK_VM # define VM_VAR_PREFIX "NEWSPEAK_" #endif #if defined(VM_VAR_PREFIX) strcpy(varname,VM_VAR_PREFIX); strcat(varname,var); if ((value = getenv(varname)) return value; #endif /* now the default prefix */ strcpy(varname,"SQUEAK_"); strcat(varname,var); return getenv(varname); }
vm-dev@lists.squeakfoundation.org