summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-65-win32
blob: bada224a7b746d587efdfed9a53d779b5355eb61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.4.orig/user-commands/xindy.in xindy-2.4/user-commands/xindy.in
--- xindy-2.4.orig/user-commands/xindy.in	2010-06-21 10:22:40.000000000 +0200
+++ xindy-2.4/user-commands/xindy.in	2013-04-10 09:54:12.000000000 +0200
@@ -348,6 +348,17 @@
 
 our ($lib_dir, $modules_dir);
 
+# xindy-lisp.exe for Windows seems to be unable to interpret the short-name
+# format which is a default for the variables TEMP and TMP in Windows OS.
+# As a workaround, we create temporary files in the current directory
+# in xindy on Windows.
+
+if ( $is_w32 ) {
+use Env qw(TMPDIR);
+Env::import();
+$TMPDIR = ".";
+}
+
 # We have different installation structures for TeX-Live and a
 # standalone installation. In TeX-Live, the user command is a symlink
 # in some bin directory, and the actual script is in the library
@@ -643,6 +654,7 @@
 sub create_raw_index () {
     my ($output, $outfile) = tempfile();
     push (@temp_files, $outfile);
+    $outfile=quotify($outfile);
     while ( <> ) {
 	print $output $_;
     }
@@ -662,6 +674,7 @@
     my ($filter, $input) = @_;
     my $output = tmpnam();
     push (@temp_files, $output);
+    $output=quotify($output);
     print "Running filter: $filter <$input >$output\n"  if $verbose;
     system "$filter <$input >$output";
     print "filtered xindy input file: $output\n"  if $debug{script};
@@ -737,15 +750,14 @@
 	my $sf;
 	($sf, $style_file) = tempfile();
 	push (@temp_files, $style_file);
+	$style_file=quotify($style_file);
 	foreach my $module ( @modules ) {
 	    print $sf "(require \"$module\")\n";
 	}
 	close ($sf);
     }
 
-    $style_file = quotify($style_file);
     $outfile = quotify($outfile);
-    $raw_index = quotify($raw_index);
     $logging = ':logfile ' . quotify($logfile)  if $logfile;
     $tracing = ':markup-trace :on'  if $debug{markup};
     $trace_level = ":trace-level $debug{trace_level}"  if $debug{trace_level};
@@ -780,6 +792,7 @@
     } elsif ($is_w32) {
 	my ($output, $outfile) = tempfile();
 	push (@temp_files, $outfile);
+	$outfile=quotify($outfile);
 	print $output $xindy_exp;
 	close ($output);
 	print "xindy startup file: $outfile\n" if $debug{script};