Am Freitag, dem 19.04.2024 um 17:11 +0200 schrieb jspi...@gmail.com:
> I am currently traveling, so I cannot test. But does the attached
> patch help and provide a sufficient clues?

Take this. The first one didn't link.

Jürgen

diff --git a/src/LaTeXPackages.cpp b/src/LaTeXPackages.cpp
index e708df1dfe..d2f2c4c71b 100644
--- a/src/LaTeXPackages.cpp
+++ b/src/LaTeXPackages.cpp
@@ -35,7 +35,7 @@ namespace lyx {
 LaTeXPackages::Packages LaTeXPackages::packages_;
 
 
-void LaTeXPackages::getAvailable()
+void LaTeXPackages::getAvailable(bool retry)
 {
 	Lexer lex;
 	support::FileName const real_file = libFileSearch("", "packages.lst");
@@ -73,10 +73,17 @@ void LaTeXPackages::getAvailable()
 		}
 	}
 	// Check if the pkglist has current format.
-	// Reconfigure and re-parse if not.
+	// Reconfigure once and re-parse if not.
+	// If we have already reconfigured, give a warning and stop.
 	if (lstformat != "2") {
-		package().reconfigureUserLyXDir("");
-		getAvailable();
+		if (retry) {
+			LYXERR0("ERROR: Invalid package list format!\n"
+			        "Please make sure there is no outdated configure.py file in your user directory");
+			        return;
+		} else {
+			package().reconfigureUserLyXDir("");
+			getAvailable(true);
+		}
 	}
 }
 
diff --git a/src/LaTeXPackages.h b/src/LaTeXPackages.h
index dba6d039f6..12f3e4ec0b 100644
--- a/src/LaTeXPackages.h
+++ b/src/LaTeXPackages.h
@@ -25,7 +25,7 @@ namespace lyx {
 class LaTeXPackages {
 public:
 	/// Which of the required packages are installed?
-	static void getAvailable();
+	static void getAvailable(bool retry = false);
 	/// Is the (required) package available?
 	static bool isAvailable(std::string const & name);
 	/// Is the (required) package available at least as of
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to