Michel wrote:xboard should listen to the user and not split the path. Engines that need to change directories to work are not well written (I think this would be extremely uncommon on Linux).
So the default should be to not split, and a work around for badly written engines.
The splitting is basically a kludge to avoid the user has to browse separately for engine and directory in the case of a non-compliant engine (or in WinBoard). Browsing to the .exe would automatically fill the command field with a path name, but that would not help most Windows engines to get to their files. They really need an -fd option for that.
I don't see much damage in splitting (provided it is done properly). If the engine binary is
/path/name/exe
then cd-ing to /path/name and executing the command ./exe there is a 100% guaranteed way to execute that binary, right?
Note that splitting is done ONLY when the user leaves the directory field empty. When a directory is given, that is taken for the -fd option, and any path name in the command field must necessarily be left untouched. So if you have a compliant engine that doesn't care about the current directory, you can just type "." in the directory field. For installing engines that are in the PATH I just type their name (e.g. "fruit", "crafty") in the command field, which is far faster than any browsing.
I am sorry this gives so many problems. But this feature has been there for about 10 months now, and I don't use XBoard myself. On WinBoard it works fine. (There is no suppression of executing files in the current directory on Windows.) So if I receive exactly zero complaints about it during that time...