summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2010-06-21 09:26:17 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2010-06-21 09:26:17 +0000
commitfe05969b87105145327d1c828ab4e8770c0da544 (patch)
tree6e8ad0560a2f5d5bbdbb6ab240ae5a2703e19974 /Build/source
parent5b69ec56e1c268af9adac62c619ff6a451631251 (diff)
xindy bug fix for win32 from Akira
git-svn-id: svn://tug.org/texlive/trunk@19091 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r--Build/source/texk/dvipsk/ChangeLog2
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog8
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/patch-63-win3275
-rw-r--r--Build/source/utils/xindy/xindy/src/idxstyle.lsp1
-rw-r--r--Build/source/utils/xindy/xindy/user-commands/xindy.in18
5 files changed, 97 insertions, 7 deletions
diff --git a/Build/source/texk/dvipsk/ChangeLog b/Build/source/texk/dvipsk/ChangeLog
index 3fc0375ba63..0b523aa46ea 100644
--- a/Build/source/texk/dvipsk/ChangeLog
+++ b/Build/source/texk/dvipsk/ChangeLog
@@ -1,7 +1,7 @@
2010-06-19 Yan Li <yan.i.li@intel.com>
* tfmload.c (name): increase size to 500.
- (badtfm): check for name length overflow.
+ (tfmopen): check for name length overflow.
2010-06-13 Karl Berry <karl@tug.org>
diff --git a/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog b/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
index cefddd09000..72586736f1a 100644
--- a/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
+++ b/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
@@ -1,10 +1,14 @@
+2010-06-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-63-win32 (new): Bug fix for Win32 from Akira.
+
2010-06-11 Peter Breitenlohner <peb@mppmu.mpg.de>
- patch-62-bug-fix (new): Bug fix from Joachim Schrod.
+ * patch-62-bug-fix (new): Bug fix from Joachim Schrod.
2010-05-12 Peter Breitenlohner <peb@mppmu.mpg.de>
- patch-61-detect-TL (new): Better detection of TL installation.
+ * patch-61-detect-TL (new): Better detection of TL installation.
2010-05-11 Peter Breitenlohner <peb@mppmu.mpg.de>
diff --git a/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-63-win32 b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-63-win32
new file mode 100644
index 00000000000..80587bf5665
--- /dev/null
+++ b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-63-win32
@@ -0,0 +1,75 @@
+diff -ur -N -x Makefile.in -x autom4te.cache xindy.orig/src/idxstyle.lsp xindy/src/idxstyle.lsp
+--- xindy.orig/src/idxstyle.lsp 2009-03-23 19:28:30.000000000 +0100
++++ xindy/src/idxstyle.lsp 2010-06-21 10:22:18.716154747 +0200
+@@ -779,6 +779,7 @@
+ (return (push :default paths)))
+ (setq pos (position #+UNIX #\:
+ #+OS/2 #\;
++ #+WIN32 #\;
+ str))
+ (if pos
+ (progn
+diff -ur -N -x Makefile.in -x autom4te.cache xindy.orig/user-commands/xindy.in xindy/user-commands/xindy.in
+--- xindy.orig/user-commands/xindy.in 2010-05-12 11:09:37.000000000 +0200
++++ xindy/user-commands/xindy.in 2010-06-21 10:22:40.352777904 +0200
+@@ -339,6 +339,7 @@
+
+ our $is_TL = ( '@is_TL@' eq 'yes' );
+ our $is_w32 = ( $OSNAME =~ /^MSWin/i ) ;
++our $path_sep = ( $is_w32 ? ';' : ':' ) ;
+ our $is_windows = ( $is_w32 || $OSNAME eq 'cygwin' ) ;
+ our $clisp = ( $is_windows ? 'clisp.exe' : 'clisp' ) ;
+ our $real_cmd = Cwd::realpath($0);
+@@ -676,7 +677,7 @@
+ # Construct final xindy expression, from options.
+
+ sub xindy_expression () {
+- my ($logging, $tracing, $trace_level);
++ my ($logging, $tracing, $trace_level, $searchpath);
+
+ # Determine language module of make-rules framework. Part of the
+ # complexity below is from compatibility with the TLC2
+@@ -744,16 +745,18 @@
+
+ $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};
++ $searchpath = quotify(join($path_sep, ".", $modules_dir, "$modules_dir/base"));
+
+ my $exp = <<_EOT_
+ (progn
+- (searchpath ".:$modules_dir:$modules_dir/base")
++ (searchpath $searchpath)
+ (xindy:startup
+ :idxstyle $style_file
+- :rawindex "$raw_index"
++ :rawindex $raw_index
+ :output $outfile
+ $logging
+ $tracing
+@@ -774,6 +777,13 @@
+ my @command = ($clisp, '-M', $mem_file, '-E', 'iso-8859-1');
+ if ( $interactive ) {
+ print "Proposed xindy expression:\n\n$xindy_exp\n" unless $quiet;
++ } elsif ($is_w32) {
++ my ($output, $outfile) = tempfile();
++ push (@temp_files, $outfile);
++ print $output $xindy_exp;
++ close ($output);
++ print "xindy startup file: $outfile\n" if $debug{script};
++ push (@command, "$outfile");
+ } else {
+ push (@command, '-x', $xindy_exp);
+ }
+@@ -835,7 +845,7 @@
+
+ sub quotify ( $ ) {
+ my $s = shift;
+- $s =~ s:[\\\"]:\\&1:g ; # quote double-quote and backslash
++ $s =~ s:([\\\"]):\\$1:g ;
+ return "\"$s\"";
+ }
+
diff --git a/Build/source/utils/xindy/xindy/src/idxstyle.lsp b/Build/source/utils/xindy/xindy/src/idxstyle.lsp
index 734d3997e22..2a561aee7f9 100644
--- a/Build/source/utils/xindy/xindy/src/idxstyle.lsp
+++ b/Build/source/utils/xindy/xindy/src/idxstyle.lsp
@@ -779,6 +779,7 @@ NIL in cases where no switch keyword was found in EXPR.
(return (push :default paths)))
(setq pos (position #+UNIX #\:
#+OS/2 #\;
+ #+WIN32 #\;
str))
(if pos
(progn
diff --git a/Build/source/utils/xindy/xindy/user-commands/xindy.in b/Build/source/utils/xindy/xindy/user-commands/xindy.in
index e594861a539..3b099c4e53b 100644
--- a/Build/source/utils/xindy/xindy/user-commands/xindy.in
+++ b/Build/source/utils/xindy/xindy/user-commands/xindy.in
@@ -339,6 +339,7 @@ use POSIX qw(uname);
our $is_TL = ( '@is_TL@' eq 'yes' );
our $is_w32 = ( $OSNAME =~ /^MSWin/i ) ;
+our $path_sep = ( $is_w32 ? ';' : ':' ) ;
our $is_windows = ( $is_w32 || $OSNAME eq 'cygwin' ) ;
our $clisp = ( $is_windows ? 'clisp.exe' : 'clisp' ) ;
our $real_cmd = Cwd::realpath($0);
@@ -676,7 +677,7 @@ sub filter_index ( $$ ) {
# Construct final xindy expression, from options.
sub xindy_expression () {
- my ($logging, $tracing, $trace_level);
+ my ($logging, $tracing, $trace_level, $searchpath);
# Determine language module of make-rules framework. Part of the
# complexity below is from compatibility with the TLC2
@@ -744,16 +745,18 @@ sub xindy_expression () {
$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};
+ $searchpath = quotify(join($path_sep, ".", $modules_dir, "$modules_dir/base"));
my $exp = <<_EOT_
(progn
- (searchpath ".:$modules_dir:$modules_dir/base")
+ (searchpath $searchpath)
(xindy:startup
:idxstyle $style_file
- :rawindex "$raw_index"
+ :rawindex $raw_index
:output $outfile
$logging
$tracing
@@ -774,6 +777,13 @@ sub call_xindy ( $$ ) {
my @command = ($clisp, '-M', $mem_file, '-E', 'iso-8859-1');
if ( $interactive ) {
print "Proposed xindy expression:\n\n$xindy_exp\n" unless $quiet;
+ } elsif ($is_w32) {
+ my ($output, $outfile) = tempfile();
+ push (@temp_files, $outfile);
+ print $output $xindy_exp;
+ close ($output);
+ print "xindy startup file: $outfile\n" if $debug{script};
+ push (@command, "$outfile");
} else {
push (@command, '-x', $xindy_exp);
}
@@ -835,7 +845,7 @@ sub output_xindy_release () {
sub quotify ( $ ) {
my $s = shift;
- $s =~ s:[\\\"]:\\&1:g ; # quote double-quote and backslash
+ $s =~ s:([\\\"]):\\$1:g ;
return "\"$s\"";
}