Bennett Helm wrote:
> I upgraded to 17255, but I still get a crash when typesetting with
> jurabib. Here's the backtrace, followed by the last bit of -dbg depend.
[...]
> Found file: mempatch.sty 2007/01/22 v4.8 Patches for memoir class
> [EMAIL PROTECTED]@[EMAIL PROTECTED]@fbox=\box27\sidecapsep=\dimen133
> [EMAIL PROTECTED]@[EMAIL PROTECTED]
> [EMAIL PROTECTED]@mscaplkern=
> [EMAIL PROTECTED]
> terminate called after throwing an instance of
> 'boost::filesystem::basic_filesystem_error<boost::filesystem::basic_path
> <std::string, boost::filesystem::path_traits> >'
>    what():  boost::filesystem::exists
> Abort trap

Hm, this is memoir. Extremely difficult to parse. I'm beginning to hate these 
LaTeX log files. Every package author seems to be eager to do his own message 
formatting :-(

I think the only solution is to check for a given length and trim the string 
(at the left) if he exceeds it.

Could you try the attached patch? 

Jürgen
Index: src/LaTeX.C
===================================================================
--- src/LaTeX.C	(Revision 17252)
+++ src/LaTeX.C	(Arbeitskopie)
@@ -788,7 +788,8 @@
 
 	// (2) foundfile is in the tmpdir
 	//     insert it into head
-	if (fs::exists(absname.toFilesystemEncoding())) {
+	if (fs::exists(absname.toFilesystemEncoding())&&
+	    !fs::is_directory(absname.toFilesystemEncoding())) {
 		static regex unwanted("^.*\\.(aux|log|dvi|bbl|ind|glo)$");
 		if (regex_match(onlyfile, unwanted)) {
 			lyxerr[Debug::DEPEND]
@@ -908,6 +909,12 @@
 		if (!lastline.empty())
 			// probably a continued filename from last line
 			token = lastline + token;
+		if (token.length() > 255) {
+			// string too long. Cut off.
+			int r = token.length() - 250;
+			string ntoken = token.substr(r, token.length());
+			token = ntoken;
+		}
 
 		smatch sub;
 

Reply via email to