Imported Upstream version 3.11.1~rc1
authorStephane Glondu <steph@glondu.net>
Wed, 3 Jun 2009 11:13:03 +0000 (13:13 +0200)
committerStephane Glondu <steph@glondu.net>
Wed, 3 Jun 2009 11:13:03 +0000 (13:13 +0200)
24 files changed:
Changes
VERSION
boot/.cvsignore
boot/ocamlc
boot/ocamldep
boot/ocamllex
build/fastworld.sh
build/otherlibs-targets.sh
build/world.sh
byterun/Makefile
byterun/Makefile.common
byterun/interp.c
configure
debugger/parser.mly
man/ocamldoc.m
myocamlbuild.ml
ocamlbuild/ocamlbuild_where.ml
ocamldoc/Makefile.nt
otherlibs/labltk/examples_camltk/Makefile.nt
otherlibs/labltk/examples_labltk/Makefile.nt
otherlibs/num/big_int.ml
otherlibs/num/test/test_big_ints.ml
otherlibs/win32unix/createprocess.c
yacc/reader.c

diff --git a/Changes b/Changes
index 34eb1d9828a852ec5c3bd1f4075a8f9efcb31ba6..d345f33fb53d734ba8bf94ac6eacc7afa3fe8eb7 100644 (file)
--- a/Changes
+++ b/Changes
@@ -28,11 +28,15 @@ Bug fixes:
 - PR#4766: incorrect simplification of some type abbreviations.
 - PR#4768: printf: %F does not respect width and precision specifications
 - PR#4769: Format.bprintf fails to flush
-- PR#4775: compiler crash on crazy types (temporary fix)
+- PR#4775: fatal error Ctype.Unify during module type-checking (temporary fix)
 - PR#4776: bad interaction between exceptions and classes
 - PR#4780: labltk build problem under Windows.
 - PR#4790: under Windows, map ERROR_NO_DATA Win32 error to EPIPE Unix error.
 - PR#4792: bug in Big_int.big_int_of_int64 on 32-bit platforms.
+- PR#4796: ocamlyacc: missing NUL termination of string
+- PR#4804: bug in Big_int.int64_of_big_int on 32-bit platforms.
+- PR#4805: improving compatibility with the clang C compiler
+- PR#4809: issue with Unix.create_process under Win32
 - Module Parsing: improved computation of locations when an ocamlyacc rule
                   starts with an empty nonterminal
 - Type-checker: fixed wrong variance computation for private types
@@ -2435,4 +2439,4 @@ Caml Special Light 1.06:
 
 * First public release.
 
-$Id: Changes,v 1.183.2.13 2009/05/19 14:46:13 doligez Exp $
+$Id: Changes,v 1.183.2.17 2009/06/02 21:41:53 doligez Exp $
diff --git a/VERSION b/VERSION
index 7486269b85a1f11196f784b2779c689438ebe14a..f71d01deae1c736d08ca5e7d4b9d20c84294d738 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
-3.11.1+rc0
+3.11.1+rc1
 
 # The version string is the first line of this file.
 # It must be in the format described in stdlib/sys.mli
 
-# $Id: VERSION,v 1.26.2.13 2009/05/19 14:46:13 doligez Exp $
+# $Id: VERSION,v 1.26.2.17 2009/06/02 21:41:53 doligez Exp $
index b9c6f85847b263177d5c779cab252dbef0858a64..a0a2356c9a04f866df6a87ee910f0701218afecc 100644 (file)
@@ -3,3 +3,4 @@ ocamlrun
 ocamlyacc
 camlheader
 myocamlbuild
+myocamlbuild.native
index 8c55166e1bbafa43c8047fd2da59b876319c5729..7bddd8363f894e4795a1e049901951db5b195b4b 100755 (executable)
Binary files a/boot/ocamlc and b/boot/ocamlc differ
index 5bf8338f0963b85c9676023c91aaa472a800d094..763ebfeb0ddcfaf4e42de4ac6135bd97f3fbe96d 100755 (executable)
Binary files a/boot/ocamldep and b/boot/ocamldep differ
index 087d530dc18a7e2b601676001253a01dc07e3356..f2b80521dd88d808a777331edddb5d005e5f3c5d 100755 (executable)
Binary files a/boot/ocamllex and b/boot/ocamllex differ
index 905f37fd7d8ca5dd9fc3f5cebcae02deb816b854..c539141bab5127bd2df1701b9935bfb99e2db514 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: fastworld.sh,v 1.3.4.1 2008/10/23 15:29:11 ertai Exp $
+# $Id: fastworld.sh,v 1.3.4.2 2009/06/02 09:37:47 doligez Exp $
 cd `dirname $0`
 set -e
 if [ -e ocamlbuild_mixed_mode ]; then
@@ -10,7 +10,7 @@ fi
 ./mkconfig.sh
 ./mkmyocamlbuild_config.sh
 . ../config/config.sh
-if [ "x$EXE" = "x.exe" ]; then
+if [ "x$EXE" = "x.exe" -a "x$SYSTEM" != "xcygwin" ]; then
   ./boot-c-parts-windows.sh
 else
   ./boot-c-parts.sh
index 6bf04dcfec89bbc6adb9eaa56c0be5fabf9e2f3e..1327998a7f7bd67d411b7a0c704a000fb8f26303 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: otherlibs-targets.sh,v 1.4 2007/11/29 10:32:38 ertai Exp $
+# $Id: otherlibs-targets.sh,v 1.4.4.1 2009/05/26 12:49:16 ertai Exp $
 OTHERLIBS_BYTE=""
 OTHERLIBS_NATIVE=""
 OTHERLIBS_UNIX_NATIVE=""
@@ -39,6 +39,7 @@ add_c_lib() {
 
 add_ocaml_lib() {
   add_native "$1.cmxa"
+  add_native "$1.$A"
   add_byte "$1.cma"
 }
 
@@ -94,7 +95,7 @@ for lib in $OTHERLIBRARIES; do
     add_c_lib mldbm;;
   dynlink)
     add_ocaml_lib dynlink
-    add_native dynlink.cmx
+    add_native dynlink.cmx dynlink.$O
     add_file $lib.cmi extract_crc;;
   win32unix)
     UNIXDIR="otherlibs/win32unix"
index 0a9ab27f4f1cfc99440a1cbb7305fa318a604266..3df67cf856c5911b797edc37b171f5de7b093fed 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: world.sh,v 1.3.4.1 2008/10/23 15:29:11 ertai Exp $
+# $Id: world.sh,v 1.3.4.2 2009/06/02 09:37:47 doligez Exp $
 cd `dirname $0`
 set -e
 if [ -e ocamlbuild_mixed_mode ]; then
@@ -10,7 +10,7 @@ fi
 ./mkconfig.sh
 ./mkmyocamlbuild_config.sh
 . ../config/config.sh
-if [ "x$EXE" = "x.exe" ]; then
+if [ "x$EXE" = "x.exe" -a "x$SYSTEM" != "xcygwin" ]; then
   ./boot-c-parts-windows.sh
 else
   ./boot-c-parts.sh
index ac1c25245a06a3da4e2c1e77c8f12024634c1d76..221466a17dcbf5ed3105ae95d2bd10f9ed471a48 100644 (file)
@@ -11,7 +11,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile,v 1.64.2.3 2009/05/13 05:00:48 garrigue Exp $
+# $Id: Makefile,v 1.64.2.5 2009/05/25 12:25:25 doligez Exp $
 
 include Makefile.common
 
@@ -22,14 +22,10 @@ OBJS=$(COMMONOBJS) unix.o main.o
 DOBJS=$(OBJS:.o=.d.o) instrtrace.d.o
 PICOBJS=$(OBJS:.o=.pic.o)
 
-TMP_SHARED_LIBRARIES=$(SUPPORTS_SHARED_LIBRARIES:false=)
-SHARED_LIBRARIES_DEPS=$(TMP_SHARED_LIBRARIES:true=libcamlrun_shared.so)
+SHARED_LIBS_TMP=$(SUPPORTS_SHARED_LIBRARIES:%false=)
+SHARED_LIBS_DEPS=$(SHARED_LIBS_TMP:%true=libcamlrun_shared.so)
 
-all:: $(SHARED_LIBRARIES_DEPS)
-
-install::
-       if test -f libcamlrun_shared.so; then \
-         cp libcamlrun_shared.so $(LIBDIR)/libcamlrun_shared.so; fi
+all:: $(SHARED_LIBS_DEPS)
 
 ocamlrun$(EXE): libcamlrun.a prims.o
        $(MKEXE) $(BYTECCLINKOPTS) -o ocamlrun$(EXE) \
@@ -50,6 +46,14 @@ libcamlrund.a: $(DOBJS)
 libcamlrun_shared.so: $(PICOBJS)
        $(MKDLL) -o libcamlrun_shared.so $(PICOBJS) $(BYTECCLIBS)
 
+install::
+       if test -f libcamlrun_shared.so; then \
+         cp libcamlrun_shared.so $(LIBDIR)/libcamlrun_shared.so; fi
+
+clean::
+       rm -f libcamlrun_shared.so
+
+
 .SUFFIXES: .d.o .pic.o
 
 .c.d.o:
index 75f805647ae71e4b222d5c64d5e88a0eae61113f..9580b86b235872a186f9aa97e726532cf50be6b2 100755 (executable)
@@ -11,7 +11,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile.common,v 1.6 2008/09/10 05:51:11 weis Exp $
+# $Id: Makefile.common,v 1.6.2.1 2009/05/25 12:25:25 doligez Exp $
 
 include ../config/Makefile
 
@@ -86,7 +86,7 @@ jumptbl.h : instruct.h
 version.h : ../VERSION
        echo "#define OCAML_VERSION \"`head -1 ../VERSION`\"" > version.h
 
-clean:
+clean ::
        rm -f ocamlrun$(EXE) ocamlrund$(EXE) *.$(O) *.$(A) *.$(SO)
        rm -f primitives prims.c opnames.h jumptbl.h ld.conf
        rm -f version.h
index c8626504a540b48a7e33d79824d7ab52ab5d6288..7e997871b6e90c90c0749fc7258a66693998e758 100644 (file)
@@ -11,7 +11,7 @@
 /*                                                                     */
 /***********************************************************************/
 
-/* $Id: interp.c,v 1.97 2008/08/01 11:52:31 xleroy Exp $ */
+/* $Id: interp.c,v 1.97.2.1 2009/05/25 08:02:16 xleroy Exp $ */
 
 /* The bytecode interpreter */
 #include <stdio.h>
@@ -113,7 +113,7 @@ sp is a local copy of the global variable caml_extern_sp. */
    For GCC, I have hand-assigned hardware registers for several architectures.
 */
 
-#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(DEBUG)
+#if defined(__GNUC__) && !defined(DEBUG) && !defined(__INTEL_COMPILER) && !defined(__llvm__)
 #ifdef __mips__
 #define PC_REG asm("$16")
 #define SP_REG asm("$17")
index e736a9237b68752a9ee0d592960e40d4d3d7cf51..166ceafb0543cdabea0ba96e27d05b16619210b0 100755 (executable)
--- a/configure
+++ b/configure
@@ -13,7 +13,7 @@
 #                                                                       #
 #########################################################################
 
-# $Id: configure,v 1.266.2.4 2009/05/19 13:23:47 doligez Exp $
+# $Id: configure,v 1.266.2.5 2009/05/20 15:33:09 weis Exp $
 
 configure_options="$*"
 prefix=/usr/local
@@ -1198,6 +1198,12 @@ x11_link="not found"
 for dir in \
     $x11_include_dir          \
                               \
+    /usr/X11R7/include        \
+    /usr/include/X11R7        \
+    /usr/local/X11R7/include  \
+    /usr/local/include/X11R7  \
+    /opt/X11R7/include        \
+                              \
     /usr/X11R6/include        \
     /usr/include/X11R6        \
     /usr/local/X11R6/include  \
index 750f29631b518199bbf45de63a67baebd1787d41..40531b9201a83cf9ad8c420fb59bb7a15b8f2480 100644 (file)
@@ -11,7 +11,7 @@
 /*                                                                     */
 /***********************************************************************/
 
-/* $Id: parser.mly,v 1.7.28.3 2009/04/15 11:09:56 xclerc Exp $ */
+/* $Id: parser.mly,v 1.7.28.4 2009/05/23 14:42:57 xclerc Exp $ */
 
 %{
 
@@ -182,6 +182,7 @@ longident_eol :
 
 opt_longident :
     UIDENT                      { Some (Lident $1) }
+  | LIDENT                      { Some (Lident $1) }
   | module_path DOT UIDENT      { Some (Ldot($1, $3)) }
   |                             { None };
 
index 5d1ed6ad49ceaf100e102ab543f6ef4bdf7f5fd7..df807c7d3012f2d0e132ecc5a6af018165a39037 100644 (file)
@@ -1,4 +1,4 @@
-\" $Id: ocamldoc.m,v 1.5 2008/09/15 14:12:56 doligez Exp $
+\" $Id: ocamldoc.m,v 1.5.2.1 2009/05/27 14:35:27 doligez Exp $
 
 .TH OCAMLDOC 1
 
@@ -110,10 +110,7 @@ to display it.
 .TP
 .BI \-g \ file
 Dynamically load the given file (which extension usually is .cmo or .cma),
-which defines a custom documentation generator. This option is supported by the
-.BR ocamldoc (1)
-command, but not by its native-code version
-.BR ocamldoc.opt .
+which defines a custom documentation generator.
 If the given file is a simple one and does not exist in
 the current directory, then ocamldoc looks for it in the custom
 generators default directory, and in the directories specified with the
index 6e9d40d6d3fb0f76b0a68ba19a6da1f32976aa8f..c811a80e1ed0a0dc676443ee95a5ce9dd6e4ad21 100644 (file)
@@ -10,7 +10,7 @@
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: myocamlbuild.ml,v 1.23.2.5 2009/05/05 13:40:18 ertai Exp $ *)
+(* $Id: myocamlbuild.ml,v 1.23.2.6 2009/05/26 12:49:16 ertai Exp $ *)
 
 open Ocamlbuild_plugin
 open Command
@@ -400,6 +400,7 @@ rule "native stdlib in mixed mode"
 copy_rule' ~insert:`top "otherlibs/dynlink/natdynlink.ml" "otherlibs/dynlink/nat/dynlink.ml";;
 copy_rule' ~insert:`top "otherlibs/dynlink/dynlink.mli" "otherlibs/dynlink/nat/dynlink.mli";;
 copy_rule' ~insert:`top "otherlibs/dynlink/nat/dynlink.cmx" "otherlibs/dynlink/dynlink.cmx";;
+copy_rule' ~insert:`top ("otherlibs/dynlink/nat/dynlink"-.-C.o) ("otherlibs/dynlink/dynlink"-.-C.o);;
 copy_rule' ~insert:`top "otherlibs/dynlink/nat/dynlink.cmxa" "otherlibs/dynlink/dynlink.cmxa";;
 copy_rule' ~insert:`top ("otherlibs/dynlink/nat/dynlink"-.-C.a) ("otherlibs/dynlink/dynlink"-.-C.a);;
 dep ["ocaml"; "compile"; "native"; "file:otherlibs/dynlink/nat/dynlink.cmx"] ["otherlibs/dynlink/nat/dynlink.cmi"];;
@@ -1090,7 +1091,7 @@ rule "labltk.cma"
 
 let labltk_cmxa_contents = labltk_contents "cmx" in
 rule "labltk.cmxa"
-  ~prod:"otherlibs/labltk/lib/labltk.cmxa"
+  ~prods:["otherlibs/labltk/lib/labltk.cmxa"; "otherlibs/labltk/lib/labltk"-.-C.a]
   ~deps:labltk_cmxa_contents
   (Ocamlbuild_pack.Ocaml_compiler.native_library_link_modules
       labltk_lib_contents "otherlibs/labltk/lib/labltk.cmxa");;
index 1703a533ea6dfe28c0e43e1c7358a164aba28f4e..14fcde5d725c6de448249560b44ac718fa13b59b 100644 (file)
@@ -1,5 +1,7 @@
 let bindir = ref Ocamlbuild_Myocamlbuild_config.bindir;;
 let libdir = ref begin
-  try Filename.concat (Sys.getenv "OCAMLLIB") "ocamlbuild"
-  with Not_found -> Ocamlbuild_Myocamlbuild_config.libdir
+  Filename.concat
+    (try Sys.getenv "OCAMLLIB"
+     with Not_found -> Ocamlbuild_Myocamlbuild_config.libdir)
+    "ocamlbuild"
 end;;
index 009bfbd163621d56cd46ee150cd385c56f9778b3..ec7504ddb3eee149f94bb845601c01433bf1be31 100644 (file)
@@ -9,7 +9,7 @@
 #(*                                                                     *)
 #(***********************************************************************)
 
-# $Id: Makefile.nt,v 1.27.4.1 2009/04/09 13:56:38 guesdon Exp $
+# $Id: Makefile.nt,v 1.27.4.2 2009/05/20 12:07:05 doligez Exp $
 
 include ../config/Makefile
 
@@ -24,7 +24,7 @@ OCAMLBIN = $(BINDIR)
 
 OCAMLPP=-pp "grep -v DEBUG"
 
-# For installation 
+# For installation
 ##############
 MKDIR=mkdir
 CP=cp
@@ -179,18 +179,18 @@ OCAMLCMXFILES=$(OCAMLCMOFILES:.cmo=.cmx)
 
 all: exe lib
 exe: $(OCAMLDOC)
-lib: $(OCAMLDOC_LIBCMA) $(OCAMLDOC_LIBCMI) 
+lib: $(OCAMLDOC_LIBCMA) $(OCAMLDOC_LIBCMI)
 
 opt.opt: exeopt libopt
 exeopt: $(OCAMLDOC_OPT)
-libopt: $(OCAMLDOC_LIBCMXA) $(OCAMLDOC_LIBCMI) 
-debug: 
+libopt: $(OCAMLDOC_LIBCMXA) $(OCAMLDOC_LIBCMI)
+debug:
        make OCAMLPP=""
 
-$(OCAMLDOC): $(EXECMOFILES) 
+$(OCAMLDOC): $(EXECMOFILES)
        $(OCAMLC) -o $@ -linkall unix.cma str.cma dynlink.cma $(LINKFLAGS) $(OCAMLCMOFILES) $(EXECMOFILES)
 $(OCAMLDOC_OPT): $(EXECMXFILES)
-       $(OCAMLOPT) -o $@ unix.cmxa str.cmxa $(LINKFLAGS) $(OCAMLCMXFILES) $(EXECMXFILES)
+       $(OCAMLOPT) -o $@ unix.cmxa str.cmxa dynlink.cmxa $(LINKFLAGS) $(OCAMLCMXFILES) $(EXECMXFILES)
 
 $(OCAMLDOC_LIBCMA): $(LIBCMOFILES)
        $(OCAMLC) -a -o $@ $(LINKFLAGS) $(OCAMLCMOFILES) $(LIBCMOFILES)
index 13f27a01da4237048c1e8ea45aee63f4e3d346ec..d07471bc06bcd9be937416b4fe7feff5e4520299 100644 (file)
@@ -1,4 +1,4 @@
-include ../support/Makefile.common.nt
+include ../support/Makefile.common
 
 # We are using the non-installed library !
 COMPFLAGS= -I ../lib -I ../camltk -I ../support
index 825d9e42beabc304667e94bf7f5f4da291a5c2be..261bf75439b18754bb4d06f4d27161add98b9eae 100644 (file)
@@ -1,4 +1,4 @@
-include ../support/Makefile.common.nt
+include ../support/Makefile.common
 
 # We are using the non-installed library !
 COMPFLAGS= -I ../lib -I ../labltk -I ../support
index 8c47f7bc324375a51925fee5dea797c3b611c19c..669df7739933f35b6cbcee1f7e42220accfa1d1b 100644 (file)
@@ -11,7 +11,7 @@
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: big_int.ml,v 1.24.2.1 2009/05/18 13:08:03 xleroy Exp $ *)
+(* $Id: big_int.ml,v 1.24.2.2 2009/05/24 19:46:44 xleroy Exp $ *)
 
 open Int_misc
 open Nat
@@ -378,7 +378,9 @@ let int64_of_big_int bi =
   else begin
     let i =
       match num_digits_big_int bi with
-      | 1 -> Int64.of_nativeint (nth_digit_nat_native bi.abs_value 0)
+      | 1 -> Int64.logand
+               (Int64.of_nativeint (nth_digit_nat_native bi.abs_value 0))
+               0xFFFFFFFFL
       | 2 -> Int64.logor
                (Int64.logand
                  (Int64.of_nativeint (nth_digit_nat_native bi.abs_value 0))
index c9026a3f82a2c5763caf0960146b6ec65e25527a..ec95dede7d7865bc276e2160581ebc1e5be03c95 100644 (file)
@@ -771,12 +771,14 @@ test 3 eq_int64
   (int64_of_big_int (big_int_of_string "-9223372036854775808"), -9223372036854775808L);;
 test 4 eq_int64
   (int64_of_big_int (big_int_of_string "-9223372036854775"), -9223372036854775L);;
+test 5 eq_int64 (* PR#4804 *)
+  (int64_of_big_int (big_int_of_string "2147483648"), 2147483648L);;
 let should_fail s =
   try ignore (int64_of_big_int (big_int_of_string s)); 0
   with Failure _ -> 1;;
-test 4 eq_int
+test 6 eq_int
   (should_fail "9223372036854775808", 1);;
-test 5 eq_int
+test 7 eq_int
   (should_fail "-9223372036854775809", 1);;
-test 6 eq_int
+test 8 eq_int
   (should_fail "18446744073709551616", 1);;
index 422c68ab351da0a59d97f8aaa21c3e259e595c49..6b439f781b9abf45a5ef55e2d3b20a2203357687 100644 (file)
@@ -11,7 +11,7 @@
 /*                                                                     */
 /***********************************************************************/
 
-/* $Id: createprocess.c,v 1.14 2008/01/11 16:13:16 doligez Exp $ */
+/* $Id: createprocess.c,v 1.14.4.1 2009/06/02 13:12:53 xleroy Exp $ */
 
 #include <windows.h>
 #include <mlvalues.h>
@@ -35,15 +35,14 @@ value win_create_process_native(value cmd, value cmdline, value env,
     envp = NULL;
   }
   /* Prepare stdin/stdout/stderr redirection */
-  GetStartupInfo(&si);
-  si.dwFlags |= STARTF_USESTDHANDLES;
+  ZeroMemory(&si, sizeof(STARTUPINFO));
+  si.cb = sizeof(STARTUPINFO);
+  si.dwFlags = STARTF_USESTDHANDLES;
   si.hStdInput = Handle_val(fd1);
   si.hStdOutput = Handle_val(fd2);
   si.hStdError = Handle_val(fd3);
   /* If we do not have a console window, then we must create one
      before running the process (keep it hidden for apparence).
-     Also one must suppress spurious flags in si.dwFlags.
-     Otherwise the redirections are ignored.
      If we are starting a GUI application, the newly created
      console should not matter. */
   if (win_has_console())
index 923aee2313e4f103a6caa551dcfdcc29f0e60bfd..a8f751d3ae1be4fa6c2a1b01c9317a21e30e9d27 100644 (file)
@@ -12,7 +12,7 @@
 
 /* Based on public-domain code from Berkeley Yacc */
 
-/* $Id: reader.c,v 1.32 2005/10/06 06:34:51 garrigue Exp $ */
+/* $Id: reader.c,v 1.32.18.1 2009/05/20 11:58:43 doligez Exp $ */
 
 #include <string.h>
 #include "defs.h"
@@ -163,6 +163,7 @@ char *substring (char *str, int start, int len)
   for (i = 0; i < len; i++){
     buf[i] = str[start+i];
   }
+  buf[i] = '\0';      /* PR#4796 */
   return buf;
 }
 
@@ -710,7 +711,7 @@ get_literal(void)
     n = cinc;
     s = MALLOC(n);
     if (s == 0) no_space();
-    
+
     for (i = 0; i < n; ++i)
         s[i] = cache[i];
 
@@ -1306,7 +1307,7 @@ loop:
         {
             ++cptr;
             i = get_number();
-            
+
             if (i <= 0 || i > n)
               unknown_rhs(i);
             item = pitem[nitems + i - n - 1];
@@ -1393,7 +1394,7 @@ loop:
           fwrite(cptr, 1, 2, f);
           cptr += 2;
         } else
-        if (cptr[0] == '\\' 
+        if (cptr[0] == '\\'
             && isdigit((unsigned char) cptr[1])
             && isdigit((unsigned char) cptr[2])
             && isdigit((unsigned char) cptr[3])