summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-63-win32
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/xindy/xindy-2.4-PATCHES/patch-63-win32')
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/patch-63-win3275
1 files changed, 75 insertions, 0 deletions
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\"";
+ }
+