BSD "which" doesn't return -1 if no path for the given binary exists, therefore "catch" didn't, therefore (sigh) "bin" was always set to aspell whether or not it exists. Same result as the error I fixed long ago with this init file (see comments) but for a different reason!