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

Reply via email to