On Wed, Sep 23, 2026 at 03:57:07AM +0200, Pavel Sanda wrote:
Ok, thanks. This lands us on the final pair of patches for this set:
I applied them on top of 04c.
- 04d: move the last consumer of runCommand into strict win confinement
This one compiles and works.
- 05: bye bye generic runCommand shell invocation (two more distinct
routes left, I'll come to them later).
This doesn't compile; see the attached log. I don't think you completely
removed runCommand.
Enrico, please look whether those two make sense for you, I could not
test.
The things worth looking at in windows build:
- no console flashes at startup (the reason CreateProcess was introduced)
Yep, no console in sight.
- lyx -dbg info still prints Running: <cygwin root>\bin\mount.exe
--show-cygdrive-prefix
(we did not break that cygdrive probe)
As verbose and debug flags are still not set at this point, nothing gets
printed with either "lyx -v" or "lyx -dbg info". However,
unconditionally outputting to lyxerr, actually prints "Running:
C:\cygwin\bin\mount.exe".
- claude tells me that cygdrive probe failure is not easy to behaviorally
test, so lets leave it the way is is
(Is anyone even using native win lyx + cygwin TeX? We are doing lot of dance
to keep it working...)
I believe this option made sense when LyX on Cygwin required the
installation of an X-server. Some did not want to do this and preferred
to install the native Windows version, while continuing to use the
Cygwin TeX. However, nowadays, in addition to the X11 version of LyX
installable via the official Cygwin repositories, we also distribute a
version that does not require an X-server. Therefore, I do not believe
anyone is still using that combination.
- Cygwin itself should hopefully compiles after we kicked popen_read_mode() out.
As already said, with some rare exceptions, if it works on Linux it has
to work on Cygwin, otherwise it is a bug ;)
--
Enrico
../../../src/support/filetools.cpp: In function ‘const lyx::support::FileName
lyx::support::findtexfile(const std::string&, const std::string&, bool)’:
../../../src/support/filetools.cpp:1158:9: error: ‘cmd_ret’ was not declared in
this scope
1158 | cmd_ret const c = runCommand(kpsecmd);
| ^~~~~~~
In file included from ../../../src/support/filetools.cpp:29:
../../../src/support/filetools.cpp:1160:52: error: ‘c’ was not declared in this
scope
1160 | LYXERR(Debug::OUTFILE, "kpse status = " << c.valid << '\n'
| ^
../../../src/support/../support/debug.h:226:59: note: in definition of macro
‘LYXERR’
226 | else { lyx::lyxerr << CURRENT_POSITION << msg;
lyx::lyxerr.endl(); } \
| ^~~
../../../src/support/filetools.cpp:1162:13: error: ‘c’ was not declared in this
scope
1162 | if (c.valid)
| ^
../../../src/support/filetools.cpp: In function ‘bool
lyx::support::prefs2prefs(const FileName&, const FileName&, bool)’:
../../../src/support/filetools.cpp:1208:9: error: ‘cmd_ret’ was not declared in
this scope
1208 | cmd_ret const ret = runCommand(command_str);
| ^~~~~~~
../../../src/support/filetools.cpp:1209:14: error: ‘ret’ was not declared in
this scope; did you mean ‘get’?
1209 | if (!ret.valid) {
| ^~~
| get
make[5]: *** [Makefile:937: filetools.o] Error 1
make[5]: *** Attesa per i processi non terminati....
../../../src/support/os.cpp: In function ‘const std::string
lyx::support::os::python_call(const std::string&, bool)’:
../../../src/support/os.cpp:69:9: error: ‘cmd_ret’ was not declared in this
scope
69 | cmd_ret const out = runCommand(binary + version_info);
| ^~~~~~~
../../../src/support/os.cpp:74:22: error: ‘out’ was not declared in this scope
74 | if (!out.valid || !regex_match(out.result, sm,
python_reg))
| ^~~
../../../src/support/os.cpp:91:46: error: ‘out’ was not declared in this scope
91 | lyxerr << "Found Python " << out.result << "\n";
| ^~~
../../../src/support/os.cpp: In function ‘const std::string
lyx::support::os::python_info()’:
../../../src/support/os.cpp:170:17: error: ‘runCommand’ was not declared in
this scope
170 | return (runCommand(python() + info_version).result);
| ^~~~~~~~~~
make[5]: *** [Makefile:937: os.o] Error 1
make[5]: uscita dalla directory
«/usr/local/src/lyx/lyx-devel/build-cygwin/src/support»
make[4]: *** [Makefile:791: all] Error 2
make[4]: uscita dalla directory
«/usr/local/src/lyx/lyx-devel/build-cygwin/src/support»
make[3]: *** [Makefile:2350: all-recursive] Error 1
make[3]: uscita dalla directory «/usr/local/src/lyx/lyx-devel/build-cygwin/src»
make[2]: *** [Makefile:1492: all] Error 2
make[2]: uscita dalla directory «/usr/local/src/lyx/lyx-devel/build-cygwin/src»
make[1]: *** [Makefile:568: all-recursive] Error 1
make[1]: uscita dalla directory «/usr/local/src/lyx/lyx-devel/build-cygwin»
make: *** [Makefile:462: all] Error 2
--
lyx-devel mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-devel