texlive[51041] Build/source/texk/web2c: Apply a patch in
commits+kakuto at tug.org
commits+kakuto at tug.org
Wed May 8 01:29:25 CEST 2019
Revision: 51041
http://tug.org/svn/texlive?view=revision&revision=51041
Author: kakuto
Date: 2019-05-08 01:29:24 +0200 (Wed, 08 May 2019)
Log Message:
-----------
Apply a patch in https://tug.org/pipermail/tex-k/2019-May/003014.html
Modified Paths:
--------------
trunk/Build/source/texk/web2c/ChangeLog
trunk/Build/source/texk/web2c/lib/ChangeLog
trunk/Build/source/texk/web2c/lib/texmfmp.c
trunk/Build/source/texk/web2c/pdftexdir/ChangeLog
trunk/Build/source/texk/web2c/pdftexdir/writeimg.c
trunk/Build/source/texk/web2c/texmfmp.h
Modified: trunk/Build/source/texk/web2c/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/ChangeLog 2019-05-07 21:38:11 UTC (rev 51040)
+++ trunk/Build/source/texk/web2c/ChangeLog 2019-05-07 23:29:24 UTC (rev 51041)
@@ -1,3 +1,9 @@
+2019-05-08 Akira Kakuto <kakuto at w32tex.org>
+
+ * texmfmp.h: Define a new function find_input_file(integer s).
+ A report in tex-k list:
+ https://tug.org/pipermail/tex-k/2019-May/003014.html
+
2019-04-07 Karl Berry <karl at freefriends.org>
* TeX Live 2019.
Modified: trunk/Build/source/texk/web2c/lib/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/lib/ChangeLog 2019-05-07 21:38:11 UTC (rev 51040)
+++ trunk/Build/source/texk/web2c/lib/ChangeLog 2019-05-07 23:29:24 UTC (rev 51041)
@@ -1,3 +1,11 @@
+2019-05-08 Akira Kakuto <kakuto at w32tex.org>
+
+ * texmfmp.c: Introduce a new function find_input_file(s)
+ to fix a bug that in special cases getfilesize() etc. for
+ image files saved in "output-directory" do not work.
+ A report in tex-k list:
+ https://tug.org/pipermail/tex-k/2019-May/003014.html
+
2019-03-30 Akira Kakuto <kakuto at w32tex.org>
* texmfmp.c: Improve to record texmf.cnf. (ptex and friends,
Modified: trunk/Build/source/texk/web2c/lib/texmfmp.c
===================================================================
--- trunk/Build/source/texk/web2c/lib/texmfmp.c 2019-05-07 21:38:11 UTC (rev 51040)
+++ trunk/Build/source/texk/web2c/lib/texmfmp.c 2019-05-07 23:29:24 UTC (rev 51041)
@@ -3094,6 +3094,33 @@
}
}
+/* Search for an input file. If -output-directory is specified look
+ there first. If that fails, do the regular kpse search. */
+string
+find_input_file(integer s)
+{
+ string filename;
+
+#if defined(XeTeX)
+ filename = gettexstring(s);
+#else
+ filename = makecfilename(s);
+#endif
+ /* Look in -output-directory first, if the filename is not
+ absolute. This is because we want the pdf* functions to
+ be able to find the same files as \openin */
+ if (output_directory && !kpse_absolute_p (filename, false)) {
+ string pathname;
+
+ pathname = concat3(output_directory, DIR_SEP_STRING, filename);
+ if (!access(pathname, R_OK) && !dir_p (pathname)) {
+ return pathname;
+ }
+ xfree (pathname);
+ }
+ return kpse_find_tex(filename);
+}
+
#if !defined(XeTeX)
char *makecstring(integer s)
{
@@ -3176,13 +3203,8 @@
void getfilemoddate(integer s)
{
struct stat file_data;
-#if defined(XeTeX)
- int i;
- const_string orig_name = gettexstring(s);
-#else
- const_string orig_name = makecfilename(s);
-#endif
- char *file_name = kpse_find_tex(orig_name);
+
+ char *file_name = find_input_file(s);
if (file_name == NULL) {
return; /* empty string */
}
@@ -3206,6 +3228,8 @@
/* error by str_toks that calls str_room(1) */
} else {
#if defined(XeTeX)
+ int i;
+
for (i = 0; i < len; i++)
strpool[poolptr++] = (uint16_t)time_str[i];
#else
@@ -3224,11 +3248,7 @@
struct stat file_data;
int i;
-#if defined(XeTeX)
- char *file_name = kpse_find_tex(gettexstring(s));
-#else
- char *file_name = kpse_find_tex(makecfilename(s));
-#endif
+ char *file_name = find_input_file(s);
if (file_name == NULL) {
return; /* empty string */
}
@@ -3294,11 +3314,7 @@
return;
}
-#if defined(XeTeX)
- file_name = kpse_find_tex(gettexstring(s));
-#else
- file_name = kpse_find_tex(makecfilename(s));
-#endif
+ file_name = find_input_file(s);
if (file_name == NULL) {
return; /* empty string */
}
@@ -3388,13 +3404,7 @@
FILE *f;
char *file_name;
-#if defined(XeTeX)
- xname = gettexstring (s);
- file_name = kpse_find_tex (xname);
- xfree (xname);
-#else
- file_name = kpse_find_tex(makecfilename(s));
-#endif
+ file_name = find_input_file(s);
if (file_name == NULL) {
return; /* empty string */
}
Modified: trunk/Build/source/texk/web2c/pdftexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/pdftexdir/ChangeLog 2019-05-07 21:38:11 UTC (rev 51040)
+++ trunk/Build/source/texk/web2c/pdftexdir/ChangeLog 2019-05-07 23:29:24 UTC (rev 51041)
@@ -1,3 +1,10 @@
+2019-05-08 Akira Kakuto <kakuto at w32tex.org>
+
+ * writeimg.c: Use a new function find_input_file() to find
+ an image file.
+ A report in tex-k list:
+ https://tug.org/pipermail/tex-k/2019-May/003014.html
+
2019-05-03 Akira Kakuto <kakuto at w32tex.org>
* pdftosrc-poppler0.76.0.cc, pdftoepdf-poppler0.76.0.cc:
Modified: trunk/Build/source/texk/web2c/pdftexdir/writeimg.c
===================================================================
--- trunk/Build/source/texk/web2c/pdftexdir/writeimg.c 2019-05-07 21:38:11 UTC (rev 51040)
+++ trunk/Build/source/texk/web2c/pdftexdir/writeimg.c 2019-05-07 23:29:24 UTC (rev 51041)
@@ -302,12 +302,10 @@
already used by cur_file_name */
if (page_name != 0)
dest = xstrdup(makecstring(page_name));
- cur_file_name = makecfilename(s);
- img_name(img) = kpse_find_file(cur_file_name, kpse_tex_format, true);
+ cur_file_name = find_input_file(s);
+ img_name(img) = cur_file_name;
if (img_name(img) == NULL)
pdftex_fail("cannot find image file");
- /* kpse_find_file perhaps changed the file name */
- cur_file_name = img_name(img);
recorder_record_input(cur_file_name);
/* type checks */
checktypebyheader(img);
Modified: trunk/Build/source/texk/web2c/texmfmp.h
===================================================================
--- trunk/Build/source/texk/web2c/texmfmp.h 2019-05-07 21:38:11 UTC (rev 51040)
+++ trunk/Build/source/texk/web2c/texmfmp.h 2019-05-07 23:29:24 UTC (rev 51041)
@@ -126,6 +126,7 @@
#endif
extern char start_time_str[];
extern void initstarttime(void);
+extern string find_input_file(integer s);
#if !defined(XeTeX)
extern char *makecstring(integer s);
extern char *makecfilename(integer s);
More information about the tex-live-commits
mailing list