On Thu, Mar 30, 2006 at 10:23:38PM +0200, Enrico Forestieri wrote: > For example, while testing I just got this assertion from boost: > > assertion "src.size() == std::strlen( src.c_str() )" failed: file > "../../../../../boost/libs/filesystem/src/path_posix_windows.cpp", line 235 > > I don't get it without my patch, so, something is going wrong. > Back to thinking...
Actually it turns out that my patch uncovered an already present problem. I added some debug statements and got this output: ===> '25.34679pt too wide' ===> 'C:/OML/ztmcm/m/it/12 t[]/OT1/ztmcm/m/n/12' assertion "src.size() == std::strlen( src.c_str() )" failed: file "../../../../../boost/libs/filesystem/src/path_posix_windows.cpp", line 238 That strange file name comes from LaTeX::deplog and is extracted from the latex logfile. The pertinent excerpt is the following: ... Overfull \hbox (25.34679pt too wide) in paragraph at lines 1414--1417 \T1/ptm/m/n/12 where $\OML/ztmcm/m/it/12 [] \OT1/ztmcm/m/n/12 = \OML/ztmcm/m/i t/12 s[]\OT1/ztmcm/m/n/12 (\OML/ztmcm/m/it/12 t[]\OT1/ztmcm/m/n/12 )$\T1/ptm/m/ n/12 , and $\OML/ztmcm/m/it/12 \OT1/ztmcm/m/n/12 = \OML/ztmcm/m/it/12 R\OT1/z tmcm/m/n/12 (\OML/ztmcm/m/it/12 t[] \OMS/ztmcm/m/n/12 \OML/ztmcm/m/it/12 t[]\ OT1/ztmcm/m/n/12 )\OML/ztmcm/m/it/12 =R\OT1/ztmcm/m/n/12 (0)$ \T1/ptm/m/n/12 is their cor-re-la-tion co-ef-fi-cient, be-ing $\OML/ztmcm/m/it/12 R\OT1/ztmcm/m/ n/12 (\OML/ztmcm/m/it/12 \OT1/ztmcm/m/n/12 ) = \OMS/ztmcm/m/n/12 F[] []$\T1/pt m/m/n/12 . ... Here, "(\OML/ztmcm/m/it/12 t[] \OMS/ztmcm/m/n/12 \OML..." is taken as a filename because it is after a "(". Notice that a null is in there. I don't know if it will survive the email transfer, but I see it as ^@ in vim, and as <soh> in nedit, just before " \OML...". The fact that the path above has a C: prepended and '\' turned into '/' is due to the cygwin api functions converting filepaths. So, I think that my patch is innocent here, or at least it is not the direct cause of the assert. Why miktex is outputting non-text characters is beyond me, though. -- Enrico