[tex-live] Location of recorder file

Karl Berry karl at freefriends.org
Mon May 2 02:56:33 CEST 2011


    This issue is hopefully solved in LuaTeX:
    http://tracker.luatex.org/view.php?id=615 Maybe someone wants to provide
    an analogous patch for the other engines?  

I believe LuaTeX is actually using the common recorder code here,
let's not go backwards by introducing engine-specific changes when there
is no need.  There's already much too much of that.

I changed recorder_change_filename in web2c/lib/openclose.c in the same
way (r22270).

Oh, sigh.  That works for tex and pdftex, but not luatex, when I call
luatex -ini --output-directory=tmp --recorder /home/karl/hello.tex
-- it tries to tmp//home/karl/hello.texPID.fls, which is never going to
work.

Well, more later I guess, I'm out of time for today.

karl


--- openclose.c	(revision 22266)
+++ openclose.c	(working copy)
@@ -67,15 +67,33 @@
     free(cwd);
 }
 
-/* Change the name of the recorder file. */
+/* Change the name of the recorder file after we know the log file to
+   the usual thing -- no pid integer and the document file name instead
+   of the program name.  Unfortunately, we have to explicitly take
+   -output-directory into account (again), since the NEW_NAME we are
+   called with does not; it is just the log file name with .log replaced
+   by .fls.  */
+
 void
 recorder_change_filename (string new_name)
 {
+   string temp = NULL;
+   
    if (!recorder_file)
      return;
+
+   /* If an output directory was specified, use it.  */
+   if (output_directory) {
+     temp = concat3(output_directory, DIR_SEP_STRING, new_name);
+     new_name = temp;
+   }
+
    rename(recorder_name, new_name);
    free(recorder_name);
    recorder_name = xstrdup(new_name);
+   
+   if (temp)
+     free (temp);
 }
 
 /* helper for recorder_record_* */


More information about the tex-live mailing list