Georg Baum wrote: >> To be specific, I don't see why >> 1. ExpandPath is needed at all. >> 2. What the thing inside the if block is meant to be achieving. >> 3. What the idea behind removing "/.libs/" is all about. Surely, the LyX >> executable is to be found at build_dir/src/lyx if it's being run >> in-place? > > I believe that some combination of > automake / autoconf / Makefile.am / phase of the moon > puts not only libraries, but also executables in .libs. It is a long time > ago that I saw something like that, so I think it is safe to remove this > special case.
Thanks for this info. >> Surely, argv[0] is by definition either an absolute path or is relative >> to CWD. The shell expands everything else. No? > > I am not sure. Maybe there are some weird shells or OSes that behave > differently? Then points 1. and 2. make sense. Or the author of it did > simply not know that he does not need to expand the path manually. Indeed, that would make sense. However, this code is from os_unix.C. It makes no sense at all for a unix shell, does it? I ask because ExpandPath requires that os::homepath() be set. Since these paths are exactly what is being set in this body of code, it suggests that the result will be fragile to changes in the order of which os::homepath() and the "absolute path to the lyx executable" are set. -- Angus