diff --git a/pd/src/s_file.c b/pd/src/s_file.c index 7c54ee3bd2d72ca20ce621744668b1c9fe1e6943..32034d04bd29c5ef584e932df0557bbaa1603f9e 100644 --- a/pd/src/s_file.c +++ b/pd/src/s_file.c @@ -625,8 +625,14 @@ void sys_loadpreferences( void) sprintf(keybuf, "path%d", i+1); if (!sys_getpreference(keybuf, prefbuf, MAXPDSTRING)) break; - else if (!check_exists(prefbuf)) // AG: ignore non-existent paths - continue; + else { + // AG: need to expand ~ et al here + char final_name[FILENAME_MAX]; + sys_expandpathelems(prefbuf, final_name); + // AG: ignore non-existent paths + if (!check_exists(final_name)) + continue; + } sys_searchpath = namelist_append_files(sys_searchpath, prefbuf); } if (sys_getpreference("standardpath", prefbuf, MAXPDSTRING))