From: Julien Cristau Date: Wed, 31 Aug 2005 20:55:08 +0000 (+0000) Subject: Imported Upstream version 3.08.4 X-Git-Tag: archive/raspbian/4.08.1-4+rpi1~3^2~63^2~41 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1c89e1360a252406227454d215a37c4e913440c9;p=ocaml.git Imported Upstream version 3.08.4 --- diff --git a/CVS/Entries b/CVS/Entries deleted file mode 100644 index 095684e9..00000000 --- a/CVS/Entries +++ /dev/null @@ -1,12 +0,0 @@ -/.cvsignore/1.11/Thu Aug 28 08:38:52 2003//Tocaml3083 -/.depend/1.122.4.2/Tue Feb 22 14:33:34 2005//Tocaml3083 -/Changes/1.140.2.9/Wed Mar 16 12:05:28 2005//Tocaml3083 -/INSTALL/1.42.4.2/Fri Jul 2 11:11:27 2004//Tocaml3083 -/LICENSE/1.17.4.3/Thu Aug 12 12:37:29 2004//Tocaml3083 -/Makefile/1.186.2.7/Mon Jan 31 10:30:47 2005//Tocaml3083 -/Makefile.nt/1.94.4.1/Mon Nov 29 08:50:45 2004//Tocaml3083 -/README/1.42.2.2/Tue Jul 13 07:35:45 2004//Tocaml3083 -/README.win32/1.34.2.2/Tue Jul 13 07:59:58 2004//Tocaml3083 -/Upgrading/1.3.8.1/Fri Jul 2 09:37:16 2004//Tocaml3083 -/configure/1.215.2.9/Mon Jan 24 15:22:46 2005//Tocaml3083 -D diff --git a/CVS/Entries.Log b/CVS/Entries.Log deleted file mode 100644 index 2f18bea7..00000000 --- a/CVS/Entries.Log +++ /dev/null @@ -1,24 +0,0 @@ -A D/asmcomp//// -A D/asmrun//// -A D/boot//// -A D/bytecomp//// -A D/byterun//// -A D/camlp4//// -A D/config//// -A D/debugger//// -A D/driver//// -A D/emacs//// -A D/lex//// -A D/maccaml//// -A D/man//// -A D/ocamldoc//// -A D/otherlibs//// -A D/parsing//// -A D/stdlib//// -A D/tools//// -A D/toplevel//// -A D/typing//// -A D/utils//// -A D/win32caml//// -A D/yacc//// -R D/maccaml//// diff --git a/CVS/Repository b/CVS/Repository deleted file mode 100644 index e57fe3a5..00000000 --- a/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl diff --git a/CVS/Root b/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/CVS/Tag b/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/Changes b/Changes index b2112979..bc6e8272 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,51 @@ +Objective Caml 3.08.4: +---------------------- + +New features: +- configure: find X11 config in some 64-bit Linux distribs +- ocamldoc: (**/**) can be canceled with another (**/**) PR#3665 +- graphics: added resize_window +- graphics: check for invalid arguments to drawing primitives PR#3595 +- lablbrowser: use windows subsystem on mingw + +Bug fixes: +- ocamlopt: code generation problem on AMD64 PR#3640 +- wrong code generated for some classes PR#3576 +- fatal error when compiling some OO code PR#3745 +- problem with comparison on constant constructors PR#3608 +- camlp4: cryptic error message PR#3592 +- camlp4: line numbers in multi-line antiquotations PR#3549 +- camlp4: problem with make depend +- camlp4: parse error with :> PR#3561 +- camlp4: ident conversion problem with val/contents/contents__ +- camlp4: several small parsing problems PR#3688 +- ocamldebug: handling of spaces in executable file name PR#3736 +- emacs-mode: problem when caml-types-buffer is deleted by user PR#3704 +- ocamldoc: extra backslash in ocamldoc man page PR#3687 +- ocamldoc: improvements to HTML display PR#3698 +- ocamldoc: escaping of @ in info files +- ocamldoc: escaping of . and \ in man pages PR#3686 +- ocamldoc: better error reporting of misplaced comments +- graphics: fixed .depend file PR#3558 +- graphics: segfault with threads and graphics PR#3651 +- nums: several bugs: PR#3718, PR#3719, others +- nums: inline asm problems with gcc 4.0 PR#3604, PR#3637 +- threads: problem with backtrace +- unix: problem with getaddrinfo PR#3565 +- stdlib: documentation of Int32.rem and Int64.rem PR#3573 +- stdlib: documentation of List.rev_map2 PR#3685 +- stdlib: wrong order in Map.fold PR#3607 +- stdlib: documentation of maximum float array length PR#3714 +- better detection of cycles when using -rectypes +- missing case of module equality PR#3738 +- better error messages for unbound type variables +- stack overflow while printing type error message PR#3705 +- assert failure when typing some classes PR#3638 +- bug in type_approx +- better error messages related to type variance checking +- yacc: avoid name capture for idents of the Parsing module + + Objective Caml 3.08.3: ---------------------- @@ -1850,4 +1898,4 @@ Caml Special Light 1.06: * First public release. -$Id: Changes,v 1.140.2.9 2005/03/16 12:05:28 doligez Exp $ +$Id: Changes,v 1.140.2.10 2005/08/11 16:59:53 doligez Exp $ diff --git a/asmcomp/CVS/Entries b/asmcomp/CVS/Entries deleted file mode 100644 index 5d12e978..00000000 --- a/asmcomp/CVS/Entries +++ /dev/null @@ -1,59 +0,0 @@ -/.cvsignore/1.2/Fri Jan 18 15:13:17 2002//Tocaml3083 -/asmgen.ml/1.19/Fri Apr 21 08:10:25 2000//Tocaml3083 -/asmgen.mli/1.7/Fri Apr 21 08:10:26 2000//Tocaml3083 -/asmlibrarian.ml/1.13/Thu Apr 4 09:00:16 2002//Tocaml3083 -/asmlibrarian.mli/1.6/Fri Apr 21 08:10:27 2000//Tocaml3083 -/asmlink.ml/1.65/Wed May 26 11:10:27 2004//Tocaml3083 -/asmlink.mli/1.10/Tue Jun 11 14:15:11 2002//Tocaml3083 -/asmpackager.ml/1.14.4.2/Mon Jan 24 15:22:46 2005//Tocaml3083 -/asmpackager.mli/1.1/Fri Feb 8 16:55:30 2002//Tocaml3083 -/clambda.ml/1.16/Wed May 26 11:10:27 2004//Tocaml3083 -/clambda.mli/1.16/Wed May 26 11:10:27 2004//Tocaml3083 -/closure.ml/1.44/Wed May 26 11:10:27 2004//Tocaml3083 -/closure.mli/1.5/Wed Nov 17 18:56:30 1999//Tocaml3083 -/cmm.ml/1.20/Sun Nov 24 15:55:24 2002//Tocaml3083 -/cmm.mli/1.20/Sun Nov 24 15:55:24 2002//Tocaml3083 -/cmmgen.ml/1.100/Wed May 26 11:10:27 2004//Tocaml3083 -/cmmgen.mli/1.12/Wed May 26 11:10:28 2004//Tocaml3083 -/codegen.ml/1.7/Fri Apr 21 08:10:29 2000//Tocaml3083 -/codegen.mli/1.4/Wed Nov 17 18:56:31 1999//Tocaml3083 -/coloring.ml/1.12/Thu Dec 28 13:02:49 2000//Tocaml3083 -/coloring.mli/1.4/Wed Nov 17 18:56:31 1999//Tocaml3083 -/comballoc.ml/1.3/Fri Aug 11 19:50:50 2000//Tocaml3083 -/comballoc.mli/1.2/Wed Nov 17 18:56:32 1999//Tocaml3083 -/compilenv.ml/1.21/Wed May 26 11:10:28 2004//Tocaml3083 -/compilenv.mli/1.14/Wed May 26 11:10:28 2004//Tocaml3083 -/emit.mli/1.5/Wed Nov 17 18:56:32 1999//Tocaml3083 -/emitaux.ml/1.11/Wed Nov 17 18:56:33 1999//Tocaml3083 -/emitaux.mli/1.11/Sat Jul 5 11:12:39 2003//Tocaml3083 -/interf.ml/1.14/Sat May 8 15:04:03 2004//Tocaml3083 -/interf.mli/1.4/Wed Nov 17 18:56:33 1999//Tocaml3083 -/linearize.ml/1.24/Wed Jan 9 19:40:48 2002//Tocaml3083 -/linearize.mli/1.13/Wed Jan 9 19:40:48 2002//Tocaml3083 -/liveness.ml/1.14/Fri Aug 11 19:50:52 2000//Tocaml3083 -/liveness.mli/1.5/Fri Apr 21 08:10:33 2000//Tocaml3083 -/mach.ml/1.17/Fri Aug 11 19:50:52 2000//Tocaml3083 -/mach.mli/1.17/Fri Aug 11 19:50:53 2000//Tocaml3083 -/printcmm.ml/1.24/Sun Nov 24 15:55:24 2002//Tocaml3083 -/printcmm.mli/1.6/Fri Apr 21 08:10:34 2000//Tocaml3083 -/printlinear.ml/1.12/Fri Apr 21 08:10:35 2000//Tocaml3083 -/printlinear.mli/1.5/Fri Apr 21 08:10:35 2000//Tocaml3083 -/printmach.ml/1.22/Fri Aug 11 19:50:54 2000//Tocaml3083 -/printmach.mli/1.6/Fri Apr 21 08:10:37 2000//Tocaml3083 -/proc.mli/1.16/Wed Nov 17 18:56:35 1999//Tocaml3083 -/reg.ml/1.10/Thu Jun 29 11:44:06 2000//Tocaml3083 -/reg.mli/1.7/Wed Nov 17 18:56:35 1999//Tocaml3083 -/reload.mli/1.6/Wed Nov 17 18:56:35 1999//Tocaml3083 -/reloadgen.ml/1.5/Fri Aug 11 19:50:55 2000//Tocaml3083 -/reloadgen.mli/1.4/Wed Nov 17 18:56:36 1999//Tocaml3083 -/schedgen.ml/1.10/Thu Dec 28 13:02:54 2000//Tocaml3083 -/schedgen.mli/1.6/Wed Nov 17 18:56:36 1999//Tocaml3083 -/scheduling.mli/1.3/Wed Nov 17 18:56:36 1999//Tocaml3083 -/selectgen.ml/1.30/Tue Feb 25 15:50:12 2003//Tocaml3083 -/selectgen.mli/1.6/Mon Nov 4 16:25:09 2002//Tocaml3083 -/selection.mli/1.6/Wed Nov 17 18:56:37 1999//Tocaml3083 -/spill.ml/1.18/Mon Feb 19 20:15:42 2001//Tocaml3083 -/spill.mli/1.4/Wed Nov 17 18:56:38 1999//Tocaml3083 -/split.ml/1.9/Fri Aug 11 19:50:59 2000//Tocaml3083 -/split.mli/1.4/Wed Nov 17 18:56:38 1999//Tocaml3083 -D diff --git a/asmcomp/CVS/Entries.Log b/asmcomp/CVS/Entries.Log deleted file mode 100644 index 36972dd4..00000000 --- a/asmcomp/CVS/Entries.Log +++ /dev/null @@ -1,10 +0,0 @@ -A D/alpha//// -A D/amd64//// -A D/arm//// -A D/hppa//// -A D/i386//// -A D/ia64//// -A D/m68k//// -A D/mips//// -A D/power//// -A D/sparc//// diff --git a/asmcomp/CVS/Repository b/asmcomp/CVS/Repository deleted file mode 100644 index b92c542c..00000000 --- a/asmcomp/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp diff --git a/asmcomp/CVS/Root b/asmcomp/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/CVS/Tag b/asmcomp/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/alpha/CVS/Entries b/asmcomp/alpha/CVS/Entries deleted file mode 100644 index 987b57c9..00000000 --- a/asmcomp/alpha/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.10/Fri Nov 29 15:03:36 2002//Tocaml3083 -/emit.mlp/1.40/Mon May 3 12:46:50 2004//Tocaml3083 -/proc.ml/1.6/Mon Jul 22 16:37:46 2002//Tocaml3083 -/reload.ml/1.3/Wed Nov 17 18:56:40 1999//Tocaml3083 -/scheduling.ml/1.6/Wed Nov 17 18:56:40 1999//Tocaml3083 -/selection.ml/1.12/Tue Jul 24 08:01:25 2001//Tocaml3083 -D diff --git a/asmcomp/alpha/CVS/Repository b/asmcomp/alpha/CVS/Repository deleted file mode 100644 index 495a12f6..00000000 --- a/asmcomp/alpha/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/alpha diff --git a/asmcomp/alpha/CVS/Root b/asmcomp/alpha/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/alpha/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/alpha/CVS/Tag b/asmcomp/alpha/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/alpha/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/amd64/CVS/Entries b/asmcomp/amd64/CVS/Entries deleted file mode 100644 index b793abe2..00000000 --- a/asmcomp/amd64/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.1/Mon Jun 30 08:28:44 2003//Tocaml3083 -/emit.mlp/1.6.6.1/Thu Jul 1 16:09:03 2004//Tocaml3083 -/proc.ml/1.1/Mon Jun 30 08:28:44 2003//Tocaml3083 -/reload.ml/1.1/Mon Jun 30 08:28:44 2003//Tocaml3083 -/scheduling.ml/1.1/Mon Jun 30 08:28:44 2003//Tocaml3083 -/selection.ml/1.2/Mon Jun 30 11:29:26 2003//Tocaml3083 -D diff --git a/asmcomp/amd64/CVS/Repository b/asmcomp/amd64/CVS/Repository deleted file mode 100644 index 314bfb21..00000000 --- a/asmcomp/amd64/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/amd64 diff --git a/asmcomp/amd64/CVS/Root b/asmcomp/amd64/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/amd64/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/amd64/CVS/Tag b/asmcomp/amd64/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/amd64/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp index c3b85161..2caea3ce 100644 --- a/asmcomp/amd64/emit.mlp +++ b/asmcomp/amd64/emit.mlp @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: emit.mlp,v 1.6.6.1 2004/07/01 16:09:03 xleroy Exp $ *) +(* $Id: emit.mlp,v 1.6.6.2 2005/06/12 13:35:56 xleroy Exp $ *) (* Emission of Intel 386 assembly code *) @@ -35,8 +35,12 @@ let frame_required () = !contains_calls || num_stack_slots.(0) > 0 || num_stack_slots.(1) > 0 let frame_size () = (* includes return address *) - let sz = (!stack_offset + 8 * (num_stack_slots.(0) + num_stack_slots.(1)) + 8) - in Misc.align sz 16 + if frame_required() then begin + let sz = + (!stack_offset + 8 * (num_stack_slots.(0) + num_stack_slots.(1)) + 8) + in Misc.align sz 16 + end else + !stack_offset + 8 let slot_offset loc cl = match loc with diff --git a/asmcomp/arm/CVS/Entries b/asmcomp/arm/CVS/Entries deleted file mode 100644 index 78d6f10e..00000000 --- a/asmcomp/arm/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.9/Fri Nov 29 15:03:36 2002//Tocaml3083 -/emit.mlp/1.18/Mon May 3 12:46:50 2004//Tocaml3083 -/proc.ml/1.8/Mon Jul 22 16:37:47 2002//Tocaml3083 -/reload.ml/1.4/Wed Nov 17 18:56:41 1999//Tocaml3083 -/scheduling.ml/1.4/Wed Nov 17 18:56:41 1999//Tocaml3083 -/selection.ml/1.6/Fri Mar 30 12:22:32 2001//Tocaml3083 -D diff --git a/asmcomp/arm/CVS/Repository b/asmcomp/arm/CVS/Repository deleted file mode 100644 index 00d97fc4..00000000 --- a/asmcomp/arm/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/arm diff --git a/asmcomp/arm/CVS/Root b/asmcomp/arm/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/arm/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/arm/CVS/Tag b/asmcomp/arm/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/arm/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/hppa/CVS/Entries b/asmcomp/hppa/CVS/Entries deleted file mode 100644 index bbbaaa69..00000000 --- a/asmcomp/hppa/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.7/Fri Nov 29 15:03:36 2002//Tocaml3083 -/emit.mlp/1.19/Sun May 16 09:09:23 2004//Tocaml3083 -/proc.ml/1.7/Sun May 9 15:19:16 2004//Tocaml3083 -/reload.ml/1.3/Wed Nov 17 18:56:42 1999//Tocaml3083 -/scheduling.ml/1.4/Wed Nov 17 18:56:42 1999//Tocaml3083 -/selection.ml/1.5/Wed Nov 17 18:56:42 1999//Tocaml3083 -D diff --git a/asmcomp/hppa/CVS/Repository b/asmcomp/hppa/CVS/Repository deleted file mode 100644 index c2a219d0..00000000 --- a/asmcomp/hppa/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/hppa diff --git a/asmcomp/hppa/CVS/Root b/asmcomp/hppa/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/hppa/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/hppa/CVS/Tag b/asmcomp/hppa/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/hppa/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/i386/CVS/Entries b/asmcomp/i386/CVS/Entries deleted file mode 100644 index 68936115..00000000 --- a/asmcomp/i386/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/arch.ml/1.12/Tue Feb 25 15:50:12 2003//Tocaml3083 -/emit.mlp/1.32/Mon May 3 12:46:50 2004//Tocaml3083 -/emit_nt.mlp/1.24/Mon May 3 12:46:50 2004//Tocaml3083 -/proc.ml/1.8/Sun Jun 15 09:58:31 2003//Tocaml3083 -/proc_nt.ml/1.5/Tue Mar 12 16:17:52 2002//Tocaml3083 -/reload.ml/1.5/Fri Nov 22 15:09:18 2002//Tocaml3083 -/scheduling.ml/1.3/Fri Feb 4 12:43:18 2000//Tocaml3083 -/selection.ml/1.13/Tue Feb 25 15:50:13 2003//Tocaml3083 -D diff --git a/asmcomp/i386/CVS/Repository b/asmcomp/i386/CVS/Repository deleted file mode 100644 index b58bb386..00000000 --- a/asmcomp/i386/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/i386 diff --git a/asmcomp/i386/CVS/Root b/asmcomp/i386/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/i386/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/i386/CVS/Tag b/asmcomp/i386/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/i386/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/ia64/CVS/Entries b/asmcomp/ia64/CVS/Entries deleted file mode 100644 index cd2b799a..00000000 --- a/asmcomp/ia64/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.5/Fri Nov 29 15:03:36 2002//Tocaml3083 -/emit.mlp/1.16.4.1/Mon Jul 12 15:03:19 2004//Tocaml3083 -/proc.ml/1.5/Mon Jul 22 16:37:52 2002//Tocaml3083 -/reload.ml/1.2/Sun Jul 16 02:57:31 2000//Tocaml3083 -/scheduling.ml/1.3/Sun Jul 16 02:57:31 2000//Tocaml3083 -/selection.ml/1.7/Mon May 3 12:27:07 2004//Tocaml3083 -D diff --git a/asmcomp/ia64/CVS/Repository b/asmcomp/ia64/CVS/Repository deleted file mode 100644 index 7d2f1226..00000000 --- a/asmcomp/ia64/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/ia64 diff --git a/asmcomp/ia64/CVS/Root b/asmcomp/ia64/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/ia64/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/ia64/CVS/Tag b/asmcomp/ia64/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/ia64/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/m68k/CVS/Entries b/asmcomp/m68k/CVS/Entries deleted file mode 100644 index 8a318069..00000000 --- a/asmcomp/m68k/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/README/1.1/Fri Feb 4 15:34:43 2000//Tocaml3083 -D diff --git a/asmcomp/m68k/CVS/Repository b/asmcomp/m68k/CVS/Repository deleted file mode 100644 index 636daa93..00000000 --- a/asmcomp/m68k/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/m68k diff --git a/asmcomp/m68k/CVS/Root b/asmcomp/m68k/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/m68k/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/m68k/CVS/Tag b/asmcomp/m68k/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/m68k/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/mips/CVS/Entries b/asmcomp/mips/CVS/Entries deleted file mode 100644 index e824425d..00000000 --- a/asmcomp/mips/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.6/Fri Nov 29 15:03:36 2002//Tocaml3083 -/emit.mlp/1.18/Mon Jan 5 20:25:56 2004//Tocaml3083 -/proc.ml/1.6/Mon Jul 22 16:37:52 2002//Tocaml3083 -/reload.ml/1.3/Wed Nov 17 18:56:45 1999//Tocaml3083 -/scheduling.ml/1.2/Wed Nov 17 18:56:45 1999//Tocaml3083 -/selection.ml/1.4/Wed Nov 17 18:56:46 1999//Tocaml3083 -D diff --git a/asmcomp/mips/CVS/Repository b/asmcomp/mips/CVS/Repository deleted file mode 100644 index cf72e07b..00000000 --- a/asmcomp/mips/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/mips diff --git a/asmcomp/mips/CVS/Root b/asmcomp/mips/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/mips/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/mips/CVS/Tag b/asmcomp/mips/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/mips/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/power/CVS/Entries b/asmcomp/power/CVS/Entries deleted file mode 100644 index bb54e5a2..00000000 --- a/asmcomp/power/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.11/Sat Jun 19 16:13:32 2004//Tocaml3083 -/emit.mlp/1.21/Sat Jun 19 17:39:34 2004//Tocaml3083 -/proc.ml/1.12/Sat Jun 19 17:39:35 2004//Tocaml3083 -/reload.ml/1.3/Wed Nov 17 18:56:46 1999//Tocaml3083 -/scheduling.ml/1.6/Sat Jun 19 16:13:33 2004//Tocaml3083 -/selection.ml/1.6/Sat Jun 19 16:13:33 2004//Tocaml3083 -D diff --git a/asmcomp/power/CVS/Repository b/asmcomp/power/CVS/Repository deleted file mode 100644 index 0c25f474..00000000 --- a/asmcomp/power/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/power diff --git a/asmcomp/power/CVS/Root b/asmcomp/power/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/power/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/power/CVS/Tag b/asmcomp/power/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/power/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmcomp/sparc/CVS/Entries b/asmcomp/sparc/CVS/Entries deleted file mode 100644 index 894572d9..00000000 --- a/asmcomp/sparc/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/arch.ml/1.8/Fri Nov 29 15:03:08 2002//Tocaml3083 -/emit.mlp/1.21/Mon Jan 5 20:25:56 2004//Tocaml3083 -/proc.ml/1.7/Fri Nov 29 15:03:08 2002//Tocaml3083 -/reload.ml/1.3/Wed Nov 17 18:56:47 1999//Tocaml3083 -/scheduling.ml/1.5/Fri Nov 29 15:03:08 2002//Tocaml3083 -/selection.ml/1.8/Fri Nov 29 15:03:08 2002//Tocaml3083 -D diff --git a/asmcomp/sparc/CVS/Repository b/asmcomp/sparc/CVS/Repository deleted file mode 100644 index f662bb4d..00000000 --- a/asmcomp/sparc/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmcomp/sparc diff --git a/asmcomp/sparc/CVS/Root b/asmcomp/sparc/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmcomp/sparc/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmcomp/sparc/CVS/Tag b/asmcomp/sparc/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmcomp/sparc/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/asmrun/CVS/Entries b/asmrun/CVS/Entries deleted file mode 100644 index 84f63c6d..00000000 --- a/asmrun/CVS/Entries +++ /dev/null @@ -1,23 +0,0 @@ -/.cvsignore/1.1/Fri Jan 18 15:13:17 2002//Tocaml3083 -/.depend/1.41.4.1/Fri Jul 9 15:55:09 2004//Tocaml3083 -/Makefile/1.51/Sun May 9 15:19:16 2004//Tocaml3083 -/Makefile.nt/1.20/Tue Jun 18 16:17:34 2002//Tocaml3083 -/alpha.S/1.29/Sat Jan 3 12:51:18 2004//Tocaml3083 -/amd64.S/1.8.4.1/Thu Jul 1 16:09:03 2004//Tocaml3083 -/arm.S/1.15/Sat Jan 3 12:51:18 2004//Tocaml3083 -/fail.c/1.37/Mon May 17 17:25:52 2004//Tocaml3083 -/hppa.S/1.25/Sun May 16 09:09:22 2004//Tocaml3083 -/i386.S/1.42/Sat Jan 3 12:51:19 2004//Tocaml3083 -/i386nt.asm/1.17/Tue May 4 09:02:47 2004//Tocaml3083 -/ia64.S/1.13/Sat Jan 3 12:51:19 2004//Tocaml3083 -/m68k.S/1.15/Sat Jan 3 12:51:19 2004//Tocaml3083 -/mips.s/1.11.4.1/Tue Jul 13 08:01:59 2004//Tocaml3083 -/power-aix.S/1.15/Sat Jan 3 12:51:19 2004//Tocaml3083 -/power-elf.S/1.18/Sat Jan 3 12:51:19 2004//Tocaml3083 -/power-rhapsody.S/1.13/Sun Feb 22 14:56:25 2004//Tocaml3083 -/roots.c/1.37/Fri Jan 2 19:22:19 2004//Tocaml3083 -/signals.c/1.81/Sat Jun 19 16:13:32 2004//Tocaml3083 -/sparc.S/1.24.4.1/Wed Oct 6 09:02:36 2004//Tocaml3083 -/stack.h/1.28/Tue Dec 16 18:09:04 2003//Tocaml3083 -/startup.c/1.30.4.3/Wed Mar 16 12:05:28 2005//Tocaml3083 -D diff --git a/asmrun/CVS/Repository b/asmrun/CVS/Repository deleted file mode 100644 index 13b8a76c..00000000 --- a/asmrun/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/asmrun diff --git a/asmrun/CVS/Root b/asmrun/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/asmrun/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/asmrun/CVS/Tag b/asmrun/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/asmrun/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/boot/CVS/Entries b/boot/CVS/Entries deleted file mode 100644 index b6b03c30..00000000 --- a/boot/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/.cvsignore/1.4/Thu Oct 10 11:58:28 1996//Tocaml3083 -/ocamlc/1.319.2.12/Wed Mar 16 12:05:28 2005/-kb/Tocaml3083 -/ocamllex/1.251.2.10/Wed Mar 16 12:05:32 2005/-kb/Tocaml3083 -D diff --git a/boot/CVS/Repository b/boot/CVS/Repository deleted file mode 100644 index 1e0a06a0..00000000 --- a/boot/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/boot diff --git a/boot/CVS/Root b/boot/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/boot/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/boot/CVS/Tag b/boot/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/boot/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/boot/ocamlc b/boot/ocamlc index f28ffb49..515197d3 100755 Binary files a/boot/ocamlc and b/boot/ocamlc differ diff --git a/boot/ocamllex b/boot/ocamllex index ae8698a2..feecf82c 100755 Binary files a/boot/ocamllex and b/boot/ocamllex differ diff --git a/bytecomp/CVS/Entries b/bytecomp/CVS/Entries deleted file mode 100644 index 0d330cf7..00000000 --- a/bytecomp/CVS/Entries +++ /dev/null @@ -1,45 +0,0 @@ -/.cvsignore/1.1/Tue Aug 29 08:33:13 1995//Tocaml3083 -/bytegen.ml/1.65.2.1/Wed Jul 7 16:49:51 2004//Tocaml3083 -/bytegen.mli/1.6/Wed Nov 17 18:56:59 1999//Tocaml3083 -/bytelibrarian.ml/1.18/Thu Apr 18 22:55:36 2002//Tocaml3083 -/bytelibrarian.mli/1.6/Mon Mar 6 22:11:06 2000//Tocaml3083 -/bytelink.ml/1.83.4.1/Fri Jul 2 09:10:50 2004//Tocaml3083 -/bytelink.mli/1.11/Tue Jun 11 14:15:11 2002//Tocaml3083 -/bytepackager.ml/1.4/Fri Apr 9 13:32:27 2004//Tocaml3083 -/bytepackager.mli/1.1/Fri Feb 8 16:55:42 2002//Tocaml3083 -/bytesections.ml/1.3/Sun Feb 22 15:07:50 2004//Tocaml3083 -/bytesections.mli/1.3/Sun Feb 22 15:07:50 2004//Tocaml3083 -/dll.ml/1.12/Fri Jan 16 15:24:02 2004//Tocaml3083 -/dll.mli/1.5/Tue Jul 2 16:13:12 2002//Tocaml3083 -/emitcode.ml/1.32/Wed May 26 11:10:50 2004//Tocaml3083 -/emitcode.mli/1.14/Thu Mar 6 15:59:54 2003//Tocaml3083 -/instruct.ml/1.21/Wed May 26 11:10:50 2004//Tocaml3083 -/instruct.mli/1.20/Wed May 26 11:10:50 2004//Tocaml3083 -/lambda.ml/1.40.2.1/Wed Jul 7 16:49:51 2004//Tocaml3083 -/lambda.mli/1.38.2.1/Wed Jul 7 16:49:53 2004//Tocaml3083 -/matching.ml/1.60/Thu Apr 29 12:38:11 2004//Tocaml3083 -/matching.mli/1.12/Wed May 26 11:10:50 2004//Tocaml3083 -/meta.ml/1.13/Fri Apr 16 13:46:20 2004//Tocaml3083 -/meta.mli/1.13/Fri Apr 16 13:46:27 2004//Tocaml3083 -/printinstr.ml/1.22/Wed May 26 11:10:50 2004//Tocaml3083 -/printinstr.mli/1.5/Mon Mar 6 22:11:08 2000//Tocaml3083 -/printlambda.ml/1.49/Wed May 26 11:10:50 2004//Tocaml3083 -/printlambda.mli/1.5/Mon Mar 6 22:11:10 2000//Tocaml3083 -/runtimedef.mli/1.4/Wed Nov 17 18:57:01 1999//Tocaml3083 -/simplif.ml/1.23/Wed May 26 11:10:50 2004//Tocaml3083 -/simplif.mli/1.3/Wed Nov 17 18:57:01 1999//Tocaml3083 -/switch.ml/1.9/Tue Oct 1 12:49:52 2002//Tocaml3083 -/switch.mli/1.5/Fri Sep 21 15:59:15 2001//Tocaml3083 -/symtable.ml/1.37/Sun Feb 22 15:07:50 2004//Tocaml3083 -/symtable.mli/1.14/Sun Feb 22 15:07:50 2004//Tocaml3083 -/translclass.ml/1.32/Wed May 26 11:10:50 2004//Tocaml3083 -/translclass.mli/1.10/Wed May 26 11:10:50 2004//Tocaml3083 -/translcore.ml/1.96/Wed May 26 11:10:50 2004//Tocaml3083 -/translcore.mli/1.18/Tue Nov 25 09:20:43 2003//Tocaml3083 -/translmod.ml/1.50/Sat Jun 12 08:55:45 2004//Tocaml3083 -/translmod.mli/1.12/Fri Apr 9 13:32:27 2004//Tocaml3083 -/translobj.ml/1.9/Wed May 26 11:10:51 2004//Tocaml3083 -/translobj.mli/1.6/Wed May 26 11:10:51 2004//Tocaml3083 -/typeopt.ml/1.10/Fri Apr 16 00:50:23 2004//Tocaml3083 -/typeopt.mli/1.4/Mon Feb 28 15:45:50 2000//Tocaml3083 -D diff --git a/bytecomp/CVS/Repository b/bytecomp/CVS/Repository deleted file mode 100644 index 7219db2c..00000000 --- a/bytecomp/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/bytecomp diff --git a/bytecomp/CVS/Root b/bytecomp/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/bytecomp/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/bytecomp/CVS/Tag b/bytecomp/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/bytecomp/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/bytecomp/lambda.ml b/bytecomp/lambda.ml index 82cdbf94..a7d5bff7 100644 --- a/bytecomp/lambda.ml +++ b/bytecomp/lambda.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: lambda.ml,v 1.40.2.1 2004/07/07 16:49:51 xleroy Exp $ *) +(* $Id: lambda.ml,v 1.40.2.2 2005/04/04 05:14:25 garrigue Exp $ *) open Misc open Path @@ -235,63 +235,88 @@ let name_lambda_list args fn = Llet(Strict, id, arg, name_list (Lvar id :: names) rem) in name_list [] args -module IdentSet = - Set.Make(struct - type t = Ident.t - let compare = compare - end) - -let free_variables l = - let fv = ref IdentSet.empty in - let rec freevars = function - Lvar id -> - fv := IdentSet.add id !fv - | Lconst sc -> () +let rec iter f = function + Lvar _ + | Lconst _ -> () | Lapply(fn, args) -> - freevars fn; List.iter freevars args + f fn; List.iter f args | Lfunction(kind, params, body) -> - freevars body; - List.iter (fun param -> fv := IdentSet.remove param !fv) params + f body | Llet(str, id, arg, body) -> - freevars arg; freevars body; fv := IdentSet.remove id !fv + f arg; f body | Lletrec(decl, body) -> - freevars body; - List.iter (fun (id, exp) -> freevars exp) decl; - List.iter (fun (id, exp) -> fv := IdentSet.remove id !fv) decl + f body; + List.iter (fun (id, exp) -> f exp) decl | Lprim(p, args) -> - List.iter freevars args + List.iter f args | Lswitch(arg, sw) -> - freevars arg; - List.iter (fun (key, case) -> freevars case) sw.sw_consts; - List.iter (fun (key, case) -> freevars case) sw.sw_blocks; + f arg; + List.iter (fun (key, case) -> f case) sw.sw_consts; + List.iter (fun (key, case) -> f case) sw.sw_blocks; begin match sw.sw_failaction with | None -> () - | Some l -> freevars l + | Some l -> f l end | Lstaticraise (_,args) -> - List.iter freevars args + List.iter f args | Lstaticcatch(e1, (_,vars), e2) -> - freevars e1; freevars e2 ; - List.iter (fun id -> fv := IdentSet.remove id !fv) vars + f e1; f e2 | Ltrywith(e1, exn, e2) -> - freevars e1; freevars e2; fv := IdentSet.remove exn !fv + f e1; f e2 | Lifthenelse(e1, e2, e3) -> - freevars e1; freevars e2; freevars e3 + f e1; f e2; f e3 | Lsequence(e1, e2) -> - freevars e1; freevars e2 + f e1; f e2 | Lwhile(e1, e2) -> - freevars e1; freevars e2 + f e1; f e2 | Lfor(v, e1, e2, dir, e3) -> - freevars e1; freevars e2; freevars e3; fv := IdentSet.remove v !fv + f e1; f e2; f e3 | Lassign(id, e) -> - fv := IdentSet.add id !fv; freevars e + f e | Lsend (k, met, obj, args) -> - List.iter freevars (met::obj::args) + List.iter f (met::obj::args) | Levent (lam, evt) -> - freevars lam + f lam | Lifused (v, e) -> - freevars e - in freevars l; !fv + f e + +module IdentSet = + Set.Make(struct + type t = Ident.t + let compare = compare + end) + +let free_ids get l = + let fv = ref IdentSet.empty in + let rec free l = + iter free l; + fv := List.fold_right IdentSet.add (get l) !fv; + match l with + Lfunction(kind, params, body) -> + List.iter (fun param -> fv := IdentSet.remove param !fv) params + | Llet(str, id, arg, body) -> + fv := IdentSet.remove id !fv + | Lletrec(decl, body) -> + List.iter (fun (id, exp) -> fv := IdentSet.remove id !fv) decl + | Lstaticcatch(e1, (_,vars), e2) -> + List.iter (fun id -> fv := IdentSet.remove id !fv) vars + | Ltrywith(e1, exn, e2) -> + fv := IdentSet.remove exn !fv + | Lfor(v, e1, e2, dir, e3) -> + fv := IdentSet.remove v !fv + | Lassign(id, e) -> + fv := IdentSet.add id !fv + | Lvar _ | Lconst _ | Lapply _ + | Lprim _ | Lswitch _ | Lstaticraise _ + | Lifthenelse _ | Lsequence _ | Lwhile _ + | Lsend _ | Levent _ | Lifused _ -> () + in free l; !fv + +let free_variables l = + free_ids (function Lvar id -> [id] | _ -> []) l + +let free_methods l = + free_ids (function Lsend(Self, Lvar meth, obj, _) -> [meth] | _ -> []) l (* Check if an action has a "when" guard *) let raise_count = ref 0 diff --git a/bytecomp/lambda.mli b/bytecomp/lambda.mli index 03421407..51187756 100644 --- a/bytecomp/lambda.mli +++ b/bytecomp/lambda.mli @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: lambda.mli,v 1.38.2.1 2004/07/07 16:49:53 xleroy Exp $ *) +(* $Id: lambda.mli,v 1.38.2.2 2005/04/04 05:14:25 garrigue Exp $ *) (* The "lambda" intermediate code *) @@ -174,8 +174,10 @@ val name_lambda_list: lambda list -> (lambda list -> lambda) -> lambda val is_guarded: lambda -> bool val patch_guarded : lambda -> lambda -> lambda +val iter: (lambda -> unit) -> lambda -> unit module IdentSet: Set.S with type elt = Ident.t val free_variables: lambda -> IdentSet.t +val free_methods: lambda -> IdentSet.t val transl_path: Path.t -> lambda val make_sequence: ('a -> lambda) -> 'a list -> lambda diff --git a/bytecomp/translclass.ml b/bytecomp/translclass.ml index a192262d..062c69db 100644 --- a/bytecomp/translclass.ml +++ b/bytecomp/translclass.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: translclass.ml,v 1.32 2004/05/26 11:10:50 garrigue Exp $ *) +(* $Id: translclass.ml,v 1.32.2.2 2005/08/08 01:40:31 garrigue Exp $ *) open Misc open Asttypes @@ -365,6 +365,16 @@ let rec build_class_lets cl = | _ -> (cl.cl_env, fun x -> x) +let rec get_class_meths cl = + match cl.cl_desc with + Tclass_structure cl -> + Meths.fold (fun _ -> IdentSet.add) cl.cl_meths IdentSet.empty + | Tclass_ident _ -> IdentSet.empty + | Tclass_fun (_, _, cl, _) + | Tclass_let (_, _, _, cl) + | Tclass_apply (cl, _) + | Tclass_constraint (cl, _, _, _) -> get_class_meths cl + (* XXX Il devrait etre peu couteux d'ecrire des classes : class c x y = d e f @@ -476,8 +486,8 @@ let rec builtin_meths self env env2 body = | _ -> raise Not_found in match body with - | Llet(Alias, s', Lvar s, body) when List.mem s self -> - builtin_meths self env env2 body + | Llet(_, s', Lvar s, body) when List.mem s self -> + builtin_meths (s'::self) env env2 body | Lapply(f, [arg]) when const_path f -> let s, args = conv arg in ("app_"^s, f :: args) | Lapply(f, [arg; p]) when const_path f && const_path p -> @@ -502,7 +512,7 @@ let rec builtin_meths self env env2 body = | Lprim(Parraysetu _, [Lvar s; Lvar n; Lvar x']) when Ident.same x x' && List.mem s self -> ("set_var", [Lvar n]) - | Llet(Alias, s', Lvar s, body) when List.mem s self -> + | Llet(_, s', Lvar s, body) when List.mem s self -> enter (s'::self) body | _ -> raise Not_found in enter self body @@ -577,11 +587,18 @@ let transl_class ids cl_id arity pub_meths cl = let cl_env, llets = build_class_lets cl in let new_ids = if top then [] else Env.diff top_env cl_env in let env2 = Ident.create "env" in + let meth_ids = get_class_meths cl in let subst env lam i0 new_ids' = let fv = free_variables lam in let fv = List.fold_right IdentSet.remove !new_ids' fv in - let fv = - IdentSet.filter (fun id -> List.mem id new_ids) fv in + (* IdentSet.iter + (fun id -> + if not (List.mem id new_ids) then prerr_endline (Ident.name id)) + fv; *) + let fv = IdentSet.filter (fun id -> List.mem id new_ids) fv in + (* need to handle methods specially (PR#3576) *) + let fm = IdentSet.diff (free_methods lam) meth_ids in + let fv = IdentSet.union fv fm in new_ids' := !new_ids' @ IdentSet.elements fv; let i = ref (i0-1) in List.fold_left diff --git a/bytecomp/translcore.ml b/bytecomp/translcore.ml index 0ddbeb51..cf8d5b85 100644 --- a/bytecomp/translcore.ml +++ b/bytecomp/translcore.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: translcore.ml,v 1.96 2004/05/26 11:10:50 garrigue Exp $ *) +(* $Id: translcore.ml,v 1.96.2.1 2005/06/12 13:59:25 xleroy Exp $ *) (* Translation from typed abstract syntax to lambda terms, for the core language *) @@ -53,7 +53,8 @@ let comparisons_table = create_hashtable 11 [ prim_native_name = ""; prim_native_float = false}, Pbintcomp(Pnativeint, Ceq), Pbintcomp(Pint32, Ceq), - Pbintcomp(Pint64, Ceq)); + Pbintcomp(Pint64, Ceq), + true); "%notequal", (Pccall{prim_name = "caml_notequal"; prim_arity = 2; prim_alloc = true; prim_native_name = ""; prim_native_float = false}, @@ -64,7 +65,8 @@ let comparisons_table = create_hashtable 11 [ prim_native_float = false}, Pbintcomp(Pnativeint, Cneq), Pbintcomp(Pint32, Cneq), - Pbintcomp(Pint64, Cneq)); + Pbintcomp(Pint64, Cneq), + true); "%lessthan", (Pccall{prim_name = "caml_lessthan"; prim_arity = 2; prim_alloc = true; prim_native_name = ""; prim_native_float = false}, @@ -75,7 +77,8 @@ let comparisons_table = create_hashtable 11 [ prim_native_float = false}, Pbintcomp(Pnativeint, Clt), Pbintcomp(Pint32, Clt), - Pbintcomp(Pint64, Clt)); + Pbintcomp(Pint64, Clt), + false); "%greaterthan", (Pccall{prim_name = "caml_greaterthan"; prim_arity = 2; prim_alloc = true; prim_native_name = ""; prim_native_float = false}, @@ -86,7 +89,8 @@ let comparisons_table = create_hashtable 11 [ prim_native_float = false}, Pbintcomp(Pnativeint, Cgt), Pbintcomp(Pint32, Cgt), - Pbintcomp(Pint64, Cgt)); + Pbintcomp(Pint64, Cgt), + false); "%lessequal", (Pccall{prim_name = "caml_lessequal"; prim_arity = 2; prim_alloc = true; prim_native_name = ""; prim_native_float = false}, @@ -97,7 +101,8 @@ let comparisons_table = create_hashtable 11 [ prim_native_float = false}, Pbintcomp(Pnativeint, Cle), Pbintcomp(Pint32, Cle), - Pbintcomp(Pint64, Cle)); + Pbintcomp(Pint64, Cle), + false); "%greaterequal", (Pccall{prim_name = "caml_greaterequal"; prim_arity = 2; prim_alloc = true; @@ -109,7 +114,8 @@ let comparisons_table = create_hashtable 11 [ prim_native_float = false}, Pbintcomp(Pnativeint, Cge), Pbintcomp(Pint32, Cge), - Pbintcomp(Pint64, Cge)); + Pbintcomp(Pint64, Cge), + false); "%compare", (Pccall{prim_name = "caml_compare"; prim_arity = 2; prim_alloc = true; prim_native_name = ""; prim_native_float = false}, @@ -130,7 +136,8 @@ let comparisons_table = create_hashtable 11 [ prim_native_float = false}, Pccall{prim_name = "caml_int64_compare"; prim_arity = 2; prim_alloc = false; prim_native_name = ""; - prim_native_float = false}) + prim_native_float = false}, + false) ] let primitives_table = create_hashtable 57 [ @@ -262,12 +269,15 @@ let prim_obj_dup = let transl_prim prim args = try let (gencomp, intcomp, floatcomp, stringcomp, - nativeintcomp, int32comp, int64comp) = + nativeintcomp, int32comp, int64comp, + simplify_constant_constructor) = Hashtbl.find comparisons_table prim.prim_name in begin match args with - [arg1; {exp_desc = Texp_construct({cstr_tag = Cstr_constant _}, _)}] -> + [arg1; {exp_desc = Texp_construct({cstr_tag = Cstr_constant _}, _)}] + when simplify_constant_constructor -> intcomp - | [{exp_desc = Texp_construct({cstr_tag = Cstr_constant _}, _)}; arg2] -> + | [{exp_desc = Texp_construct({cstr_tag = Cstr_constant _}, _)}; arg2] + when simplify_constant_constructor -> intcomp | [arg1; arg2] when has_base_type arg1 Predef.path_int || has_base_type arg1 Predef.path_char -> @@ -313,7 +323,7 @@ let transl_prim prim args = let transl_primitive p = let prim = try - let (gencomp, _, _, _, _, _, _) = + let (gencomp, _, _, _, _, _, _, _) = Hashtbl.find comparisons_table p.prim_name in gencomp with Not_found -> diff --git a/byterun/CVS/Entries b/byterun/CVS/Entries deleted file mode 100644 index 3f5c5a1c..00000000 --- a/byterun/CVS/Entries +++ /dev/null @@ -1,91 +0,0 @@ -/.cvsignore/1.10.18.1/Fri Jul 16 16:11:33 2004//Tocaml3083 -/.depend/1.47.6.1/Fri Jul 9 15:55:51 2004//Tocaml3083 -/Makefile/1.48.4.2/Fri Aug 20 15:11:36 2004//Tocaml3083 -/Makefile.nt/1.36.4.1/Fri Aug 20 15:11:36 2004//Tocaml3083 -/alloc.c/1.28/Thu Jan 1 16:42:34 2004//Tocaml3083 -/alloc.h/1.17/Fri Jan 2 19:23:18 2004//Tocaml3083 -/array.c/1.22/Fri Jan 2 19:23:19 2004//Tocaml3083 -/backtrace.c/1.20/Fri Jan 2 19:23:19 2004//Tocaml3083 -/backtrace.h/1.6/Wed Dec 31 14:20:35 2003//Tocaml3083 -/callback.c/1.22/Mon Apr 26 12:02:07 2004//Tocaml3083 -/callback.h/1.13/Mon Jan 5 20:25:58 2004//Tocaml3083 -/compact.c/1.22.6.1/Wed Mar 9 15:49:09 2005//Tocaml3083 -/compact.h/1.7/Wed Dec 31 14:20:35 2003//Tocaml3083 -/compare.c/1.31.6.1/Wed Jul 7 16:48:46 2004//Tocaml3083 -/compatibility.h/1.13/Mon Jun 14 14:28:30 2004//Tocaml3083 -/config.h/1.36/Mon Apr 19 07:55:28 2004//Tocaml3083 -/custom.c/1.14/Mon Jan 5 20:25:58 2004//Tocaml3083 -/custom.h/1.11.6.1/Tue Feb 22 14:33:36 2005//Tocaml3083 -/debugger.c/1.28/Fri Jan 2 19:23:20 2004//Tocaml3083 -/debugger.h/1.9/Thu Jan 1 16:42:35 2004//Tocaml3083 -/dynlink.c/1.14/Sun Feb 22 15:07:51 2004//Tocaml3083 -/dynlink.h/1.8/Sun Feb 22 15:07:51 2004//Tocaml3083 -/exec.h/1.14/Tue Jun 1 12:36:34 2004//Tocaml3083 -/extern.c/1.56/Sat Jun 19 16:02:07 2004//Tocaml3083 -/fail.c/1.29/Mon May 17 17:09:59 2004//Tocaml3083 -/fail.h/1.25/Fri Jan 2 19:23:20 2004//Tocaml3083 -/finalise.c/1.15.2.2/Wed Mar 9 15:49:09 2005//Tocaml3083 -/finalise.h/1.5/Fri Jan 2 19:23:21 2004//Tocaml3083 -/fix_code.c/1.31/Wed May 26 11:10:51 2004//Tocaml3083 -/fix_code.h/1.17/Fri Jan 2 19:23:21 2004//Tocaml3083 -/floats.c/1.46/Fri Jan 9 15:33:31 2004//Tocaml3083 -/freelist.c/1.16/Fri Jan 2 19:23:21 2004//Tocaml3083 -/freelist.h/1.12/Fri Jan 2 19:23:21 2004//Tocaml3083 -/gc.h/1.14/Mon Dec 15 18:10:46 2003//Tocaml3083 -/gc_ctrl.c/1.47.4.2/Wed Mar 9 15:49:09 2005//Tocaml3083 -/gc_ctrl.h/1.15/Fri Jan 2 19:23:22 2004//Tocaml3083 -/globroots.c/1.7/Mon Jan 5 20:25:58 2004//Tocaml3083 -/globroots.h/1.3/Mon Dec 15 18:10:47 2003//Tocaml3083 -/hash.c/1.22/Fri Jan 2 19:23:22 2004//Tocaml3083 -/instrtrace.c/1.19/Fri Apr 23 23:16:15 2004//Tocaml3083 -/instrtrace.h/1.8/Thu Apr 22 09:48:04 2004//Tocaml3083 -/instruct.h/1.20/Wed May 26 11:10:51 2004//Tocaml3083 -/int64_emul.h/1.3/Mon Dec 15 18:10:47 2003//Tocaml3083 -/int64_format.h/1.2/Mon Dec 15 18:10:47 2003//Tocaml3083 -/int64_native.h/1.4/Mon Dec 15 18:10:47 2003//Tocaml3083 -/intern.c/1.58.2.1/Wed Nov 3 19:47:20 2004//Tocaml3083 -/interp.c/1.90/Sat Jun 12 10:40:52 2004//Tocaml3083 -/interp.h/1.13/Mon Apr 26 14:08:22 2004//Tocaml3083 -/intext.h/1.30/Fri Jan 2 19:23:23 2004//Tocaml3083 -/ints.c/1.47/Fri Jan 2 19:23:23 2004//Tocaml3083 -/io.c/1.68/Thu Jan 8 22:28:48 2004//Tocaml3083 -/io.h/1.25/Thu Jan 1 16:42:36 2004//Tocaml3083 -/lexing.c/1.27/Thu Jan 1 16:42:36 2004//Tocaml3083 -/main.c/1.36/Thu Jan 8 22:28:48 2004//Tocaml3083 -/major_gc.c/1.54.2.1/Sat Jul 3 10:00:59 2004//Tocaml3083 -/major_gc.h/1.20/Mon Jun 14 15:17:43 2004//Tocaml3083 -/md5.c/1.18/Thu Jan 1 16:42:36 2004//Tocaml3083 -/md5.h/1.12/Wed Dec 31 14:20:37 2003//Tocaml3083 -/memory.c/1.40.2.1/Wed Dec 22 16:12:16 2004//Tocaml3083 -/memory.h/1.50.2.2/Mon Nov 22 11:16:03 2004//Tocaml3083 -/meta.c/1.31/Mon Apr 26 14:09:01 2004//Tocaml3083 -/minor_gc.c/1.42/Mon Jan 5 20:25:59 2004//Tocaml3083 -/minor_gc.h/1.17/Wed Dec 31 14:20:37 2003//Tocaml3083 -/misc.c/1.26/Thu Apr 1 13:07:57 2004//Tocaml3083 -/misc.h/1.30/Mon May 17 17:09:59 2004//Tocaml3083 -/mlvalues.h/1.48.6.1/Wed Jul 7 01:14:43 2004//Tocaml3083 -/obj.c/1.34.2.3/Tue Jan 4 16:29:27 2005//Tocaml3083 -/osdeps.h/1.9/Fri Jan 2 19:23:25 2004//Tocaml3083 -/parsing.c/1.20/Mon May 17 17:09:59 2004//Tocaml3083 -/prims.h/1.10/Sun Feb 22 15:07:51 2004//Tocaml3083 -/printexc.c/1.16/Thu Jan 8 22:28:48 2004//Tocaml3083 -/printexc.h/1.5/Thu Jan 1 16:42:37 2004//Tocaml3083 -/reverse.h/1.12/Mon Dec 15 18:10:48 2003//Tocaml3083 -/roots.c/1.28/Mon Jan 5 20:25:59 2004//Tocaml3083 -/roots.h/1.18/Thu Jan 1 16:42:37 2004//Tocaml3083 -/signals.c/1.46/Thu Jan 8 22:28:48 2004//Tocaml3083 -/signals.h/1.21/Thu Jan 1 16:42:37 2004//Tocaml3083 -/stacks.c/1.21/Thu Jan 1 16:42:37 2004//Tocaml3083 -/stacks.h/1.13/Thu Jan 1 16:42:37 2004//Tocaml3083 -/startup.c/1.64.4.1/Sat Jul 3 10:01:00 2004//Tocaml3083 -/startup.h/1.5/Sun Feb 22 15:07:51 2004//Tocaml3083 -/str.c/1.26/Mon May 17 17:09:59 2004//Tocaml3083 -/sys.c/1.76/Tue May 18 08:50:22 2004//Tocaml3083 -/sys.h/1.15/Tue Dec 16 18:09:43 2003//Tocaml3083 -/terminfo.c/1.23/Thu Jan 1 16:42:38 2004//Tocaml3083 -/ui.h/1.5/Mon Dec 15 18:10:49 2003//Tocaml3083 -/unix.c/1.21.6.1/Wed Aug 18 05:01:22 2004//Tocaml3083 -/weak.c/1.24/Thu Jan 1 16:42:38 2004//Tocaml3083 -/weak.h/1.7/Thu Jan 1 16:42:38 2004//Tocaml3083 -/win32.c/1.23.6.1/Mon Nov 8 13:08:00 2004//Tocaml3083 -D diff --git a/byterun/CVS/Repository b/byterun/CVS/Repository deleted file mode 100644 index 80cad389..00000000 --- a/byterun/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/byterun diff --git a/byterun/CVS/Root b/byterun/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/byterun/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/byterun/CVS/Tag b/byterun/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/byterun/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/CHANGES b/camlp4/CHANGES index 01c486fc..5119eabb 100644 --- a/camlp4/CHANGES +++ b/camlp4/CHANGES @@ -3,8 +3,8 @@ Camlp4 Version 3.08.2 - [07 Oct 04] Changes in the interfaces plexer.mli and pcaml.mli: - plexer.mli: introduced a new lexer building function `make_lexer', similar to `gmake', but returning a triple of references in addition - (holding respectively the character number of the beginning + of the - current line, the current line number and the name of the file + being + (holding respectively the character number of the beginning of the + current line, the current line number and the name of the file being parsed). - pcaml.mli: a new value `position'. A global reference to a triple like the one mentioned above. diff --git a/camlp4/CVS/Entries b/camlp4/CVS/Entries deleted file mode 100644 index c5696470..00000000 --- a/camlp4/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/CHANGES/1.48.2.7/Mon Nov 22 16:25:38 2004//Tocaml3083 -/ICHANGES/1.3/Wed May 12 15:22:36 2004//Tocaml3083 -/Makefile/1.22.2.3/Wed Jul 7 16:41:58 2004//Tocaml3083 -D diff --git a/camlp4/CVS/Entries.Log b/camlp4/CVS/Entries.Log deleted file mode 100644 index dbf5e868..00000000 --- a/camlp4/CVS/Entries.Log +++ /dev/null @@ -1,15 +0,0 @@ -A D/boot//// -A D/camlp4//// -A D/compile//// -A D/config//// -A D/etc//// -A D/lib//// -A D/man//// -A D/meta//// -A D/ocaml_src//// -A D/ocaml_stuff//// -A D/ocpp//// -A D/odyl//// -A D/tools//// -A D/top//// -A D/unmaintained//// diff --git a/camlp4/CVS/Repository b/camlp4/CVS/Repository deleted file mode 100644 index af2ca2d9..00000000 --- a/camlp4/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4 diff --git a/camlp4/CVS/Root b/camlp4/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/CVS/Tag b/camlp4/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/boot/CVS/Entries b/camlp4/boot/CVS/Entries deleted file mode 100644 index bc35430f..00000000 --- a/camlp4/boot/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.cvsignore/1.2/Fri Sep 7 08:09:27 2001//Tocaml3083 -D diff --git a/camlp4/boot/CVS/Repository b/camlp4/boot/CVS/Repository deleted file mode 100644 index 4698146c..00000000 --- a/camlp4/boot/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/boot diff --git a/camlp4/boot/CVS/Root b/camlp4/boot/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/boot/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/boot/CVS/Tag b/camlp4/boot/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/boot/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/camlp4/CVS/Entries b/camlp4/camlp4/CVS/Entries deleted file mode 100644 index 964f075d..00000000 --- a/camlp4/camlp4/CVS/Entries +++ /dev/null @@ -1,16 +0,0 @@ -/.cvsignore/1.2/Thu Jul 10 12:28:14 2003//Tocaml3083 -/.depend/1.15.2.2/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.20.2.8/Mon Jan 31 10:38:53 2005//Tocaml3083 -/argl.ml/1.14.2.2/Thu Oct 7 09:18:13 2004//Tocaml3083 -/ast2pt.ml/1.31/Tue May 25 11:38:31 2004//Tocaml3083 -/ast2pt.mli/1.4/Wed May 12 15:22:38 2004//Tocaml3083 -/mLast.mli/1.17/Wed May 19 15:00:45 2004//Tocaml3083 -/pcaml.ml/1.13.2.4/Thu Oct 7 09:18:13 2004//Tocaml3083 -/pcaml.mli/1.7.2.4/Thu Oct 7 09:18:13 2004//Tocaml3083 -/quotation.ml/1.3/Fri Jul 19 14:53:44 2002//Tocaml3083 -/quotation.mli/1.2/Fri Jul 19 14:53:44 2002//Tocaml3083 -/reloc.ml/1.16/Wed May 19 15:00:45 2004//Tocaml3083 -/reloc.mli/1.3.2.2/Thu Jul 8 08:50:12 2004//Tocaml3083 -/spretty.ml/1.3/Tue Sep 23 18:06:18 2003//Tocaml3083 -/spretty.mli/1.2/Fri Jul 19 14:53:44 2002//Tocaml3083 -D diff --git a/camlp4/camlp4/CVS/Repository b/camlp4/camlp4/CVS/Repository deleted file mode 100644 index 1b6ed29a..00000000 --- a/camlp4/camlp4/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/camlp4 diff --git a/camlp4/camlp4/CVS/Root b/camlp4/camlp4/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/camlp4/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/camlp4/CVS/Tag b/camlp4/camlp4/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/camlp4/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/camlp4/ast2pt.ml b/camlp4/camlp4/ast2pt.ml index e9eba001..75e48a91 100644 --- a/camlp4/camlp4/ast2pt.ml +++ b/camlp4/camlp4/ast2pt.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: ast2pt.ml,v 1.31 2004/05/25 11:38:31 mauny Exp $ *) +(* $Id: ast2pt.ml,v 1.31.2.1 2005/06/01 18:22:24 mauny Exp $ *) open Stdpp; open MLast; @@ -469,6 +469,8 @@ value rec patt = | PaRec loc lpl -> mkpat loc (Ppat_record (List.map mklabpat lpl)) | PaStr loc s -> mkpat loc (Ppat_constant (Const_string (string_of_string_token loc s))) + | PaTup loc [] -> error loc "empty tuple pattern" + | PaTup loc [_] -> error loc "singleton tuple pattern" | PaTup loc pl -> mkpat loc (Ppat_tuple (List.map patt pl)) | PaTyc loc p t -> mkpat loc (Ppat_constraint (patt p) (ctyp t)) | PaTyp loc sl -> mkpat loc (Ppat_type (long_id_of_string_list loc sl)) @@ -678,6 +680,8 @@ value rec expr = | ExStr loc s -> mkexp loc (Pexp_constant (Const_string (string_of_string_token loc s))) | ExTry loc e pel -> mkexp loc (Pexp_try (expr e) (List.map mkpwe pel)) + | ExTup loc [] -> error loc "empty tuple" + | ExTup loc [e] -> error loc "singleton tuple" | ExTup loc el -> mkexp loc (Pexp_tuple (List.map expr el)) | ExTyc loc e t -> mkexp loc (Pexp_constraint (expr e) (Some (ctyp t)) None) | ExUid loc s -> diff --git a/camlp4/camlp4/pcaml.ml b/camlp4/camlp4/pcaml.ml index bc4f6baa..1571daea 100644 --- a/camlp4/camlp4/pcaml.ml +++ b/camlp4/camlp4/pcaml.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: pcaml.ml,v 1.13.2.4 2004/10/07 09:18:13 mauny Exp $ *) +(* $Id: pcaml.ml,v 1.13.2.5 2005/04/14 07:22:06 mauny Exp $ *) value version = Sys.ocaml_version; @@ -99,7 +99,7 @@ value expand_quotation loc expander shift name str = try expander str with [ Stdpp.Exc_located loc exc -> let exc1 = Qerror name Expanding exc in - raise (Stdpp.Exc_located (Reloc.adjust_loc shift (Reloc.linearize loc)) exc1) + raise (Stdpp.Exc_located (Reloc.adjust_loc shift loc) exc1) | exc -> let exc1 = Qerror name Expanding exc in raise (Stdpp.Exc_located loc exc1) ]) diff --git a/camlp4/camlp4/reloc.ml b/camlp4/camlp4/reloc.ml index 913fdb46..ee446802 100644 --- a/camlp4/camlp4/reloc.ml +++ b/camlp4/camlp4/reloc.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: reloc.ml,v 1.16 2004/05/19 15:00:45 mauny Exp $ *) +(* $Id: reloc.ml,v 1.16.2.1 2005/04/14 07:22:06 mauny Exp $ *) open MLast; @@ -107,19 +107,13 @@ value check_location msg ((bp, ep) as loc) = (ok, loc) ; -(* Change a location into linear positions *) -value linearize (bp, ep) = - ( { (bp) with Lexing.pos_lnum = 1; Lexing.pos_bol = 0 }, - { (ep) with Lexing.pos_lnum = 1; Lexing.pos_bol = 0 }) -; - value shift_pos n p = { (p) with Lexing.pos_cnum = p.Lexing.pos_cnum + n } ; value zero_loc = - { (Lexing.dummy_pos) with Lexing.pos_cnum = 0; Lexing.pos_lnum = 0 }; - + { (Lexing.dummy_pos) with Lexing.pos_cnum = 0; Lexing.pos_lnum = 0 } +; value adjust_pos globpos local_pos = { @@ -147,7 +141,7 @@ value rec patt floc sh = [ PaAcc loc x1 x2 -> let nloc = floc loc in PaAcc nloc (self x1) (self x2) | PaAli loc x1 x2 -> let nloc = floc loc in PaAli nloc (self x1) (self x2) | PaAnt loc x1 -> (* Note that antiquotations are parsed by the OCaml parser, passing line numbers and begs of lines *) - patt (fun lloc -> adjust_loc (adjust_pos sh (fst loc)) (linearize lloc)) zero_loc x1 + patt (fun lloc -> adjust_loc (adjust_pos sh (fst loc)) lloc) zero_loc x1 | PaAny loc -> let nloc = floc loc in PaAny nloc | PaApp loc x1 x2 -> let nloc = floc loc in PaApp nloc (self x1) (self x2) | PaArr loc x1 -> let nloc = floc loc in PaArr nloc (List.map self x1) @@ -179,7 +173,7 @@ and expr floc sh = fun [ ExAcc loc x1 x2 -> let nloc = floc loc in ExAcc nloc (self x1) (self x2) | ExAnt loc x1 -> (* Note that antiquotations are parsed by the OCaml parser, passing line numbers and begs of lines *) - expr (fun lloc -> (adjust_loc (adjust_pos sh (fst loc)) (linearize lloc))) + expr (fun lloc -> (adjust_loc (adjust_pos sh (fst loc)) lloc)) zero_loc x1 | ExApp loc x1 x2 -> let nloc = floc loc in ExApp nloc (self x1) (self x2) | ExAre loc x1 x2 -> let nloc = floc loc in ExAre nloc (self x1) (self x2) diff --git a/camlp4/camlp4/reloc.mli b/camlp4/camlp4/reloc.mli index d4be634f..c3e73632 100644 --- a/camlp4/camlp4/reloc.mli +++ b/camlp4/camlp4/reloc.mli @@ -10,12 +10,11 @@ (* *) (***********************************************************************) -(* $Id: reloc.mli,v 1.3.2.2 2004/07/08 08:50:12 mauny Exp $ *) +(* $Id: reloc.mli,v 1.3.2.3 2005/04/14 07:22:06 mauny Exp $ *) value zero_loc : Lexing.position; value shift_pos : int -> Lexing.position -> Lexing.position; value adjust_loc : Lexing.position -> MLast.loc -> MLast.loc; -value linearize : MLast.loc -> MLast.loc; value ctyp : (MLast.loc -> MLast.loc) -> 'a -> MLast.ctyp -> MLast.ctyp; value row_field : (MLast.loc -> MLast.loc) -> 'a -> MLast.row_field -> MLast.row_field; diff --git a/camlp4/compile/CVS/Entries b/camlp4/compile/CVS/Entries deleted file mode 100644 index d9499fca..00000000 --- a/camlp4/compile/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/.cvsignore/1.1/Tue Nov 6 09:01:54 2001//Tocaml3083 -/.depend/1.6.4.4/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.8.4.2/Fri Feb 18 09:11:13 2005//Tocaml3083 -/comp_head.ml/1.3.6.1/Fri Feb 18 09:11:13 2005//Tocaml3083 -/comp_trail.ml/1.2/Thu Oct 30 09:52:54 2003//Tocaml3083 -/compile.ml/1.13/Wed May 12 15:22:39 2004//Tocaml3083 -/compile.sh/1.5/Fri Aug 29 12:15:14 2003//Tocaml3083 -D diff --git a/camlp4/compile/CVS/Repository b/camlp4/compile/CVS/Repository deleted file mode 100644 index 181b8d0c..00000000 --- a/camlp4/compile/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/compile diff --git a/camlp4/compile/CVS/Root b/camlp4/compile/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/compile/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/compile/CVS/Tag b/camlp4/compile/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/compile/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/compile/Makefile b/camlp4/compile/Makefile index bf2bcef6..3b31b24d 100644 --- a/camlp4/compile/Makefile +++ b/camlp4/compile/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.8.4.2 2005/02/18 09:11:13 mauny Exp $ +# $Id: Makefile,v 1.8.4.3 2005/06/22 15:46:42 doligez Exp $ include ../config/Makefile @@ -26,7 +26,8 @@ pa_$D_fast.ml: comp_head.ml $D_fast.ml comp_trail.ml cat $(SRC) | sed -e "s/Plexer.make_lexer *()/P.lexer_pos/" -e "/EXTEND/,/END/d" -e "/Grammar.Entry.of_parser/d" -e "/Grammar.Entry.gcreate/d" | cat comp_head.ml - $D_fast.ml comp_trail.ml > pa_$D_fast.ml $D_fast.ml: compile.cmo $(SRC) - OTOP=$(OTOP) EXE=$(EXE) ./compile.sh $(COMP_OPT) $(SRC) > $D_fast.ml + echo '(* camlp4r *)' >$D_fast.ml + OTOP=$(OTOP) EXE=$(EXE) ./compile.sh $(COMP_OPT) $(SRC) >> $D_fast.ml install: if test -f camlp4$D.fast.opt; then cp camlp4$D.fast.opt $(BINDIR)/camlp4$D.opt$(EXE); fi diff --git a/camlp4/config/CVS/Entries b/camlp4/config/CVS/Entries deleted file mode 100644 index f998072c..00000000 --- a/camlp4/config/CVS/Entries +++ /dev/null @@ -1,6 +0,0 @@ -/.cvsignore/1.1/Fri Sep 7 07:14:11 2001//Tocaml3083 -/Makefile-nt.cnf/1.6/Thu Aug 28 18:34:47 2003//Tocaml3083 -/Makefile.tpl/1.4.10.6/Sat Jul 3 16:53:45 2004//Tocaml3083 -/config.mpw/1.1/Thu Dec 13 13:59:23 2001//Tocaml3083 -/configure_batch/1.5.4.3/Fri Jul 30 14:59:15 2004//Tocaml3083 -D diff --git a/camlp4/config/CVS/Repository b/camlp4/config/CVS/Repository deleted file mode 100644 index 4d1e7468..00000000 --- a/camlp4/config/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/config diff --git a/camlp4/config/CVS/Root b/camlp4/config/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/config/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/config/CVS/Tag b/camlp4/config/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/config/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/etc/CVS/Entries b/camlp4/etc/CVS/Entries deleted file mode 100644 index defc39c4..00000000 --- a/camlp4/etc/CVS/Entries +++ /dev/null @@ -1,27 +0,0 @@ -/.cvsignore/1.3/Thu Jul 10 12:28:16 2003//Tocaml3083 -/.depend/1.13.2.4/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.20.2.2/Wed Jul 7 16:22:23 2004//Tocaml3083 -/mkcamlp4.mpw.tpl/1.2/Thu Jul 10 12:28:18 2003//Tocaml3083 -/mkcamlp4.sh.tpl/1.7/Tue Sep 23 18:17:35 2003//Tocaml3083 -/pa_extfold.ml/1.1/Fri Jul 19 14:53:45 2002//Tocaml3083 -/pa_extfun.ml/1.2/Fri Jul 19 14:53:45 2002//Tocaml3083 -/pa_fstream.ml/1.3/Fri Jul 19 14:53:45 2002//Tocaml3083 -/pa_ifdef.ml/1.1.6.1/Mon Jul 5 09:48:42 2004//Tocaml3083 -/pa_o.ml/1.58.2.4/Mon Nov 29 14:16:46 2004//Tocaml3083 -/pa_oop.ml/1.4/Wed May 12 15:22:40 2004//Tocaml3083 -/pa_op.ml/1.6/Thu Jul 10 12:28:21 2003//Tocaml3083 -/pa_ru.ml/1.7/Thu Jul 10 12:28:21 2003//Tocaml3083 -/parserify.ml/1.2/Wed May 12 15:22:40 2004//Tocaml3083 -/parserify.mli/1.1/Thu Jul 10 12:28:22 2003//Tocaml3083 -/pr_depend.ml/1.13/Wed Jul 23 22:26:17 2003//Tocaml3083 -/pr_extend.ml/1.13/Wed May 12 15:22:40 2004//Tocaml3083 -/pr_extfun.ml/1.3/Wed May 12 15:22:40 2004//Tocaml3083 -/pr_null.ml/1.2/Fri Jul 19 14:53:46 2002//Tocaml3083 -/pr_o.ml/1.45/Wed May 12 21:33:45 2004//Tocaml3083 -/pr_op.ml/1.4/Fri Jul 19 14:53:47 2002//Tocaml3083 -/pr_op_main.ml/1.2/Wed May 12 15:22:40 2004//Tocaml3083 -/pr_r.ml/1.48/Wed May 12 15:22:41 2004//Tocaml3083 -/pr_rp.ml/1.5/Wed May 12 15:22:41 2004//Tocaml3083 -/pr_rp_main.ml/1.2/Wed May 12 15:22:41 2004//Tocaml3083 -/q_phony.ml/1.4/Wed May 12 15:22:41 2004//Tocaml3083 -D diff --git a/camlp4/etc/CVS/Repository b/camlp4/etc/CVS/Repository deleted file mode 100644 index 1acdabfa..00000000 --- a/camlp4/etc/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/etc diff --git a/camlp4/etc/CVS/Root b/camlp4/etc/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/etc/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/etc/CVS/Tag b/camlp4/etc/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/etc/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/etc/pa_o.ml b/camlp4/etc/pa_o.ml index b23a63fd..a48813d0 100644 --- a/camlp4/etc/pa_o.ml +++ b/camlp4/etc/pa_o.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: pa_o.ml,v 1.58.2.4 2004/11/29 14:16:46 mauny Exp $ *) +(* $Id: pa_o.ml,v 1.58.2.5 2005/06/02 10:40:32 mauny Exp $ *) open Stdpp; open Pcaml; @@ -720,7 +720,8 @@ EXTEND [ RIGHTA [ p = patt LEVEL "simple"; e = SELF -> <:expr< fun $p$ -> $e$ >> | "="; e = expr -> <:expr< $e$ >> - | ":"; t = ctyp; "="; e = expr -> <:expr< ($e$ : $t$) >> ] ] + | ":"; t = ctyp; "="; e = expr -> <:expr< ($e$ : $t$) >> + | ":>"; t = ctyp; "="; e = expr -> <:expr< ($e$ :> $t$) >> ] ] ; match_case: [ [ x1 = patt; w = OPT [ "when"; e = expr -> e ]; "->"; x2 = expr -> diff --git a/camlp4/etc/pr_o.ml b/camlp4/etc/pr_o.ml index c83571fa..ad042ea6 100644 --- a/camlp4/etc/pr_o.ml +++ b/camlp4/etc/pr_o.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: pr_o.ml,v 1.45 2004/05/12 21:33:45 mauny Exp $ *) +(* $Id: pr_o.ml,v 1.45.2.2 2005/06/29 13:37:13 mauny Exp $ *) open Pcaml; open Spretty; @@ -118,9 +118,10 @@ value has_special_chars v = ; value var_escaped v = - if v = "" then "$lid:\"\"$" - else if has_special_chars v || is_infix v then "( " ^ v ^ " )" - else if is_keyword v then v ^ "__" + if v = "" then "$lid:\"\"$" else + if v = "val" then "contents" else + if has_special_chars v || is_infix v then "( " ^ v ^ " )" else + if is_keyword v then v ^ "__" else v ; @@ -135,11 +136,7 @@ value conv_con = | x -> x ] ; -value conv_lab = - fun - [ "val" -> "contents" - | x -> var_escaped x ] -; +value conv_lab = var_escaped; (* default global loc *) @@ -148,6 +145,8 @@ value loc = (Token.nowhere, Token.nowhere); value id_var s = if has_special_chars s || is_infix s then HVbox [: `S LR "("; `S LR s; `S LR ")" :] + else if s = "val" then HVbox [: `S LR "contents" :] + else if s = "contents" then HVbox [: `S LR "contents__" :] else if is_keyword s then HVbox [: `S LR (s ^ "__") :] else HVbox [: `S LR s :] ; diff --git a/camlp4/etc/pr_r.ml b/camlp4/etc/pr_r.ml index c1714559..2599b631 100644 --- a/camlp4/etc/pr_r.ml +++ b/camlp4/etc/pr_r.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: pr_r.ml,v 1.48 2004/05/12 15:22:41 mauny Exp $ *) +(* $Id: pr_r.ml,v 1.48.2.2 2005/06/20 16:49:01 mauny Exp $ *) open Pcaml; open Spretty; @@ -28,6 +28,12 @@ value gen_where = ref True; value old_sequences = ref False; value expand_declare = ref False; +value no_curried_constructors = ref False; + +value constructors_are_curried () = + not no_curried_constructors.val +; + external is_printable : char -> bool = "caml_is_printable"; value char_escaped = @@ -173,7 +179,14 @@ and label is_last b (loc, f, m, t) k = k :] ; -value rec ctyp_list tel k = listws ctyp (S LR "and") tel k; +value rec ctyp_list tel k = + if constructors_are_curried() then + listws ctyp (S LR "and") tel k else + if List.length tel > 1 then + [: `S LO "("; listws ctyp (S LR "*") tel [: `S RO ")"; k :] :] + else + listws ctyp (S LR "*") tel k +; value rec variants loc b vl k = match vl with @@ -231,8 +244,29 @@ and field (lab, t) k = HVbox [: `S LR (var_escaped lab); `S LR ":"; `ctyp t k :] ; +value rec data_constructor_app e = match e with + [ <:expr< $uid:_$ >> | <:expr< $uid:_$ $_$ >> -> True + | <:expr< $a$ $_$ >> -> data_constructor_app a + | _ -> False ] +; + +value uncurry_expr fe last_arg = + let rec linearize fe result = match fe with + [ <:expr< $f$ $x$ >> -> linearize f [ x :: result ] + | _ -> (fe, result) ] in + linearize fe [last_arg] +; + (* patterns *) +value uncurry_patt pat last_arg = + let rec linearize pat result = match pat with + [ <:patt< $p$ $x$ >> -> linearize p [ x :: result ] + | _ -> (pat, result) ] in + linearize pat [last_arg] +; + + value rec is_irrefut_patt = fun [ <:patt< $lid:_$ >> -> True @@ -1146,7 +1180,19 @@ pr_expr.pr_levels := if is_infix n then [: `next e "" k :] else [: curr <:expr< $lid:n$ $x$ >> "" [: :]; `next y "" k :] | <:expr< $x$ $y$ >> -> - fun curr next _ k -> [: curr x "" [: :]; `next y "" k :] + if constructors_are_curried() || (not(data_constructor_app x)) then + fun curr next _ k -> [: curr x "" [: :]; `next y "" k :] + else + match uncurry_expr x y with + [ (f, ( [_;_::_] as args )) -> + fun curr next _ k -> + [: curr f "" [: :]; + `HOVCbox + [: `S LO "("; + listws expr (S RO ",") args [: `S RO ")"; k :] :] :] + | (f, [ arg ]) -> + fun curr next _ k -> [: curr f "" [: :]; `next arg "" k :] + | (f, []) -> failwith "patt@pr_r" ] | <:expr< new $list:sl$ >> -> fun curr next _ k -> [: `S LR "new"; `class_longident sl k :] | e -> fun curr next _ k -> [: `next e "" k :] ]}; @@ -1294,7 +1340,19 @@ pr_patt.pr_levels := [ <:patt< [$_$ :: $_$] >> as p -> fun curr next _ k -> [: `next p "" k :] | <:patt< $x$ $y$ >> -> - fun curr next _ k -> [: curr x "" [: :]; `next y "" k :] + if constructors_are_curried() then + fun curr next _ k -> [: curr x "" [: :]; `next y "" k :] + else + match uncurry_patt x y with + [ (constr, ( [_;_::_] as args )) -> + fun curr next _ k -> + [: curr constr "" [: :]; + `HOVCbox + [: `S LO "("; + listws patt (S RO ",") args [: `S RO ")"; k :] :] :] + | (constr, [ arg ]) -> + fun curr next _ k -> [: curr constr "" [: :]; `next arg "" k :] + | (constr, []) -> failwith "patt@pr_r" ] | p -> fun curr next _ k -> [: `next p "" k :] ]}; {pr_label = ""; pr_box _ x = HOVbox x; pr_rules = @@ -1898,3 +1956,6 @@ Pcaml.add_option "-exp_dcl" (Arg.Set expand_declare) Pcaml.add_option "-tc" (Arg.Clear ncip) "Deprecated since version 3.05; equivalent to -cip."; + +Pcaml.add_option "-no_curried_constructors" (Arg.Set no_curried_constructors) + "Considers all non constant data constructors as unary."; diff --git a/camlp4/lib/CVS/Entries b/camlp4/lib/CVS/Entries deleted file mode 100644 index bbcc6817..00000000 --- a/camlp4/lib/CVS/Entries +++ /dev/null @@ -1,20 +0,0 @@ -/.cvsignore/1.1/Fri Sep 7 07:23:16 2001//Tocaml3083 -/.depend/1.3.2.1/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.8.2.6/Wed Jul 28 13:55:43 2004//Tocaml3083 -/extfold.ml/1.1/Fri Jul 19 14:53:47 2002//Tocaml3083 -/extfold.mli/1.1/Fri Jul 19 14:53:47 2002//Tocaml3083 -/extfun.ml/1.3/Thu Jul 10 12:28:24 2003//Tocaml3083 -/extfun.mli/1.2/Fri Jul 19 14:53:48 2002//Tocaml3083 -/fstream.ml/1.5/Thu Jul 10 12:28:24 2003//Tocaml3083 -/fstream.mli/1.3/Fri Jul 19 14:53:48 2002//Tocaml3083 -/gramext.ml/1.4/Fri Jul 19 14:53:48 2002//Tocaml3083 -/gramext.mli/1.3/Fri Jul 19 14:53:48 2002//Tocaml3083 -/grammar.ml/1.12.2.2/Mon Nov 22 13:41:24 2004//Tocaml3083 -/grammar.mli/1.6.2.1/Mon Nov 22 13:41:24 2004//Tocaml3083 -/plexer.ml/1.20.2.5/Fri Feb 18 09:11:13 2005//Tocaml3083 -/plexer.mli/1.7.4.1/Thu Oct 7 09:18:13 2004//Tocaml3083 -/stdpp.ml/1.5/Wed May 12 15:22:42 2004//Tocaml3083 -/stdpp.mli/1.5/Wed May 12 15:22:42 2004//Tocaml3083 -/token.ml/1.11.2.1/Mon Jun 28 18:30:48 2004//Tocaml3083 -/token.mli/1.6/Wed May 12 15:22:42 2004//Tocaml3083 -D diff --git a/camlp4/lib/CVS/Repository b/camlp4/lib/CVS/Repository deleted file mode 100644 index c004ba3f..00000000 --- a/camlp4/lib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/lib diff --git a/camlp4/lib/CVS/Root b/camlp4/lib/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/lib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/lib/CVS/Tag b/camlp4/lib/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/lib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/lib/plexer.ml b/camlp4/lib/plexer.ml index 30cf52cd..3d6899cf 100644 --- a/camlp4/lib/plexer.ml +++ b/camlp4/lib/plexer.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: plexer.ml,v 1.20.2.5 2005/02/18 09:11:13 mauny Exp $ *) +(* $Id: plexer.ml,v 1.20.2.6 2005/04/14 07:22:06 mauny Exp $ *) open Stdpp; open Token; @@ -131,12 +131,12 @@ value err loc msg = raise_with_loc loc (Token.Error msg); (* Debugging positions and locations *) value eprint_pos msg p = - Printf.eprintf "%s: fname=%s; lnum=%d; bol=%d; cnum=%d\n%!" + Printf.eprintf "%s: fname=%s; lnum=%d; bol=%d; cnum=%d%!" msg p.Lexing.pos_fname p.Lexing.pos_lnum p.Lexing.pos_bol p.Lexing.pos_cnum ; value eprint_loc (bp, ep) = - do { eprint_pos "P1" bp; eprint_pos "P2" ep } + do { eprint_pos "P1=" bp; eprint_pos " --P2=" ep } ; value check_location msg ((bp, ep) as loc) = @@ -162,6 +162,12 @@ value check_location msg ((bp, ep) as loc) = (ok, loc) ; +value debug_token ((kind, tok), loc) = do { + Printf.eprintf "%s(%s) at " kind tok; + eprint_loc loc; + Printf.eprintf "\n%!" +}; + value next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = let make_pos p = {Lexing.pos_fname = fname.val; Lexing.pos_lnum = lnum.val; @@ -219,12 +225,14 @@ value next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = (tok, loc) | _ -> keyword_or_error (bp, Stream.count s) "'" ] | [: `'"'; s :] -> - let tok = ("STRING", get_buff (string bp 0 s)) in + let bpos = make_pos bp in + let tok = ("STRING", get_buff (string bpos 0 s)) in let loc = mkloc (bp, Stream.count s) in (tok, loc) | [: `'$'; s :] -> - let tok = dollar bp 0 s in - let loc = mkloc (bp, Stream.count s) in + let bpos = make_pos bp in + let tok = dollar bpos 0 s in + let loc = (bpos, make_pos (Stream.count s)) in (tok, loc) | [: `('!' | '=' | '@' | '^' | '&' | '+' | '-' | '*' | '/' | '%' as c); s :] -> @@ -304,39 +312,40 @@ value next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = let id = get_buff len in keyword_or_error (bp, ep) id ] else + let bpos = make_pos bp in match strm with parser - [ [: `'<'; len = quotation bp 0 :] ep -> - (("QUOTATION", ":" ^ get_buff len), mkloc (bp, ep)) + [ [: `'<'; len = quotation bpos 0 :] ep -> + (("QUOTATION", ":" ^ get_buff len), (bpos, make_pos ep)) | [: `':'; i = parser [: len = ident 0 :] -> get_buff len; - `'<' ? "character '<' expected"; len = quotation bp 0 :] ep -> - (("QUOTATION", i ^ ":" ^ get_buff len), mkloc (bp, ep)) + `'<' ? "character '<' expected"; len = quotation bpos 0 :] ep -> + (("QUOTATION", i ^ ":" ^ get_buff len), (bpos, make_pos ep)) | [: len = ident2 (store 0 '<') :] ep -> let id = get_buff len in keyword_or_error (bp, ep) id ] - and string bp len = + and string bpos len = parser [ [: `'"' :] -> len | [: `'\\'; `c; s :] ep -> let len = store len '\\' in match c with [ - '\010' -> do { bolpos.val := ep; incr lnum; string bp (store len c) s } + '\010' -> do { bolpos.val := ep; incr lnum; string bpos (store len c) s } | '\013' -> let (len, ep) = match Stream.peek s with [ Some '\010' -> do { Stream.junk s; (store (store len '\013') '\010', ep+1) } | _ -> (store len '\013', ep) ] in - do { bolpos.val := ep; incr lnum; string bp len s } - | c -> string bp (store len c) s + do { bolpos.val := ep; incr lnum; string bpos len s } + | c -> string bpos (store len c) s ] - | [: `'\010'; s :] ep -> do { bolpos.val := ep; incr lnum; string bp (store len '\010') s } + | [: `'\010'; s :] ep -> do { bolpos.val := ep; incr lnum; string bpos (store len '\010') s } | [: `'\013'; s :] ep -> let (len, ep) = match Stream.peek s with [ Some '\010' -> do { Stream.junk s; (store (store len '\013') '\010', ep+1) } | _ -> (store len '\013', ep) ] in - do { bolpos.val := ep; incr lnum; string bp len s } - | [: `c; s :] -> string bp (store len c) s - | [: :] ep -> err (mkloc (bp, ep)) "string not terminated" ] + do { bolpos.val := ep; incr lnum; string bpos len s } + | [: `c; s :] -> string bpos (store len c) s + | [: :] ep -> err (bpos, make_pos ep) "string not terminated" ] and char bp len = parser [ [: `'''; s :] -> if len = 0 then char bp (store len ''') s else len @@ -350,127 +359,127 @@ value next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = do { bolpos.val := bol; incr lnum; char bp (store len '\013') s} | [: `c; s :] -> char bp (store len c) s | [: :] ep -> err (mkloc (bp, ep)) "char not terminated" ] - and dollar bp len s = + and dollar bpos len s = if no_quotations.val then ("", get_buff (ident2 (store 0 '$') s)) else match s with parser [ [: `'$' :] -> ("ANTIQUOT", ":" ^ get_buff len) - | [: `('a'..'z' | 'A'..'Z' as c); s :] -> antiquot bp (store len c) s - | [: `('0'..'9' as c); s :] -> maybe_locate bp (store len c) s + | [: `('a'..'z' | 'A'..'Z' as c); s :] -> antiquot bpos (store len c) s + | [: `('0'..'9' as c); s :] -> maybe_locate bpos (store len c) s | [: `':'; s :] -> let k = get_buff len in - ("ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bp 0 s) + ("ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bpos 0 s) | [: `'\\'; `c; s :] -> - ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) s) + ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) s) | [: s :] -> if dfa then match s with parser [ [: `c :] -> - ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) s) - | [: :] ep -> err (mkloc (bp, ep)) "antiquotation not terminated" ] + ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) s) + | [: :] ep -> err (bpos, make_pos ep) "antiquotation not terminated" ] else ("", get_buff (ident2 (store 0 '$') s)) ] - and maybe_locate bp len = + and maybe_locate bpos len = parser [ [: `'$' :] -> ("ANTIQUOT", ":" ^ get_buff len) - | [: `('0'..'9' as c); s :] -> maybe_locate bp (store len c) s + | [: `('0'..'9' as c); s :] -> maybe_locate bpos (store len c) s | [: `':'; s :] -> - ("LOCATE", get_buff len ^ ":" ^ locate_or_antiquot_rest bp 0 s) + ("LOCATE", get_buff len ^ ":" ^ locate_or_antiquot_rest bpos 0 s) | [: `'\\'; `c; s :] -> - ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) s) + ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) s) | [: `c; s :] -> - ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) s) - | [: :] ep -> err (mkloc (bp, ep)) "antiquotation not terminated" ] - and antiquot bp len = + ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) s) + | [: :] ep -> err (bpos, make_pos ep) "antiquotation not terminated" ] + and antiquot bpos len = parser [ [: `'$' :] -> ("ANTIQUOT", ":" ^ get_buff len) | [: `('a'..'z' | 'A'..'Z' | '0'..'9' as c); s :] -> - antiquot bp (store len c) s + antiquot bpos (store len c) s | [: `':'; s :] -> let k = get_buff len in - ("ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bp 0 s) + ("ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bpos 0 s) | [: `'\\'; `c; s :] -> - ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) s) + ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) s) | [: `c; s :] -> - ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) s) - | [: :] ep -> err (mkloc (bp, ep)) "antiquotation not terminated" ] - and locate_or_antiquot_rest bp len = + ("ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) s) + | [: :] ep -> err (bpos, make_pos ep) "antiquotation not terminated" ] + and locate_or_antiquot_rest bpos len = parser [ [: `'$' :] -> get_buff len - | [: `'\\'; `c; s :] -> locate_or_antiquot_rest bp (store len c) s - | [: `c; s :] -> locate_or_antiquot_rest bp (store len c) s - | [: :] ep -> err (mkloc (bp, ep)) "antiquotation not terminated" ] - and quotation bp len = + | [: `'\\'; `c; s :] -> locate_or_antiquot_rest bpos (store len c) s + | [: `c; s :] -> locate_or_antiquot_rest bpos (store len c) s + | [: :] ep -> err (bpos, make_pos ep) "antiquotation not terminated" ] + and quotation bpos len = parser - [ [: `'>'; s :] -> maybe_end_quotation bp len s + [ [: `'>'; s :] -> maybe_end_quotation bpos len s | [: `'<'; s :] -> - quotation bp (maybe_nested_quotation bp (store len '<') s) s + quotation bpos (maybe_nested_quotation bpos (store len '<') s) s | [: `'\\'; len = parser [ [: `('>' | '<' | '\\' as c) :] -> store len c | [: :] -> store len '\\' ]; s :] -> - quotation bp len s - | [: `'\010'; s :] -> do {bolpos.val := bp+1; incr lnum; quotation bp (store len '\010') s} - | [: `'\013'; s :] -> + quotation bpos len s + | [: `'\010'; s :] ep -> do {bolpos.val := ep; incr lnum; quotation bpos (store len '\010') s} + | [: `'\013'; s :] ep -> let bol = match Stream.peek s with - [ Some '\010' -> do { Stream.junk s; bp+2 } - | _ -> bp+1 ] in - do { bolpos.val := bol; incr lnum; quotation bp (store len '\013') s} - | [: `c; s :] -> quotation bp (store len c) s - | [: :] ep -> err (mkloc (bp, ep)) "quotation not terminated" ] - and maybe_nested_quotation bp len = + [ Some '\010' -> do { Stream.junk s; ep+1 } + | _ -> ep ] in + do { bolpos.val := bol; incr lnum; quotation bpos (store len '\013') s} + | [: `c; s :] -> quotation bpos (store len c) s + | [: :] ep -> err (bpos, make_pos ep) "quotation not terminated" ] + and maybe_nested_quotation bpos len = parser - [ [: `'<'; s :] -> mstore (quotation bp (store len '<') s) ">>" + [ [: `'<'; s :] -> mstore (quotation bpos (store len '<') s) ">>" | [: `':'; len = ident (store len ':'); a = parser - [ [: `'<'; s :] -> mstore (quotation bp (store len '<') s) ">>" + [ [: `'<'; s :] -> mstore (quotation bpos (store len '<') s) ">>" | [: :] -> len ] :] -> a | [: :] -> len ] - and maybe_end_quotation bp len = + and maybe_end_quotation bpos len = parser [ [: `'>' :] -> len - | [: a = quotation bp (store len '>') :] -> a ] + | [: a = quotation bpos (store len '>') :] -> a ] and left_paren bp = parser - [ [: `'*'; _ = comment bp; a = next_token True :] -> a + [ [: `'*'; _ = comment (make_pos bp); a = next_token True :] -> a | [: :] ep -> keyword_or_error (bp, ep) "(" ] - and comment bp = + and comment bpos = parser - [ [: `'('; s :] -> left_paren_in_comment bp s - | [: `'*'; s :] -> star_in_comment bp s - | [: `'"'; _ = string bp 0; s :] -> comment bp s - | [: `'''; s :] -> quote_in_comment bp s - | [: `'\010'; s :] ep -> do { bolpos.val := ep; incr lnum; comment bp s } + [ [: `'('; s :] -> left_paren_in_comment bpos s + | [: `'*'; s :] -> star_in_comment bpos s + | [: `'"'; _ = string bpos 0; s :] -> comment bpos s + | [: `'''; s :] -> quote_in_comment bpos s + | [: `'\010'; s :] ep -> do { bolpos.val := ep; incr lnum; comment bpos s } | [: `'\013'; s :] ep -> let ep = match Stream.peek s with [ Some '\010' -> do { Stream.junk s; ep+1 } | _ -> ep ] in - do { bolpos.val := ep; incr lnum; comment bp s } - | [: `c; s :] -> comment bp s - | [: :] ep -> err (mkloc (bp, ep)) "comment not terminated" ] - and quote_in_comment bp = + do { bolpos.val := ep; incr lnum; comment bpos s } + | [: `c; s :] -> comment bpos s + | [: :] ep -> err (bpos, make_pos ep) "comment not terminated" ] + and quote_in_comment bpos = parser - [ [: `'''; s :] -> comment bp s - | [: `'\\'; s :] -> quote_antislash_in_comment bp 0 s - | [: s :] -> + [ [: `'''; s :] -> comment bpos s + | [: `'\\'; s :] -> quote_antislash_in_comment bpos 0 s + | [: s :] ep -> do { match Stream.npeek 2 s with [ [ ( '\013' | '\010' ); '''] -> - do { bolpos.val := bp + 1; incr lnum; + do { bolpos.val := ep; incr lnum; Stream.junk s; Stream.junk s } | [ '\013'; '\010' ] -> match Stream.npeek 3 s with - [ [_; _; '''] -> do { bolpos.val := bp + 2; incr lnum; + [ [_; _; '''] -> do { bolpos.val := ep + 1; incr lnum; Stream.junk s; Stream.junk s; Stream.junk s } | _ -> () ] | [_; '''] -> do { Stream.junk s; Stream.junk s } | _ -> () ]; - comment bp s + comment bpos s } ] and quote_any_in_comment bp = parser @@ -491,14 +500,14 @@ value next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = parser [ [: `'0'..'9'; s :] -> quote_any_in_comment bp s | [: a = comment bp :] -> a ] - and left_paren_in_comment bp = + and left_paren_in_comment bpos = parser - [ [: `'*'; s :] -> do { comment bp s; comment bp s } - | [: a = comment bp :] -> a ] - and star_in_comment bp = + [ [: `'*'; s :] -> do { comment bpos s; comment bpos s } + | [: a = comment bpos :] -> a ] + and star_in_comment bpos = parser [ [: `')' :] -> () - | [: a = comment bp :] -> a ] + | [: a = comment bpos :] -> a ] and linedir n s = match stream_peek_nth n s with [ Some (' ' | '\t') -> linedir (n + 1) s @@ -553,6 +562,7 @@ value next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = glex.tok_comm := Some [comm_loc :: list] else () | None -> () ]; + (* debug_token r; *) r } with diff --git a/camlp4/man/CVS/Entries b/camlp4/man/CVS/Entries deleted file mode 100644 index 1e20a15b..00000000 --- a/camlp4/man/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.cvsignore/1.2/Thu Dec 13 13:59:23 2001//Tocaml3083 -/Makefile/1.6/Thu Jul 3 16:14:49 2003//Tocaml3083 -/camlp4.1.tpl/1.7.4.1/Mon Aug 2 08:04:35 2004//Tocaml3083 -/camlp4.help.tpl/1.1/Thu Dec 13 13:59:23 2001//Tocaml3083 -D diff --git a/camlp4/man/CVS/Repository b/camlp4/man/CVS/Repository deleted file mode 100644 index 501e95d1..00000000 --- a/camlp4/man/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/man diff --git a/camlp4/man/CVS/Root b/camlp4/man/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/man/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/man/CVS/Tag b/camlp4/man/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/man/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/meta/CVS/Entries b/camlp4/meta/CVS/Entries deleted file mode 100644 index efecb200..00000000 --- a/camlp4/meta/CVS/Entries +++ /dev/null @@ -1,11 +0,0 @@ -/.cvsignore/1.1/Fri Sep 7 07:51:49 2001//Tocaml3083 -/.depend/1.7.2.2/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.15.2.1/Mon Jul 12 10:05:21 2004//Tocaml3083 -/pa_extend.ml/1.33/Wed May 12 15:22:43 2004//Tocaml3083 -/pa_extend_m.ml/1.8/Fri Jul 19 14:53:50 2002//Tocaml3083 -/pa_macro.ml/1.2.4.6/Fri Jul 2 09:37:16 2004//Tocaml3083 -/pa_r.ml/1.59.2.2/Mon Nov 29 14:16:46 2004//Tocaml3083 -/pa_rp.ml/1.7/Thu Jul 10 12:28:27 2003//Tocaml3083 -/pr_dump.ml/1.4/Thu Jul 10 12:28:27 2003//Tocaml3083 -/q_MLast.ml/1.56/Tue May 25 18:53:18 2004//Tocaml3083 -D diff --git a/camlp4/meta/CVS/Repository b/camlp4/meta/CVS/Repository deleted file mode 100644 index d93ef785..00000000 --- a/camlp4/meta/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/meta diff --git a/camlp4/meta/CVS/Root b/camlp4/meta/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/meta/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/meta/CVS/Tag b/camlp4/meta/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/meta/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/meta/pa_r.ml b/camlp4/meta/pa_r.ml index 05655e38..8a62effd 100644 --- a/camlp4/meta/pa_r.ml +++ b/camlp4/meta/pa_r.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: pa_r.ml,v 1.59.2.2 2004/11/29 14:16:46 mauny Exp $ *) +(* $Id: pa_r.ml,v 1.59.2.3 2005/06/02 10:40:32 mauny Exp $ *) open Stdpp; open Pcaml; @@ -427,7 +427,8 @@ EXTEND [ RIGHTA [ p = ipatt; e = SELF -> <:expr< fun $p$ -> $e$ >> | "="; e = expr -> <:expr< $e$ >> - | ":"; t = ctyp; "="; e = expr -> <:expr< ($e$ : $t$) >> ] ] + | ":"; t = ctyp; "="; e = expr -> <:expr< ($e$ : $t$) >> + | ":>"; t = ctyp; "="; e = expr -> <:expr< ($e$ :> $t$) >> ] ] ; match_case: [ [ p = patt; aso = as_patt_opt; w = when_expr_opt; "->"; e = expr -> diff --git a/camlp4/meta/q_MLast.ml b/camlp4/meta/q_MLast.ml index ad999977..bcdfa68f 100644 --- a/camlp4/meta/q_MLast.ml +++ b/camlp4/meta/q_MLast.ml @@ -10,9 +10,12 @@ (* *) (***********************************************************************) -(* $Id: q_MLast.ml,v 1.56 2004/05/25 18:53:18 mauny Exp $ *) +(* $Id: q_MLast.ml,v 1.56.2.2 2005/06/17 12:25:57 mauny Exp $ *) -value gram = Grammar.gcreate (Plexer.gmake ()); +value (gram, q_position) = + let (lexer,pos) = Plexer.make_lexer () in + (Grammar.gcreate lexer, pos) +; module Qast = struct @@ -56,10 +59,20 @@ module Qast = | Record lal -> <:expr< {$list:List.map to_expr_label lal$} >> | Loc -> <:expr< $lid:Stdpp.loc_name.val$ >> | Antiquot loc s -> + let (bolpos,lnum, _) = Pcaml.position.val in + let (bolposv,lnumv) = (bolpos.val, lnum.val) in + let zero_pos () = do { bolpos.val := 0; lnum.val := 1 } in + let restore_pos () = do { bolpos.val := bolposv; lnum.val := lnumv } in let e = - try Grammar.Entry.parse Pcaml.expr_eoi (Stream.of_string s) with + try + let _ = zero_pos() in + let result = Grammar.Entry.parse Pcaml.expr_eoi (Stream.of_string s) in + let _ = restore_pos() in + result + with [ Stdpp.Exc_located (bp, ep) exc -> - raise (Stdpp.Exc_located (Reloc.adjust_loc (fst loc) (bp,ep)) exc) ] + do { restore_pos() ; raise (Stdpp.Exc_located (Reloc.adjust_loc (fst loc) (bp,ep)) exc) } + | exc -> do { restore_pos(); raise exc } ] in <:expr< $anti:e$ >> ] and to_expr_label (l, a) = (<:patt< MLast.$lid:l$ >>, to_expr a); @@ -83,10 +96,20 @@ module Qast = | Record lal -> <:patt< {$list:List.map to_patt_label lal$} >> | Loc -> <:patt< _ >> | Antiquot loc s -> + let (bolpos,lnum, _) = Pcaml.position.val in + let (bolposv,lnumv) = (bolpos.val, lnum.val) in + let zero_pos () = do { bolpos.val := 0; lnum.val := 1 } in + let restore_pos () = do { bolpos.val := bolposv; lnum.val := lnumv } in let p = - try Grammar.Entry.parse Pcaml.patt_eoi (Stream.of_string s) with + try + let _ = zero_pos() in + let result = Grammar.Entry.parse Pcaml.patt_eoi (Stream.of_string s) in + let _ = restore_pos() in + result + with [ Stdpp.Exc_located (bp, ep) exc -> - raise (Stdpp.Exc_located (Reloc.adjust_loc (fst loc) (bp, ep)) exc) ] + do { restore_pos() ; raise (Stdpp.Exc_located (Reloc.adjust_loc (fst loc) (bp, ep)) exc) } + | exc -> do { restore_pos(); raise exc } ] in <:patt< $anti:p$ >> ] and to_patt_label (l, a) = (<:patt< MLast.$lid:l$ >>, to_patt a); @@ -168,9 +191,10 @@ value neg_string n = value mkumin _ f arg = match arg with - [ Qast.Node "ExInt" [Qast.Loc; Qast.Str n] when int_of_string n > 0 -> - let n = neg_string n in - Qast.Node "ExInt" [Qast.Loc; Qast.Str n] + [ Qast.Node (("ExInt" | "ExInt32" | "ExInt64" | "ExNativeInt") as exi) + [Qast.Loc; Qast.Str n] when int_of_string n > 0 -> + let n = neg_string n in + Qast.Node exi [Qast.Loc; Qast.Str n] | Qast.Node "ExFlo" [Qast.Loc; Qast.Str n] when float_of_string n > 0.0 -> let n = neg_string n in Qast.Node "ExFlo" [Qast.Loc; Qast.Str n] @@ -1401,12 +1425,24 @@ EXTEND END; value apply_entry e = - let f s = Grammar.Entry.parse e (Stream.of_string s) in + let f s = + let (bolpos,lnum,fname) = q_position in + let (bolp,ln,_) = (bolpos.val, lnum.val, fname.val) in + let zero_position() = do { bolpos.val := 0; lnum.val := 1 } in + let restore_position() = do { bolpos.val := bolp; lnum.val := ln } in + let _ = zero_position() in + try + let result = + Grammar.Entry.parse e (Stream.of_string s) in + let _ = restore_position() in + result + with exc -> do { restore_position(); raise exc } in let expr s = Qast.to_expr (f s) in let patt s = Qast.to_patt (f s) in Quotation.ExAst (expr, patt) ; + let sig_item_eoi = Grammar.Entry.create gram "signature item" in do { EXTEND diff --git a/camlp4/ocaml_src/CVS/Entries b/camlp4/ocaml_src/CVS/Entries deleted file mode 100644 index 39b66deb..00000000 --- a/camlp4/ocaml_src/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.cvsignore/1.1/Fri Sep 7 11:19:48 2001//Tocaml3083 -D diff --git a/camlp4/ocaml_src/CVS/Entries.Log b/camlp4/ocaml_src/CVS/Entries.Log deleted file mode 100644 index 5f8c2dda..00000000 --- a/camlp4/ocaml_src/CVS/Entries.Log +++ /dev/null @@ -1,5 +0,0 @@ -A D/camlp4//// -A D/lib//// -A D/meta//// -A D/odyl//// -A D/tools//// diff --git a/camlp4/ocaml_src/CVS/Repository b/camlp4/ocaml_src/CVS/Repository deleted file mode 100644 index b0b043d3..00000000 --- a/camlp4/ocaml_src/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_src diff --git a/camlp4/ocaml_src/CVS/Root b/camlp4/ocaml_src/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_src/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_src/CVS/Tag b/camlp4/ocaml_src/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_src/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_src/camlp4/.depend b/camlp4/ocaml_src/camlp4/.depend index 3c0f8e10..2f078d8d 100644 --- a/camlp4/ocaml_src/camlp4/.depend +++ b/camlp4/ocaml_src/camlp4/.depend @@ -1,18 +1,18 @@ -ast2pt.cmi: $(OTOP)/parsing/location.cmi $(OTOP)/parsing/longident.cmi mLast.cmi \ - $(OTOP)/parsing/parsetree.cmi -pcaml.cmi: mLast.cmi spretty.cmi +ast2pt.cmi: $(OTOP)/parsing/parsetree.cmi mLast.cmi $(OTOP)/parsing/longident.cmi \ + $(OTOP)/parsing/location.cmi +pcaml.cmi: spretty.cmi mLast.cmi quotation.cmi: mLast.cmi reloc.cmi: mLast.cmi -argl.cmo: ast2pt.cmi mLast.cmi ../odyl/odyl_main.cmi pcaml.cmi -argl.cmx: ast2pt.cmx mLast.cmi ../odyl/odyl_main.cmx pcaml.cmx -ast2pt.cmo: $(OTOP)/parsing/asttypes.cmi $(OTOP)/parsing/location.cmi \ - $(OTOP)/parsing/longident.cmi mLast.cmi $(OTOP)/parsing/parsetree.cmi \ - pcaml.cmi ast2pt.cmi -ast2pt.cmx: $(OTOP)/parsing/asttypes.cmi $(OTOP)/parsing/location.cmx \ - $(OTOP)/parsing/longident.cmx mLast.cmi $(OTOP)/parsing/parsetree.cmi \ - pcaml.cmx ast2pt.cmi -pcaml.cmo: mLast.cmi quotation.cmi reloc.cmi spretty.cmi pcaml.cmi -pcaml.cmx: mLast.cmi quotation.cmx reloc.cmx spretty.cmx pcaml.cmi +argl.cmo: pcaml.cmi ../odyl/odyl_main.cmi mLast.cmi ast2pt.cmi +argl.cmx: pcaml.cmx ../odyl/odyl_main.cmx mLast.cmi ast2pt.cmx +ast2pt.cmo: pcaml.cmi $(OTOP)/parsing/parsetree.cmi mLast.cmi \ + $(OTOP)/parsing/longident.cmi $(OTOP)/parsing/location.cmi \ + $(OTOP)/parsing/asttypes.cmi ast2pt.cmi +ast2pt.cmx: pcaml.cmx $(OTOP)/parsing/parsetree.cmi mLast.cmi \ + $(OTOP)/parsing/longident.cmx $(OTOP)/parsing/location.cmx \ + $(OTOP)/parsing/asttypes.cmi ast2pt.cmi +pcaml.cmo: spretty.cmi reloc.cmi quotation.cmi mLast.cmi pcaml.cmi +pcaml.cmx: spretty.cmx reloc.cmx quotation.cmx mLast.cmi pcaml.cmi quotation.cmo: mLast.cmi quotation.cmi quotation.cmx: mLast.cmi quotation.cmi reloc.cmo: mLast.cmi reloc.cmi diff --git a/camlp4/ocaml_src/camlp4/CVS/Entries b/camlp4/ocaml_src/camlp4/CVS/Entries deleted file mode 100644 index 1a3f7432..00000000 --- a/camlp4/ocaml_src/camlp4/CVS/Entries +++ /dev/null @@ -1,16 +0,0 @@ -/.cvsignore/1.2/Fri Sep 7 07:39:39 2001//Tocaml3083 -/.depend/1.13.2.1/Wed Jun 30 16:23:18 2004//Tocaml3083 -/Makefile/1.20.2.5/Fri Feb 18 09:11:13 2005//Tocaml3083 -/argl.ml/1.17.2.3/Thu Oct 7 09:18:13 2004//Tocaml3083 -/ast2pt.ml/1.30.2.2/Mon Nov 22 13:41:25 2004//Tocaml3083 -/ast2pt.mli/1.3/Wed May 12 15:22:44 2004//Tocaml3083 -/mLast.mli/1.19/Wed May 19 15:00:46 2004//Tocaml3083 -/pcaml.ml/1.18.2.4/Thu Oct 7 09:18:13 2004//Tocaml3083 -/pcaml.mli/1.8.2.4/Thu Oct 7 09:18:13 2004//Tocaml3083 -/quotation.ml/1.3/Sat Feb 16 18:44:18 2002//Tocaml3083 -/quotation.mli/1.3/Fri Jul 19 14:53:51 2002//Tocaml3083 -/reloc.ml/1.18/Wed May 19 15:00:47 2004//Tocaml3083 -/reloc.mli/1.3.2.3/Mon Jul 12 22:33:52 2004//Tocaml3083 -/spretty.ml/1.5/Thu Sep 25 12:05:06 2003//Tocaml3083 -/spretty.mli/1.3/Fri Jul 19 14:53:51 2002//Tocaml3083 -D diff --git a/camlp4/ocaml_src/camlp4/CVS/Repository b/camlp4/ocaml_src/camlp4/CVS/Repository deleted file mode 100644 index 0142181b..00000000 --- a/camlp4/ocaml_src/camlp4/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_src/camlp4 diff --git a/camlp4/ocaml_src/camlp4/CVS/Root b/camlp4/ocaml_src/camlp4/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_src/camlp4/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_src/camlp4/CVS/Tag b/camlp4/ocaml_src/camlp4/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_src/camlp4/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_src/camlp4/ast2pt.ml b/camlp4/ocaml_src/camlp4/ast2pt.ml index 78607552..1e3b8613 100644 --- a/camlp4/ocaml_src/camlp4/ast2pt.ml +++ b/camlp4/ocaml_src/camlp4/ast2pt.ml @@ -465,6 +465,8 @@ let rec patt = | PaRec (loc, lpl) -> mkpat loc (Ppat_record (List.map mklabpat lpl)) | PaStr (loc, s) -> mkpat loc (Ppat_constant (Const_string (string_of_string_token loc s))) + | PaTup (loc, []) -> error loc "empty tuple pattern" + | PaTup (loc, [_]) -> error loc "singleton tuple pattern" | PaTup (loc, pl) -> mkpat loc (Ppat_tuple (List.map patt pl)) | PaTyc (loc, p, t) -> mkpat loc (Ppat_constraint (patt p, ctyp t)) | PaTyp (loc, sl) -> mkpat loc (Ppat_type (long_id_of_string_list loc sl)) @@ -679,6 +681,8 @@ let rec expr = | ExStr (loc, s) -> mkexp loc (Pexp_constant (Const_string (string_of_string_token loc s))) | ExTry (loc, e, pel) -> mkexp loc (Pexp_try (expr e, List.map mkpwe pel)) + | ExTup (loc, []) -> error loc "empty tuple" + | ExTup (loc, [e]) -> error loc "singleton tuple" | ExTup (loc, el) -> mkexp loc (Pexp_tuple (List.map expr el)) | ExTyc (loc, e, t) -> mkexp loc (Pexp_constraint (expr e, Some (ctyp t), None)) diff --git a/camlp4/ocaml_src/camlp4/pcaml.ml b/camlp4/ocaml_src/camlp4/pcaml.ml index bf78791a..3e26f7f6 100644 --- a/camlp4/ocaml_src/camlp4/pcaml.ml +++ b/camlp4/ocaml_src/camlp4/pcaml.ml @@ -97,9 +97,7 @@ let expand_quotation loc expander shift name str = try expander str with Stdpp.Exc_located (loc, exc) -> let exc1 = Qerror (name, Expanding, exc) in - raise - (Stdpp.Exc_located - (Reloc.adjust_loc shift (Reloc.linearize loc), exc1)) + raise (Stdpp.Exc_located (Reloc.adjust_loc shift loc, exc1)) | exc -> let exc1 = Qerror (name, Expanding, exc) in raise (Stdpp.Exc_located (loc, exc1))) diff --git a/camlp4/ocaml_src/camlp4/reloc.ml b/camlp4/ocaml_src/camlp4/reloc.ml index 1e22fee9..bf380894 100644 --- a/camlp4/ocaml_src/camlp4/reloc.ml +++ b/camlp4/ocaml_src/camlp4/reloc.ml @@ -104,19 +104,12 @@ let check_location msg (bp, ep as loc) = ok, loc ;; -(* Change a location into linear positions *) -let linearize (bp, ep) = - {bp with Lexing.pos_lnum = 1; Lexing.pos_bol = 0}, - {ep with Lexing.pos_lnum = 1; Lexing.pos_bol = 0} -;; - let shift_pos n p = {p with Lexing.pos_cnum = p.Lexing.pos_cnum + n};; let zero_loc = {(Lexing.dummy_pos) with Lexing.pos_cnum = 0; Lexing.pos_lnum = 0} ;; - let adjust_pos globpos local_pos = {Lexing.pos_fname = globpos.Lexing.pos_fname; Lexing.pos_lnum = globpos.Lexing.pos_lnum + local_pos.Lexing.pos_lnum - 1; @@ -140,9 +133,8 @@ let rec patt floc sh = | PaAli (loc, x1, x2) -> let nloc = floc loc in PaAli (nloc, self x1, self x2) | PaAnt (loc, x1) -> - patt - (fun lloc -> adjust_loc (adjust_pos sh (fst loc)) (linearize lloc)) - zero_loc x1 + patt (fun lloc -> adjust_loc (adjust_pos sh (fst loc)) lloc) zero_loc + x1 | PaAny loc -> let nloc = floc loc in PaAny nloc | PaApp (loc, x1, x2) -> let nloc = floc loc in PaApp (nloc, self x1, self x2) @@ -184,9 +176,8 @@ and expr floc sh = ExAcc (loc, x1, x2) -> let nloc = floc loc in ExAcc (nloc, self x1, self x2) | ExAnt (loc, x1) -> - expr - (fun lloc -> adjust_loc (adjust_pos sh (fst loc)) (linearize lloc)) - zero_loc x1 + expr (fun lloc -> adjust_loc (adjust_pos sh (fst loc)) lloc) zero_loc + x1 | ExApp (loc, x1, x2) -> let nloc = floc loc in ExApp (nloc, self x1, self x2) | ExAre (loc, x1, x2) -> diff --git a/camlp4/ocaml_src/camlp4/reloc.mli b/camlp4/ocaml_src/camlp4/reloc.mli index cfad3b87..dae5bc1f 100644 --- a/camlp4/ocaml_src/camlp4/reloc.mli +++ b/camlp4/ocaml_src/camlp4/reloc.mli @@ -15,7 +15,6 @@ val zero_loc : Lexing.position;; val shift_pos : int -> Lexing.position -> Lexing.position;; val adjust_loc : Lexing.position -> MLast.loc -> MLast.loc;; -val linearize : MLast.loc -> MLast.loc;; val ctyp : (MLast.loc -> MLast.loc) -> 'a -> MLast.ctyp -> MLast.ctyp;; val row_field : diff --git a/camlp4/ocaml_src/lib/.depend b/camlp4/ocaml_src/lib/.depend index d7afaebe..286b4c5b 100644 --- a/camlp4/ocaml_src/lib/.depend +++ b/camlp4/ocaml_src/lib/.depend @@ -1,20 +1,20 @@ extfold.cmi: gramext.cmi gramext.cmi: token.cmi -grammar.cmi: gramext.cmi token.cmi +grammar.cmi: token.cmi gramext.cmi plexer.cmi: token.cmi stdpp.cmi: token.cmi -extfold.cmo: gramext.cmi grammar.cmi extfold.cmi -extfold.cmx: gramext.cmx grammar.cmx extfold.cmi +extfold.cmo: grammar.cmi gramext.cmi extfold.cmi +extfold.cmx: grammar.cmx gramext.cmx extfold.cmi extfun.cmo: extfun.cmi extfun.cmx: extfun.cmi fstream.cmo: fstream.cmi fstream.cmx: fstream.cmi gramext.cmo: token.cmi gramext.cmi gramext.cmx: token.cmx gramext.cmi -grammar.cmo: gramext.cmi stdpp.cmi token.cmi grammar.cmi -grammar.cmx: gramext.cmx stdpp.cmx token.cmx grammar.cmi -plexer.cmo: stdpp.cmi token.cmi plexer.cmi -plexer.cmx: stdpp.cmx token.cmx plexer.cmi +grammar.cmo: token.cmi stdpp.cmi gramext.cmi grammar.cmi +grammar.cmx: token.cmx stdpp.cmx gramext.cmx grammar.cmi +plexer.cmo: token.cmi stdpp.cmi plexer.cmi +plexer.cmx: token.cmx stdpp.cmx plexer.cmi stdpp.cmo: token.cmi stdpp.cmi stdpp.cmx: token.cmx stdpp.cmi token.cmo: token.cmi diff --git a/camlp4/ocaml_src/lib/CVS/Entries b/camlp4/ocaml_src/lib/CVS/Entries deleted file mode 100644 index cd7bae87..00000000 --- a/camlp4/ocaml_src/lib/CVS/Entries +++ /dev/null @@ -1,19 +0,0 @@ -/.depend/1.3/Wed May 12 15:22:45 2004//Tocaml3083 -/Makefile/1.11.2.5/Mon Nov 22 13:41:25 2004//Tocaml3083 -/extfold.ml/1.1/Fri Jul 19 14:53:52 2002//Tocaml3083 -/extfold.mli/1.1/Fri Jul 19 14:53:52 2002//Tocaml3083 -/extfun.ml/1.2/Fri Dec 14 19:39:32 2001//Tocaml3083 -/extfun.mli/1.3/Fri Jul 19 14:53:52 2002//Tocaml3083 -/fstream.ml/1.5/Fri Jul 19 14:53:52 2002//Tocaml3083 -/fstream.mli/1.3/Wed Jan 23 16:27:56 2002//Tocaml3083 -/gramext.ml/1.5/Fri Jul 19 14:53:52 2002//Tocaml3083 -/gramext.mli/1.4/Fri Jul 19 14:53:52 2002//Tocaml3083 -/grammar.ml/1.12.2.2/Mon Nov 22 13:41:25 2004//Tocaml3083 -/grammar.mli/1.8.2.1/Mon Nov 22 13:41:25 2004//Tocaml3083 -/plexer.ml/1.22.2.6/Fri Feb 18 09:11:13 2005//Tocaml3083 -/plexer.mli/1.9.4.2/Mon Nov 22 13:41:25 2004//Tocaml3083 -/stdpp.ml/1.5/Wed May 12 15:22:46 2004//Tocaml3083 -/stdpp.mli/1.6/Wed May 12 15:22:46 2004//Tocaml3083 -/token.ml/1.13.2.1/Mon Jun 28 18:30:48 2004//Tocaml3083 -/token.mli/1.7/Wed May 12 15:22:46 2004//Tocaml3083 -D diff --git a/camlp4/ocaml_src/lib/CVS/Repository b/camlp4/ocaml_src/lib/CVS/Repository deleted file mode 100644 index 8a097f73..00000000 --- a/camlp4/ocaml_src/lib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_src/lib diff --git a/camlp4/ocaml_src/lib/CVS/Root b/camlp4/ocaml_src/lib/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_src/lib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_src/lib/CVS/Tag b/camlp4/ocaml_src/lib/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_src/lib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_src/lib/plexer.ml b/camlp4/ocaml_src/lib/plexer.ml index 6f5aab2d..706393b6 100644 --- a/camlp4/ocaml_src/lib/plexer.ml +++ b/camlp4/ocaml_src/lib/plexer.ml @@ -150,11 +150,11 @@ let err loc msg = raise_with_loc loc (Token.Error msg);; (* Debugging positions and locations *) let eprint_pos msg p = - Printf.eprintf "%s: fname=%s; lnum=%d; bol=%d; cnum=%d\n%!" msg + Printf.eprintf "%s: fname=%s; lnum=%d; bol=%d; cnum=%d%!" msg p.Lexing.pos_fname p.Lexing.pos_lnum p.Lexing.pos_bol p.Lexing.pos_cnum ;; -let eprint_loc (bp, ep) = eprint_pos "P1" bp; eprint_pos "P2" ep;; +let eprint_loc (bp, ep) = eprint_pos "P1=" bp; eprint_pos " --P2=" ep;; let check_location msg (bp, ep as loc) = let ok = @@ -175,6 +175,10 @@ let check_location msg (bp, ep as loc) = ok, loc ;; +let debug_token ((kind, tok), loc) = + Printf.eprintf "%s(%s) at " kind tok; eprint_loc loc; Printf.eprintf "\n%!" +;; + let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = let make_pos p = {Lexing.pos_fname = !fname; Lexing.pos_lnum = !lnum; @@ -257,12 +261,14 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = end | Some '\"' -> Stream.junk strm__; - let tok = "STRING", get_buff (string bp 0 strm__) in + let bpos = make_pos bp in + let tok = "STRING", get_buff (string bpos 0 strm__) in let loc = mkloc (bp, Stream.count strm__) in tok, loc | Some '$' -> Stream.junk strm__; - let tok = dollar bp 0 strm__ in - let loc = mkloc (bp, Stream.count strm__) in tok, loc + let bpos = make_pos bp in + let tok = dollar bpos 0 strm__ in + let loc = bpos, make_pos (Stream.count strm__) in tok, loc | Some ('!' | '=' | '@' | '^' | '&' | '+' | '-' | '*' | '/' | '%' as c) -> Stream.junk strm__; let id = get_buff (ident2 (store 0 c) strm__) in @@ -401,16 +407,17 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = let ep = Stream.count strm__ in let id = get_buff len in keyword_or_error (bp, ep) id else + let bpos = make_pos bp in let (strm__ : _ Stream.t) = strm in match Stream.peek strm__ with Some '<' -> Stream.junk strm__; let len = - try quotation bp 0 strm__ with + try quotation bpos 0 strm__ with Stream.Failure -> raise (Stream.Error "") in let ep = Stream.count strm__ in - ("QUOTATION", ":" ^ get_buff len), mkloc (bp, ep) + ("QUOTATION", ":" ^ get_buff len), (bpos, make_pos ep) | Some ':' -> Stream.junk strm__; let i = @@ -421,18 +428,18 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = Some '<' -> Stream.junk strm__; let len = - try quotation bp 0 strm__ with + try quotation bpos 0 strm__ with Stream.Failure -> raise (Stream.Error "") in let ep = Stream.count strm__ in - ("QUOTATION", i ^ ":" ^ get_buff len), mkloc (bp, ep) + ("QUOTATION", i ^ ":" ^ get_buff len), (bpos, make_pos ep) | _ -> raise (Stream.Error "character '<' expected") end | _ -> let len = ident2 (store 0 '<') strm__ in let ep = Stream.count strm__ in let id = get_buff len in keyword_or_error (bp, ep) id - and string bp len (strm__ : _ Stream.t) = + and string bpos len (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '\"' -> Stream.junk strm__; len | Some '\\' -> @@ -444,7 +451,7 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = let ep = Stream.count strm__ in let len = store len '\\' in begin match c with - '\010' -> bolpos := ep; incr lnum; string bp (store len c) s + '\010' -> bolpos := ep; incr lnum; string bpos (store len c) s | '\013' -> let (len, ep) = match Stream.peek s with @@ -452,8 +459,8 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = Stream.junk s; store (store len '\013') '\010', ep + 1 | _ -> store len '\013', ep in - bolpos := ep; incr lnum; string bp len s - | c -> string bp (store len c) s + bolpos := ep; incr lnum; string bpos len s + | c -> string bpos (store len c) s end | _ -> raise (Stream.Error "") end @@ -461,7 +468,7 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = Stream.junk strm__; let s = strm__ in let ep = Stream.count strm__ in - bolpos := ep; incr lnum; string bp (store len '\010') s + bolpos := ep; incr lnum; string bpos (store len '\010') s | Some '\013' -> Stream.junk strm__; let s = strm__ in @@ -472,11 +479,11 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = Stream.junk s; store (store len '\013') '\010', ep + 1 | _ -> store len '\013', ep in - bolpos := ep; incr lnum; string bp len s - | Some c -> Stream.junk strm__; string bp (store len c) strm__ + bolpos := ep; incr lnum; string bpos len s + | Some c -> Stream.junk strm__; string bpos (store len c) strm__ | _ -> let ep = Stream.count strm__ in - err (mkloc (bp, ep)) "string not terminated" + err (bpos, make_pos ep) "string not terminated" and char bp len (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '\'' -> @@ -506,27 +513,27 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = | _ -> let ep = Stream.count strm__ in err (mkloc (bp, ep)) "char not terminated" - and dollar bp len s = + and dollar bpos len s = if !no_quotations then "", get_buff (ident2 (store 0 '$') s) else let (strm__ : _ Stream.t) = s in match Stream.peek strm__ with Some '$' -> Stream.junk strm__; "ANTIQUOT", ":" ^ get_buff len | Some ('a'..'z' | 'A'..'Z' as c) -> - Stream.junk strm__; antiquot bp (store len c) strm__ + Stream.junk strm__; antiquot bpos (store len c) strm__ | Some ('0'..'9' as c) -> - Stream.junk strm__; maybe_locate bp (store len c) strm__ + Stream.junk strm__; maybe_locate bpos (store len c) strm__ | Some ':' -> Stream.junk strm__; let k = get_buff len in - "ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bp 0 strm__ + "ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bpos 0 strm__ | Some '\\' -> Stream.junk strm__; begin match Stream.peek strm__ with Some c -> Stream.junk strm__; "ANTIQUOT", - ":" ^ locate_or_antiquot_rest bp (store len c) strm__ + ":" ^ locate_or_antiquot_rest bpos (store len c) strm__ | _ -> raise (Stream.Error "") end | _ -> @@ -536,57 +543,59 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = match Stream.peek strm__ with Some c -> Stream.junk strm__; - "ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) s + "ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) s | _ -> let ep = Stream.count strm__ in - err (mkloc (bp, ep)) "antiquotation not terminated" + err (bpos, make_pos ep) "antiquotation not terminated" else "", get_buff (ident2 (store 0 '$') s) - and maybe_locate bp len (strm__ : _ Stream.t) = + and maybe_locate bpos len (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '$' -> Stream.junk strm__; "ANTIQUOT", ":" ^ get_buff len | Some ('0'..'9' as c) -> - Stream.junk strm__; maybe_locate bp (store len c) strm__ + Stream.junk strm__; maybe_locate bpos (store len c) strm__ | Some ':' -> Stream.junk strm__; - "LOCATE", get_buff len ^ ":" ^ locate_or_antiquot_rest bp 0 strm__ + "LOCATE", get_buff len ^ ":" ^ locate_or_antiquot_rest bpos 0 strm__ | Some '\\' -> Stream.junk strm__; begin match Stream.peek strm__ with Some c -> Stream.junk strm__; - "ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) strm__ + "ANTIQUOT", + ":" ^ locate_or_antiquot_rest bpos (store len c) strm__ | _ -> raise (Stream.Error "") end | Some c -> Stream.junk strm__; - "ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) strm__ + "ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) strm__ | _ -> let ep = Stream.count strm__ in - err (mkloc (bp, ep)) "antiquotation not terminated" - and antiquot bp len (strm__ : _ Stream.t) = + err (bpos, make_pos ep) "antiquotation not terminated" + and antiquot bpos len (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '$' -> Stream.junk strm__; "ANTIQUOT", ":" ^ get_buff len | Some ('a'..'z' | 'A'..'Z' | '0'..'9' as c) -> - Stream.junk strm__; antiquot bp (store len c) strm__ + Stream.junk strm__; antiquot bpos (store len c) strm__ | Some ':' -> Stream.junk strm__; let k = get_buff len in - "ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bp 0 strm__ + "ANTIQUOT", k ^ ":" ^ locate_or_antiquot_rest bpos 0 strm__ | Some '\\' -> Stream.junk strm__; begin match Stream.peek strm__ with Some c -> Stream.junk strm__; - "ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) strm__ + "ANTIQUOT", + ":" ^ locate_or_antiquot_rest bpos (store len c) strm__ | _ -> raise (Stream.Error "") end | Some c -> Stream.junk strm__; - "ANTIQUOT", ":" ^ locate_or_antiquot_rest bp (store len c) strm__ + "ANTIQUOT", ":" ^ locate_or_antiquot_rest bpos (store len c) strm__ | _ -> let ep = Stream.count strm__ in - err (mkloc (bp, ep)) "antiquotation not terminated" - and locate_or_antiquot_rest bp len (strm__ : _ Stream.t) = + err (bpos, make_pos ep) "antiquotation not terminated" + and locate_or_antiquot_rest bpos len (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '$' -> Stream.junk strm__; get_buff len | Some '\\' -> @@ -594,20 +603,21 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = begin match Stream.peek strm__ with Some c -> Stream.junk strm__; - locate_or_antiquot_rest bp (store len c) strm__ + locate_or_antiquot_rest bpos (store len c) strm__ | _ -> raise (Stream.Error "") end | Some c -> - Stream.junk strm__; locate_or_antiquot_rest bp (store len c) strm__ + Stream.junk strm__; locate_or_antiquot_rest bpos (store len c) strm__ | _ -> let ep = Stream.count strm__ in - err (mkloc (bp, ep)) "antiquotation not terminated" - and quotation bp len (strm__ : _ Stream.t) = + err (bpos, make_pos ep) "antiquotation not terminated" + and quotation bpos len (strm__ : _ Stream.t) = match Stream.peek strm__ with - Some '>' -> Stream.junk strm__; maybe_end_quotation bp len strm__ + Some '>' -> Stream.junk strm__; maybe_end_quotation bpos len strm__ | Some '<' -> Stream.junk strm__; - quotation bp (maybe_nested_quotation bp (store len '<') strm__) strm__ + quotation bpos (maybe_nested_quotation bpos (store len '<') strm__) + strm__ | Some '\\' -> Stream.junk strm__; let len = @@ -618,28 +628,31 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = with Stream.Failure -> raise (Stream.Error "") in - quotation bp len strm__ + quotation bpos len strm__ | Some '\010' -> Stream.junk strm__; let s = strm__ in - bolpos := bp + 1; incr lnum; quotation bp (store len '\010') s + let ep = Stream.count strm__ in + bolpos := ep; incr lnum; quotation bpos (store len '\010') s | Some '\013' -> Stream.junk strm__; let s = strm__ in + let ep = Stream.count strm__ in let bol = match Stream.peek s with - Some '\010' -> Stream.junk s; bp + 2 - | _ -> bp + 1 + Some '\010' -> Stream.junk s; ep + 1 + | _ -> ep in - bolpos := bol; incr lnum; quotation bp (store len '\013') s - | Some c -> Stream.junk strm__; quotation bp (store len c) strm__ + bolpos := bol; incr lnum; quotation bpos (store len '\013') s + | Some c -> Stream.junk strm__; quotation bpos (store len c) strm__ | _ -> let ep = Stream.count strm__ in - err (mkloc (bp, ep)) "quotation not terminated" - and maybe_nested_quotation bp len (strm__ : _ Stream.t) = + err (bpos, make_pos ep) "quotation not terminated" + and maybe_nested_quotation bpos len (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '<' -> - Stream.junk strm__; mstore (quotation bp (store len '<') strm__) ">>" + Stream.junk strm__; + mstore (quotation bpos (store len '<') strm__) ">>" | Some ':' -> Stream.junk strm__; let len = @@ -650,44 +663,45 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = match Stream.peek strm__ with Some '<' -> Stream.junk strm__; - mstore (quotation bp (store len '<') strm__) ">>" + mstore (quotation bpos (store len '<') strm__) ">>" | _ -> len with Stream.Failure -> raise (Stream.Error "") end | _ -> len - and maybe_end_quotation bp len (strm__ : _ Stream.t) = + and maybe_end_quotation bpos len (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '>' -> Stream.junk strm__; len - | _ -> quotation bp (store len '>') strm__ + | _ -> quotation bpos (store len '>') strm__ and left_paren bp (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '*' -> Stream.junk strm__; let _ = - try comment bp strm__ with + try comment (make_pos bp) strm__ with Stream.Failure -> raise (Stream.Error "") in begin try next_token true strm__ with Stream.Failure -> raise (Stream.Error "") end | _ -> let ep = Stream.count strm__ in keyword_or_error (bp, ep) "(" - and comment bp (strm__ : _ Stream.t) = + and comment bpos (strm__ : _ Stream.t) = match Stream.peek strm__ with - Some '(' -> Stream.junk strm__; left_paren_in_comment bp strm__ - | Some '*' -> Stream.junk strm__; star_in_comment bp strm__ + Some '(' -> Stream.junk strm__; left_paren_in_comment bpos strm__ + | Some '*' -> Stream.junk strm__; star_in_comment bpos strm__ | Some '\"' -> Stream.junk strm__; let _ = - try string bp 0 strm__ with + try string bpos 0 strm__ with Stream.Failure -> raise (Stream.Error "") in - comment bp strm__ - | Some '\'' -> Stream.junk strm__; quote_in_comment bp strm__ + comment bpos strm__ + | Some '\'' -> Stream.junk strm__; quote_in_comment bpos strm__ | Some '\010' -> Stream.junk strm__; let s = strm__ in - let ep = Stream.count strm__ in bolpos := ep; incr lnum; comment bp s + let ep = Stream.count strm__ in + bolpos := ep; incr lnum; comment bpos s | Some '\013' -> Stream.junk strm__; let s = strm__ in @@ -697,24 +711,26 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = Some '\010' -> Stream.junk s; ep + 1 | _ -> ep in - bolpos := ep; incr lnum; comment bp s - | Some c -> Stream.junk strm__; comment bp strm__ + bolpos := ep; incr lnum; comment bpos s + | Some c -> Stream.junk strm__; comment bpos strm__ | _ -> let ep = Stream.count strm__ in - err (mkloc (bp, ep)) "comment not terminated" - and quote_in_comment bp (strm__ : _ Stream.t) = + err (bpos, make_pos ep) "comment not terminated" + and quote_in_comment bpos (strm__ : _ Stream.t) = match Stream.peek strm__ with - Some '\'' -> Stream.junk strm__; comment bp strm__ - | Some '\\' -> Stream.junk strm__; quote_antislash_in_comment bp 0 strm__ + Some '\'' -> Stream.junk strm__; comment bpos strm__ + | Some '\\' -> + Stream.junk strm__; quote_antislash_in_comment bpos 0 strm__ | _ -> let s = strm__ in + let ep = Stream.count strm__ in begin match Stream.npeek 2 s with ['\013' | '\010'; '\''] -> - bolpos := bp + 1; incr lnum; Stream.junk s; Stream.junk s + bolpos := ep; incr lnum; Stream.junk s; Stream.junk s | ['\013'; '\010'] -> begin match Stream.npeek 3 s with [_; _; '\''] -> - bolpos := bp + 2; + bolpos := ep + 1; incr lnum; Stream.junk s; Stream.junk s; @@ -724,7 +740,7 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = | [_; '\''] -> Stream.junk s; Stream.junk s | _ -> () end; - comment bp s + comment bpos s and quote_any_in_comment bp (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '\'' -> Stream.junk strm__; comment bp strm__ @@ -746,15 +762,15 @@ let next_token_fun dfa ssd find_kwd fname lnum bolpos glexr = match Stream.peek strm__ with Some ('0'..'9') -> Stream.junk strm__; quote_any_in_comment bp strm__ | _ -> comment bp strm__ - and left_paren_in_comment bp (strm__ : _ Stream.t) = + and left_paren_in_comment bpos (strm__ : _ Stream.t) = match Stream.peek strm__ with Some '*' -> - Stream.junk strm__; let s = strm__ in comment bp s; comment bp s - | _ -> comment bp strm__ - and star_in_comment bp (strm__ : _ Stream.t) = + Stream.junk strm__; let s = strm__ in comment bpos s; comment bpos s + | _ -> comment bpos strm__ + and star_in_comment bpos (strm__ : _ Stream.t) = match Stream.peek strm__ with Some ')' -> Stream.junk strm__; () - | _ -> comment bp strm__ + | _ -> comment bpos strm__ and linedir n s = match stream_peek_nth n s with Some (' ' | '\t') -> linedir (n + 1) s @@ -1073,11 +1089,11 @@ let make_lexer () = let id_table = Hashtbl.create 301 in let glexr = ref - {tok_func = (fun _ -> raise (Match_failure ("", 762, 17))); - tok_using = (fun _ -> raise (Match_failure ("", 762, 37))); - tok_removing = (fun _ -> raise (Match_failure ("", 762, 60))); - tok_match = (fun _ -> raise (Match_failure ("", 763, 18))); - tok_text = (fun _ -> raise (Match_failure ("", 763, 37))); + {tok_func = (fun _ -> raise (Match_failure ("", 772, 17))); + tok_using = (fun _ -> raise (Match_failure ("", 772, 37))); + tok_removing = (fun _ -> raise (Match_failure ("", 772, 60))); + tok_match = (fun _ -> raise (Match_failure ("", 773, 18))); + tok_text = (fun _ -> raise (Match_failure ("", 773, 37))); tok_comm = None} in let (f, pos) = func kwd_table glexr in @@ -1109,11 +1125,11 @@ let make () = let id_table = Hashtbl.create 301 in let glexr = ref - {tok_func = (fun _ -> raise (Match_failure ("", 796, 17))); - tok_using = (fun _ -> raise (Match_failure ("", 796, 37))); - tok_removing = (fun _ -> raise (Match_failure ("", 796, 60))); - tok_match = (fun _ -> raise (Match_failure ("", 797, 18))); - tok_text = (fun _ -> raise (Match_failure ("", 797, 37))); + {tok_func = (fun _ -> raise (Match_failure ("", 806, 17))); + tok_using = (fun _ -> raise (Match_failure ("", 806, 37))); + tok_removing = (fun _ -> raise (Match_failure ("", 806, 60))); + tok_match = (fun _ -> raise (Match_failure ("", 807, 18))); + tok_text = (fun _ -> raise (Match_failure ("", 807, 37))); tok_comm = None} in {func = fst (func kwd_table glexr); using = using_token kwd_table id_table; diff --git a/camlp4/ocaml_src/meta/.depend b/camlp4/ocaml_src/meta/.depend index 977947f5..83b86c27 100644 --- a/camlp4/ocaml_src/meta/.depend +++ b/camlp4/ocaml_src/meta/.depend @@ -1,16 +1,16 @@ -pa_extend.cmo: ../camlp4/mLast.cmi ../camlp4/pcaml.cmi ../camlp4/reloc.cmi -pa_extend.cmx: ../camlp4/mLast.cmi ../camlp4/pcaml.cmx ../camlp4/reloc.cmx +pa_extend.cmo: ../camlp4/reloc.cmi ../camlp4/pcaml.cmi ../camlp4/mLast.cmi +pa_extend.cmx: ../camlp4/reloc.cmx ../camlp4/pcaml.cmx ../camlp4/mLast.cmi pa_extend_m.cmo: pa_extend.cmo pa_extend_m.cmx: pa_extend.cmx -pa_macro.cmo: ../camlp4/mLast.cmi ../camlp4/pcaml.cmi -pa_macro.cmx: ../camlp4/mLast.cmi ../camlp4/pcaml.cmx -pa_r.cmo: ../camlp4/mLast.cmi ../camlp4/pcaml.cmi -pa_r.cmx: ../camlp4/mLast.cmi ../camlp4/pcaml.cmx -pa_rp.cmo: ../camlp4/mLast.cmi ../camlp4/pcaml.cmi -pa_rp.cmx: ../camlp4/mLast.cmi ../camlp4/pcaml.cmx -pr_dump.cmo: ../camlp4/ast2pt.cmi $(OTOP)/utils/config.cmi ../camlp4/pcaml.cmi -pr_dump.cmx: ../camlp4/ast2pt.cmx $(OTOP)/utils/config.cmx ../camlp4/pcaml.cmx -q_MLast.cmo: ../camlp4/mLast.cmi ../camlp4/pcaml.cmi ../camlp4/quotation.cmi \ - ../camlp4/reloc.cmi -q_MLast.cmx: ../camlp4/mLast.cmi ../camlp4/pcaml.cmx ../camlp4/quotation.cmx \ - ../camlp4/reloc.cmx +pa_macro.cmo: ../camlp4/pcaml.cmi ../camlp4/mLast.cmi +pa_macro.cmx: ../camlp4/pcaml.cmx ../camlp4/mLast.cmi +pa_r.cmo: ../camlp4/pcaml.cmi ../camlp4/mLast.cmi +pa_r.cmx: ../camlp4/pcaml.cmx ../camlp4/mLast.cmi +pa_rp.cmo: ../camlp4/pcaml.cmi ../camlp4/mLast.cmi +pa_rp.cmx: ../camlp4/pcaml.cmx ../camlp4/mLast.cmi +pr_dump.cmo: ../camlp4/pcaml.cmi $(OTOP)/utils/config.cmi ../camlp4/ast2pt.cmi +pr_dump.cmx: ../camlp4/pcaml.cmx $(OTOP)/utils/config.cmx ../camlp4/ast2pt.cmx +q_MLast.cmo: ../camlp4/reloc.cmi ../camlp4/quotation.cmi ../camlp4/pcaml.cmi \ + ../camlp4/mLast.cmi +q_MLast.cmx: ../camlp4/reloc.cmx ../camlp4/quotation.cmx ../camlp4/pcaml.cmx \ + ../camlp4/mLast.cmi diff --git a/camlp4/ocaml_src/meta/CVS/Entries b/camlp4/ocaml_src/meta/CVS/Entries deleted file mode 100644 index 50ffebea..00000000 --- a/camlp4/ocaml_src/meta/CVS/Entries +++ /dev/null @@ -1,11 +0,0 @@ -/.cvsignore/1.1/Fri Sep 7 07:19:20 2001//Tocaml3083 -/.depend/1.7.2.1/Wed Jul 7 16:13:53 2004//Tocaml3083 -/Makefile/1.15.2.1/Wed Aug 18 11:17:37 2004//Tocaml3083 -/pa_extend.ml/1.32/Wed May 12 15:22:46 2004//Tocaml3083 -/pa_extend_m.ml/1.10/Wed May 12 15:22:46 2004//Tocaml3083 -/pa_macro.ml/1.2.4.5/Tue Jun 29 20:41:02 2004//Tocaml3083 -/pa_r.ml/1.54.2.4/Mon Nov 29 14:16:46 2004//Tocaml3083 -/pa_rp.ml/1.6/Wed May 12 15:22:47 2004//Tocaml3083 -/pr_dump.ml/1.4/Thu Jul 10 12:28:32 2003//Tocaml3083 -/q_MLast.ml/1.61/Tue May 25 18:53:19 2004//Tocaml3083 -D diff --git a/camlp4/ocaml_src/meta/CVS/Repository b/camlp4/ocaml_src/meta/CVS/Repository deleted file mode 100644 index 64f32558..00000000 --- a/camlp4/ocaml_src/meta/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_src/meta diff --git a/camlp4/ocaml_src/meta/CVS/Root b/camlp4/ocaml_src/meta/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_src/meta/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_src/meta/CVS/Tag b/camlp4/ocaml_src/meta/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_src/meta/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_src/meta/pa_r.ml b/camlp4/ocaml_src/meta/pa_r.ml index e052e9b4..9d4977e1 100644 --- a/camlp4/ocaml_src/meta/pa_r.ml +++ b/camlp4/ocaml_src/meta/pa_r.ml @@ -1293,7 +1293,15 @@ Grammar.extend (p, e : 'let_binding))]]; Grammar.Entry.obj (fun_binding : 'fun_binding Grammar.Entry.e), None, [None, Some Gramext.RightA, - [[Gramext.Stoken ("", ":"); + [[Gramext.Stoken ("", ":>"); + Gramext.Snterm (Grammar.Entry.obj (ctyp : 'ctyp Grammar.Entry.e)); + Gramext.Stoken ("", "="); + Gramext.Snterm (Grammar.Entry.obj (expr : 'expr Grammar.Entry.e))], + Gramext.action + (fun (e : 'expr) _ (t : 'ctyp) _ + (loc : Lexing.position * Lexing.position) -> + (MLast.ExCoe (loc, e, None, t) : 'fun_binding)); + [Gramext.Stoken ("", ":"); Gramext.Snterm (Grammar.Entry.obj (ctyp : 'ctyp Grammar.Entry.e)); Gramext.Stoken ("", "="); Gramext.Snterm (Grammar.Entry.obj (expr : 'expr Grammar.Entry.e))], diff --git a/camlp4/ocaml_src/meta/q_MLast.ml b/camlp4/ocaml_src/meta/q_MLast.ml index dac10349..54daba10 100644 --- a/camlp4/ocaml_src/meta/q_MLast.ml +++ b/camlp4/ocaml_src/meta/q_MLast.ml @@ -12,7 +12,9 @@ (* This file has been generated by program: do not edit! *) -let gram = Grammar.gcreate (Plexer.gmake ());; +let (gram, q_position) = + let (lexer, pos) = Plexer.make_lexer () in Grammar.gcreate lexer, pos +;; module Qast = struct @@ -68,12 +70,24 @@ module Qast = | Record lal -> MLast.ExRec (loc, List.map to_expr_label lal, None) | Loc -> MLast.ExLid (loc, !(Stdpp.loc_name)) | Antiquot (loc, s) -> + let (bolpos, lnum, _) = !(Pcaml.position) in + let (bolposv, lnumv) = !bolpos, !lnum in + let zero_pos () = bolpos := 0; lnum := 1 in + let restore_pos () = bolpos := bolposv; lnum := lnumv in let e = - try Grammar.Entry.parse Pcaml.expr_eoi (Stream.of_string s) with + try + let _ = zero_pos () in + let result = + Grammar.Entry.parse Pcaml.expr_eoi (Stream.of_string s) + in + let _ = restore_pos () in result + with Stdpp.Exc_located ((bp, ep), exc) -> + restore_pos (); raise (Stdpp.Exc_located (Reloc.adjust_loc (fst loc) (bp, ep), exc)) + | exc -> restore_pos (); raise exc in MLast.ExAnt (loc, e) and to_expr_label (l, a) = @@ -110,12 +124,24 @@ module Qast = | Record lal -> MLast.PaRec (loc, List.map to_patt_label lal) | Loc -> MLast.PaAny loc | Antiquot (loc, s) -> + let (bolpos, lnum, _) = !(Pcaml.position) in + let (bolposv, lnumv) = !bolpos, !lnum in + let zero_pos () = bolpos := 0; lnum := 1 in + let restore_pos () = bolpos := bolposv; lnum := lnumv in let p = - try Grammar.Entry.parse Pcaml.patt_eoi (Stream.of_string s) with + try + let _ = zero_pos () in + let result = + Grammar.Entry.parse Pcaml.patt_eoi (Stream.of_string s) + in + let _ = restore_pos () in result + with Stdpp.Exc_located ((bp, ep), exc) -> + restore_pos (); raise (Stdpp.Exc_located (Reloc.adjust_loc (fst loc) (bp, ep), exc)) + | exc -> restore_pos (); raise exc in MLast.PaAnt (loc, p) and to_patt_label (l, a) = @@ -199,8 +225,11 @@ let neg_string n = let mkumin _ f arg = match arg with - Qast.Node ("ExInt", [Qast.Loc; Qast.Str n]) when int_of_string n > 0 -> - let n = neg_string n in Qast.Node ("ExInt", [Qast.Loc; Qast.Str n]) + Qast.Node + (("ExInt" | "ExInt32" | "ExInt64" | "ExNativeInt" as exi), + [Qast.Loc; Qast.Str n]) + when int_of_string n > 0 -> + let n = neg_string n in Qast.Node (exi, [Qast.Loc; Qast.Str n]) | Qast.Node ("ExFlo", [Qast.Loc; Qast.Str n]) when float_of_string n > 0.0 -> let n = neg_string n in Qast.Node ("ExFlo", [Qast.Loc; Qast.Str n]) @@ -659,7 +688,7 @@ Grammar.extend (let (_, c, tl) = match ctl with Qast.Tuple [xx1; xx2; xx3] -> xx1, xx2, xx3 - | _ -> match () with _ -> raise (Match_failure ("", 308, 19)) + | _ -> match () with _ -> raise (Match_failure ("", 332, 19)) in Qast.Node ("StExc", [Qast.Loc; c; tl; b]) : 'str_item)); @@ -953,7 +982,7 @@ Grammar.extend (let (_, c, tl) = match ctl with Qast.Tuple [xx1; xx2; xx3] -> xx1, xx2, xx3 - | _ -> match () with _ -> raise (Match_failure ("", 366, 19)) + | _ -> match () with _ -> raise (Match_failure ("", 390, 19)) in Qast.Node ("SgExc", [Qast.Loc; c; tl]) : 'sig_item)); @@ -5126,11 +5155,23 @@ Grammar.extend (Qast.Str s : 'a_OPTLABEL))]]];; let apply_entry e = - let f s = Grammar.Entry.parse e (Stream.of_string s) in + let f s = + let (bolpos, lnum, fname) = q_position in + let (bolp, ln, _) = !bolpos, !lnum, !fname in + let zero_position () = bolpos := 0; lnum := 1 in + let restore_position () = bolpos := bolp; lnum := ln in + let _ = zero_position () in + try + let result = Grammar.Entry.parse e (Stream.of_string s) in + let _ = restore_position () in result + with + exc -> restore_position (); raise exc + in let expr s = Qast.to_expr (f s) in let patt s = Qast.to_patt (f s) in Quotation.ExAst (expr, patt) ;; + let sig_item_eoi = Grammar.Entry.create gram "signature item" in Grammar.extend [Grammar.Entry.obj (sig_item_eoi : 'sig_item_eoi Grammar.Entry.e), None, diff --git a/camlp4/ocaml_src/odyl/.depend b/camlp4/ocaml_src/odyl/.depend index 3f125b7d..a2629440 100644 --- a/camlp4/ocaml_src/odyl/.depend +++ b/camlp4/ocaml_src/odyl/.depend @@ -1,4 +1,4 @@ -odyl.cmo: odyl_config.cmo odyl_main.cmi -odyl.cmx: odyl_config.cmx odyl_main.cmx +odyl.cmo: odyl_main.cmi odyl_config.cmo +odyl.cmx: odyl_main.cmx odyl_config.cmx odyl_main.cmo: odyl_config.cmo odyl_main.cmi odyl_main.cmx: odyl_config.cmx odyl_main.cmi diff --git a/camlp4/ocaml_src/odyl/CVS/Entries b/camlp4/ocaml_src/odyl/CVS/Entries deleted file mode 100644 index 4e3ee14d..00000000 --- a/camlp4/ocaml_src/odyl/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.3/Fri Sep 7 07:32:56 2001//Tocaml3083 -/.depend/1.8.2.3/Wed Aug 18 11:17:37 2004//Tocaml3083 -/Makefile/1.16.4.3/Wed Aug 18 11:17:37 2004//Tocaml3083 -/odyl.ml/1.3.6.1/Thu Jul 1 08:02:09 2004//Tocaml3083 -/odyl_main.ml/1.5.4.1/Thu Jul 1 08:03:46 2004//Tocaml3083 -/odyl_main.mli/1.2/Fri Dec 14 19:39:34 2001//Tocaml3083 -D diff --git a/camlp4/ocaml_src/odyl/CVS/Repository b/camlp4/ocaml_src/odyl/CVS/Repository deleted file mode 100644 index 99893812..00000000 --- a/camlp4/ocaml_src/odyl/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_src/odyl diff --git a/camlp4/ocaml_src/odyl/CVS/Root b/camlp4/ocaml_src/odyl/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_src/odyl/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_src/odyl/CVS/Tag b/camlp4/ocaml_src/odyl/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_src/odyl/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_src/tools/CVS/Entries b/camlp4/ocaml_src/tools/CVS/Entries deleted file mode 100644 index d01a4649..00000000 --- a/camlp4/ocaml_src/tools/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/camlp4_comm.mpw/1.2/Fri Jul 19 14:53:55 2002//Tocaml3083 -/camlp4_comm.sh/1.1/Fri Sep 7 07:22:07 2001//Tocaml3083 -/extract_crc.mpw/1.1/Thu Dec 13 13:59:25 2001//Tocaml3083 -/extract_crc.sh/1.4/Thu Jul 10 12:28:33 2003//Tocaml3083 -/ocamlc.mpw/1.1/Thu Dec 13 13:59:25 2001//Tocaml3083 -/ocamlc.sh/1.4/Sat Apr 27 14:45:31 2002//Tocaml3083 -/ocamlopt.sh/1.3/Sat Apr 27 14:45:31 2002//Tocaml3083 -D diff --git a/camlp4/ocaml_src/tools/CVS/Repository b/camlp4/ocaml_src/tools/CVS/Repository deleted file mode 100644 index 83a05625..00000000 --- a/camlp4/ocaml_src/tools/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_src/tools diff --git a/camlp4/ocaml_src/tools/CVS/Root b/camlp4/ocaml_src/tools/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_src/tools/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_src/tools/CVS/Tag b/camlp4/ocaml_src/tools/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_src/tools/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_stuff/CVS/Entries b/camlp4/ocaml_stuff/CVS/Entries deleted file mode 100644 index c4f42f6d..00000000 --- a/camlp4/ocaml_stuff/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -D/otherlibs//// -D/parsing//// -D/utils//// diff --git a/camlp4/ocaml_stuff/CVS/Repository b/camlp4/ocaml_stuff/CVS/Repository deleted file mode 100644 index 0cb5ab05..00000000 --- a/camlp4/ocaml_stuff/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_stuff diff --git a/camlp4/ocaml_stuff/CVS/Root b/camlp4/ocaml_stuff/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_stuff/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_stuff/CVS/Tag b/camlp4/ocaml_stuff/CVS/Tag deleted file mode 100644 index 8b28f3ed..00000000 --- a/camlp4/ocaml_stuff/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Tocaml3083 diff --git a/camlp4/ocaml_stuff/otherlibs/CVS/Entries b/camlp4/ocaml_stuff/otherlibs/CVS/Entries deleted file mode 100644 index a34ce05c..00000000 --- a/camlp4/ocaml_stuff/otherlibs/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/dynlink//// diff --git a/camlp4/ocaml_stuff/otherlibs/CVS/Repository b/camlp4/ocaml_stuff/otherlibs/CVS/Repository deleted file mode 100644 index e9270e1f..00000000 --- a/camlp4/ocaml_stuff/otherlibs/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_stuff/otherlibs diff --git a/camlp4/ocaml_stuff/otherlibs/CVS/Root b/camlp4/ocaml_stuff/otherlibs/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_stuff/otherlibs/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_stuff/otherlibs/CVS/Tag b/camlp4/ocaml_stuff/otherlibs/CVS/Tag deleted file mode 100644 index 8b28f3ed..00000000 --- a/camlp4/ocaml_stuff/otherlibs/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Tocaml3083 diff --git a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Entries b/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Entries deleted file mode 100644 index fa584758..00000000 --- a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.depend/1.3/Fri Jul 19 14:53:55 2002//Tocaml3083 -D diff --git a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Repository b/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Repository deleted file mode 100644 index df7cb768..00000000 --- a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_stuff/otherlibs/dynlink diff --git a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Root b/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Tag b/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_stuff/otherlibs/dynlink/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_stuff/parsing/CVS/Entries b/camlp4/ocaml_stuff/parsing/CVS/Entries deleted file mode 100644 index fa584758..00000000 --- a/camlp4/ocaml_stuff/parsing/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.depend/1.3/Fri Jul 19 14:53:55 2002//Tocaml3083 -D diff --git a/camlp4/ocaml_stuff/parsing/CVS/Repository b/camlp4/ocaml_stuff/parsing/CVS/Repository deleted file mode 100644 index 230f4a7f..00000000 --- a/camlp4/ocaml_stuff/parsing/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_stuff/parsing diff --git a/camlp4/ocaml_stuff/parsing/CVS/Root b/camlp4/ocaml_stuff/parsing/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_stuff/parsing/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_stuff/parsing/CVS/Tag b/camlp4/ocaml_stuff/parsing/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_stuff/parsing/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocaml_stuff/utils/CVS/Entries b/camlp4/ocaml_stuff/utils/CVS/Entries deleted file mode 100644 index fa584758..00000000 --- a/camlp4/ocaml_stuff/utils/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.depend/1.3/Fri Jul 19 14:53:55 2002//Tocaml3083 -D diff --git a/camlp4/ocaml_stuff/utils/CVS/Repository b/camlp4/ocaml_stuff/utils/CVS/Repository deleted file mode 100644 index 6c7079ff..00000000 --- a/camlp4/ocaml_stuff/utils/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocaml_stuff/utils diff --git a/camlp4/ocaml_stuff/utils/CVS/Root b/camlp4/ocaml_stuff/utils/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocaml_stuff/utils/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocaml_stuff/utils/CVS/Tag b/camlp4/ocaml_stuff/utils/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocaml_stuff/utils/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/ocpp/CVS/Entries b/camlp4/ocpp/CVS/Entries deleted file mode 100644 index 26ec7e99..00000000 --- a/camlp4/ocpp/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.cvsignore/1.1/Fri Sep 7 07:57:04 2001//Tocaml3083 -/.depend/1.1/Fri Sep 7 07:57:04 2001//Tocaml3083 -/Makefile/1.6/Wed May 12 15:22:48 2004//Tocaml3083 -/ocpp.ml/1.6/Wed May 12 15:22:48 2004//Tocaml3083 -D diff --git a/camlp4/ocpp/CVS/Repository b/camlp4/ocpp/CVS/Repository deleted file mode 100644 index 2897f5d0..00000000 --- a/camlp4/ocpp/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/ocpp diff --git a/camlp4/ocpp/CVS/Root b/camlp4/ocpp/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/ocpp/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/ocpp/CVS/Tag b/camlp4/ocpp/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/ocpp/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/odyl/CVS/Entries b/camlp4/odyl/CVS/Entries deleted file mode 100644 index 51580ed5..00000000 --- a/camlp4/odyl/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.2/Thu Jul 10 12:28:34 2003//Tocaml3083 -/.depend/1.11.4.4/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.15.4.6/Wed Jul 28 13:11:07 2004//Tocaml3083 -/odyl.ml/1.2.6.1/Wed Jun 23 13:31:38 2004//Tocaml3083 -/odyl_main.ml/1.4.4.1/Wed Jun 23 14:43:58 2004//Tocaml3083 -/odyl_main.mli/1.2/Fri Jul 19 14:53:56 2002//Tocaml3083 -D diff --git a/camlp4/odyl/CVS/Repository b/camlp4/odyl/CVS/Repository deleted file mode 100644 index 1c13fa18..00000000 --- a/camlp4/odyl/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/odyl diff --git a/camlp4/odyl/CVS/Root b/camlp4/odyl/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/odyl/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/odyl/CVS/Tag b/camlp4/odyl/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/odyl/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/tools/CVS/Entries b/camlp4/tools/CVS/Entries deleted file mode 100644 index e0cf06f2..00000000 --- a/camlp4/tools/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/apply.sh/1.4.4.1/Wed Jul 7 16:22:26 2004//Tocaml3083 -/camlp4_comm.mpw/1.1/Thu Dec 13 13:59:25 2001//Tocaml3083 -/camlp4_comm.sh/1.9/Wed May 12 15:22:48 2004//Tocaml3083 -/conv.sh/1.4/Sun Nov 23 18:20:48 2003//Tocaml3083 -/extract_crc.mpw/1.1/Thu Dec 13 13:59:25 2001//Tocaml3083 -/extract_crc.sh/1.4/Thu Jul 10 12:28:35 2003//Tocaml3083 -/ocamlc.mpw/1.1/Thu Dec 13 13:59:25 2001//Tocaml3083 -/ocamlc.sh/1.4/Sat Apr 27 14:45:31 2002//Tocaml3083 -/ocamlopt.sh/1.3/Sat Apr 27 14:45:31 2002//Tocaml3083 -D diff --git a/camlp4/tools/CVS/Repository b/camlp4/tools/CVS/Repository deleted file mode 100644 index 7a5d0128..00000000 --- a/camlp4/tools/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/tools diff --git a/camlp4/tools/CVS/Root b/camlp4/tools/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/tools/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/tools/CVS/Tag b/camlp4/tools/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/tools/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/top/CVS/Entries b/camlp4/top/CVS/Entries deleted file mode 100644 index 9e35ea97..00000000 --- a/camlp4/top/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.1/Fri Sep 7 07:54:49 2001//Tocaml3083 -/.depend/1.9.4.1/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.12.2.1/Fri Jul 9 15:10:57 2004//Tocaml3083 -/camlp4_top.ml/1.13.2.1/Thu Oct 7 09:18:13 2004//Tocaml3083 -/oprint.ml/1.6/Tue Sep 23 12:52:34 2003//Tocaml3083 -/rprint.ml/1.14/Sat Jun 12 08:55:46 2004//Tocaml3083 -D diff --git a/camlp4/top/CVS/Repository b/camlp4/top/CVS/Repository deleted file mode 100644 index a3a55858..00000000 --- a/camlp4/top/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/top diff --git a/camlp4/top/CVS/Root b/camlp4/top/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/top/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/top/CVS/Tag b/camlp4/top/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/top/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/top/rprint.ml b/camlp4/top/rprint.ml index 77fc1919..51199ce2 100644 --- a/camlp4/top/rprint.ml +++ b/camlp4/top/rprint.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: rprint.ml,v 1.14 2004/06/12 08:55:46 xleroy Exp $ *) +(* $Id: rprint.ml,v 1.14.2.1 2005/06/17 12:25:57 mauny Exp $ *) open Format; open Outcometree; @@ -135,7 +135,7 @@ and print_out_type_1 ppf = fprintf ppf "@[%s%a ->@ %a@]" (if lab <> "" then lab ^ ":" else "") print_out_type_2 ty1 print_out_type_1 ty2 | Otyp_poly sl ty -> - fprintf ppf "@[%a.@ %a@]" + fprintf ppf "@[!%a.@ %a@]" pr_vars sl print_out_type ty | ty -> print_out_type_2 ppf ty ] diff --git a/camlp4/unmaintained/CVS/Entries b/camlp4/unmaintained/CVS/Entries deleted file mode 100644 index 5e12be7e..00000000 --- a/camlp4/unmaintained/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/Makefile/1.1.2.1/Wed Jul 7 16:33:14 2004//Tocaml3083 -D/format//// -D/lefteval//// -D/ocamllex//// -D/olabl//// -D/scheme//// -D/sml//// diff --git a/camlp4/unmaintained/CVS/Repository b/camlp4/unmaintained/CVS/Repository deleted file mode 100644 index 1134a331..00000000 --- a/camlp4/unmaintained/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/unmaintained diff --git a/camlp4/unmaintained/CVS/Root b/camlp4/unmaintained/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/unmaintained/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/unmaintained/CVS/Tag b/camlp4/unmaintained/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/unmaintained/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/unmaintained/format/CVS/Entries b/camlp4/unmaintained/format/CVS/Entries deleted file mode 100644 index a667f7ba..00000000 --- a/camlp4/unmaintained/format/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.depend/1.1.2.1/Wed Jul 7 16:22:26 2004//Tocaml3083 -/Makefile/1.1.2.1/Wed Jul 7 16:22:26 2004//Tocaml3083 -/README/1.1.2.1/Wed Jul 7 16:22:27 2004//Tocaml3083 -/pa_format.ml/1.1.2.1/Wed Jul 7 16:22:27 2004//Tocaml3083 -D diff --git a/camlp4/unmaintained/format/CVS/Repository b/camlp4/unmaintained/format/CVS/Repository deleted file mode 100644 index e37de8b0..00000000 --- a/camlp4/unmaintained/format/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/unmaintained/format diff --git a/camlp4/unmaintained/format/CVS/Root b/camlp4/unmaintained/format/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/unmaintained/format/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/unmaintained/format/CVS/Tag b/camlp4/unmaintained/format/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/unmaintained/format/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/unmaintained/lefteval/CVS/Entries b/camlp4/unmaintained/lefteval/CVS/Entries deleted file mode 100644 index 05a75eb3..00000000 --- a/camlp4/unmaintained/lefteval/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.depend/1.1.2.1/Wed Jul 7 16:22:27 2004//Tocaml3083 -/Makefile/1.1.2.1/Wed Jul 7 16:22:28 2004//Tocaml3083 -/README/1.1.2.1/Wed Jul 7 16:22:28 2004//Tocaml3083 -/pa_lefteval.ml/1.1.2.1/Wed Jul 7 16:22:28 2004//Tocaml3083 -D diff --git a/camlp4/unmaintained/lefteval/CVS/Repository b/camlp4/unmaintained/lefteval/CVS/Repository deleted file mode 100644 index 05356c56..00000000 --- a/camlp4/unmaintained/lefteval/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/unmaintained/lefteval diff --git a/camlp4/unmaintained/lefteval/CVS/Root b/camlp4/unmaintained/lefteval/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/unmaintained/lefteval/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/unmaintained/lefteval/CVS/Tag b/camlp4/unmaintained/lefteval/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/unmaintained/lefteval/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/unmaintained/ocamllex/CVS/Entries b/camlp4/unmaintained/ocamllex/CVS/Entries deleted file mode 100644 index 50c04b91..00000000 --- a/camlp4/unmaintained/ocamllex/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/Makefile/1.1.2.1/Wed Jul 7 16:22:29 2004//Tocaml3083 -/README/1.1.2.1/Wed Jul 7 16:22:29 2004//Tocaml3083 -/pa_ocamllex.ml/1.1.2.1/Wed Jul 7 16:22:29 2004//Tocaml3083 -D diff --git a/camlp4/unmaintained/ocamllex/CVS/Repository b/camlp4/unmaintained/ocamllex/CVS/Repository deleted file mode 100644 index 305a0be5..00000000 --- a/camlp4/unmaintained/ocamllex/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/unmaintained/ocamllex diff --git a/camlp4/unmaintained/ocamllex/CVS/Root b/camlp4/unmaintained/ocamllex/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/unmaintained/ocamllex/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/unmaintained/ocamllex/CVS/Tag b/camlp4/unmaintained/ocamllex/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/unmaintained/ocamllex/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/unmaintained/olabl/CVS/Entries b/camlp4/unmaintained/olabl/CVS/Entries deleted file mode 100644 index 76b40002..00000000 --- a/camlp4/unmaintained/olabl/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.depend/1.1.2.1/Wed Jul 7 16:22:30 2004//Tocaml3083 -/Makefile/1.1.2.1/Wed Jul 7 16:22:31 2004//Tocaml3083 -/README/1.1.2.1/Wed Jul 7 16:22:31 2004//Tocaml3083 -/pa_olabl.ml/1.1.2.1/Wed Jul 7 16:22:31 2004//Tocaml3083 -D diff --git a/camlp4/unmaintained/olabl/CVS/Repository b/camlp4/unmaintained/olabl/CVS/Repository deleted file mode 100644 index a48587ff..00000000 --- a/camlp4/unmaintained/olabl/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/unmaintained/olabl diff --git a/camlp4/unmaintained/olabl/CVS/Root b/camlp4/unmaintained/olabl/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/unmaintained/olabl/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/unmaintained/olabl/CVS/Tag b/camlp4/unmaintained/olabl/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/unmaintained/olabl/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/unmaintained/scheme/CVS/Entries b/camlp4/unmaintained/scheme/CVS/Entries deleted file mode 100644 index 2915d046..00000000 --- a/camlp4/unmaintained/scheme/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/.depend/1.1.2.1/Wed Jul 7 16:22:32 2004//Tocaml3083 -/Makefile/1.1.2.1/Wed Jul 7 16:22:32 2004//Tocaml3083 -/README/1.1.2.1/Wed Jul 7 16:22:32 2004//Tocaml3083 -/pa_scheme.ml/1.1.2.1/Wed Jul 7 16:22:32 2004//Tocaml3083 -/pa_scheme.sc/1.1.2.1/Wed Jul 7 16:22:33 2004//Tocaml3083 -/pr_scheme.ml/1.1.2.1/Wed Jul 7 16:22:33 2004//Tocaml3083 -/pr_schp_main.ml/1.1.2.1/Wed Jul 7 16:22:34 2004//Tocaml3083 -D diff --git a/camlp4/unmaintained/scheme/CVS/Repository b/camlp4/unmaintained/scheme/CVS/Repository deleted file mode 100644 index 6cb77722..00000000 --- a/camlp4/unmaintained/scheme/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/unmaintained/scheme diff --git a/camlp4/unmaintained/scheme/CVS/Root b/camlp4/unmaintained/scheme/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/unmaintained/scheme/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/unmaintained/scheme/CVS/Tag b/camlp4/unmaintained/scheme/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/unmaintained/scheme/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/camlp4/unmaintained/sml/CVS/Entries b/camlp4/unmaintained/sml/CVS/Entries deleted file mode 100644 index 56c3802f..00000000 --- a/camlp4/unmaintained/sml/CVS/Entries +++ /dev/null @@ -1,6 +0,0 @@ -/.depend/1.1.2.1/Wed Jul 7 16:37:09 2004//Tocaml3083 -/Makefile/1.1.2.1/Wed Jul 7 16:37:10 2004//Tocaml3083 -/README/1.1.2.1/Wed Jul 7 16:37:10 2004//Tocaml3083 -/pa_sml.ml/1.1.2.1/Wed Jul 7 16:37:10 2004//Tocaml3083 -/smllib.sml/1.1.2.1/Wed Jul 7 16:37:11 2004//Tocaml3083 -D diff --git a/camlp4/unmaintained/sml/CVS/Repository b/camlp4/unmaintained/sml/CVS/Repository deleted file mode 100644 index 22ddc3ea..00000000 --- a/camlp4/unmaintained/sml/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/camlp4/unmaintained/sml diff --git a/camlp4/unmaintained/sml/CVS/Root b/camlp4/unmaintained/sml/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/camlp4/unmaintained/sml/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/camlp4/unmaintained/sml/CVS/Tag b/camlp4/unmaintained/sml/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/camlp4/unmaintained/sml/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/config/CVS/Entries b/config/CVS/Entries deleted file mode 100644 index ce54b031..00000000 --- a/config/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/.cvsignore/1.2/Thu Feb 15 16:18:54 1996//Tocaml3083 -/Makefile-templ/1.29/Sat Jun 19 16:17:31 2004//Tocaml3083 -/Makefile.mingw/1.12/Thu Apr 1 13:08:56 2004//Tocaml3083 -/Makefile.msvc/1.12.4.2/Wed Feb 2 15:39:40 2005//Tocaml3083 -/m-nt.h/1.10/Fri Jun 7 09:49:37 2002//Tocaml3083 -/m-templ.h/1.14/Fri Dec 7 13:39:40 2001//Tocaml3083 -/s-nt.h/1.12/Tue Jun 18 13:00:55 2002//Tocaml3083 -/s-templ.h/1.22/Tue May 18 08:50:22 2004//Tocaml3083 -D diff --git a/config/CVS/Entries.Log b/config/CVS/Entries.Log deleted file mode 100644 index 4d297bfd..00000000 --- a/config/CVS/Entries.Log +++ /dev/null @@ -1,2 +0,0 @@ -A D/auto-aux//// -A D/gnu//// diff --git a/config/CVS/Repository b/config/CVS/Repository deleted file mode 100644 index 4e8e931b..00000000 --- a/config/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/config diff --git a/config/CVS/Root b/config/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/config/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/config/CVS/Tag b/config/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/config/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/config/auto-aux/CVS/Entries b/config/auto-aux/CVS/Entries deleted file mode 100644 index e62a8fa2..00000000 --- a/config/auto-aux/CVS/Entries +++ /dev/null @@ -1,29 +0,0 @@ -/align.c/1.7/Fri Dec 7 13:39:41 2001//Tocaml3083 -/ansi.c/1.4/Fri Dec 7 13:39:41 2001//Tocaml3083 -/async_io.c/1.8/Tue Feb 11 14:05:36 2003//Tocaml3083 -/bytecopy.c/1.7/Fri Dec 7 13:39:43 2001//Tocaml3083 -/dblalign.c/1.9/Fri Dec 7 13:39:43 2001//Tocaml3083 -/divmod.c/1.3/Tue Dec 30 23:59:47 2003//Tocaml3083 -/elf.c/1.4/Fri Dec 7 13:39:43 2001//Tocaml3083 -/endian.c/1.8/Fri Dec 7 13:39:43 2001//Tocaml3083 -/getgroups.c/1.8/Fri Dec 7 13:39:43 2001//Tocaml3083 -/gethostbyaddr.c/1.2/Mon May 6 08:29:52 2002//Tocaml3083 -/gethostbyname.c/1.2/Mon May 6 08:29:52 2002//Tocaml3083 -/hasgot/1.9/Fri Apr 9 13:23:11 2004//Tocaml3083 -/ia32sse2.c/1.1.6.1/Mon Jan 31 17:25:42 2005//Tocaml3083 -/int64align.c/1.2/Fri Dec 7 13:39:43 2001//Tocaml3083 -/longlong.c/1.4/Sat May 25 08:33:26 2002//Tocaml3083 -/runtest/1.5/Thu Sep 6 08:52:21 2001//Tocaml3083 -/schar.c/1.8/Fri Dec 7 13:39:44 2001//Tocaml3083 -/schar2.c/1.8/Fri Dec 7 13:39:44 2001//Tocaml3083 -/searchpath/1.1/Tue Feb 13 16:26:44 1996//Tocaml3083 -/sharpbang/1.1/Tue Feb 13 16:26:45 1996//Tocaml3083 -/sharpbang2/1.1/Wed Jul 16 14:22:26 2003//Tocaml3083 -/sighandler.c/1.7/Fri Dec 7 13:39:44 2001//Tocaml3083 -/signals.c/1.7/Fri Dec 7 13:39:44 2001//Tocaml3083 -/sizes.c/1.9/Fri Dec 7 13:39:44 2001//Tocaml3083 -/solaris-ld/1.2/Tue Aug 28 14:47:18 2001/-kk/Tocaml3083 -/stackov.c/1.4/Wed Jul 23 07:57:17 2003//Tocaml3083 -/tclversion.c/1.3/Wed Aug 20 15:11:52 2003//Tocaml3083 -/trycompile/1.1/Sat May 4 09:58:01 2002//Tocaml3083 -D diff --git a/config/auto-aux/CVS/Repository b/config/auto-aux/CVS/Repository deleted file mode 100644 index 03597e02..00000000 --- a/config/auto-aux/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/config/auto-aux diff --git a/config/auto-aux/CVS/Root b/config/auto-aux/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/config/auto-aux/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/config/auto-aux/CVS/Tag b/config/auto-aux/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/config/auto-aux/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/config/gnu/CVS/Entries b/config/gnu/CVS/Entries deleted file mode 100644 index 7516e9c7..00000000 --- a/config/gnu/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/config.guess/1.4/Mon Feb 16 12:37:15 2004//Tocaml3083 -/config.sub/1.1.1.3/Mon Feb 16 12:30:04 2004//Tocaml3083 -D diff --git a/config/gnu/CVS/Repository b/config/gnu/CVS/Repository deleted file mode 100644 index 6b52af65..00000000 --- a/config/gnu/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/config/gnu diff --git a/config/gnu/CVS/Root b/config/gnu/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/config/gnu/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/config/gnu/CVS/Tag b/config/gnu/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/config/gnu/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/configure b/configure index fd28ce8d..710ee45d 100755 --- a/configure +++ b/configure @@ -13,7 +13,7 @@ # # ######################################################################### -# $Id: configure,v 1.215.2.9 2005/01/24 15:22:46 doligez Exp $ +# $Id: configure,v 1.215.2.10 2005/06/12 13:36:42 xleroy Exp $ configure_options="$*" prefix=/usr/local @@ -1180,6 +1180,7 @@ for dir in \ $x11_lib_dir \ $x11_try_lib_dir \ \ + /usr/X11R6/lib64 \ /usr/X11R6/lib \ /usr/lib/X11R6 \ /usr/local/X11R6/lib \ diff --git a/debugger/CVS/Entries b/debugger/CVS/Entries deleted file mode 100644 index 35af822b..00000000 --- a/debugger/CVS/Entries +++ /dev/null @@ -1,65 +0,0 @@ -/.cvsignore/1.1/Fri Mar 21 07:10:20 1997//Tocaml3083 -/.depend/1.30.2.2/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.29/Sun Feb 22 15:07:51 2004//Tocaml3083 -/breakpoints.ml/1.12/Fri Nov 21 16:10:56 2003//Tocaml3083 -/breakpoints.mli/1.2/Wed Nov 17 18:57:22 1999//Tocaml3083 -/checkpoints.ml/1.4/Tue Oct 29 17:53:23 2002//Tocaml3083 -/checkpoints.mli/1.4/Tue Oct 29 17:53:23 2002//Tocaml3083 -/command_line.ml/1.21/Fri Nov 21 16:10:56 2003//Tocaml3083 -/command_line.mli/1.4/Tue Mar 7 18:22:14 2000//Tocaml3083 -/debugcom.ml/1.12/Tue Oct 29 17:53:23 2002//Tocaml3083 -/debugcom.mli/1.8/Tue Oct 29 17:53:23 2002//Tocaml3083 -/debugger_config.ml/1.10/Sun Nov 17 16:42:10 2002//Tocaml3083 -/debugger_config.mli/1.5/Sun Nov 17 16:42:10 2002//Tocaml3083 -/envaux.ml/1.7/Mon Mar 6 22:11:17 2000//Tocaml3083 -/envaux.mli/1.5/Mon Mar 6 22:11:20 2000//Tocaml3083 -/eval.ml/1.28/Wed Jul 2 09:14:30 2003//Tocaml3083 -/eval.mli/1.6/Mon Mar 6 22:11:21 2000//Tocaml3083 -/events.ml/1.5/Sat Nov 2 22:36:42 2002//Tocaml3083 -/events.mli/1.3/Wed Nov 17 18:57:24 1999//Tocaml3083 -/exec.ml/1.4/Wed Nov 17 18:57:24 1999//Tocaml3083 -/exec.mli/1.4/Wed Nov 17 18:57:24 1999//Tocaml3083 -/frames.ml/1.9/Sat Nov 2 22:36:42 2002//Tocaml3083 -/frames.mli/1.3/Wed Nov 17 18:57:24 1999//Tocaml3083 -/history.ml/1.5/Tue Oct 29 17:53:24 2002//Tocaml3083 -/history.mli/1.4/Tue Oct 29 17:53:24 2002//Tocaml3083 -/input_handling.ml/1.4/Wed Nov 17 18:57:25 1999//Tocaml3083 -/input_handling.mli/1.2/Wed Nov 17 18:57:25 1999//Tocaml3083 -/int64ops.ml/1.1/Tue Oct 29 17:53:24 2002//Tocaml3083 -/int64ops.mli/1.1/Tue Oct 29 17:53:24 2002//Tocaml3083 -/lexer.mli/1.1/Sun Jun 13 12:46:11 2004//Tocaml3083 -/lexer.mll/1.8/Fri Jan 3 15:39:54 2003//Tocaml3083 -/loadprinter.ml/1.18/Thu Jul 17 13:55:37 2003//Tocaml3083 -/loadprinter.mli/1.4/Tue Mar 7 18:22:15 2000//Tocaml3083 -/main.ml/1.15/Thu Dec 4 12:32:04 2003//Tocaml3083 -/parameters.ml/1.3/Thu Feb 14 15:17:10 2002//Tocaml3083 -/parameters.mli/1.2/Wed Nov 17 18:57:26 1999//Tocaml3083 -/parser.mly/1.7/Tue Oct 29 17:53:24 2002//Tocaml3083 -/parser_aux.mli/1.4/Wed Nov 17 18:57:26 1999//Tocaml3083 -/pattern_matching.ml/1.4/Thu Dec 28 13:03:41 2000//Tocaml3083 -/pattern_matching.mli/1.2/Wed Nov 17 18:57:26 1999//Tocaml3083 -/pos.ml/1.1/Fri Nov 21 16:10:56 2003//Tocaml3083 -/pos.mli/1.1/Fri Nov 21 16:10:57 2003//Tocaml3083 -/primitives.ml/1.6/Tue Oct 29 17:53:24 2002//Tocaml3083 -/primitives.mli/1.2/Wed Nov 17 18:57:26 1999//Tocaml3083 -/printval.ml/1.21/Wed Feb 13 11:09:17 2002//Tocaml3083 -/printval.mli/1.10/Tue Jul 3 11:04:09 2001//Tocaml3083 -/program_loading.ml/1.6/Wed Nov 17 18:57:27 1999//Tocaml3083 -/program_loading.mli/1.3/Wed Nov 17 18:57:27 1999//Tocaml3083 -/program_management.ml/1.11/Sat Nov 2 22:36:42 2002//Tocaml3083 -/program_management.mli/1.2/Wed Nov 17 18:57:27 1999//Tocaml3083 -/show_information.ml/1.12/Sat Nov 2 22:36:44 2002//Tocaml3083 -/show_information.mli/1.3/Mon Mar 6 22:11:25 2000//Tocaml3083 -/show_source.ml/1.12/Tue Mar 7 18:22:18 2000//Tocaml3083 -/show_source.mli/1.3/Wed Nov 17 18:57:28 1999//Tocaml3083 -/source.ml/1.7/Fri Jun 7 07:35:38 2002//Tocaml3083 -/source.mli/1.2/Wed Nov 17 18:57:28 1999//Tocaml3083 -/symbols.ml/1.17/Sat Nov 2 22:36:45 2002//Tocaml3083 -/symbols.mli/1.6/Wed Nov 17 18:57:29 1999//Tocaml3083 -/time_travel.ml/1.17/Mon Jun 21 08:39:32 2004//Tocaml3083 -/time_travel.mli/1.5/Tue Oct 29 17:53:24 2002//Tocaml3083 -/trap_barrier.ml/1.3/Wed Nov 17 18:57:29 1999//Tocaml3083 -/trap_barrier.mli/1.2/Wed Nov 17 18:57:29 1999//Tocaml3083 -/unix_tools.ml/1.8/Sat Nov 2 22:36:45 2002//Tocaml3083 -/unix_tools.mli/1.4/Sat Nov 2 22:36:45 2002//Tocaml3083 -D diff --git a/debugger/CVS/Repository b/debugger/CVS/Repository deleted file mode 100644 index 7d36cdb8..00000000 --- a/debugger/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/debugger diff --git a/debugger/CVS/Root b/debugger/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/debugger/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/debugger/CVS/Tag b/debugger/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/debugger/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/debugger/program_loading.ml b/debugger/program_loading.ml index 813fc12a..aff393a4 100644 --- a/debugger/program_loading.ml +++ b/debugger/program_loading.ml @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: program_loading.ml,v 1.6 1999/11/17 18:57:27 xleroy Exp $ *) +(* $Id: program_loading.ml,v 1.6.16.1 2005/08/02 14:04:13 doligez Exp $ *) (* Program loading *) @@ -70,8 +70,8 @@ let exec_with_runtime = (function () -> Printf.sprintf "CAML_DEBUG_SOCKET=%s %s %s %s" !socket_name - runtime_program - !program_name + (Filename.quote runtime_program) + (Filename.quote !program_name) !arguments) (* Excute the program directly *) @@ -80,7 +80,7 @@ let exec_direct = (function () -> Printf.sprintf "CAML_DEBUG_SOCKET=%s %s %s" !socket_name - !program_name + (Filename.quote !program_name) !arguments) (* Ask the user. *) diff --git a/driver/CVS/Entries b/driver/CVS/Entries deleted file mode 100644 index 10f1f8b6..00000000 --- a/driver/CVS/Entries +++ /dev/null @@ -1,18 +0,0 @@ -/compile.ml/1.54/Sun Jun 13 12:46:41 2004//Tocaml3083 -/compile.mli/1.8/Sun Jun 13 12:46:41 2004//Tocaml3083 -/errors.ml/1.25/Thu Jun 19 15:53:49 2003//Tocaml3083 -/errors.mli/1.5/Mon Mar 6 22:11:31 2000//Tocaml3083 -/main.ml/1.67/Sun Jun 13 12:46:41 2004//Tocaml3083 -/main.mli/1.1/Fri Jan 7 16:03:04 2000//Tocaml3083 -/main_args.ml/1.42/Thu Jul 17 08:38:27 2003//Tocaml3083 -/main_args.mli/1.25/Thu Jul 17 08:38:27 2003//Tocaml3083 -/ocamlcomp.sh.in/1.2/Sat Jun 8 03:27:50 2002//Tocaml3083 -/optcompile.ml/1.48/Sun Jun 13 12:46:41 2004//Tocaml3083 -/optcompile.mli/1.8/Sun Jun 13 12:46:41 2004//Tocaml3083 -/opterrors.ml/1.18/Thu Jun 19 15:53:49 2003//Tocaml3083 -/opterrors.mli/1.5/Tue Mar 7 05:02:32 2000//Tocaml3083 -/optmain.ml/1.81/Sun Jun 13 12:46:41 2004//Tocaml3083 -/optmain.mli/1.1/Fri Jan 7 16:03:04 2000//Tocaml3083 -/pparse.ml/1.3/Wed Jun 16 16:58:46 2004//Tocaml3083 -/pparse.mli/1.1/Fri Feb 8 10:14:31 2002//Tocaml3083 -D diff --git a/driver/CVS/Repository b/driver/CVS/Repository deleted file mode 100644 index 476986fe..00000000 --- a/driver/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/driver diff --git a/driver/CVS/Root b/driver/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/driver/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/driver/CVS/Tag b/driver/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/driver/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/emacs/CVS/Entries b/emacs/CVS/Entries deleted file mode 100644 index 3036c2a7..00000000 --- a/emacs/CVS/Entries +++ /dev/null @@ -1,17 +0,0 @@ -/.cvsignore/1.2/Wed Jan 9 20:38:33 2002//Tocaml3083 -/COPYING/1.1.2.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/Makefile/1.16.4.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/README/1.12/Mon Aug 5 02:05:42 2002//Tocaml3083 -/README.itz/1.2/Wed Apr 5 18:30:13 2000//Tocaml3083 -/caml-compat.el/1.2.18.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/caml-emacs.el/1.6.6.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/caml-font.el/1.18.2.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/caml-help.el/1.16.4.1/Mon Aug 9 16:09:33 2004/-kk/Tocaml3083 -/caml-hilit.el/1.8.4.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/caml-types.el/1.29.6.2/Mon Nov 15 12:50:54 2004//Tocaml3083 -/caml-xemacs.el/1.5.6.2/Tue Nov 2 10:21:03 2004//Tocaml3083 -/caml.el/1.36.4.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/camldebug.el/1.8.4.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/inf-caml.el/1.10.8.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -/ocamltags.in/1.5.18.1/Mon Aug 9 16:09:33 2004//Tocaml3083 -D diff --git a/emacs/CVS/Repository b/emacs/CVS/Repository deleted file mode 100644 index 4c35e1ff..00000000 --- a/emacs/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/emacs diff --git a/emacs/CVS/Root b/emacs/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/emacs/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/emacs/CVS/Tag b/emacs/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/emacs/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/emacs/caml-help.el b/emacs/caml-help.el index 92735aca..97e4d244 100644 --- a/emacs/caml-help.el +++ b/emacs/caml-help.el @@ -10,7 +10,7 @@ ;(* *) ;(***********************************************************************) -;(* $Id$ *) +;(* $Id: caml-help.el,v 1.16.4.1 2004/08/09 16:09:33 doligez Exp $ *) ;; caml-info.el --- contextual completion and help to caml-mode diff --git a/emacs/caml-types.el b/emacs/caml-types.el index 11f870de..85907238 100644 --- a/emacs/caml-types.el +++ b/emacs/caml-types.el @@ -10,7 +10,7 @@ ;(* *) ;(***********************************************************************) -;(* $Id: caml-types.el,v 1.29.6.2 2004/11/15 12:50:54 doligez Exp $ *) +;(* $Id: caml-types.el,v 1.29.6.4 2005/08/05 12:00:16 doligez Exp $ *) ; An emacs-lisp complement to the "-dtypes" option of ocamlc and ocamlopt. @@ -128,17 +128,14 @@ See `caml-types-location-re' for annotation file format. (type-file (concat (file-name-sans-extension (buffer-file-name)) ".annot"))) (caml-types-preprocess type-file) - (unless caml-types-buffer - (setq caml-types-buffer (get-buffer-create caml-types-buffer-name))) + (setq caml-types-buffer (get-buffer-create caml-types-buffer-name)) (let* ((targ-loc (vector target-file target-line target-bol target-cnum)) (node (caml-types-find-location targ-loc () caml-types-annotation-tree))) (cond ((null node) - (delete-overlay caml-types-expr-ovl) - (message "Point is not within a typechecked expression or pattern.") - ; (with-current-buffer type-buf (narrow-to-region 1 1)) - ) + (delete-overlay caml-types-expr-ovl) + (message "Point is not within a typechecked expression or pattern.")) (t (let ((left (caml-types-get-pos target-buf (elt node 0))) (right (caml-types-get-pos target-buf (elt node 1))) @@ -426,9 +423,7 @@ The function uses two overlays. (progn (caml-types-preprocess type-file) (setq target-tree caml-types-annotation-tree) - (unless caml-types-buffer - (setq caml-types-buffer - (get-buffer-create caml-types-buffer-name))) + (setq caml-types-buffer (get-buffer-create caml-types-buffer-name)) ;; (message "Drag the mouse to explore types") (unwind-protect (caml-track-mouse @@ -569,4 +564,10 @@ The function uses two overlays. (min (point-max) (+ end 1)) target-buf) (cons start end))) +(defun caml-types-version () + "internal version number of caml-types.el" + (interactive) + (message "2") +) + (provide 'caml-types) diff --git a/lex/CVS/Entries b/lex/CVS/Entries deleted file mode 100644 index f7604e65..00000000 --- a/lex/CVS/Entries +++ /dev/null @@ -1,25 +0,0 @@ -/.cvsignore/1.5/Mon Apr 22 10:06:01 2002//Tocaml3083 -/.depend/1.13.4.2/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.17/Fri Nov 1 15:31:11 2002//Tocaml3083 -/Makefile.nt/1.9/Mon Jan 6 14:57:22 2003//Tocaml3083 -/common.ml/1.7/Fri Aug 29 17:33:44 2003//Tocaml3083 -/common.mli/1.4/Fri Aug 29 17:33:44 2003//Tocaml3083 -/compact.ml/1.7/Mon Oct 28 16:46:49 2002//Tocaml3083 -/compact.mli/1.4/Mon Oct 28 16:46:49 2002//Tocaml3083 -/cset.ml/1.3/Thu Apr 29 11:12:49 2004//Tocaml3083 -/cset.mli/1.3/Thu Apr 29 11:12:49 2004//Tocaml3083 -/lexer.mli/1.6/Wed Apr 21 23:26:05 2004//Tocaml3083 -/lexer.mll/1.21/Thu Apr 29 11:12:49 2004//Tocaml3083 -/lexgen.ml/1.17/Tue Mar 23 16:57:24 2004//Tocaml3083 -/lexgen.mli/1.5/Mon Oct 28 16:46:49 2002//Tocaml3083 -/main.ml/1.21.2.1/Thu Jul 22 11:00:35 2004//Tocaml3083 -/output.ml/1.25/Thu Feb 12 17:29:04 2004//Tocaml3083 -/output.mli/1.8/Mon Dec 9 10:44:46 2002//Tocaml3083 -/outputbis.ml/1.5/Sat Jul 26 21:06:21 2003//Tocaml3083 -/outputbis.mli/1.3/Mon Dec 9 10:44:46 2002//Tocaml3083 -/parser.mly/1.20/Thu Apr 29 11:12:49 2004//Tocaml3083 -/syntax.ml/1.8/Mon Dec 9 10:44:46 2002//Tocaml3083 -/syntax.mli/1.8/Mon Dec 9 10:44:46 2002//Tocaml3083 -/table.ml/1.1/Mon Oct 28 16:46:50 2002//Tocaml3083 -/table.mli/1.1/Mon Oct 28 16:46:50 2002//Tocaml3083 -D diff --git a/lex/CVS/Repository b/lex/CVS/Repository deleted file mode 100644 index 86f12e80..00000000 --- a/lex/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/lex diff --git a/lex/CVS/Root b/lex/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/lex/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/lex/CVS/Tag b/lex/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/lex/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/man/CVS/Entries b/man/CVS/Entries deleted file mode 100644 index 02e50c7b..00000000 --- a/man/CVS/Entries +++ /dev/null @@ -1,15 +0,0 @@ -/Makefile/1.3/Wed Apr 24 09:09:35 2002//Tocaml3083 -/ocaml.help/1.2/Mon Nov 15 16:51:04 1999//Tocaml3083 -/ocaml.m/1.6/Fri Feb 8 10:16:10 2002//Tocaml3083 -/ocamlc.m/1.6.6.2/Thu Jun 24 14:53:42 2004//Tocaml3083 -/ocamlcp.m/1.2/Fri May 10 13:27:19 1996//Tocaml3083 -/ocamldebug.m/1.1/Tue Mar 6 09:59:18 2001//Tocaml3083 -/ocamldep.m/1.3/Fri Jul 6 17:08:10 2001//Tocaml3083 -/ocamldoc.m/1.1.6.2/Fri Jul 9 10:43:11 2004//Tocaml3083 -/ocamllex.m/1.3/Thu Jul 24 08:57:02 2003//Tocaml3083 -/ocamlmktop.m/1.1/Thu Feb 25 14:25:54 1999//Tocaml3083 -/ocamlopt.m/1.7.6.1/Thu Jun 24 13:55:21 2004//Tocaml3083 -/ocamlprof.m/1.2.18.1/Fri Jul 2 09:37:17 2004//Tocaml3083 -/ocamlrun.m/1.4/Thu Apr 15 16:16:55 2004//Tocaml3083 -/ocamlyacc.m/1.2/Fri May 10 13:27:26 1996//Tocaml3083 -D diff --git a/man/CVS/Repository b/man/CVS/Repository deleted file mode 100644 index f3ea2e73..00000000 --- a/man/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/man diff --git a/man/CVS/Root b/man/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/man/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/man/CVS/Tag b/man/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/man/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/man/ocamldoc.m b/man/ocamldoc.m index fbffa749..5dcc0a52 100644 --- a/man/ocamldoc.m +++ b/man/ocamldoc.m @@ -304,7 +304,7 @@ as the title for the generated documentation. .BI \-intro \ file Use content of .I file -as ocamldoc text to use as introduction (HTML, \LaTeX and TeXinfo only). +as ocamldoc text to use as introduction (HTML, LaTeX and TeXinfo only). For HTML, the file is used to create the whole "index.html" file. .TP diff --git a/ocamldoc/CVS/Entries b/ocamldoc/CVS/Entries deleted file mode 100644 index 76c9d269..00000000 --- a/ocamldoc/CVS/Entries +++ /dev/null @@ -1,77 +0,0 @@ -/.cvsignore/1.3/Fri Nov 21 16:16:14 2003//Tocaml3083 -/.depend/1.24.4.2/Fri Feb 18 16:08:37 2005//Tocaml3083 -/Changes.txt/1.35.2.5/Mon Nov 22 16:25:38 2004//Tocaml3083 -/Makefile/1.55.4.1/Fri Feb 18 16:08:37 2005//Tocaml3083 -/Makefile.nt/1.25/Fri Apr 23 14:10:51 2004//Tocaml3083 -/ocamldoc.hva/1.2.8.1/Fri Jul 9 13:27:48 2004//Tocaml3083 -/ocamldoc.sty/1.3/Fri Oct 11 08:24:13 2002//Tocaml3083 -/odoc.ml/1.7.4.1/Fri Jul 9 10:42:09 2004//Tocaml3083 -/odoc_analyse.ml/1.8.6.1/Fri Aug 6 13:42:16 2004//Tocaml3083 -/odoc_analyse.mli/1.3.6.1/Fri Aug 6 13:42:16 2004//Tocaml3083 -/odoc_args.ml/1.15.6.3/Fri Feb 18 16:08:37 2005//Tocaml3083 -/odoc_args.mli/1.12.6.2/Fri Feb 18 16:08:37 2005//Tocaml3083 -/odoc_ast.ml/1.24/Sat Apr 17 12:36:14 2004//Tocaml3083 -/odoc_ast.mli/1.4/Mon Nov 24 10:39:29 2003//Tocaml3083 -/odoc_class.ml/1.5/Fri Mar 26 15:57:02 2004//Tocaml3083 -/odoc_comments.ml/1.4/Mon Nov 24 10:39:29 2003//Tocaml3083 -/odoc_comments.mli/1.3/Mon Nov 24 10:39:30 2003//Tocaml3083 -/odoc_comments_global.ml/1.2/Mon Nov 24 10:39:30 2003//Tocaml3083 -/odoc_comments_global.mli/1.2/Mon Nov 24 10:39:30 2003//Tocaml3083 -/odoc_config.ml/1.1/Wed Jan 28 13:36:20 2004//Tocaml3083 -/odoc_config.mli/1.1/Wed Jan 28 13:36:20 2004//Tocaml3083 -/odoc_control.ml/1.2/Mon Nov 24 10:39:30 2003//Tocaml3083 -/odoc_cross.ml/1.15/Sun May 23 10:41:49 2004//Tocaml3083 -/odoc_cross.mli/1.2/Mon Nov 24 10:39:30 2003//Tocaml3083 -/odoc_dag2html.ml/1.3/Mon Nov 24 10:39:30 2003//Tocaml3083 -/odoc_dag2html.mli/1.3/Mon Nov 24 10:39:31 2003//Tocaml3083 -/odoc_dep.ml/1.6/Fri Mar 5 14:57:50 2004//Tocaml3083 -/odoc_dot.ml/1.6/Mon Nov 24 10:39:31 2003//Tocaml3083 -/odoc_env.ml/1.7/Sat Jun 12 08:55:46 2004//Tocaml3083 -/odoc_env.mli/1.3/Mon Nov 24 10:39:31 2003//Tocaml3083 -/odoc_exception.ml/1.3/Mon Nov 24 10:39:31 2003//Tocaml3083 -/odoc_global.ml/1.3/Mon Nov 24 10:41:03 2003//Tocaml3083 -/odoc_global.mli/1.2/Mon Nov 24 10:41:03 2003//Tocaml3083 -/odoc_html.ml/1.52.4.2/Fri Aug 6 12:35:07 2004//Tocaml3083 -/odoc_info.ml/1.20.4.1/Fri Aug 6 12:35:07 2004//Tocaml3083 -/odoc_info.mli/1.36.4.3/Fri Feb 18 16:08:37 2005//Tocaml3083 -/odoc_inherit.ml/1.2/Mon Nov 24 10:41:04 2003//Tocaml3083 -/odoc_latex.ml/1.36.2.2/Fri Aug 6 12:35:07 2004//Tocaml3083 -/odoc_latex_style.ml/1.5/Fri Jun 11 14:25:50 2004//Tocaml3083 -/odoc_lexer.mll/1.4/Mon Nov 24 10:41:04 2003//Tocaml3083 -/odoc_man.ml/1.22.4.1/Fri Feb 18 16:08:37 2005//Tocaml3083 -/odoc_merge.ml/1.10/Sun Jan 18 14:26:14 2004//Tocaml3083 -/odoc_merge.mli/1.3/Mon Nov 24 10:41:05 2003//Tocaml3083 -/odoc_messages.ml/1.24.4.4/Fri Feb 18 16:08:37 2005//Tocaml3083 -/odoc_misc.ml/1.17.4.2/Fri Oct 1 09:43:24 2004//Tocaml3083 -/odoc_misc.mli/1.10.4.2/Fri Oct 1 09:43:24 2004//Tocaml3083 -/odoc_module.ml/1.9.4.1/Fri Jun 25 13:39:17 2004//Tocaml3083 -/odoc_name.ml/1.9/Fri Mar 26 09:09:50 2004//Tocaml3083 -/odoc_name.mli/1.4/Fri Mar 26 09:09:50 2004//Tocaml3083 -/odoc_ocamlhtml.mll/1.9/Sun Mar 14 13:52:01 2004//Tocaml3083 -/odoc_opt.ml/1.5/Tue Aug 13 14:09:23 2002//Tocaml3083 -/odoc_parameter.ml/1.8/Fri Apr 2 15:10:57 2004//Tocaml3083 -/odoc_parser.mly/1.3/Mon Nov 24 10:43:11 2003//Tocaml3083 -/odoc_print.ml/1.3/Tue May 18 13:28:00 2004//Tocaml3083 -/odoc_print.mli/1.2/Fri Mar 26 09:09:50 2004//Tocaml3083 -/odoc_scan.ml/1.3/Mon Nov 24 10:43:11 2003//Tocaml3083 -/odoc_search.ml/1.6/Sun May 23 10:41:50 2004//Tocaml3083 -/odoc_search.mli/1.4/Mon Nov 24 10:43:12 2003//Tocaml3083 -/odoc_see_lexer.mll/1.3/Mon Nov 24 10:43:12 2003//Tocaml3083 -/odoc_sig.ml/1.30.2.3/Fri Oct 1 09:43:24 2004//Tocaml3083 -/odoc_sig.mli/1.5/Mon Nov 24 10:43:12 2003//Tocaml3083 -/odoc_str.ml/1.9.4.2/Wed Nov 3 08:16:49 2004//Tocaml3083 -/odoc_str.mli/1.5.4.1/Fri Aug 6 12:35:07 2004//Tocaml3083 -/odoc_test.ml/1.1/Fri Feb 20 16:28:27 2004//Tocaml3083 -/odoc_texi.ml/1.17.4.1/Fri Jul 2 12:59:48 2004//Tocaml3083 -/odoc_text.ml/1.5/Sun May 23 10:41:50 2004//Tocaml3083 -/odoc_text.mli/1.3/Mon Nov 24 21:20:51 2003//Tocaml3083 -/odoc_text_lexer.mll/1.8/Sun May 23 10:41:50 2004//Tocaml3083 -/odoc_text_parser.mly/1.4/Sun May 23 10:41:50 2004//Tocaml3083 -/odoc_to_text.ml/1.14.4.2/Fri Aug 6 12:35:07 2004//Tocaml3083 -/odoc_type.ml/1.5/Mon Nov 24 10:44:07 2003//Tocaml3083 -/odoc_types.ml/1.7/Sun May 23 10:41:51 2004//Tocaml3083 -/odoc_types.mli/1.5/Sun May 23 10:41:51 2004//Tocaml3083 -/odoc_value.ml/1.5.6.1/Fri Jul 2 12:59:49 2004//Tocaml3083 -/remove_DEBUG/1.3/Thu Apr 15 16:18:52 2004//Tocaml3083 -/runocamldoc/1.6/Tue Jul 23 14:11:53 2002//Tocaml3083 -D diff --git a/ocamldoc/CVS/Repository b/ocamldoc/CVS/Repository deleted file mode 100644 index a250fea9..00000000 --- a/ocamldoc/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/ocamldoc diff --git a/ocamldoc/CVS/Root b/ocamldoc/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/ocamldoc/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/ocamldoc/CVS/Tag b/ocamldoc/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/ocamldoc/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/ocamldoc/Changes.txt b/ocamldoc/Changes.txt index ce6bf4e5..2863ce7a 100644 --- a/ocamldoc/Changes.txt +++ b/ocamldoc/Changes.txt @@ -3,6 +3,12 @@ TODO: - latex: types variant polymorphes dépassent de la page quand ils sont trop longs - utilisation nouvelles infos de Xavier: "début de rec", etc. +===== +Next release: + - some improvements in html display + - better error messages for misplaced variant constructors comments + - some fixes in man page generation (escaping characters) + ===== Release 3.08.2: - fix: error "Lexing: empty token" (PR#3173) @@ -47,16 +53,16 @@ Release 3.08.0: - new module odoc_print, will work when Format.pp_print_flush is fixed - odoc_html: use buffers instead of string concatenation - odoc_man: use buffers instead of string concatenation - - odoc_cross.ml: use hash tables modified on the fly to resolve + - odoc_cross.ml: use hash tables modified on the fly to resolve (module | module type | exception) name aliases - odoc_html: replace some calls to Str. by specific functions on strings - odoc_cross.ml: use a Map to associate a complete name to the known elements with this name, instead of searching each time through the whole list of modules -> a gain of more than 90% in speed for cross-referencing (Odoc_cross.associate) - - fix: Odoc_name.cut printed a '(' instead of a '.' + - fix: Odoc_name.cut printed a '(' instead of a '.' - add: new option -customdir - - add: new option -i (to add a path to the directory where + - add: new option -i (to add a path to the directory where to look for custom generators) - add: add odoc_config.ml{,i} - add: keep_code in Odoc_info.Args interface @@ -65,7 +71,7 @@ Release 3.08.0: only toplevel ones - fix: bug preventing to get the code in a .mli - fix: missing spaces after carriage return in types (Odoc_misc.string_of_type_expr) - - fixes: some bugs in the text parser + - fixes: some bugs in the text parser ( ]} meaning end of code and somehting else instead of end of precode) - add: in Odoc_info: text_of_string, text_string_of_text, info_of_string - fix: better output of titles in html (use more the style) @@ -128,10 +134,10 @@ Pre-release 4 : - improved display of variant constructors, record fields and their comments in classic HTML - blank lines in comments become

in HTML instead of
- - bug fix : there can be blanks between the last item + - bug fix : there can be blanks between the last item and the ending } of a list - new option -latextitles - - number of errors encountered is displayed + - number of errors encountered is displayed - if at least one error occurs, exit code is not 0 - more precise error messages - bug fix : \n and other blanks are accepted after, for example, {i diff --git a/ocamldoc/odoc_analyse.ml b/ocamldoc/odoc_analyse.ml index 84e37ba4..339c8380 100644 --- a/ocamldoc/odoc_analyse.ml +++ b/ocamldoc/odoc_analyse.ml @@ -9,7 +9,7 @@ (* *) (***********************************************************************) -(* $Id: odoc_analyse.ml,v 1.8.6.1 2004/08/06 13:42:16 guesdon Exp $ *) +(* $Id: odoc_analyse.ml,v 1.8.6.2 2005/06/23 14:47:52 guesdon Exp $ *) (** Analysis of source files. This module is strongly inspired from driver/main.ml :-) *) @@ -150,8 +150,8 @@ module Sig_analyser = Odoc_sig.Analyser (Odoc_comments.Basic_info_retriever) (** Handle an error. This is a partial copy of the compiler driver/error.ml file. We do this because there are some differences between the possibly raised exceptions - in the bytecode (error.ml) and opt (opterros.ml) compilers - and we don't want to take care of this. Besisdes, this + in the bytecode (error.ml) and opt (opterros.ml) compilers + and we don't want to take care of this. Besisdes, this differences only concern code generation (i believe).*) let process_error exn = let report ppf = function @@ -185,15 +185,15 @@ let process_error exn = Location.print ppf loc; Translclass.report_error ppf err | Warnings.Errors (n) -> fprintf ppf "@.Error: %d error-enabled warnings occurred." n - | x -> - fprintf ppf "@]"; + | x -> + fprintf ppf "@]"; fprintf ppf "Compilation error. Use the OCaml compiler to get more details." in Format.fprintf Format.err_formatter "@[%a@]@." report exn (** Process the given file, according to its extension. Return the Module.t created, if any.*) let process_file ppf sourcefile = - if !Odoc_args.verbose then + if !Odoc_args.verbose then ( let f = match sourcefile with Odoc_args.Impl_file f | Odoc_args.Intf_file f -> f in print_string (Odoc_messages.analysing f) ; @@ -209,11 +209,11 @@ let process_file ppf sourcefile = None | Some (parsetree, typedtree) -> let file_module = Ast_analyser.analyse_typed_tree file - !Location.input_name parsetree typedtree + !Location.input_name parsetree typedtree in file_module.Odoc_module.m_top_deps <- Odoc_dep.impl_dependencies parsetree ; - if !Odoc_args.verbose then + if !Odoc_args.verbose then ( print_string Odoc_messages.ok; print_newline () @@ -221,7 +221,7 @@ let process_file ppf sourcefile = remove_preprocessed input_file; Some file_module with - | Sys_error s + | Sys_error s | Failure s -> prerr_endline s ; incr Odoc_global.errors ; @@ -236,12 +236,12 @@ let process_file ppf sourcefile = try let (ast, signat, input_file) = process_interface_file ppf file in let file_module = Sig_analyser.analyse_signature file - !Location.input_name ast signat + !Location.input_name ast signat in file_module.Odoc_module.m_top_deps <- Odoc_dep.intf_dependencies ast ; - if !Odoc_args.verbose then + if !Odoc_args.verbose then ( print_string Odoc_messages.ok; print_newline () @@ -249,7 +249,7 @@ let process_file ppf sourcefile = remove_preprocessed input_file; Some file_module with - | Sys_error s + | Sys_error s | Failure s -> prerr_endline s; incr Odoc_global.errors ; @@ -260,107 +260,142 @@ let process_file ppf sourcefile = None ) -(** Remove the class elements after the stop special comment. *) -let rec remove_class_elements_after_stop eles = +(** Remove the class elements between the stop special comments. *) +let rec remove_class_elements_between_stop keep eles = match eles with [] -> [] | ele :: q -> match ele with - Odoc_class.Class_comment [ Odoc_types.Raw "/*" ] -> [] - | Odoc_class.Class_attribute _ - | Odoc_class.Class_method _ - | Odoc_class.Class_comment _ -> ele :: (remove_class_elements_after_stop q) - -(** Remove the class elements after the stop special comment in a class kind. *) -let rec remove_class_elements_after_stop_in_class_kind k = + Odoc_class.Class_comment [ Odoc_types.Raw "/*" ] -> + remove_class_elements_between_stop (not keep) q + | Odoc_class.Class_attribute _ + | Odoc_class.Class_method _ + | Odoc_class.Class_comment _ -> + if keep then + ele :: (remove_class_elements_between_stop keep q) + else + remove_class_elements_between_stop keep q + +(** Remove the class elements between the stop special comments in a class kind. *) +let rec remove_class_elements_between_stop_in_class_kind k = match k with Odoc_class.Class_structure (inher, l) -> - Odoc_class.Class_structure (inher, remove_class_elements_after_stop l) + Odoc_class.Class_structure (inher, remove_class_elements_between_stop true l) | Odoc_class.Class_apply _ -> k | Odoc_class.Class_constr _ -> k | Odoc_class.Class_constraint (k1, ctk) -> - Odoc_class.Class_constraint (remove_class_elements_after_stop_in_class_kind k1, - remove_class_elements_after_stop_in_class_type_kind ctk) + Odoc_class.Class_constraint (remove_class_elements_between_stop_in_class_kind k1, + remove_class_elements_between_stop_in_class_type_kind ctk) -(** Remove the class elements after the stop special comment in a class type kind. *) -and remove_class_elements_after_stop_in_class_type_kind tk = +(** Remove the class elements beetween the stop special comments in a class type kind. *) +and remove_class_elements_between_stop_in_class_type_kind tk = match tk with Odoc_class.Class_signature (inher, l) -> - Odoc_class.Class_signature (inher, remove_class_elements_after_stop l) + Odoc_class.Class_signature (inher, remove_class_elements_between_stop true l) | Odoc_class.Class_type _ -> tk -(** Remove the module elements after the stop special comment. *) -let rec remove_module_elements_after_stop eles = - let f = remove_module_elements_after_stop in +(** Remove the module elements between the stop special comments. *) +let rec remove_module_elements_between_stop keep eles = + let f = remove_module_elements_between_stop in match eles with [] -> [] | ele :: q -> match ele with - Odoc_module.Element_module_comment [ Odoc_types.Raw "/*" ] -> [] + Odoc_module.Element_module_comment [ Odoc_types.Raw "/*" ] -> + f (not keep) q | Odoc_module.Element_module_comment _ -> - ele :: (f q) + if keep then + ele :: (f keep q) + else + f keep q | Odoc_module.Element_module m -> - m.Odoc_module.m_kind <- remove_module_elements_after_stop_in_module_kind m.Odoc_module.m_kind ; - (Odoc_module.Element_module m) :: (f q) + if keep then + ( + m.Odoc_module.m_kind <- remove_module_elements_between_stop_in_module_kind m.Odoc_module.m_kind ; + (Odoc_module.Element_module m) :: (f keep q) + ) + else + f keep q | Odoc_module.Element_module_type mt -> - mt.Odoc_module.mt_kind <- Odoc_misc.apply_opt - remove_module_elements_after_stop_in_module_type_kind mt.Odoc_module.mt_kind ; - (Odoc_module.Element_module_type mt) :: (f q) + if keep then + ( + mt.Odoc_module.mt_kind <- Odoc_misc.apply_opt + remove_module_elements_between_stop_in_module_type_kind mt.Odoc_module.mt_kind ; + (Odoc_module.Element_module_type mt) :: (f keep q) + ) + else + f keep q | Odoc_module.Element_included_module _ -> - ele :: (f q) + if keep then + ele :: (f keep q) + else + f keep q | Odoc_module.Element_class c -> - c.Odoc_class.cl_kind <- remove_class_elements_after_stop_in_class_kind c.Odoc_class.cl_kind ; - (Odoc_module.Element_class c) :: (f q) + if keep then + ( + c.Odoc_class.cl_kind <- remove_class_elements_between_stop_in_class_kind c.Odoc_class.cl_kind ; + (Odoc_module.Element_class c) :: (f keep q) + ) + else + f keep q | Odoc_module.Element_class_type ct -> - ct.Odoc_class.clt_kind <- remove_class_elements_after_stop_in_class_type_kind ct.Odoc_class.clt_kind ; - (Odoc_module.Element_class_type ct) :: (f q) + if keep then + ( + ct.Odoc_class.clt_kind <- remove_class_elements_between_stop_in_class_type_kind ct.Odoc_class.clt_kind ; + (Odoc_module.Element_class_type ct) :: (f keep q) + ) + else + f keep q | Odoc_module.Element_value _ | Odoc_module.Element_exception _ | Odoc_module.Element_type _ -> - ele :: (f q) + if keep then + ele :: (f keep q) + else + f keep q -(** Remove the module elements after the stop special comment, in the given module kind. *) -and remove_module_elements_after_stop_in_module_kind k = +(** Remove the module elements between the stop special comments, in the given module kind. *) +and remove_module_elements_between_stop_in_module_kind k = match k with - | Odoc_module.Module_struct l -> Odoc_module.Module_struct (remove_module_elements_after_stop l) + | Odoc_module.Module_struct l -> Odoc_module.Module_struct (remove_module_elements_between_stop true l) | Odoc_module.Module_alias _ -> k | Odoc_module.Module_functor (params, k2) -> - Odoc_module.Module_functor (params, remove_module_elements_after_stop_in_module_kind k2) + Odoc_module.Module_functor (params, remove_module_elements_between_stop_in_module_kind k2) | Odoc_module.Module_apply (k1, k2) -> - Odoc_module.Module_apply (remove_module_elements_after_stop_in_module_kind k1, - remove_module_elements_after_stop_in_module_kind k2) + Odoc_module.Module_apply (remove_module_elements_between_stop_in_module_kind k1, + remove_module_elements_between_stop_in_module_kind k2) | Odoc_module.Module_with (mtkind, s) -> - Odoc_module.Module_with (remove_module_elements_after_stop_in_module_type_kind mtkind, s) + Odoc_module.Module_with (remove_module_elements_between_stop_in_module_type_kind mtkind, s) | Odoc_module.Module_constraint (k2, mtkind) -> - Odoc_module.Module_constraint (remove_module_elements_after_stop_in_module_kind k2, - remove_module_elements_after_stop_in_module_type_kind mtkind) + Odoc_module.Module_constraint (remove_module_elements_between_stop_in_module_kind k2, + remove_module_elements_between_stop_in_module_type_kind mtkind) -(** Remove the module elements after the stop special comment, in the given module type kind. *) -and remove_module_elements_after_stop_in_module_type_kind tk = +(** Remove the module elements between the stop special comment, in the given module type kind. *) +and remove_module_elements_between_stop_in_module_type_kind tk = match tk with - | Odoc_module.Module_type_struct l -> Odoc_module.Module_type_struct (remove_module_elements_after_stop l) + | Odoc_module.Module_type_struct l -> Odoc_module.Module_type_struct (remove_module_elements_between_stop true l) | Odoc_module.Module_type_functor (params, tk2) -> - Odoc_module.Module_type_functor (params, remove_module_elements_after_stop_in_module_type_kind tk2) + Odoc_module.Module_type_functor (params, remove_module_elements_between_stop_in_module_type_kind tk2) | Odoc_module.Module_type_alias _ -> tk | Odoc_module.Module_type_with (tk2, s) -> - Odoc_module.Module_type_with (remove_module_elements_after_stop_in_module_type_kind tk2, s) + Odoc_module.Module_type_with (remove_module_elements_between_stop_in_module_type_kind tk2, s) -(** Remove elements after the stop special comment. *) -let remove_elements_after_stop module_list = +(** Remove elements between the stop special comment. *) +let remove_elements_between_stop module_list = List.map - (fun m -> - m.Odoc_module.m_kind <- remove_module_elements_after_stop_in_module_kind m.Odoc_module.m_kind; + (fun m -> + m.Odoc_module.m_kind <- remove_module_elements_between_stop_in_module_kind m.Odoc_module.m_kind; m ) module_list (** This function builds the modules from the given list of source files. *) let analyse_files ?(init=[]) files = - let modules_pre = - init @ + let modules_pre = + init @ (List.fold_left (fun acc -> fun file -> try @@ -379,12 +414,12 @@ let analyse_files ?(init=[]) files = files ) in - (* Remove elements after the stop special comments, if needed. *) - let modules = + (* Remove elements between the stop special comments, if needed. *) + let modules = if !Odoc_args.no_stop then modules_pre else - remove_elements_after_stop modules_pre + remove_elements_between_stop modules_pre in @@ -399,7 +434,7 @@ let analyse_files ?(init=[]) files = print_string Odoc_messages.ok; print_newline (); ); - let modules_list = + let modules_list = (List.fold_left (fun acc -> fun m -> acc @ (Odoc_module.module_all_submodules ~trans: false m)) merged_modules @@ -446,4 +481,4 @@ let load_modules file = raise (Failure s) -(* eof $Id: odoc_analyse.ml,v 1.8.6.1 2004/08/06 13:42:16 guesdon Exp $ *) +(* eof $Id: odoc_analyse.ml,v 1.8.6.2 2005/06/23 14:47:52 guesdon Exp $ *) diff --git a/ocamldoc/odoc_html.ml b/ocamldoc/odoc_html.ml index 135a6dff..43e75db7 100644 --- a/ocamldoc/odoc_html.ml +++ b/ocamldoc/odoc_html.ml @@ -9,18 +9,18 @@ (* *) (***********************************************************************) -(* $Id: odoc_html.ml,v 1.52.4.2 2004/08/06 12:35:07 guesdon Exp $ *) +(* $Id: odoc_html.ml,v 1.52.4.3 2005/07/07 13:40:29 guesdon Exp $ *) (** Generation of html documentation. *) let print_DEBUG s = print_string s ; print_newline () -open Odoc_info +open Odoc_info open Parameter open Value open Type open Exception -open Class +open Class open Module @@ -61,9 +61,9 @@ module Naming = let target pref simple_name = pref^simple_name (** Return the complete link target (file#target) for the given prefix string and complete name.*) - let complete_target pref complete_name = + let complete_target pref complete_name = let simple_name = Name.simple complete_name in - let module_name = + let module_name = let s = Name.father complete_name in if s = "" then simple_name else s in @@ -81,7 +81,7 @@ module Naming = (** Return the complete link target for the given exception. *) let complete_exception_target e = complete_target mark_exception e.ex_name - + (** Return the link target for the given value. *) let value_target v = target mark_value (Name.simple v.val_name) @@ -118,7 +118,7 @@ module Naming = let complete_value_target v = complete_target mark_value v.val_name (** Return the complete filename for the code of the given value. *) - let file_code_value_complete_target v = + let file_code_value_complete_target v = let f = code_prefix^mark_value^(subst_infix_symbols v.val_name)^".html" in f @@ -129,7 +129,7 @@ module Naming = let complete_attribute_target a = complete_target mark_attribute a.att_value.val_name (** Return the complete filename for the code of the given attribute. *) - let file_code_attribute_complete_target a = + let file_code_attribute_complete_target a = let f = code_prefix^mark_attribute^a.att_value.val_name^".html" in f @@ -140,7 +140,7 @@ module Naming = let complete_method_target m = complete_target mark_method m.met_value.val_name (** Return the complete filename for the code of the given method. *) - let file_code_method_complete_target m = + let file_code_method_complete_target m = let f = code_prefix^mark_method^m.met_value.val_name^".html" in f @@ -150,21 +150,21 @@ module Naming = (** Return the complete link target for the given section label. *) let complete_label_target l = complete_target "" l - (** Return the complete filename for the code of the type of the + (** Return the complete filename for the code of the type of the given module or module type name. *) - let file_type_module_complete_target name = + let file_type_module_complete_target name = let f = type_prefix^name^".html" in f - (** Return the complete filename for the code of the + (** Return the complete filename for the code of the given module name. *) - let file_code_module_complete_target name = + let file_code_module_complete_target name = let f = code_prefix^name^".html" in f - (** Return the complete filename for the code of the type of the + (** Return the complete filename for the code of the type of the given class or class type name. *) - let file_type_class_complete_target name = + let file_type_class_complete_target name = let f = type_prefix^name^".html" in f end @@ -175,7 +175,7 @@ module StringSet = Set.Make (struct type t = string let compare = compare end) class ocaml_code = object(self) method html_of_code b ?(with_pre=true) code = - Odoc_ocamlhtml.html_of_code b ~with_pre: with_pre code + Odoc_ocamlhtml.html_of_code b ~with_pre: with_pre code end let new_buf () = Buffer.create 1024 @@ -187,7 +187,7 @@ let bs = Buffer.add_string class virtual text = object (self) (** We want to display colorized code. *) - inherit ocaml_code + inherit ocaml_code (** Escape the strings which would clash with html syntax, and make some replacements (double newlines replaced by
). *) @@ -210,7 +210,7 @@ class virtual text = let s2 = self#keep_alpha_num s in s2 - (** Create a label for the associated title. + (** Create a label for the associated title. Return the label specified by the user or a label created from the title level and the first sentence of the title. *) method create_title_label (n,label_opt,t) = @@ -219,7 +219,7 @@ class virtual text = | None -> Printf.sprintf "%d_%s" n (self#label_of_text t) (** Print the html code corresponding to the [text] parameter. *) - method html_of_text b t = + method html_of_text b t = List.iter (self#html_of_text_element b) t (** Print the html code for the [text_element] in parameter. *) @@ -231,7 +231,7 @@ class virtual text = | Odoc_info.CodePre s -> self#html_of_CodePre b s | Odoc_info.Verbatim s -> self#html_of_Verbatim b s | Odoc_info.Bold t -> self#html_of_Bold b t - | Odoc_info.Italic t -> self#html_of_Italic b t + | Odoc_info.Italic t -> self#html_of_Italic b t | Odoc_info.Emphasize t -> self#html_of_Emphasize b t | Odoc_info.Center t -> self#html_of_Center b t | Odoc_info.Left t -> self#html_of_Left b t @@ -258,16 +258,42 @@ class virtual text = ( bs b ""; + bs b "\">"; bs b (self#escape s); bs b "" ) - method html_of_CodePre b s = + method html_of_CodePre = + let remove_useless_newlines s = + let len = String.length s in + let rec iter_first n = + if n >= len then + None + else + match s.[n] with + | '\n' -> iter_first (n+1) + | _ -> Some n + in + match iter_first 0 with + None -> "" + | Some first -> + let rec iter_last n = + if n <= first then + None + else + match s.[n] with + '\t' -> iter_last (n-1) + | _ -> Some n + in + match iter_last (len-1) with + None -> String.sub s first 1 + | Some last -> String.sub s first ((last-first)+1) + in + fun b s -> if !Args.colorize_code then ( bs b "

";
-	 self#html_of_code b s;
+	 self#html_of_code b (remove_useless_newlines s);
 	 bs b "
"
 	)
       else
@@ -275,56 +301,56 @@ class virtual text =
 	 bs b "
" ;
-	 bs b (self#escape s);
+	 bs b (self#escape (remove_useless_newlines s));
 	 bs b "
" ) - method html_of_Verbatim b s = + method html_of_Verbatim b s = bs b "
";
       bs b (self#escape s);
       bs b "
" - method html_of_Bold b t = + method html_of_Bold b t = bs b ""; self#html_of_text b t; bs b "" - method html_of_Italic b t = + method html_of_Italic b t = bs b "" ; self#html_of_text b t; bs b "" - method html_of_Emphasize b t = + method html_of_Emphasize b t = bs b "" ; self#html_of_text b t ; bs b "" - method html_of_Center b t = + method html_of_Center b t = bs b "
"; self#html_of_text b t; bs b "
" - method html_of_Left b t = + method html_of_Left b t = bs b "
"; self#html_of_text b t; bs b "
" - method html_of_Right b t = + method html_of_Right b t = bs b "
"; self#html_of_text b t; bs b "
" - method html_of_List b tl = + method html_of_List b tl = bs b "
    \n"; - List.iter + List.iter (fun t -> bs b "
  • "; self#html_of_text b t; bs b "
  • \n") tl; bs b "
\n" method html_of_Enum b tl = bs b "
    \n"; - List.iter - (fun t -> bs b "
  1. "; self#html_of_text b t; bs b"
  2. \n") + List.iter + (fun t -> bs b "
  3. "; self#html_of_text b t; bs b"
  4. \n") tl; bs b "
\n" @@ -340,7 +366,7 @@ class virtual text = bs b "\n"; - let (tag_o, tag_c) = + let (tag_o, tag_c) = if n > 6 then (Printf.sprintf "div class=\"h%d\"" n, "div") else @@ -366,13 +392,13 @@ class virtual text = method html_of_Ref b name ref_opt = match ref_opt with - None -> + None -> self#html_of_text_element b (Odoc_info.Code name) | Some kind -> let h name = Odoc_info.Code (Odoc_info.use_hidden_modules name) in - let (target, text) = + let (target, text) = match kind with - Odoc_info.RK_module + Odoc_info.RK_module | Odoc_info.RK_module_type | Odoc_info.RK_class | Odoc_info.RK_class_type -> @@ -407,8 +433,8 @@ class virtual text = bs b ""; ( try - let m = - List.find (fun m -> m.m_name = name) self#list_modules + let m = + List.find (fun m -> m.m_name = name) self#list_modules in let (html, _) = Naming.html_files m.m_name in bp b "%s" html m.m_name; @@ -465,7 +491,7 @@ class virtual text = class virtual info = object (self) (** The list of pairs [(tag, f)] where [f] is a function taking - the [text] associated to [tag] and returning html code. + the [text] associated to [tag] and returning html code. Add a pair here to handle a tag.*) val mutable tag_functions = ([] : (string * (Odoc_info.text -> string)) list) @@ -485,21 +511,21 @@ class virtual info = method html_of_version_opt b v_opt = match v_opt with None -> () - | Some v -> + | Some v -> bp b "%s: %s
\n" Odoc_messages.version v (** Print html code for the given optional since information.*) method html_of_since_opt b s_opt = match s_opt with None -> () - | Some s -> + | Some s -> bp b "%s %s
\n" Odoc_messages.since s (** Print html code for the given list of raised exceptions.*) method html_of_raised_exceptions b l = match l with [] -> () - | (s, t) :: [] -> + | (s, t) :: [] -> bp b "%s %s " Odoc_messages.raises s; @@ -508,7 +534,7 @@ class virtual info = | _ -> bp b "%s
    " Odoc_messages.raises; List.iter - (fun (ex, desc) -> + (fun (ex, desc) -> bp b "
  • %s " ex ; self#html_of_text b desc; bs b "
  • \n" @@ -518,7 +544,7 @@ class virtual info = (** Print html code for the given "see also" reference. *) method html_of_see b (see_ref, t) = - let t_ref = + let t_ref = match see_ref with Odoc_info.See_url s -> [ Odoc_info.Link (s, t) ] | Odoc_info.See_file s -> (Odoc_info.Code s) :: (Odoc_info.Raw " ") :: t @@ -530,14 +556,14 @@ class virtual info = method html_of_sees b l = match l with [] -> () - | see :: [] -> + | see :: [] -> bp b "%s " Odoc_messages.see_also; self#html_of_see b see; bs b "
    \n" | _ -> bp b "%s
      " Odoc_messages.see_also; List.iter - (fun see -> + (fun see -> bs b "
    • " ; self#html_of_see b see; bs b "
    • \n" @@ -549,10 +575,10 @@ class virtual info = method html_of_return_opt b return_opt = match return_opt with None -> () - | Some s -> + | Some s -> bp b "%s " Odoc_messages.returns; self#html_of_text b s; - bs b "
      \n" + bs b "
      \n" (** Print html code for the given list of custom tagged texts. *) method html_of_custom b l = @@ -567,7 +593,7 @@ class virtual info = ) l - (** Print html code for a description, except for the [i_params] field. + (** Print html code for a description, except for the [i_params] field. @param indent can be specified not to use the style of info comments; default is [true]. *) @@ -581,12 +607,12 @@ class virtual info = ( match info.M.i_deprecated with None -> () - | Some d -> + | Some d -> bs b ""; bs b Odoc_messages.deprecated ; bs b "" ; self#html_of_text b d; - bs b "
      \n" + bs b "
      \n" ); ( match info.M.i_desc with @@ -603,7 +629,7 @@ class virtual info = self#html_of_custom b info.M.i_custom; if indent then bs b "\n" - (** Print html code for the first sentence of a description. + (** Print html code for the first sentence of a description. The titles and lists in this first sentence has been removed.*) method html_of_info_first_sentence b info_opt = match info_opt with @@ -617,7 +643,7 @@ class virtual info = match info.M.i_desc with None -> () | Some d when d = [Odoc_info.Raw ""] -> () - | Some d -> + | Some d -> self#html_of_text b (Odoc_info.text_no_title_no_list (Odoc_info.first_sentence_of_text d)); @@ -666,7 +692,7 @@ class html = "a:hover {color : Red; text-decoration : none; background-color: #5FFF88}" ; "a:active {color : Red; text-decoration : underline; }" ; ".keyword { font-weight : bold ; color : Red }" ; - ".keywordsign { color : #C04600 }" ; + ".keywordsign { color : #C04600 }" ; ".superscript { font-size : 4 }" ; ".subscript { font-size : 4 }" ; ".comment { color : Green }" ; @@ -675,6 +701,7 @@ class html = ".string { color : Maroon }" ; ".warning { color : Red ; font-weight : bold }" ; ".info { margin-left : 3em; margin-right : 3em }" ; + ".param_info { margin-top: 4px; margin-left : 3em; margin-right : 3em }" ; ".code { color : #465F91 ; }" ; "h1 { font-size : 20pt ; text-align: center; }" ; @@ -723,29 +750,29 @@ class html = ".paramstable { border-style : hidden ; padding: 5pt 5pt}" ; "body { background-color : White }" ; "tr { background-color : White }" ; - "td.typefieldcomment { background-color : #FFFFFF }" ; + "td.typefieldcomment { background-color : #FFFFFF ; font-size: smaller ;}" ; "pre { margin-bottom: 4px }" ; "div.sig_block {margin-left: 2em}" ; - ] - + ] + (** The style file for all pages. *) val mutable style_file = "style.css" (** The code to import the style. Initialized in [init_style]. *) val mutable style = "" - (** The known types names. + (** The known types names. Used to know if we must create a link to a type when printing a type. *) val mutable known_types_names = StringSet.empty - (** The known class and class type names. - Used to know if we must create a link to a class + (** The known class and class type names. + Used to know if we must create a link to a class or class type or not when printing a type. *) val mutable known_classes_names = StringSet.empty - (** The known modules and module types names. + (** The known modules and module types names. Used to know if we must create a link to a type or not when printing a module type. *) val mutable known_modules_names = StringSet.empty @@ -806,7 +833,7 @@ class html = (** Init the style. *) method init_style = (match !Args.css_style with - None -> + None -> let default_style = String.concat "\n" default_style_options in ( try @@ -827,7 +854,7 @@ class html = incr Odoc_info.errors ; ) | Some f -> - style_file <- f + style_file <- f ); style <- "\n" @@ -835,7 +862,7 @@ class html = method title = match !Args.title with None -> "" | Some t -> self#escape t (** Get the title given by the user completed with the given subtitle. *) - method inner_title s = + method inner_title s = (match self#title with "" -> "" | t -> t^" : ")^ (self#escape s) @@ -844,11 +871,11 @@ class html = (** A function to build the header of pages. *) method prepare_header module_list = - let f b ?(nav=None) ?(comments=[]) t = + let f b ?(nav=None) ?(comments=[]) t = let link_if_not_empty l m url = match l with [] -> () - | _ -> + | _ -> bp b "\n" m url in bs b "\n"; @@ -862,13 +889,13 @@ class html = | Some (pre_opt, post_opt, name) -> (match pre_opt with None -> () - | Some name -> + | Some name -> bp b "\n" (fst (Naming.html_files name)); ); (match post_opt with None -> () - | Some name -> + | Some name -> bp b "\n" (fst (Naming.html_files name)); ); @@ -904,12 +931,12 @@ class html = subsections for the titles found in the given comments.*) method html_sections_links b comments = let titles = List.flatten (List.map Odoc_info.get_titles_in_text comments) in - let levels = + let levels = let rec iter acc l = match l with [] -> acc | (n,_,_) :: q -> - if List.mem n acc + if List.mem n acc then iter acc q else iter (n::acc) q in @@ -931,7 +958,7 @@ class html = let subsection_titles = titles_per_level subsection_level in let print_lines s_rel titles = List.iter - (fun (n,lopt,t) -> + (fun (n,lopt,t) -> let s = Odoc_info.string_of_text t in let label = self#create_title_label (n,lopt,t) in bp b "\n" s s_rel label @@ -939,11 +966,11 @@ class html = titles in print_lines "Section" section_titles ; - print_lines "Subsection" subsection_titles + print_lines "Subsection" subsection_titles - (** Html code for navigation bar. - @param pre optional name for optional previous module/class + (** Html code for navigation bar. + @param pre optional name for optional previous module/class @param post optional name for optional next module/class @param name name of current module/class *) method print_navbar b pre post name = @@ -951,7 +978,7 @@ class html = ( match pre with None -> () - | Some name -> + | Some name -> bp b "%s\n" (fst (Naming.html_files name)) Odoc_messages.previous @@ -964,7 +991,7 @@ class html = ( match post with None -> () - | Some name -> + | Some name -> bp b "%s\n" (fst (Naming.html_files name)) Odoc_messages.next @@ -972,7 +999,7 @@ class html = bs b "\n" (** Return html code with the given string in the keyword style.*) - method keyword s = + method keyword s = ""^s^"" (** Return html code with the given string in the constructor style. *) @@ -991,19 +1018,19 @@ class html = Buffer.output_buffer chanout b; close_out chanout with - Sys_error s -> + Sys_error s -> incr Odoc_info.errors ; prerr_endline s - (** Take a string and return the string where fully qualified - type (or class or class type) idents + (** Take a string and return the string where fully qualified + type (or class or class type) idents have been replaced by links to the type referenced by the ident.*) method create_fully_qualified_idents_links m_name s = - let f str_t = + let f str_t = let match_s = Str.matched_string str_t in let rel = Name.get_relative m_name match_s in - let s_final = Odoc_info.apply_if_equal - Odoc_info.use_hidden_modules + let s_final = Odoc_info.apply_if_equal + Odoc_info.use_hidden_modules match_s rel in @@ -1025,14 +1052,14 @@ class html = in s2 - (** Take a string and return the string where fully qualified module idents + (** Take a string and return the string where fully qualified module idents have been replaced by links to the module referenced by the ident.*) method create_fully_qualified_module_idents_links m_name s = - let f str_t = + let f str_t = let match_s = Str.matched_string str_t in let rel = Name.get_relative m_name match_s in - let s_final = Odoc_info.apply_if_equal - Odoc_info.use_hidden_modules + let s_final = Odoc_info.apply_if_equal + Odoc_info.use_hidden_modules match_s rel in @@ -1107,7 +1134,7 @@ class html = self#html_of_text b [Code "sig"]; ( match modu with - None -> + None -> bs b "
      "; List.iter (self#html_of_module_element b father) eles; bs b "
      " @@ -1126,7 +1153,7 @@ class html = self#html_of_module_kind b father ?modu k; bs b "" | Module_apply (k1, k2) -> - (* TODO: l'application n'est pas correcte dans un .mli. + (* TODO: l'application n'est pas correcte dans un .mli. Que faire ? -> afficher le module_type du typedtree *) self#html_of_module_kind b father k1; self#html_of_text b [Code "("]; @@ -1202,7 +1229,7 @@ class html = | Module_type_alias a -> bs b ""; bs b (self#create_fully_qualified_module_idents_links father a.mta_name); - bs b "" + bs b "" | Module_type_with (k, s) -> self#html_of_module_type_kind b father ?modu ?mt k; bs b " "; @@ -1232,9 +1259,9 @@ class html = (* html mark *) bp b "" (Naming.value_target v); ( - match v.val_code with + match v.val_code with None -> bs b (Name.simple v.val_name) - | Some c -> + | Some c -> let file = Naming.file_code_value_complete_target v in self#output_code v.val_name (Filename.concat !Args.target_dir file) c; bp b "%s" file (Name.simple v.val_name) @@ -1257,26 +1284,26 @@ class html = bs b (self#keyword "exception"); bs b " "; (* html mark *) - bp b "%s" + bp b "%s" (Naming.exception_target e) (Name.simple e.ex_name); ( match e.ex_args with [] -> () - | _ -> + | _ -> bs b (" "^(self#keyword "of")^" "); - self#html_of_type_expr_list + self#html_of_type_expr_list ~par: false b (Name.father e.ex_name) " * " e.ex_args ); ( match e.ex_alias with None -> () - | Some ea -> + | Some ea -> bs b " = "; ( match ea.ea_ex with None -> bs b ea.ea_name - | Some e -> + | Some e -> bp b "%s" (Naming.complete_exception_target e) e.ex_name ) ); @@ -1287,11 +1314,11 @@ class html = method html_of_type b t = Odoc_info.reset_type_names (); let father = Name.father t.ty_name in - bs b - (match t.ty_manifest, t.ty_kind with - None, Type_abstract -> "
      " 
      -	| None, Type_variant _ 
      -	| None, Type_record _ -> "
      " + bs b + (match t.ty_manifest, t.ty_kind with + None, Type_abstract -> "
      "
      +	| None, Type_variant _
      +	| None, Type_record _ -> "
      " | Some _, Type_abstract -> "
      "
       	| Some _, Type_variant _
       	| Some _, Type_record _ -> "
      "
      @@ -1303,9 +1330,9 @@ class html =
             (match t.ty_parameters with [] -> () | _ -> bs b " ");
             bs b ((Name.simple t.ty_name)^" ");
             (
      -       match t.ty_manifest with 
      +       match t.ty_manifest with
       	 None -> ()
      -       | Some typ -> 
      +       | Some typ ->
       	   bs b "= ";
       	   self#html_of_type_expr b father typ;
       	   bs b " "
      @@ -1315,10 +1342,10 @@ class html =
             | Type_variant (l, priv) ->
                 bs b "= ";
       	  if priv then bs b "private" ;
      -	  bs b 
      +	  bs b
       	    (
      -	     match t.ty_manifest with 
      -	       None -> "" 
      +	     match t.ty_manifest with
      +	       None -> ""
       	     | Some _ -> "
      " ); bs b "\n"; @@ -1332,7 +1359,7 @@ class html = ( match constr.vc_args with [] -> () - | l -> + | l -> bs b (" " ^ (self#keyword "of") ^ " "); self#html_of_type_expr_list ~par: false b father " * " l; ); @@ -1346,9 +1373,8 @@ class html = bs b "(*"; bs b ""; bs b ""; + bs b ""; bs b "
      "; - bs b "" ; self#html_of_text b t; - bs b ""; bs b ""; bs b "*)"; @@ -1365,8 +1391,8 @@ class html = bs b "{"; bs b ( - match t.ty_manifest with - None -> "" + match t.ty_manifest with + None -> "" | Some _ -> "" ); bs b "\n" ; @@ -1388,9 +1414,7 @@ class html = bs b "(*"; bs b ""; bs b ""; ); @@ -1412,15 +1436,15 @@ class html = (* html mark *) bp b "" (Naming.attribute_target a); ( - if a.att_mutable then + if a.att_mutable then bs b ((self#keyword Odoc_messages.mutab)^ " ") else () ); ( - match a.att_value.val_code with + match a.att_value.val_code with None -> bs b (Name.simple a.att_value.val_name) - | Some c -> + | Some c -> let file = Naming.file_code_attribute_complete_target a in self#output_code a.att_value.val_name (Filename.concat !Args.target_dir file) c; bp b "%s" file (Name.simple a.att_value.val_name); @@ -1440,9 +1464,9 @@ class html = if m.met_private then bs b ((self#keyword "private")^" "); if m.met_virtual then bs b ((self#keyword "virtual")^" "); ( - match m.met_value.val_code with + match m.met_value.val_code with None -> bs b (Name.simple m.met_value.val_name) - | Some c -> + | Some c -> let file = Naming.file_code_method_complete_target m in self#output_code m.met_value.val_name (Filename.concat !Args.target_dir file) c; bp b "%s" file (Name.simple m.met_value.val_name); @@ -1453,10 +1477,10 @@ class html = self#html_of_info b m.met_value.val_info; ( if !Args.with_parameter_list then - self#html_of_parameter_list b + self#html_of_parameter_list b module_name m.met_value.val_parameters else - self#html_of_described_parameter_list b + self#html_of_described_parameter_list b module_name m.met_value.val_parameters ) @@ -1475,13 +1499,13 @@ class html = | l -> (* A list of names, we display those with a description. *) let l2 = List.filter - (fun n -> (Parameter.desc_by_name p n) <> None) - l + (fun n -> (Parameter.desc_by_name p n) <> None) + l in let print_one n = match Parameter.desc_by_name p n with None -> () - | Some t -> + | Some t -> bs b ""; bs b n; bs b " : "; @@ -1494,7 +1518,7 @@ class html = match l with [] -> () | _ -> - bs b "
      "; + bs b "
      "; bs b "
      "; - bs b ""; self#html_of_text b t; - bs b ""; bs b ""; bs b "*)
      \n"; bs b "\n\n
      "; bs b ""; @@ -1503,7 +1527,7 @@ class html = bs b "\n\n"; let print_one p = bs b "\n\n" ; @@ -1593,10 +1613,10 @@ class html = bs b ""; if info then ( - if complete then + if complete then self#html_of_info ~indent: false - else - self#html_of_info_first_sentence + else + self#html_of_info_first_sentence ) b m.m_info else () @@ -1615,14 +1635,14 @@ class html = ); (match mt.mt_kind with None -> () - | Some k -> + | Some k -> bs b " = "; self#html_of_module_type_kind b father ~mt k ); bs b ""; if info then ( - if complete then + if complete then self#html_of_info ~indent: false else self#html_of_info_first_sentence @@ -1639,9 +1659,9 @@ class html = None -> bs b im.im_name | Some mmt -> - let (file, name) = + let (file, name) = match mmt with - Mod m -> + Mod m -> let (html_file, _) = Naming.html_files m.m_name in (html_file, m.m_name) | Modtype mt -> @@ -1664,7 +1684,7 @@ class html = method html_of_class_kind b father ?cl kind = match kind with - Class_structure (inh, eles) -> + Class_structure (inh, eles) -> self#html_of_text b [Code "object"]; ( match cl with @@ -1673,7 +1693,7 @@ class html = ( match inh with [] -> () - | _ -> + | _ -> self#generate_inheritance_info b inh ); List.iter (self#html_of_class_element b) eles; @@ -1686,12 +1706,12 @@ class html = | Class_apply capp -> (* TODO: afficher le type final à partir du typedtree *) self#html_of_text b [Raw "class application not handled yet"] - + | Class_constr cco -> ( match cco.cco_type_parameters with [] -> () - | l -> + | l -> self#html_of_class_type_param_expr_list b father l; bs b " " ); @@ -1708,11 +1728,11 @@ class html = method html_of_class_type_kind b father ?ct kind = match kind with - Class_type cta -> + Class_type cta -> ( match cta.cta_type_parameters with [] -> () - | l -> + | l -> self#html_of_class_type_param_expr_list b father l; bs b " " ); @@ -1720,7 +1740,7 @@ class html = bs b (self#create_fully_qualified_idents_links father cta.cta_name); bs b "" - | Class_signature (inh, eles) -> + | Class_signature (inh, eles) -> self#html_of_text b [Code "object"]; ( match ct with @@ -1745,14 +1765,14 @@ class html = let (html_file, _) = Naming.html_files c.cl_name in bs b "
      ";
             bs b ((self#keyword "class")^" ");
      -      (* we add a html tag, the same as for a type so we can 
      +      (* we add a html tag, the same as for a type so we can
                go directly here when the class name is used as a type name *)
             bp b ""
      -        (Naming.type_target 
      +        (Naming.type_target
                  { ty_name = c.cl_name ;
                    ty_info = None ; ty_parameters = [] ;
      -             ty_kind = Type_abstract ; ty_manifest = None ; 
      -             ty_loc = Odoc_info.dummy_loc ; 
      +             ty_kind = Type_abstract ; ty_manifest = None ;
      +             ty_loc = Odoc_info.dummy_loc ;
       	     ty_code = None ;
       	   }
       	);
      @@ -1761,7 +1781,7 @@ class html =
             (
              match c.cl_type_parameters with
                [] -> ()
      -       | l -> 
      +       | l ->
                  self#html_of_class_type_param_expr_list b father l;
       	   bs b " "
             );
      @@ -1779,9 +1799,9 @@ class html =
             bs b "
      " ; print_DEBUG "html#html_of_class : info" ; ( - if complete then + if complete then self#html_of_info ~indent: false - else + else self#html_of_info_first_sentence ) b c.cl_info @@ -1792,14 +1812,14 @@ class html = let (html_file, _) = Naming.html_files ct.clt_name in bs b "
      ";
             bs b ((self#keyword "class type")^" ");
      -      (* we add a html tag, the same as for a type so we can 
      +      (* we add a html tag, the same as for a type so we can
                go directly here when the class type name is used as a type name *)
             bp b ""
      -        (Naming.type_target 
      +        (Naming.type_target
                  { ty_name = ct.clt_name ;
                    ty_info = None ; ty_parameters = [] ;
                    ty_kind = Type_abstract ; ty_manifest = None ;
      -             ty_loc = Odoc_info.dummy_loc ; 
      +             ty_loc = Odoc_info.dummy_loc ;
       	     ty_code = None ;
       	   }
       	);
      @@ -1807,9 +1827,9 @@ class html =
             (
              match ct.clt_type_parameters with
               [] -> ()
      -      | l -> 
      +      | l ->
       	  self#html_of_class_type_param_expr_list b father l;
      -	  bs b " " 
      +	  bs b " "
             );
       
             if with_link then
      @@ -1821,9 +1841,9 @@ class html =
             self#html_of_class_type_kind b father ~ct ct.clt_kind;
             bs b "
      "; ( - if complete then + if complete then self#html_of_info ~indent: false - else + else self#html_of_info_first_sentence ) b ct.clt_info @@ -1843,7 +1863,7 @@ class html = "
      \n"; - bs b + bs b ( match Parameter.complete_name p with "" -> "?" @@ -1522,25 +1546,21 @@ class html = (** Print html code for the parameters which have a name and description. *) method html_of_described_parameter_list b m_name l = (* get the params which have a name, and at least one name described. *) - let l2 = List.filter - (fun p -> - List.exists + let l2 = List.filter + (fun p -> + List.exists (fun n -> (Parameter.desc_by_name p n) <> None) (Parameter.names p)) l in let f p = - bs b "
      "; + bs b "
      "; bs b (Parameter.complete_name p); bs b " : " ; self#html_of_parameter_description b p; bs b "
      \n" in - match l2 with - [] -> () - | _ -> - bs b "
      "; - List.iter f l2 + List.iter f l2 (** Print html code for a list of module parameters. *) method html_of_module_parameter_list b m_name l = @@ -1567,7 +1587,7 @@ class html = ( match desc_opt with None -> () - | Some t -> + | Some t -> bs b "
      "; self#html_of_text b t; bs b "\n
      \n\n
      "^ ""^name2^""^ "
      \n" - in + in { n with Odoc_dag2html.valu = new_v } in let a = Array.map f dag.Odoc_dag2html.dag in @@ -1860,7 +1880,7 @@ class html = (* Add some style if there is no style for the first part of the text. *) let text2 = match text with - | (Odoc_info.Raw s) :: q -> + | (Odoc_info.Raw s) :: q -> (Odoc_info.Title (2, None, [Odoc_info.Raw s])) :: q | _ -> text in @@ -1891,13 +1911,13 @@ class html = let text = [ Odoc_info.Bold [Odoc_info.Raw Odoc_messages.inherits] ; Odoc_info.List (List.map f inher_l) - ] + ] in - self#html_of_text b text + self#html_of_text b text (** Generate html code for the inherited classes of the given class. *) method generate_class_inheritance_info b cl = - let rec iter_kind k = + let rec iter_kind k = match k with Class_structure ([], _) -> () @@ -1926,7 +1946,7 @@ class html = 'a. 'a list -> ('a -> Odoc_info.Name.t) -> - ('a -> Odoc_info.info option) -> + ('a -> Odoc_info.info option) -> ('a -> string) -> string -> string -> unit = fun elements name info target title simple_file -> try @@ -1937,8 +1957,8 @@ class html = bs b "\n

      "; bs b title; bs b "

      \n" ; - - let sorted_elements = List.sort + + let sorted_elements = List.sort (fun e1 e2 -> compare (Name.simple (name e1)) (Name.simple (name e2))) elements in @@ -1947,7 +1967,7 @@ class html = let simple_name = Name.simple (name e) in let father_name = Name.father (name e) in bp b "
      %s " (target e) simple_name; - if simple_name <> father_name && father_name <> "" then + if simple_name <> father_name && father_name <> "" then bp b "[%s]" (fst (Naming.html_files father_name)) father_name; bs b ""; self#html_of_info_first_sentence b (info e); @@ -1957,7 +1977,7 @@ class html = match l with [] -> () | e :: _ -> - let s = + let s = match (Char.uppercase (Name.simple (name e)).[0]) with 'A'..'Z' as c -> String.make 1 c | _ -> "" @@ -1984,7 +2004,7 @@ class html = let rec iter pre_opt = function [] -> () | ele :: [] -> f_generate pre_opt None ele - | ele1 :: ele2 :: q -> + | ele1 :: ele2 :: q -> f_generate pre_opt (Some ele2) ele1 ; iter (Some ele1) (ele2 :: q) in @@ -2014,7 +2034,7 @@ class html = bs b "\n
      \n"; self#html_of_class b ~with_link: false cl; (* parameters *) - self#html_of_described_parameter_list b + self#html_of_described_parameter_list b (Name.father cl.cl_name) cl.cl_parameters; (* class inheritance *) self#generate_class_inheritance_info b cl; @@ -2028,7 +2048,7 @@ class html = close_out chanout; (* generate the file with the complete class type *) - self#output_class_type + self#output_class_type cl.cl_name (Filename.concat !Args.target_dir type_file) cl.cl_type @@ -2073,7 +2093,7 @@ class html = close_out chanout; (* generate the file with the complete class type *) - self#output_class_type + self#output_class_type clt.clt_name (Filename.concat !Args.target_dir type_file) clt.clt_type @@ -2081,7 +2101,7 @@ class html = Sys_error s -> raise (Failure s) - (** Generate the html file for the given module type. + (** Generate the html file for the given module type. @raise Failure if an error occurs.*) method generate_for_module_type pre post mt = try @@ -2107,9 +2127,9 @@ class html = ); bs b "\n
      \n" ; self#html_of_modtype b ~with_link: false mt; - + (* parameters for functors *) - self#html_of_module_parameter_list b + self#html_of_module_parameter_list b (Name.father mt.mt_name) (Module.module_type_parameters mt); (* a horizontal line *) @@ -2136,17 +2156,17 @@ class html = ( match mt.mt_type with None -> () - | Some mty -> - self#output_module_type + | Some mty -> + self#output_module_type mt.mt_name - (Filename.concat !Args.target_dir type_file) + (Filename.concat !Args.target_dir type_file) mty ) with Sys_error s -> raise (Failure s) - (** Generate the html file for the given module. + (** Generate the html file for the given module. @raise Failure if an error occurs.*) method generate_for_module pre post modu = try @@ -2166,11 +2186,11 @@ class html = bs b "\n" ; self#print_navbar b pre_name post_name modu.m_name ; bs b "

      "; - bs b + bs b ( - if Module.module_is_functor modu then - Odoc_messages.functo - else + if Module.module_is_functor modu then + Odoc_messages.functo + else Odoc_messages.modul ); bp b " %s" type_file modu.m_name; @@ -2192,7 +2212,7 @@ class html = bs b "
      \n"; (* module elements *) - List.iter + List.iter (self#html_of_module_element b (Name.father modu.m_name)) (Module.module_elements modu); @@ -2208,9 +2228,9 @@ class html = self#generate_elements self#generate_for_class (Module.module_classes modu); (* generate html files for class types *) self#generate_elements self#generate_for_class_type (Module.module_class_types modu); - + (* generate the file with the complete module type *) - self#output_module_type + self#output_module_type modu.m_name (Filename.concat !Args.target_dir type_file) modu.m_type; @@ -2237,10 +2257,10 @@ class html = self#print_header b self#title; bs b "\n"; bs b "

      "; - bs b title; + bs b title; bs b "

      \n" ; let info = Odoc_info.apply_opt - Odoc_info.info_of_comment_file !Odoc_info.Args.intro_file + Odoc_info.info_of_comment_file !Odoc_info.Args.intro_file in ( match info with @@ -2259,9 +2279,9 @@ class html = (** Generate the values index in the file [index_values.html]. *) method generate_values_index module_list = - self#generate_elements_index + self#generate_elements_index self#list_values - (fun v -> v.val_name) + (fun v -> v.val_name) (fun v -> v.val_info) Naming.complete_value_target Odoc_messages.index_of_values @@ -2269,9 +2289,9 @@ class html = (** Generate the exceptions index in the file [index_exceptions.html]. *) method generate_exceptions_index module_list = - self#generate_elements_index + self#generate_elements_index self#list_exceptions - (fun e -> e.ex_name) + (fun e -> e.ex_name) (fun e -> e.ex_info) Naming.complete_exception_target Odoc_messages.index_of_exceptions @@ -2279,9 +2299,9 @@ class html = (** Generate the types index in the file [index_types.html]. *) method generate_types_index module_list = - self#generate_elements_index + self#generate_elements_index self#list_types - (fun t -> t.ty_name) + (fun t -> t.ty_name) (fun t -> t.ty_info) Naming.complete_type_target Odoc_messages.index_of_types @@ -2289,9 +2309,9 @@ class html = (** Generate the attributes index in the file [index_attributes.html]. *) method generate_attributes_index module_list = - self#generate_elements_index + self#generate_elements_index self#list_attributes - (fun a -> a.att_value.val_name) + (fun a -> a.att_value.val_name) (fun a -> a.att_value.val_info) Naming.complete_attribute_target Odoc_messages.index_of_attributes @@ -2299,9 +2319,9 @@ class html = (** Generate the methods index in the file [index_methods.html]. *) method generate_methods_index module_list = - self#generate_elements_index + self#generate_elements_index self#list_methods - (fun m -> m.met_value.val_name) + (fun m -> m.met_value.val_name) (fun m -> m.met_value.val_info) Naming.complete_method_target Odoc_messages.index_of_methods @@ -2311,7 +2331,7 @@ class html = method generate_classes_index module_list = self#generate_elements_index self#list_classes - (fun c -> c.cl_name) + (fun c -> c.cl_name) (fun c -> c.cl_info) (fun c -> fst (Naming.html_files c.cl_name)) Odoc_messages.index_of_classes @@ -2321,7 +2341,7 @@ class html = method generate_class_types_index module_list = self#generate_elements_index self#list_class_types - (fun ct -> ct.clt_name) + (fun ct -> ct.clt_name) (fun ct -> ct.clt_info) (fun ct -> fst (Naming.html_files ct.clt_name)) Odoc_messages.index_of_class_types @@ -2331,7 +2351,7 @@ class html = method generate_modules_index module_list = self#generate_elements_index self#list_modules - (fun m -> m.m_name) + (fun m -> m.m_name) (fun m -> m.m_info) (fun m -> fst (Naming.html_files m.m_name)) Odoc_messages.index_of_modules @@ -2342,7 +2362,7 @@ class html = let module_types = Odoc_info.Search.module_types module_list in self#generate_elements_index self#list_module_types - (fun mt -> mt.mt_name) + (fun mt -> mt.mt_name) (fun mt -> mt.mt_info) (fun mt -> fst (Naming.html_files mt.mt_name)) Odoc_messages.index_of_module_types @@ -2363,44 +2383,44 @@ class html = list_class_types <- Odoc_info.Search.class_types module_list ; list_modules <- Odoc_info.Search.modules module_list ; list_module_types <- Odoc_info.Search.module_types module_list ; - + (* prepare the page header *) self#prepare_header module_list ; (* Get the names of all known types. *) let types = Odoc_info.Search.types module_list in - known_types_names <- - List.fold_left - (fun acc t -> StringSet.add t.ty_name acc) + known_types_names <- + List.fold_left + (fun acc t -> StringSet.add t.ty_name acc) known_types_names types ; (* Get the names of all class and class types. *) let classes = Odoc_info.Search.classes module_list in let class_types = Odoc_info.Search.class_types module_list in - known_classes_names <- + known_classes_names <- List.fold_left - (fun acc c -> StringSet.add c.cl_name acc) - known_classes_names + (fun acc c -> StringSet.add c.cl_name acc) + known_classes_names classes ; - known_classes_names <- + known_classes_names <- List.fold_left - (fun acc ct -> StringSet.add ct.clt_name acc) + (fun acc ct -> StringSet.add ct.clt_name acc) known_classes_names class_types ; (* Get the names of all known modules and module types. *) let module_types = Odoc_info.Search.module_types module_list in let modules = Odoc_info.Search.modules module_list in known_modules_names <- - List.fold_left - (fun acc m -> StringSet.add m.m_name acc) - known_modules_names + List.fold_left + (fun acc m -> StringSet.add m.m_name acc) + known_modules_names modules ; known_modules_names <- List.fold_left - (fun acc mt -> StringSet.add mt.mt_name acc) - known_modules_names + (fun acc mt -> StringSet.add mt.mt_name acc) + known_modules_names module_types ; (* generate html for each module *) - if not !Args.index_only then + if not !Args.index_only then self#generate_elements self#generate_for_module module_list ; try @@ -2420,8 +2440,8 @@ class html = incr Odoc_info.errors initializer - Odoc_ocamlhtml.html_of_comment := - (fun s -> + Odoc_ocamlhtml.html_of_comment := + (fun s -> let b = new_buf () in self#html_of_text b (Odoc_text.Texter.text_of_string s); Buffer.contents b @@ -2429,5 +2449,5 @@ class html = end - -(* eof $Id: odoc_html.ml,v 1.52.4.2 2004/08/06 12:35:07 guesdon Exp $ *) + +(* eof $Id: odoc_html.ml,v 1.52.4.3 2005/07/07 13:40:29 guesdon Exp $ *) diff --git a/ocamldoc/odoc_info.ml b/ocamldoc/odoc_info.ml index 1936d43f..d3e08c3c 100644 --- a/ocamldoc/odoc_info.ml +++ b/ocamldoc/odoc_info.ml @@ -9,7 +9,7 @@ (* *) (***********************************************************************) -(* $Id: odoc_info.ml,v 1.20.4.1 2004/08/06 12:35:07 guesdon Exp $ *) +(* $Id: odoc_info.ml,v 1.20.4.2 2005/07/07 14:34:18 guesdon Exp $ *) (** Interface for analysing documented OCaml source files and to the collected information. *) @@ -29,10 +29,10 @@ and text_element = Odoc_types.text_element = | Raw of string | Code of string | CodePre of string - | Verbatim of string + | Verbatim of string | Bold of text | Italic of text - | Emphasize of text + | Emphasize of text | Center of text | Left of text | Right of text @@ -74,13 +74,13 @@ type info = Odoc_types.info = { i_params : param list; i_raised_exceptions : raised_exception list; i_return_value : text option ; - i_custom : (string * text) list ; - } + i_custom : (string * text) list ; + } type location = Odoc_types.location = { loc_impl : (string * int) option ; loc_inter : (string * int) option ; - } + } let dummy_loc = { loc_impl = None ; loc_inter = None } @@ -142,7 +142,7 @@ let string_of_value v = Odoc_str.string_of_value v let string_of_attribute att = Odoc_str.string_of_attribute att -let string_of_method m = Odoc_str.string_of_method m +let string_of_method m = Odoc_str.string_of_method m let first_sentence_of_text = Odoc_misc.first_sentence_of_text @@ -164,11 +164,11 @@ let is_optional = Odoc_misc.is_optional let label_name = Odoc_misc.label_name -let use_hidden_modules n = +let use_hidden_modules n = Odoc_name.hide_given_modules !Odoc_args.hidden_modules n -let verbose s = - if !Odoc_args.verbose then +let verbose s = + if !Odoc_args.verbose then (print_string s ; print_newline ()) else () @@ -204,11 +204,11 @@ let info_string_of_info i = let b = Buffer.create 256 in let p = Printf.bprintf in ( - match i.i_desc with + match i.i_desc with None -> () | Some t -> p b "%s" (escape_arobas (text_string_of_text t)) ); - List.iter + List.iter (fun s -> p b "\n@author %s" (escape_arobas s)) i.i_authors; ( @@ -237,10 +237,10 @@ let info_string_of_info i = | Some s -> p b "\n@since %s" (escape_arobas s) ); ( - match i.i_deprecated with + match i.i_deprecated with None -> () - | Some t -> - p b "\n@deprecated %s" + | Some t -> + p b "\n@deprecated %s" (escape_arobas (text_string_of_text t)) ); List.iter @@ -258,18 +258,12 @@ let info_string_of_info i = ) i.i_raised_exceptions; ( - match i.i_return_value with + match i.i_return_value with None -> () - | Some t -> - p b "\n@return %s" + | Some t -> + p b "\n@return %s" (escape_arobas (text_string_of_text t)) ); - List.iter - (fun (s, t) -> - p b "\n@%s %s" s - (escape_arobas (text_string_of_text t)) - ) - i.i_raised_exceptions; List.iter (fun (s, t) -> p b "\n@%s %s" s @@ -292,24 +286,24 @@ let info_of_string s = i_raised_exceptions = [] ; i_return_value = None ; i_custom = [] ; - } + } in let s2 = Printf.sprintf "(** %s *)" s in let (_, i_opt) = Odoc_comments.Basic_info_retriever.first_special "-" s2 in match i_opt with None -> dummy | Some i -> i - + let info_of_comment_file f = try let s = Odoc_misc.input_file_as_string f in info_of_string s with - Sys_error s -> + Sys_error s -> failwith s -module Search = - struct +module Search = + struct type result_element = Odoc_search.result_element = Res_module of Module.t_module | Res_module_type of Module.t_module_type diff --git a/ocamldoc/odoc_man.ml b/ocamldoc/odoc_man.ml index fd16f206..41d14e34 100644 --- a/ocamldoc/odoc_man.ml +++ b/ocamldoc/odoc_man.ml @@ -9,7 +9,7 @@ (* *) (***********************************************************************) -(* $Id: odoc_man.ml,v 1.22.4.1 2005/02/18 16:08:37 guesdon Exp $ *) +(* $Id: odoc_man.ml,v 1.22.4.4 2005/07/07 09:12:05 guesdon Exp $ *) (** The man pages generator. *) open Odoc_info @@ -197,7 +197,16 @@ class man = Str.global_replace re_slash "slash" s (** Escape special sequences of characters in a string. *) - method escape (s : string) = s + method escape (s : string) = + let len = String.length s in + let b = Buffer.create len in + for i = 0 to len - 1 do + match s.[i] with + '\\' -> Buffer.add_string b "\\(rs" + | '.' -> Buffer.add_string b "\\&." + | c -> Buffer.add_char b c + done; + Buffer.contents b (** Open a file for output. Add the target directory.*) method open_out file = @@ -223,7 +232,7 @@ class man = (** Print the groff string for a text element. *) method man_of_text_element b te = match te with - | Odoc_info.Raw s -> bs b s + | Odoc_info.Raw s -> bs b (self#escape s) | Odoc_info.Code s -> bs b "\n.B "; bs b ((Str.global_replace (Str.regexp "\n") "\n.B " (self#escape s))^"\n") diff --git a/ocamldoc/odoc_messages.ml b/ocamldoc/odoc_messages.ml index 3bfb8371..59b56dd3 100644 --- a/ocamldoc/odoc_messages.ml +++ b/ocamldoc/odoc_messages.ml @@ -9,7 +9,7 @@ (* *) (***********************************************************************) -(* $Id: odoc_messages.ml,v 1.24.4.4 2005/02/18 16:08:37 guesdon Exp $ *) +(* $Id: odoc_messages.ml,v 1.24.4.6 2005/07/07 13:40:29 guesdon Exp $ *) (** The messages of the application. *) @@ -77,7 +77,7 @@ let default_dot_colors = let dot_colors = "\n\t\tUse colors c1,c1,...,cn in the dot output\n"^ "\t\t(default list is "^ - (String.concat ",\n\t\t" (List.map (String.concat ", ") default_dot_colors))^")" + (String.concat ",\n\t\t" (List.map (String.concat ",") default_dot_colors))^")" let dot_reduce = "\tPerform a transitive reduction on the selected dependency graph\n"^ @@ -269,6 +269,8 @@ let class_type_not_found_in_typedtree ct = "Class type "^ct^" was not found in t let inherit_classexp_not_found_in_typedtree n = "Inheritance class expression number "^(string_of_int n)^" was not found in typed tree." let attribute_not_found_in_typedtree att = "Class attribute "^att^" was not found in typed tree." let method_not_found_in_typedtree met = "Class method "^met^" was not found in typed tree." +let misplaced_comment file pos = + Printf.sprintf "Misplaced special comment in file %s, character %d." file pos let cross_module_not_found n = "Module "^n^" not found" let cross_module_type_not_found n = "Module type "^n^" not found" diff --git a/ocamldoc/odoc_sig.ml b/ocamldoc/odoc_sig.ml index d02deae2..647ec819 100644 --- a/ocamldoc/odoc_sig.ml +++ b/ocamldoc/odoc_sig.ml @@ -9,7 +9,7 @@ (* *) (***********************************************************************) -(* $Id: odoc_sig.ml,v 1.30.2.3 2004/10/01 09:43:24 guesdon Exp $ *) +(* $Id: odoc_sig.ml,v 1.30.2.4 2005/06/23 14:23:27 guesdon Exp $ *) (** Analysis of interface files. *) @@ -191,8 +191,11 @@ module Analyser = ([], []) -> let pos = Str.search_forward (Str.regexp_string name) !file last_pos in let pos' = pos + (String.length name) in - let pos2 = Str.search_forward - (Str.regexp ("|[ \n\t\r]*"^name2)) !file pos' + let pos2 = + try Str.search_forward + (Str.regexp ("|[ \n\t\r]*"^name2)) !file pos' + with Not_found -> + failwith (Odoc_messages.misplaced_comment !file_name pos') in let s = get_string_of_file pos' pos2 in let (_,comment_opt) = My_ir.just_after_special !file_name s in @@ -202,16 +205,25 @@ module Analyser = let pos = Str.search_forward (Str.regexp_string name) !file last_pos in let pos' = pos + (String.length name) in let pos2 = ct2.Parsetree.ptyp_loc.Location.loc_start.Lexing.pos_cnum in - let pos2' = Str.search_backward (Str.regexp_string name2) !file pos2 in + let pos2' = + try Str.search_backward + (Str.regexp ("|[ \n\t\r]*"^name2)) !file pos2 + with Not_found -> + failwith (Odoc_messages.misplaced_comment !file_name pos') + in let s = get_string_of_file pos' pos2' in let (_,comment_opt) = My_ir.just_after_special !file_name s in f (acc @ [name, comment_opt]) pos2' ((name2, core_type_list2) :: q) | ((ct :: _), []) -> let pos = ct.Parsetree.ptyp_loc.Location.loc_end.Lexing.pos_cnum in - let pos2 = Str.search_forward - (Str.regexp ("|[ \n\t\r]*"^name2)) - !file pos + let pos2 = + try + Str.search_forward + (Str.regexp ("|[ \n\t\r]*"^name2)) + !file pos + with Not_found -> + failwith (Odoc_messages.misplaced_comment !file_name pos) in let s = get_string_of_file pos pos2 in let (_,comment_opt) = My_ir.just_after_special !file_name s in @@ -225,7 +237,12 @@ module Analyser = | ((ct:: _), (ct2 :: _)) -> let pos = ct.Parsetree.ptyp_loc.Location.loc_end.Lexing.pos_cnum in let pos2 = ct2.Parsetree.ptyp_loc.Location.loc_start.Lexing.pos_cnum in - let pos2' = Str.search_backward (Str.regexp_string name2) !file pos2 in + let pos2' = + try Str.search_backward + (Str.regexp ("|[ \n\t\r]*"^name2)) !file pos2 + with Not_found -> + failwith (Odoc_messages.misplaced_comment !file_name pos) + in let s = get_string_of_file pos pos2' in let (_,comment_opt) = My_ir.just_after_special !file_name s in f (acc @ [name, comment_opt]) pos2' ((name2, core_type_list2) :: q) @@ -1359,4 +1376,4 @@ module Analyser = end -(* eof $Id: odoc_sig.ml,v 1.30.2.3 2004/10/01 09:43:24 guesdon Exp $ *) +(* eof $Id: odoc_sig.ml,v 1.30.2.4 2005/06/23 14:23:27 guesdon Exp $ *) diff --git a/ocamldoc/odoc_types.ml b/ocamldoc/odoc_types.ml index c4709136..c6be2fc5 100644 --- a/ocamldoc/odoc_types.ml +++ b/ocamldoc/odoc_types.ml @@ -9,9 +9,9 @@ (* *) (***********************************************************************) -(* $Id: odoc_types.ml,v 1.7 2004/05/23 10:41:51 guesdon Exp $ *) +(* $Id: odoc_types.ml,v 1.7.4.2 2005/07/07 14:24:48 guesdon Exp $ *) -type ref_kind = +type ref_kind = RK_module | RK_module_type | RK_class @@ -23,7 +23,7 @@ type ref_kind = | RK_method | RK_section of text -and text_element = +and text_element = | Raw of string | Code of string | CodePre of string @@ -49,7 +49,7 @@ and text_element = and text = text_element list -type see_ref = +type see_ref = See_url of string | See_file of string | See_doc of string @@ -67,11 +67,11 @@ type info = { i_sees : see list; i_since : string option; i_deprecated : text option; - i_params : param list; + i_params : param list; i_raised_exceptions : raised_exception list; i_return_value : text option ; i_custom : (string * text) list ; - } + } let dummy_info = { i_desc = None ; @@ -84,12 +84,12 @@ let dummy_info = { i_raised_exceptions = [] ; i_return_value = None ; i_custom = [] ; -} +} type location = { loc_impl : (string * int) option ; loc_inter : (string * int) option ; - } + } let dummy_loc = { loc_impl = None ; loc_inter = None } @@ -104,7 +104,7 @@ type merge_option = | Merge_raised_exception | Merge_return_value | Merge_custom - + let all_merge_options = [ Merge_description ; Merge_author ; @@ -116,7 +116,7 @@ let all_merge_options = [ Merge_raised_exception ; Merge_return_value ; Merge_custom ; -] +] type magic = string diff --git a/otherlibs/CVS/Entries b/otherlibs/CVS/Entries deleted file mode 100644 index 17848105..00000000 --- a/otherlibs/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/otherlibs/CVS/Entries.Log b/otherlibs/CVS/Entries.Log deleted file mode 100644 index 46a0c267..00000000 --- a/otherlibs/CVS/Entries.Log +++ /dev/null @@ -1,19 +0,0 @@ -A D/bigarray//// -A D/db//// -A D/dbm//// -A D/dynlink//// -A D/dyntypes//// -A D/graph//// -A D/join//// -A D/labltk//// -A D/macosunix//// -A D/num//// -A D/str//// -A D/systhreads//// -A D/threads//// -A D/unix//// -A D/win32graph//// -A D/win32unix//// -R D/macosunix//// -R D/join//// -R D/dyntypes//// diff --git a/otherlibs/CVS/Repository b/otherlibs/CVS/Repository deleted file mode 100644 index a8ac51fa..00000000 --- a/otherlibs/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs diff --git a/otherlibs/CVS/Root b/otherlibs/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/CVS/Tag b/otherlibs/CVS/Tag deleted file mode 100644 index 8b28f3ed..00000000 --- a/otherlibs/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Tocaml3083 diff --git a/otherlibs/bigarray/CVS/Entries b/otherlibs/bigarray/CVS/Entries deleted file mode 100644 index 48975e03..00000000 --- a/otherlibs/bigarray/CVS/Entries +++ /dev/null @@ -1,11 +0,0 @@ -/.cvsignore/1.2/Thu Oct 11 12:04:37 2001//Tocaml3083 -/.depend/1.16.4.1/Tue Feb 22 14:33:36 2005//Tocaml3083 -/Makefile/1.18/Thu Jun 27 11:36:00 2002//Tocaml3083 -/Makefile.nt/1.10/Tue Jul 8 14:24:07 2003//Tocaml3083 -/bigarray.h/1.7/Tue Jul 8 14:24:07 2003//Tocaml3083 -/bigarray.ml/1.12/Sat May 25 08:34:05 2002//Tocaml3083 -/bigarray.mli/1.21/Sat May 25 08:34:05 2002//Tocaml3083 -/bigarray_stubs.c/1.19.4.1/Tue Feb 22 14:33:36 2005//Tocaml3083 -/mmap_unix.c/1.7/Fri Dec 7 13:39:50 2001//Tocaml3083 -/mmap_win32.c/1.4/Fri Jun 7 09:49:38 2002//Tocaml3083 -D diff --git a/otherlibs/bigarray/CVS/Repository b/otherlibs/bigarray/CVS/Repository deleted file mode 100644 index 0566dd11..00000000 --- a/otherlibs/bigarray/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/bigarray diff --git a/otherlibs/bigarray/CVS/Root b/otherlibs/bigarray/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/bigarray/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/bigarray/CVS/Tag b/otherlibs/bigarray/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/bigarray/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/bigarray/bigarray.mli b/otherlibs/bigarray/bigarray.mli index 1882fdc7..4df2515a 100644 --- a/otherlibs/bigarray/bigarray.mli +++ b/otherlibs/bigarray/bigarray.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: bigarray.mli,v 1.21 2002/05/25 08:34:05 xleroy Exp $ *) +(* $Id: bigarray.mli,v 1.21.6.1 2005/05/04 14:05:19 doligez Exp $ *) (** Large, multi-dimensional, numerical arrays. @@ -420,7 +420,8 @@ module Genarray : (** {6 One-dimensional arrays} *) -(** One-dimensional arrays. The [Array1] structure provides operations similar to those of +(** One-dimensional arrays. The [Array1] structure provides operations + similar to those of {!Bigarray.Genarray}, but specialized to the case of one-dimensional arrays. (The [Array2] and [Array3] structures below provide operations specialized for two- and three-dimensional arrays.) @@ -489,8 +490,9 @@ end (** {6 Two-dimensional arrays} *) -(** Two-dimensional arrays. The [Array2] structure provides operations similar to those of - {!Bigarray.Genarray}, but specialized to the case of two-dimensional arrays. *) +(** Two-dimensional arrays. The [Array2] structure provides operations + similar to those of {!Bigarray.Genarray}, but specialized to the + case of two-dimensional arrays. *) module Array2 : sig type ('a, 'b, 'c) t diff --git a/otherlibs/db/CVS/Entries b/otherlibs/db/CVS/Entries deleted file mode 100644 index e9ab91b2..00000000 --- a/otherlibs/db/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.depend/1.1/Mon Feb 23 12:42:22 1998//Tocaml3083 -D diff --git a/otherlibs/db/CVS/Repository b/otherlibs/db/CVS/Repository deleted file mode 100644 index ba4c7575..00000000 --- a/otherlibs/db/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/db diff --git a/otherlibs/db/CVS/Root b/otherlibs/db/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/db/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/db/CVS/Tag b/otherlibs/db/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/db/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/dbm/CVS/Entries b/otherlibs/dbm/CVS/Entries deleted file mode 100644 index ebfb47e9..00000000 --- a/otherlibs/dbm/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.1/Thu Oct 11 12:04:37 2001//Tocaml3083 -/.depend/1.6/Thu Jul 3 14:33:30 1997//Tocaml3083 -/Makefile/1.23/Thu Jun 27 11:36:01 2002//Tocaml3083 -/cldbm.c/1.8/Tue Jul 8 13:50:31 2003//Tocaml3083 -/dbm.ml/1.10/Fri Dec 7 13:39:51 2001//Tocaml3083 -/dbm.mli/1.15/Fri Dec 7 13:39:51 2001//Tocaml3083 -D diff --git a/otherlibs/dbm/CVS/Repository b/otherlibs/dbm/CVS/Repository deleted file mode 100644 index 0bc27669..00000000 --- a/otherlibs/dbm/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/dbm diff --git a/otherlibs/dbm/CVS/Root b/otherlibs/dbm/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/dbm/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/dbm/CVS/Tag b/otherlibs/dbm/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/dbm/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/dynlink/CVS/Entries b/otherlibs/dynlink/CVS/Entries deleted file mode 100644 index 61563b87..00000000 --- a/otherlibs/dynlink/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/.cvsignore/1.1/Sat May 4 14:38:51 1996//Tocaml3083 -/.depend/1.6.4.1/Tue Feb 22 14:33:37 2005//Tocaml3083 -/Makefile/1.27/Sun Feb 22 15:07:51 2004//Tocaml3083 -/Makefile.nt/1.14/Mon Mar 24 15:31:30 2003//Tocaml3083 -/dynlink.ml/1.31/Mon May 26 13:46:36 2003//Tocaml3083 -/dynlink.mli/1.21/Sun Nov 17 16:42:11 2002//Tocaml3083 -/extract_crc.ml/1.10/Fri Apr 9 13:26:41 2004//Tocaml3083 -D diff --git a/otherlibs/dynlink/CVS/Repository b/otherlibs/dynlink/CVS/Repository deleted file mode 100644 index a9a28d4d..00000000 --- a/otherlibs/dynlink/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/dynlink diff --git a/otherlibs/dynlink/CVS/Root b/otherlibs/dynlink/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/dynlink/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/dynlink/CVS/Tag b/otherlibs/dynlink/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/dynlink/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/graph/.depend b/otherlibs/graph/.depend index 3d8fa25a..fd9811c3 100644 --- a/otherlibs/graph/.depend +++ b/otherlibs/graph/.depend @@ -1,82 +1,82 @@ -color.o: color.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +color.o: color.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ - ../../byterun/misc.h /usr/X11R6/include/X11/Xatom.h -draw.o: draw.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ + ../../byterun/misc.h +draw.o: draw.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h ../../byterun/alloc.h -dump_img.o: dump_img.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +dump_img.o: dump_img.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h image.h ../../byterun/alloc.h \ ../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \ ../../byterun/freelist.h ../../byterun/minor_gc.h -events.o: events.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +events.o: events.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/signals.h -fill.o: fill.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +fill.o: fill.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h ../../byterun/memory.h ../../byterun/gc.h \ ../../byterun/major_gc.h ../../byterun/freelist.h \ ../../byterun/minor_gc.h -image.o: image.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +image.o: image.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h image.h ../../byterun/alloc.h \ ../../byterun/custom.h -make_img.o: make_img.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +make_img.o: make_img.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h image.h ../../byterun/memory.h ../../byterun/gc.h \ ../../byterun/major_gc.h ../../byterun/freelist.h \ ../../byterun/minor_gc.h -open.o: open.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +open.o: open.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h ../../byterun/alloc.h ../../byterun/callback.h \ ../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \ ../../byterun/major_gc.h ../../byterun/freelist.h \ ../../byterun/minor_gc.h -point_col.o: point_col.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +point_col.o: point_col.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h -sound.o: sound.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +sound.o: sound.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h -subwindow.o: subwindow.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +subwindow.o: subwindow.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h -text.o: text.c libgraph.h /usr/X11R6/include/X11/Xlib.h \ - /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \ - /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \ +text.o: text.c libgraph.h \ + \ + \ ../../byterun/mlvalues.h ../../byterun/compatibility.h \ ../../byterun/config.h ../../config/m.h ../../config/s.h \ ../../byterun/misc.h ../../byterun/alloc.h diff --git a/otherlibs/graph/CVS/Entries b/otherlibs/graph/CVS/Entries deleted file mode 100644 index db8186b9..00000000 --- a/otherlibs/graph/CVS/Entries +++ /dev/null @@ -1,22 +0,0 @@ -/.cvsignore/1.3/Thu Oct 11 12:04:38 2001//Tocaml3083 -/.depend/1.19.4.3/Tue Feb 22 14:33:37 2005//Tocaml3083 -/Makefile/1.35/Tue Aug 5 13:39:33 2003//Tocaml3083 -/color.c/1.18/Mon May 17 17:10:00 2004//Tocaml3083 -/draw.c/1.19/Sun May 30 14:11:41 2004//Tocaml3083 -/dump_img.c/1.11/Wed Mar 24 15:02:04 2004//Tocaml3083 -/events.c/1.17/Sun May 30 10:25:08 2004//Tocaml3083 -/fill.c/1.14/Sun May 30 14:11:41 2004//Tocaml3083 -/graphics.ml/1.25/Wed Mar 24 15:02:06 2004//Tocaml3083 -/graphics.mli/1.36/Wed Mar 24 15:02:06 2004//Tocaml3083 -/graphicsX11.ml/1.3/Wed Mar 24 15:02:06 2004//Tocaml3083 -/graphicsX11.mli/1.4/Fri Dec 7 13:39:54 2001//Tocaml3083 -/image.c/1.13/Wed Mar 24 15:02:05 2004//Tocaml3083 -/image.h/1.8/Wed Mar 24 15:02:06 2004//Tocaml3083 -/libgraph.h/1.23/Sun May 30 10:25:08 2004//Tocaml3083 -/make_img.c/1.13/Wed Mar 24 15:02:05 2004//Tocaml3083 -/open.c/1.32.2.1/Wed Jan 12 15:32:18 2005//Tocaml3083 -/point_col.c/1.8/Wed Mar 24 15:02:05 2004//Tocaml3083 -/sound.c/1.9/Wed Mar 24 15:02:05 2004//Tocaml3083 -/subwindow.c/1.6/Wed Mar 24 15:02:05 2004//Tocaml3083 -/text.c/1.15/Wed Mar 24 15:02:06 2004//Tocaml3083 -D diff --git a/otherlibs/graph/CVS/Repository b/otherlibs/graph/CVS/Repository deleted file mode 100644 index 775d1e7d..00000000 --- a/otherlibs/graph/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/graph diff --git a/otherlibs/graph/CVS/Root b/otherlibs/graph/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/graph/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/graph/CVS/Tag b/otherlibs/graph/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/graph/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/graph/Makefile b/otherlibs/graph/Makefile index 24f6fbc5..ce1c8eab 100644 --- a/otherlibs/graph/Makefile +++ b/otherlibs/graph/Makefile @@ -11,7 +11,7 @@ # # ######################################################################### -# $Id: Makefile,v 1.35 2003/08/05 13:39:33 xleroy Exp $ +# $Id: Makefile,v 1.35.4.1 2005/06/22 15:47:33 doligez Exp $ # Makefile for the portable graphics library @@ -69,7 +69,7 @@ installopt: $(CAMLOPT) -c $(COMPFLAGS) $< depend: - gcc -MM $(CFLAGS) *.c > .depend + gcc -MM $(CFLAGS) *.c | sed -e 's, /usr[^ ]*\.h,,g' > .depend ../../boot/ocamlrun ../../tools/ocamldep *.mli *.ml >> .depend include .depend diff --git a/otherlibs/graph/events.c b/otherlibs/graph/events.c index d2da5bed..a1214fcc 100644 --- a/otherlibs/graph/events.c +++ b/otherlibs/graph/events.c @@ -11,7 +11,7 @@ /* */ /***********************************************************************/ -/* $Id: events.c,v 1.17 2004/05/30 10:25:08 xleroy Exp $ */ +/* $Id: events.c,v 1.17.2.1 2005/07/29 14:21:18 xleroy Exp $ */ #include #include "libgraph.h" @@ -230,6 +230,7 @@ static value caml_gr_wait_event_blocking(long mask) enter_blocking_section(); select(FD_SETSIZE, &readfds, NULL, NULL, NULL); leave_blocking_section(); + caml_gr_check_open(); /* in case another thread closed the display */ } } caml_gr_ignore_sigio = False; diff --git a/otherlibs/graph/graphics.ml b/otherlibs/graph/graphics.ml index d3c8ca66..cb491892 100644 --- a/otherlibs/graph/graphics.ml +++ b/otherlibs/graph/graphics.ml @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: graphics.ml,v 1.25 2004/03/24 15:02:06 starynke Exp $ *) +(* $Id: graphics.ml,v 1.25.2.2 2005/08/05 12:43:47 doligez Exp $ *) exception Graphic_failure of string @@ -41,6 +41,7 @@ let (open_graph, close_graph) = | _ -> invalid_arg ("Graphics: unknown OS type: " ^ Sys.os_type) external set_window_title : string -> unit = "caml_gr_set_window_title" +external resize_window : int -> int -> unit = "caml_gr_resize_window" external clear_graph : unit -> unit = "caml_gr_clear_graph" external size_x : unit -> int = "caml_gr_size_x" external size_y : unit -> int = "caml_gr_size_y" @@ -94,7 +95,13 @@ let current_point () = current_x (), current_y () external lineto : int -> int -> unit = "caml_gr_lineto" let rlineto x y = lineto (current_x () + x) (current_y () + y) let rmoveto x y = moveto (current_x () + x) (current_y () + y) -external draw_rect : int -> int -> int -> int -> unit = "caml_gr_draw_rect" + +external raw_draw_rect : int -> int -> int -> int -> unit = "caml_gr_draw_rect" +let draw_rect x y w h = + if w < 0 || h < 0 then raise (Invalid_argument "draw_rect") + else raw_draw_rect x y w h +;; + let draw_poly, draw_poly_line = let dodraw close_flag points = if Array.length points > 0 then begin @@ -118,16 +125,37 @@ let draw_segments segs = done; moveto savex savey; ;; -external draw_arc : int -> int -> int -> int -> int -> int -> unit + +external raw_draw_arc : int -> int -> int -> int -> int -> int -> unit = "caml_gr_draw_arc" "caml_gr_draw_arc_nat" +let draw_arc x y rx ry a1 a2 = + if rx < 0 || ry < 0 then raise (Invalid_argument "draw_arc/ellipse/circle") + else raw_draw_arc x y rx ry a1 a2 +;; + let draw_ellipse x y rx ry = draw_arc x y rx ry 0 360 let draw_circle x y r = draw_arc x y r r 0 360 -external set_line_width : int -> unit = "caml_gr_set_line_width" -external fill_rect : int -> int -> int -> int -> unit = "caml_gr_fill_rect" +external raw_set_line_width : int -> unit = "caml_gr_set_line_width" +let set_line_width w = + if w < 0 then raise (Invalid_argument "set_line_width") + else raw_set_line_width w +;; + +external raw_fill_rect : int -> int -> int -> int -> unit = "caml_gr_fill_rect" +let fill_rect x y w h = + if w < 0 || h < 0 then raise (Invalid_argument "fill_rect") + else raw_fill_rect x y w h +;; + external fill_poly : (int * int) array -> unit = "caml_gr_fill_poly" -external fill_arc : int -> int -> int -> int -> int -> int -> unit +external raw_fill_arc : int -> int -> int -> int -> int -> int -> unit = "caml_gr_fill_arc" "caml_gr_fill_arc_nat" +let fill_arc x y rx ry a1 a2 = + if rx < 0 || ry < 0 then raise (Invalid_argument "fill_arc/ellipse/circle") + else raw_fill_arc x y rx ry a1 a2 +;; + let fill_ellipse x y rx ry = fill_arc x y rx ry 0 360 let fill_circle x y r = fill_arc x y r r 0 360 diff --git a/otherlibs/graph/graphics.mli b/otherlibs/graph/graphics.mli index b865c6f2..a2d4a195 100644 --- a/otherlibs/graph/graphics.mli +++ b/otherlibs/graph/graphics.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: graphics.mli,v 1.36 2004/03/24 15:02:06 starynke Exp $ *) +(* $Id: graphics.mli,v 1.36.2.2 2005/08/05 12:43:47 doligez Exp $ *) (** Machine-independent graphics primitives. *) @@ -35,6 +35,9 @@ val close_graph : unit -> unit val set_window_title : string -> unit (** Set the title of the graphics window. *) +val resize_window : int -> int -> unit +(** Resize and erase the graphics window. *) + external clear_graph : unit -> unit = "caml_gr_clear_graph" (** Erase the graphics window. *) @@ -128,10 +131,11 @@ val curveto : int * int -> int * int -> int * int -> unit the current point to point [d], with control points [b] and [c], and moves the current point to [d]. *) -external draw_rect : int -> int -> int -> int -> unit = "caml_gr_draw_rect" +val draw_rect : int -> int -> int -> int -> unit (** [draw_rect x y w h] draws the rectangle with lower left corner at [x,y], width [w] and height [h]. - The current point is unchanged. *) + The current point is unchanged. + Raise [Invalid_argument] if [w] or [h] is negative. *) val draw_poly_line : (int * int) array -> unit (** [draw_poly_line points] draws the line that joins the @@ -153,27 +157,29 @@ val draw_segments : (int * int * int * int) array -> unit the coordinates of the end points of the segment. The current point is unchanged. *) -external draw_arc : - int -> int -> int -> int -> int -> int -> - unit = "caml_gr_draw_arc" "caml_gr_draw_arc_nat" +val draw_arc : int -> int -> int -> int -> int -> int -> unit (** [draw_arc x y rx ry a1 a2] draws an elliptical arc with center [x,y], horizontal radius [rx], vertical radius [ry], from angle - [a1] to angle [a2] (in degrees). The current point is unchanged. *) + [a1] to angle [a2] (in degrees). The current point is unchanged. + Raise [Invalid_argument] if [rx] or [ry] is negative. *) val draw_ellipse : int -> int -> int -> int -> unit (** [draw_ellipse x y rx ry] draws an ellipse with center [x,y], horizontal radius [rx] and vertical radius [ry]. - The current point is unchanged. *) + The current point is unchanged. + Raise [Invalid_argument] if [rx] or [ry] is negative. *) val draw_circle : int -> int -> int -> unit (** [draw_circle x y r] draws a circle with center [x,y] and - radius [r]. The current point is unchanged. *) + radius [r]. The current point is unchanged. + Raise [Invalid_argument] if [r] is negative. *) -external set_line_width : int -> unit = "caml_gr_set_line_width" +val set_line_width : int -> unit (** Set the width of points and lines drawn with the functions above. Under X Windows, [set_line_width 0] selects a width of 1 pixel and a faster, but less precise drawing algorithm than the one - used when [set_line_width 1] is specified. *) + used when [set_line_width 1] is specified. + Raise [Invalid_argument] if the argument is negative. *) (** {6 Text drawing} *) @@ -187,12 +193,12 @@ external draw_string : string -> unit = "caml_gr_draw_string" external set_font : string -> unit = "caml_gr_set_font" (** Set the font used for drawing text. - The interpretation of the arguments to [set_font] + The interpretation of the argument to [set_font] is implementation-dependent. *) val set_text_size : int -> unit (** Set the character size used for drawing text. - The interpretation of the arguments to [set_text_size] + The interpretation of the argument to [set_text_size] is implementation-dependent. *) external text_size : string -> int * int = "caml_gr_text_size" @@ -202,17 +208,16 @@ external text_size : string -> int * int = "caml_gr_text_size" (** {6 Filling} *) -external fill_rect : int -> int -> int -> int -> unit = "caml_gr_fill_rect" +val fill_rect : int -> int -> int -> int -> unit (** [fill_rect x y w h] fills the rectangle with lower left corner - at [x,y], width [w] and height [h], with the current color. *) + at [x,y], width [w] and height [h], with the current color. + Raise [Invalid_argument] if [w] or [h] is negative. *) external fill_poly : (int * int) array -> unit = "caml_gr_fill_poly" (** Fill the given polygon with the current color. The array contains the coordinates of the vertices of the polygon. *) -external fill_arc : - int -> int -> int -> int -> int -> int -> - unit = "caml_gr_fill_arc" "caml_gr_fill_arc_nat" +val fill_arc : int -> int -> int -> int -> int -> int -> unit (** Fill an elliptical pie slice with the current color. The parameters are the same as for {!Graphics.draw_arc}. *) @@ -333,21 +338,21 @@ val auto_synchronize : bool -> unit on screen, and in a memory area (the ``backing store''). The backing store image is used to re-paint the on-screen window when necessary. - + To avoid flicker during animations, it is possible to turn off on-screen drawing, perform a number of drawing operations in the backing store only, then refresh the on-screen window explicitly. - + [auto_synchronize false] turns on-screen drawing off. All subsequent drawing commands are performed on the backing store only. - + [auto_synchronize true] refreshes the on-screen window from the backing store (as per [synchronize]), then turns on-screen drawing back on. All subsequent drawing commands are performed both on screen and in the backing store. - + The default drawing mode corresponds to [auto_synchronize true]. *) external synchronize : unit -> unit = "caml_gr_synchronize" diff --git a/otherlibs/graph/open.c b/otherlibs/graph/open.c index bf7acfc0..04c7702f 100644 --- a/otherlibs/graph/open.c +++ b/otherlibs/graph/open.c @@ -11,7 +11,7 @@ /* */ /***********************************************************************/ -/* $Id: open.c,v 1.32.2.1 2005/01/12 15:32:18 doligez Exp $ */ +/* $Id: open.c,v 1.32.2.2 2005/05/26 09:15:22 doligez Exp $ */ #include #include @@ -252,6 +252,31 @@ value caml_gr_set_window_title(value n) return Val_unit; } +value caml_gr_resize_window (value vx, value vy) +{ + caml_gr_check_open (); + + caml_gr_window.w = Int_val (vx); + caml_gr_window.h = Int_val (vy); + XResizeWindow (caml_gr_display, caml_gr_window.win, caml_gr_window.w, + caml_gr_window.h); + + XFreeGC(caml_gr_display, caml_gr_bstore.gc); + XFreePixmap(caml_gr_display, caml_gr_bstore.win); + + caml_gr_bstore.w = caml_gr_window.w; + caml_gr_bstore.h = caml_gr_window.h; + caml_gr_bstore.win = + XCreatePixmap(caml_gr_display, caml_gr_window.win, caml_gr_bstore.w, + caml_gr_bstore.h, + XDefaultDepth(caml_gr_display, caml_gr_screen)); + caml_gr_bstore.gc = XCreateGC(caml_gr_display, caml_gr_bstore.win, 0, NULL); + XSetBackground(caml_gr_display, caml_gr_bstore.gc, caml_gr_background); + + caml_gr_clear_graph (); + return Val_unit; +} + value caml_gr_clear_graph(void) { caml_gr_check_open(); diff --git a/otherlibs/labltk/CVS/Entries b/otherlibs/labltk/CVS/Entries deleted file mode 100644 index ca263153..00000000 --- a/otherlibs/labltk/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/.cvsignore/1.2/Tue Jul 9 16:23:20 2002//Tocaml3083 -/Changes/1.2/Fri Apr 26 12:15:31 2002//Tocaml3083 -/Makefile/1.9/Fri Aug 29 14:08:20 2003//Tocaml3083 -/Makefile.nt/1.4/Fri Jun 7 09:49:38 2002//Tocaml3083 -/README/1.5/Tue Jul 23 14:11:54 2002//Tocaml3083 -/Widgets.src/1.22.4.1/Wed Feb 2 06:39:39 2005//Tocaml3083 -/labl.gif/1.5/Fri Apr 21 08:33:30 2000/-kb/Tocaml3083 -D diff --git a/otherlibs/labltk/CVS/Entries.Log b/otherlibs/labltk/CVS/Entries.Log deleted file mode 100644 index e0fc5d36..00000000 --- a/otherlibs/labltk/CVS/Entries.Log +++ /dev/null @@ -1,14 +0,0 @@ -A D/browser//// -A D/builtin//// -A D/camltk//// -A D/compiler//// -A D/example//// -A D/examples_camltk//// -A D/examples_labltk//// -A D/frx//// -A D/jpf//// -A D/labltk//// -A D/lib//// -A D/support//// -A D/tkanim//// -R D/example//// diff --git a/otherlibs/labltk/CVS/Repository b/otherlibs/labltk/CVS/Repository deleted file mode 100644 index ac322ba9..00000000 --- a/otherlibs/labltk/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk diff --git a/otherlibs/labltk/CVS/Root b/otherlibs/labltk/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/CVS/Tag b/otherlibs/labltk/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/browser/CVS/Entries b/otherlibs/labltk/browser/CVS/Entries deleted file mode 100644 index 650a45ee..00000000 --- a/otherlibs/labltk/browser/CVS/Entries +++ /dev/null @@ -1,54 +0,0 @@ -/.cvsignore/1.3/Tue Feb 1 05:43:24 2000//Tocaml3083 -/.depend/1.3/Thu Nov 22 07:36:15 2001//Tocaml3083 -/Makefile/1.21/Mon Aug 12 05:31:21 2002//Tocaml3083 -/Makefile.nt/1.12/Thu Jul 4 10:23:16 2002//Tocaml3083 -/README/1.7/Thu Sep 27 08:24:50 2001//Tocaml3083 -/dummyUnix.mli/1.4/Mon Dec 29 22:15:01 2003//Tocaml3083 -/dummyWin.mli/1.2/Fri Dec 7 13:39:55 2001//Tocaml3083 -/editor.ml/1.40/Wed Apr 2 06:56:05 2003//Tocaml3083 -/editor.mli/1.5/Fri Dec 7 13:39:57 2001//Tocaml3083 -/fileselect.ml/1.20/Fri Aug 9 10:34:44 2002//Tocaml3083 -/fileselect.mli/1.7/Fri Apr 26 12:15:33 2002//Tocaml3083 -/help.ml/1.3/Thu Jul 4 10:25:29 2002//Tocaml3083 -/help.txt/1.2/Thu Jul 4 10:25:29 2002//Tocaml3083 -/jg_bind.ml/1.7/Fri Dec 7 13:39:57 2001//Tocaml3083 -/jg_bind.mli/1.5/Fri Dec 7 13:39:57 2001//Tocaml3083 -/jg_box.ml/1.8/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_button.ml/1.8/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_completion.ml/1.10/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_completion.mli/1.6/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_config.ml/1.10/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_config.mli/1.5/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_entry.ml/1.7/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_memo.ml/1.8/Fri Dec 7 13:39:58 2001//Tocaml3083 -/jg_memo.mli/1.7/Fri Dec 7 13:39:59 2001//Tocaml3083 -/jg_menu.ml/1.8/Fri Dec 7 13:39:59 2001//Tocaml3083 -/jg_message.ml/1.18/Fri Jul 26 00:04:05 2002//Tocaml3083 -/jg_message.mli/1.10/Fri Jul 26 00:04:05 2002//Tocaml3083 -/jg_multibox.ml/1.11/Fri Dec 7 13:39:59 2001//Tocaml3083 -/jg_multibox.mli/1.6/Fri Dec 7 13:39:59 2001//Tocaml3083 -/jg_text.ml/1.11/Fri Aug 9 10:34:44 2002//Tocaml3083 -/jg_text.mli/1.7/Fri Dec 7 13:40:00 2001//Tocaml3083 -/jg_tk.ml/1.7/Fri Dec 7 13:40:00 2001//Tocaml3083 -/jg_toplevel.ml/1.8/Fri Dec 7 13:40:00 2001//Tocaml3083 -/lexical.ml/1.15/Fri Nov 1 17:06:45 2002//Tocaml3083 -/lexical.mli/1.6/Fri Dec 7 13:40:00 2001//Tocaml3083 -/list2.ml/1.9/Fri Dec 7 13:40:00 2001//Tocaml3083 -/main.ml/1.30/Fri May 2 13:20:58 2003//Tocaml3083 -/mytypes.mli/1.6/Wed Apr 2 06:56:05 2003//Tocaml3083 -/searchid.ml/1.22/Sat Jun 12 08:55:46 2004//Tocaml3083 -/searchid.mli/1.6/Thu Jul 25 22:51:47 2002//Tocaml3083 -/searchpos.ml/1.44.2.1/Tue Jun 29 01:50:19 2004//Tocaml3083 -/searchpos.mli/1.12/Wed Apr 2 06:56:05 2003//Tocaml3083 -/setpath.ml/1.16/Fri Apr 26 12:15:34 2002//Tocaml3083 -/setpath.mli/1.6/Fri Dec 7 13:40:02 2001//Tocaml3083 -/shell.ml/1.39/Tue Aug 6 03:03:09 2002//Tocaml3083 -/shell.mli/1.8/Thu Jul 25 22:51:47 2002//Tocaml3083 -/typecheck.ml/1.15/Wed Apr 2 06:56:06 2003//Tocaml3083 -/typecheck.mli/1.5/Fri Dec 7 13:40:02 2001//Tocaml3083 -/useunix.ml/1.13/Fri Aug 9 10:34:44 2002//Tocaml3083 -/useunix.mli/1.6/Fri Aug 9 10:34:44 2002//Tocaml3083 -/viewer.ml/1.31/Sat Jun 12 08:55:47 2004//Tocaml3083 -/viewer.mli/1.7/Thu Jul 11 13:49:51 2002//Tocaml3083 -/winmain.c/1.4/Thu Apr 1 13:09:21 2004//Tocaml3083 -D diff --git a/otherlibs/labltk/browser/CVS/Repository b/otherlibs/labltk/browser/CVS/Repository deleted file mode 100644 index 278e1690..00000000 --- a/otherlibs/labltk/browser/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/browser diff --git a/otherlibs/labltk/browser/CVS/Root b/otherlibs/labltk/browser/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/browser/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/browser/CVS/Tag b/otherlibs/labltk/browser/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/browser/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/browser/Makefile.nt b/otherlibs/labltk/browser/Makefile.nt index 60797236..a305c3dd 100644 --- a/otherlibs/labltk/browser/Makefile.nt +++ b/otherlibs/labltk/browser/Makefile.nt @@ -7,7 +7,7 @@ INCLUDES=$(OTHERSLIB) $(LABLTKLIB) $(OCAMLTOPLIB) CCFLAGS=-I../../../byterun $(TK_DEFS) ifeq ($(CCOMPTYPE),cc) -WINDOWS_APP= +WINDOWS_APP=-cclib "-Wl,--subsystem,windows" else WINDOWS_APP=-cclib "/link /subsystem:windows" endif diff --git a/otherlibs/labltk/builtin/CVS/Entries b/otherlibs/labltk/builtin/CVS/Entries deleted file mode 100644 index 1ef8ba36..00000000 --- a/otherlibs/labltk/builtin/CVS/Entries +++ /dev/null @@ -1,47 +0,0 @@ -/LICENSE/1.2/Fri Dec 7 13:40:03 2001//Tocaml3083 -/builtin_FilePattern.ml/1.2/Fri Apr 26 12:15:35 2002//Tocaml3083 -/builtin_GetBitmap.ml/1.6/Fri Apr 26 12:15:35 2002//Tocaml3083 -/builtin_GetCursor.ml/1.7/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtin_GetPixel.ml/1.6/Fri Apr 26 12:15:35 2002//Tocaml3083 -/builtin_ScrollValue.ml/1.7/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtin_bind.ml/1.12/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtin_bindtags.ml/1.7/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtin_font.ml/1.3/Tue Jul 8 08:51:13 2003//Tocaml3083 -/builtin_grab.ml/1.3/Tue Jul 8 08:51:13 2003//Tocaml3083 -/builtin_index.ml/1.7/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtin_palette.ml/1.6/Fri Apr 26 12:15:36 2002//Tocaml3083 -/builtin_text.ml/1.7/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtina_empty.ml/1.3/Tue Nov 30 14:59:26 1999//Tocaml3083 -/builtinf_GetPixel.ml/1.3/Fri Apr 26 12:15:37 2002//Tocaml3083 -/builtinf_bind.ml/1.8/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtini_GetBitmap.ml/1.6/Fri Apr 26 12:15:38 2002//Tocaml3083 -/builtini_GetCursor.ml/1.6/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtini_GetPixel.ml/1.8/Fri Oct 11 18:56:18 2002//Tocaml3083 -/builtini_ScrollValue.ml/1.6/Fri Oct 11 18:56:18 2002//Tocaml3083 -/builtini_bind.ml/1.13/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtini_bindtags.ml/1.5/Fri Apr 26 12:15:39 2002//Tocaml3083 -/builtini_font.ml/1.2/Fri Apr 26 12:15:39 2002//Tocaml3083 -/builtini_grab.ml/1.2/Tue Nov 30 14:59:27 1999//Tocaml3083 -/builtini_index.ml/1.12/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtini_palette.ml/1.6/Tue Jul 23 14:11:54 2002//Tocaml3083 -/builtini_text.ml/1.11/Fri Apr 26 12:15:40 2002//Tocaml3083 -/canvas_bind.ml/1.10/Tue Jul 23 14:11:54 2002//Tocaml3083 -/canvas_bind.mli/1.7/Fri Apr 26 12:15:40 2002//Tocaml3083 -/dialog.ml/1.11/Tue Jul 23 14:11:54 2002//Tocaml3083 -/dialog.mli/1.4/Fri Apr 26 12:15:40 2002//Tocaml3083 -/image.ml/1.2/Fri Apr 26 12:15:41 2002//Tocaml3083 -/image.mli/1.2/Fri Apr 26 12:15:41 2002//Tocaml3083 -/optionmenu.ml/1.10/Tue Jul 23 14:11:54 2002//Tocaml3083 -/optionmenu.mli/1.4/Fri Apr 26 12:15:41 2002//Tocaml3083 -/rawimg.ml/1.2/Fri Apr 26 12:15:41 2002//Tocaml3083 -/rawimg.mli/1.2/Fri Apr 26 12:15:41 2002//Tocaml3083 -/report.ml/1.2/Fri Apr 26 12:15:42 2002//Tocaml3083 -/selection_handle_set.ml/1.12/Tue Jul 23 14:11:55 2002//Tocaml3083 -/selection_handle_set.mli/1.5/Fri Apr 26 12:15:42 2002//Tocaml3083 -/selection_own_set.ml/1.8/Tue Jul 23 14:11:55 2002//Tocaml3083 -/selection_own_set.mli/1.4/Fri Apr 26 12:15:42 2002//Tocaml3083 -/text_tag_bind.ml/1.8/Tue Jul 23 14:11:55 2002//Tocaml3083 -/text_tag_bind.mli/1.5/Fri Apr 26 12:15:42 2002//Tocaml3083 -/winfo_contained.ml/1.5/Fri Apr 26 12:15:42 2002//Tocaml3083 -/winfo_contained.mli/1.4/Fri Apr 26 12:15:43 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/builtin/CVS/Repository b/otherlibs/labltk/builtin/CVS/Repository deleted file mode 100644 index 2f5f1a20..00000000 --- a/otherlibs/labltk/builtin/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/builtin diff --git a/otherlibs/labltk/builtin/CVS/Root b/otherlibs/labltk/builtin/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/builtin/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/builtin/CVS/Tag b/otherlibs/labltk/builtin/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/builtin/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/camltk/CVS/Entries b/otherlibs/labltk/camltk/CVS/Entries deleted file mode 100644 index ef04a092..00000000 --- a/otherlibs/labltk/camltk/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.2/Fri Apr 26 12:15:43 2002//Tocaml3083 -/Makefile/1.5/Fri Aug 29 14:08:21 2003//Tocaml3083 -/Makefile.gen/1.4.6.1/Mon Jul 12 09:38:05 2004//Tocaml3083 -/Makefile.gen.nt/1.4/Fri Jun 7 13:31:21 2002//Tocaml3083 -/Makefile.nt/1.3/Fri Jun 7 09:49:39 2002//Tocaml3083 -/modules/1.1/Fri Apr 26 13:58:15 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/camltk/CVS/Repository b/otherlibs/labltk/camltk/CVS/Repository deleted file mode 100644 index 6ce4361b..00000000 --- a/otherlibs/labltk/camltk/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/camltk diff --git a/otherlibs/labltk/camltk/CVS/Root b/otherlibs/labltk/camltk/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/camltk/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/camltk/CVS/Tag b/otherlibs/labltk/camltk/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/camltk/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/compiler/CVS/Entries b/otherlibs/labltk/compiler/CVS/Entries deleted file mode 100644 index ce3ef33a..00000000 --- a/otherlibs/labltk/compiler/CVS/Entries +++ /dev/null @@ -1,22 +0,0 @@ -/.cvsignore/1.2/Fri Apr 26 12:15:45 2002//Tocaml3083 -/.depend/1.3/Fri Apr 26 12:15:45 2002//Tocaml3083 -/Makefile/1.7/Fri Apr 26 12:15:45 2002//Tocaml3083 -/Makefile.nt/1.5/Fri Jun 7 09:49:39 2002//Tocaml3083 -/code.mli/1.2/Fri Apr 26 12:15:45 2002//Tocaml3083 -/compile.ml/1.31/Tue Jul 8 08:50:24 2003//Tocaml3083 -/copyright/1.2/Fri Apr 26 12:15:46 2002//Tocaml3083 -/flags.ml/1.2/Fri Apr 26 12:15:46 2002//Tocaml3083 -/intf.ml/1.20/Tue Jul 23 14:11:55 2002//Tocaml3083 -/lexer.mll/1.14/Tue Jul 23 14:11:55 2002//Tocaml3083 -/maincompile.ml/1.19/Wed Oct 30 23:31:26 2002//Tocaml3083 -/parser.mly/1.9/Thu Mar 27 15:04:44 2003//Tocaml3083 -/pp.ml/1.2/Fri Apr 26 12:15:47 2002//Tocaml3083 -/ppexec.ml/1.3/Tue Jul 23 14:11:55 2002//Tocaml3083 -/pplex.mli/1.2/Fri Apr 26 12:15:47 2002//Tocaml3083 -/pplex.mll/1.3/Tue Jul 23 14:11:55 2002//Tocaml3083 -/ppparse.ml/1.3/Tue Jul 23 14:11:55 2002//Tocaml3083 -/ppyac.mly/1.2/Fri Apr 26 12:15:48 2002//Tocaml3083 -/printer.ml/1.6/Fri Apr 26 12:15:48 2002//Tocaml3083 -/tables.ml/1.20/Fri Apr 26 12:15:48 2002//Tocaml3083 -/tsort.ml/1.12/Fri Apr 26 12:15:48 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/compiler/CVS/Repository b/otherlibs/labltk/compiler/CVS/Repository deleted file mode 100644 index 6a96048b..00000000 --- a/otherlibs/labltk/compiler/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/compiler diff --git a/otherlibs/labltk/compiler/CVS/Root b/otherlibs/labltk/compiler/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/compiler/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/compiler/CVS/Tag b/otherlibs/labltk/compiler/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/compiler/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/examples_camltk/CVS/Entries b/otherlibs/labltk/examples_camltk/CVS/Entries deleted file mode 100644 index 93811837..00000000 --- a/otherlibs/labltk/examples_camltk/CVS/Entries +++ /dev/null @@ -1,16 +0,0 @@ -/.cvsignore/1.2/Fri Apr 26 12:15:49 2002//Tocaml3083 -/Makefile/1.2/Fri Apr 26 12:15:49 2002//Tocaml3083 -/Makefile.nt/1.3/Tue Jun 11 08:30:19 2002//Tocaml3083 -/addition.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/eyes.ml/1.2/Fri Apr 26 12:15:51 2002//Tocaml3083 -/fileinput.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/fileopen.ml/1.2/Fri Apr 26 12:15:51 2002//Tocaml3083 -/helloworld.ml/1.2/Fri Apr 26 12:15:51 2002//Tocaml3083 -/jptest.ml/1.2/Fri Apr 26 12:15:51 2002//Tocaml3083 -/mytext.ml/1.2/Fri Apr 26 12:15:52 2002//Tocaml3083 -/socketinput.ml/1.2/Fri Apr 26 12:15:52 2002//Tocaml3083 -/taddition.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/tetris.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/text.ml/1.2/Fri Apr 26 12:15:53 2002//Tocaml3083 -/winskel.ml/1.2/Fri Apr 26 12:15:53 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/examples_camltk/CVS/Entries.Log b/otherlibs/labltk/examples_camltk/CVS/Entries.Log deleted file mode 100644 index 375967bb..00000000 --- a/otherlibs/labltk/examples_camltk/CVS/Entries.Log +++ /dev/null @@ -1 +0,0 @@ -A D/images//// diff --git a/otherlibs/labltk/examples_camltk/CVS/Repository b/otherlibs/labltk/examples_camltk/CVS/Repository deleted file mode 100644 index 88a56195..00000000 --- a/otherlibs/labltk/examples_camltk/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/examples_camltk diff --git a/otherlibs/labltk/examples_camltk/CVS/Root b/otherlibs/labltk/examples_camltk/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/examples_camltk/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/examples_camltk/CVS/Tag b/otherlibs/labltk/examples_camltk/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/examples_camltk/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/examples_camltk/images/CVS/Entries b/otherlibs/labltk/examples_camltk/images/CVS/Entries deleted file mode 100644 index 81cf181e..00000000 --- a/otherlibs/labltk/examples_camltk/images/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/CamlBook.gif/1.2/Fri Apr 26 12:15:54 2002//Tocaml3083 -/Lambda2.back.gif/1.2/Fri Apr 26 12:15:54 2002//Tocaml3083 -/dojoji.back.gif/1.2/Fri Apr 26 12:15:55 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/examples_camltk/images/CVS/Repository b/otherlibs/labltk/examples_camltk/images/CVS/Repository deleted file mode 100644 index 201ff9de..00000000 --- a/otherlibs/labltk/examples_camltk/images/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/examples_camltk/images diff --git a/otherlibs/labltk/examples_camltk/images/CVS/Root b/otherlibs/labltk/examples_camltk/images/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/examples_camltk/images/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/examples_camltk/images/CVS/Tag b/otherlibs/labltk/examples_camltk/images/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/examples_camltk/images/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/examples_labltk/CVS/Entries b/otherlibs/labltk/examples_labltk/CVS/Entries deleted file mode 100644 index 33eacb9a..00000000 --- a/otherlibs/labltk/examples_labltk/CVS/Entries +++ /dev/null @@ -1,15 +0,0 @@ -/.cvsignore/1.3/Thu Dec 19 13:38:26 2002//Tocaml3083 -/Lambda2.back.gif/1.2/Fri Apr 26 12:15:56 2002//Tocaml3083 -/Makefile/1.3/Thu Dec 19 13:38:29 2002//Tocaml3083 -/Makefile.nt/1.3/Tue Jun 11 08:30:19 2002//Tocaml3083 -/README/1.2/Fri Apr 26 12:15:57 2002//Tocaml3083 -/calc.ml/1.3/Fri Oct 11 18:56:18 2002//Tocaml3083 -/clock.ml/1.2/Fri Apr 26 12:15:58 2002//Tocaml3083 -/demo.ml/1.2/Fri Apr 26 12:15:58 2002//Tocaml3083 -/eyes.ml/1.2/Fri Apr 26 12:15:58 2002//Tocaml3083 -/hello.ml/1.2/Fri Apr 26 12:15:58 2002//Tocaml3083 -/hello.tcl/1.3/Thu Aug 21 13:51:29 2003//Tocaml3083 -/lang.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/taquin.ml/1.2/Fri Apr 26 12:15:59 2002//Tocaml3083 -/tetris.ml/1.4/Sat Jun 12 03:20:00 2004//Tocaml3083 -D diff --git a/otherlibs/labltk/examples_labltk/CVS/Repository b/otherlibs/labltk/examples_labltk/CVS/Repository deleted file mode 100644 index a6c392bf..00000000 --- a/otherlibs/labltk/examples_labltk/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/examples_labltk diff --git a/otherlibs/labltk/examples_labltk/CVS/Root b/otherlibs/labltk/examples_labltk/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/examples_labltk/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/examples_labltk/CVS/Tag b/otherlibs/labltk/examples_labltk/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/examples_labltk/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/frx/CVS/Entries b/otherlibs/labltk/frx/CVS/Entries deleted file mode 100644 index 2ad1fcbc..00000000 --- a/otherlibs/labltk/frx/CVS/Entries +++ /dev/null @@ -1,46 +0,0 @@ -/.depend/1.2/Fri Apr 26 12:16:00 2002//Tocaml3083 -/Makefile/1.2/Fri Apr 26 12:16:00 2002//Tocaml3083 -/Makefile.nt/1.3/Fri Jun 7 09:49:39 2002//Tocaml3083 -/README/1.2/Fri Apr 26 12:16:01 2002//Tocaml3083 -/frx_after.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/frx_after.mli/1.2/Fri Apr 26 12:16:01 2002//Tocaml3083 -/frx_color.ml/1.2/Fri Apr 26 12:16:01 2002//Tocaml3083 -/frx_color.mli/1.2/Fri Apr 26 12:16:01 2002//Tocaml3083 -/frx_ctext.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/frx_ctext.mli/1.2/Fri Apr 26 12:16:02 2002//Tocaml3083 -/frx_dialog.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/frx_dialog.mli/1.2/Fri Apr 26 12:16:02 2002//Tocaml3083 -/frx_entry.ml/1.2/Fri Apr 26 12:16:02 2002//Tocaml3083 -/frx_entry.mli/1.2/Fri Apr 26 12:16:02 2002//Tocaml3083 -/frx_fileinput.ml/1.2/Fri Apr 26 12:16:03 2002//Tocaml3083 -/frx_fillbox.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/frx_fillbox.mli/1.2/Fri Apr 26 12:16:03 2002//Tocaml3083 -/frx_fit.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/frx_fit.mli/1.2/Fri Apr 26 12:16:03 2002//Tocaml3083 -/frx_focus.ml/1.2/Fri Apr 26 12:16:04 2002//Tocaml3083 -/frx_focus.mli/1.2/Fri Apr 26 12:16:04 2002//Tocaml3083 -/frx_font.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/frx_font.mli/1.2/Fri Apr 26 12:16:04 2002//Tocaml3083 -/frx_group.ml/1.2/Fri Apr 26 12:16:04 2002//Tocaml3083 -/frx_lbutton.ml/1.2/Fri Apr 26 12:16:05 2002//Tocaml3083 -/frx_lbutton.mli/1.2/Fri Apr 26 12:16:05 2002//Tocaml3083 -/frx_listbox.ml/1.3/Tue Jul 23 14:11:56 2002//Tocaml3083 -/frx_listbox.mli/1.2/Fri Apr 26 12:16:05 2002//Tocaml3083 -/frx_mem.ml/1.3/Tue Jul 23 14:11:58 2002//Tocaml3083 -/frx_mem.mli/1.2/Fri Apr 26 12:16:06 2002//Tocaml3083 -/frx_misc.ml/1.3/Tue Jul 23 14:11:58 2002//Tocaml3083 -/frx_misc.mli/1.2/Fri Apr 26 12:16:06 2002//Tocaml3083 -/frx_req.ml/1.3/Tue Jul 23 14:11:58 2002//Tocaml3083 -/frx_req.mli/1.2/Fri Apr 26 12:16:07 2002//Tocaml3083 -/frx_rpc.ml/1.3/Tue Jul 23 14:11:58 2002//Tocaml3083 -/frx_rpc.mli/1.2/Fri Apr 26 12:16:08 2002//Tocaml3083 -/frx_selection.ml/1.2/Fri Apr 26 12:16:09 2002//Tocaml3083 -/frx_selection.mli/1.2/Fri Apr 26 12:16:09 2002//Tocaml3083 -/frx_synth.ml/1.3/Tue Jul 23 14:11:58 2002//Tocaml3083 -/frx_synth.mli/1.2/Fri Apr 26 12:16:09 2002//Tocaml3083 -/frx_text.ml/1.3/Tue Jul 23 14:11:58 2002//Tocaml3083 -/frx_text.mli/1.2/Fri Apr 26 12:16:10 2002//Tocaml3083 -/frx_toplevel.mli/1.2/Fri Apr 26 12:16:10 2002//Tocaml3083 -/frx_widget.ml/1.2/Fri Apr 26 12:16:10 2002//Tocaml3083 -/frx_widget.mli/1.2/Fri Apr 26 12:16:10 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/frx/CVS/Repository b/otherlibs/labltk/frx/CVS/Repository deleted file mode 100644 index 5e895af6..00000000 --- a/otherlibs/labltk/frx/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/frx diff --git a/otherlibs/labltk/frx/CVS/Root b/otherlibs/labltk/frx/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/frx/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/frx/CVS/Tag b/otherlibs/labltk/frx/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/frx/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/jpf/CVS/Entries b/otherlibs/labltk/jpf/CVS/Entries deleted file mode 100644 index 8a271e5a..00000000 --- a/otherlibs/labltk/jpf/CVS/Entries +++ /dev/null @@ -1,13 +0,0 @@ -/Makefile/1.10/Fri Apr 26 12:16:11 2002//Tocaml3083 -/Makefile.nt/1.6/Fri Jun 7 09:49:39 2002//Tocaml3083 -/README/1.2/Fri Apr 26 12:16:11 2002//Tocaml3083 -/balloon.ml/1.15/Fri Apr 26 12:16:12 2002//Tocaml3083 -/balloon.mli/1.7/Fri Apr 26 12:16:12 2002//Tocaml3083 -/balloontest.ml/1.8/Fri Apr 26 12:16:12 2002//Tocaml3083 -/fileselect.ml/1.19/Fri Apr 26 12:16:12 2002//Tocaml3083 -/fileselect.mli/1.7/Fri Apr 26 12:16:12 2002//Tocaml3083 -/jpf_font.ml/1.3/Tue Jul 23 14:11:59 2002//Tocaml3083 -/jpf_font.mli/1.2/Fri Apr 26 12:16:13 2002//Tocaml3083 -/shell.ml/1.3/Tue Jul 23 14:11:59 2002//Tocaml3083 -/shell.mli/1.2/Fri Apr 26 12:16:13 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/jpf/CVS/Repository b/otherlibs/labltk/jpf/CVS/Repository deleted file mode 100644 index 06329853..00000000 --- a/otherlibs/labltk/jpf/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/jpf diff --git a/otherlibs/labltk/jpf/CVS/Root b/otherlibs/labltk/jpf/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/jpf/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/jpf/CVS/Tag b/otherlibs/labltk/jpf/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/jpf/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/labltk/CVS/Entries b/otherlibs/labltk/labltk/CVS/Entries deleted file mode 100644 index 2bb165c4..00000000 --- a/otherlibs/labltk/labltk/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.2/Fri Apr 26 12:16:13 2002//Tocaml3083 -/Makefile/1.5/Fri Aug 29 14:08:21 2003//Tocaml3083 -/Makefile.gen/1.4.6.1/Mon Jul 12 09:38:05 2004//Tocaml3083 -/Makefile.gen.nt/1.4/Fri Jun 7 13:31:21 2002//Tocaml3083 -/Makefile.nt/1.3/Fri Jun 7 09:49:39 2002//Tocaml3083 -/modules/1.1/Fri Apr 26 13:58:17 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/labltk/CVS/Repository b/otherlibs/labltk/labltk/CVS/Repository deleted file mode 100644 index 1ac0884e..00000000 --- a/otherlibs/labltk/labltk/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/labltk diff --git a/otherlibs/labltk/labltk/CVS/Root b/otherlibs/labltk/labltk/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/labltk/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/labltk/CVS/Tag b/otherlibs/labltk/labltk/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/labltk/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/lib/CVS/Entries b/otherlibs/labltk/lib/CVS/Entries deleted file mode 100644 index 5ab3c1d8..00000000 --- a/otherlibs/labltk/lib/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/.cvsignore/1.8/Wed Jul 10 12:57:50 2002//Tocaml3083 -/Makefile/1.32/Wed Apr 2 02:35:19 2003//Tocaml3083 -/Makefile.nt/1.11/Fri Jul 12 15:31:40 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/lib/CVS/Repository b/otherlibs/labltk/lib/CVS/Repository deleted file mode 100644 index 7e68a092..00000000 --- a/otherlibs/labltk/lib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/lib diff --git a/otherlibs/labltk/lib/CVS/Root b/otherlibs/labltk/lib/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/lib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/lib/CVS/Tag b/otherlibs/labltk/lib/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/lib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/support/CVS/Entries b/otherlibs/labltk/support/CVS/Entries deleted file mode 100644 index a4d55e48..00000000 --- a/otherlibs/labltk/support/CVS/Entries +++ /dev/null @@ -1,37 +0,0 @@ -/.depend/1.4/Fri Apr 26 12:16:15 2002//Tocaml3083 -/Makefile/1.15/Thu Jun 27 11:36:01 2002//Tocaml3083 -/Makefile.common/1.21.6.1/Mon Jul 12 09:38:05 2004//Tocaml3083 -/Makefile.common.nt/1.9/Wed Jul 3 09:45:44 2002//Tocaml3083 -/Makefile.nt/1.10/Thu Jul 10 09:18:02 2003//Tocaml3083 -/camltk.h/1.11/Thu Jul 10 09:18:02 2003//Tocaml3083 -/camltkwrap.ml/1.2/Fri Apr 26 12:16:16 2002//Tocaml3083 -/camltkwrap.mli/1.3/Tue Jul 23 14:11:59 2002//Tocaml3083 -/cltkCaml.c/1.8/Fri Apr 26 12:16:17 2002//Tocaml3083 -/cltkDMain.c/1.6/Fri Dec 7 13:40:08 2001//Tocaml3083 -/cltkEval.c/1.14/Mon May 17 17:10:00 2004//Tocaml3083 -/cltkEvent.c/1.8/Fri Apr 26 12:16:17 2002//Tocaml3083 -/cltkFile.c/1.12/Fri Apr 26 12:16:17 2002//Tocaml3083 -/cltkImg.c/1.5/Mon May 17 17:10:00 2004//Tocaml3083 -/cltkMain.c/1.13/Tue Jul 23 14:11:59 2002//Tocaml3083 -/cltkMisc.c/1.10/Tue Jul 23 14:11:59 2002//Tocaml3083 -/cltkTimer.c/1.9/Fri Apr 26 12:16:19 2002//Tocaml3083 -/cltkUtf.c/1.2/Fri Apr 26 12:16:19 2002//Tocaml3083 -/cltkVar.c/1.9/Tue Jul 23 14:11:59 2002//Tocaml3083 -/cltkWait.c/1.9/Tue Jul 23 14:11:59 2002//Tocaml3083 -/fileevent.ml/1.12/Fri Apr 26 12:16:19 2002//Tocaml3083 -/fileevent.mli/1.7/Fri Apr 26 12:16:20 2002//Tocaml3083 -/protocol.ml/1.20/Tue Jul 23 14:11:59 2002//Tocaml3083 -/protocol.mli/1.11/Fri May 3 12:56:59 2002//Tocaml3083 -/rawwidget.ml/1.3/Tue Jul 23 14:11:59 2002//Tocaml3083 -/rawwidget.mli/1.2/Fri Apr 26 12:16:20 2002//Tocaml3083 -/slave.ml/1.5/Fri Apr 26 12:16:21 2002//Tocaml3083 -/support.ml/1.9/Fri Apr 26 12:16:21 2002//Tocaml3083 -/support.mli/1.8/Fri Apr 26 12:16:21 2002//Tocaml3083 -/textvariable.ml/1.16/Tue Jul 23 14:11:59 2002//Tocaml3083 -/textvariable.mli/1.10/Fri Apr 26 12:16:21 2002//Tocaml3083 -/timer.ml/1.10/Thu Sep 12 10:12:26 2002//Tocaml3083 -/timer.mli/1.8/Fri Apr 26 12:16:21 2002//Tocaml3083 -/tkwait.ml/1.7/Fri Apr 26 12:16:21 2002//Tocaml3083 -/widget.ml/1.16/Fri Apr 26 12:16:22 2002//Tocaml3083 -/widget.mli/1.7/Fri Apr 26 12:16:22 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/support/CVS/Repository b/otherlibs/labltk/support/CVS/Repository deleted file mode 100644 index da7a9d42..00000000 --- a/otherlibs/labltk/support/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/support diff --git a/otherlibs/labltk/support/CVS/Root b/otherlibs/labltk/support/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/support/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/support/CVS/Tag b/otherlibs/labltk/support/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/support/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/labltk/tkanim/CVS/Entries b/otherlibs/labltk/tkanim/CVS/Entries deleted file mode 100644 index 08e9a088..00000000 --- a/otherlibs/labltk/tkanim/CVS/Entries +++ /dev/null @@ -1,13 +0,0 @@ -/.cvsignore/1.1/Mon Apr 28 08:10:52 2003//Tocaml3083 -/.depend/1.2/Fri Apr 26 12:16:22 2002//Tocaml3083 -/Makefile/1.8/Sat May 8 16:04:39 2004//Tocaml3083 -/Makefile.nt/1.4/Thu Jun 27 11:36:01 2002//Tocaml3083 -/README/1.2/Fri Apr 26 12:16:23 2002//Tocaml3083 -/cltkaniminit.c/1.5/Thu Jul 10 09:18:02 2003//Tocaml3083 -/gifanimtest.ml/1.3/Tue Jul 23 14:12:00 2002//Tocaml3083 -/mmm.anim.gif/1.2/Fri Apr 26 12:16:24 2002//Tocaml3083 -/tkAnimGIF.c/1.6/Mon May 17 17:10:00 2004//Tocaml3083 -/tkAppInit.c/1.3/Tue Jul 23 14:12:00 2002//Tocaml3083 -/tkanim.ml/1.2/Fri Apr 26 12:16:25 2002//Tocaml3083 -/tkanim.mli/1.3/Tue Jul 23 14:12:00 2002//Tocaml3083 -D diff --git a/otherlibs/labltk/tkanim/CVS/Repository b/otherlibs/labltk/tkanim/CVS/Repository deleted file mode 100644 index 63216bec..00000000 --- a/otherlibs/labltk/tkanim/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/labltk/tkanim diff --git a/otherlibs/labltk/tkanim/CVS/Root b/otherlibs/labltk/tkanim/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/labltk/tkanim/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/labltk/tkanim/CVS/Tag b/otherlibs/labltk/tkanim/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/labltk/tkanim/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/num/CVS/Entries b/otherlibs/num/CVS/Entries deleted file mode 100644 index 890ec10f..00000000 --- a/otherlibs/num/CVS/Entries +++ /dev/null @@ -1,34 +0,0 @@ -/.cvsignore/1.5/Thu Oct 11 12:04:38 2001//Tocaml3083 -/.depend/1.13.4.1/Tue Feb 22 14:33:37 2005//Tocaml3083 -/.depend.nt/1.3/Tue Aug 28 14:47:24 2001//Tocaml3083 -/Makefile/1.30/Fri Oct 24 09:17:31 2003//Tocaml3083 -/Makefile.nt/1.17.4.1/Mon Nov 29 08:50:23 2004//Tocaml3083 -/README/1.5/Sun Oct 26 09:35:41 2003//Tocaml3083 -/arith_flags.ml/1.4/Fri Dec 7 13:40:14 2001//Tocaml3083 -/arith_flags.mli/1.5/Fri Dec 7 13:40:14 2001//Tocaml3083 -/arith_status.ml/1.4/Fri Dec 7 13:40:14 2001//Tocaml3083 -/arith_status.mli/1.6/Fri Dec 7 13:40:14 2001//Tocaml3083 -/big_int.ml/1.18.4.1/Thu Mar 10 14:53:02 2005//Tocaml3083 -/big_int.mli/1.10/Thu Mar 14 20:12:54 2002//Tocaml3083 -/bng.c/1.2.6.1/Wed Dec 22 16:17:44 2004//Tocaml3083 -/bng.h/1.2/Fri Nov 7 07:59:09 2003//Tocaml3083 -/bng_alpha.c/1.1/Fri Oct 24 09:17:32 2003//Tocaml3083 -/bng_amd64.c/1.1/Fri Oct 24 09:17:33 2003//Tocaml3083 -/bng_digit.c/1.1/Fri Oct 24 09:17:33 2003//Tocaml3083 -/bng_ia32.c/1.3/Sun Oct 26 09:51:11 2003//Tocaml3083 -/bng_mips.c/1.1/Fri Oct 24 09:17:33 2003//Tocaml3083 -/bng_ppc.c/1.2/Mon Oct 27 08:41:46 2003//Tocaml3083 -/bng_sparc.c/1.1/Fri Oct 24 09:17:34 2003//Tocaml3083 -/int_misc.ml/1.6/Mon May 27 12:06:49 2002//Tocaml3083 -/int_misc.mli/1.4/Fri Dec 7 13:40:15 2001//Tocaml3083 -/nat.h/1.6/Fri Oct 24 09:17:34 2003//Tocaml3083 -/nat.ml/1.14/Fri Nov 21 15:59:38 2003//Tocaml3083 -/nat.mli/1.11/Fri Nov 7 07:59:09 2003//Tocaml3083 -/nat_stubs.c/1.14.4.1/Wed Dec 22 16:17:44 2004//Tocaml3083 -/num.ml/1.6/Fri Dec 7 13:40:16 2001//Tocaml3083 -/num.mli/1.8/Fri Dec 28 23:15:23 2001//Tocaml3083 -/ratio.ml/1.6/Fri Dec 7 13:40:16 2001//Tocaml3083 -/ratio.mli/1.4/Fri Dec 7 13:40:16 2001//Tocaml3083 -/string_misc.ml/1.4/Fri Dec 7 13:40:16 2001//Tocaml3083 -/string_misc.mli/1.4/Fri Dec 7 13:40:17 2001//Tocaml3083 -D diff --git a/otherlibs/num/CVS/Entries.Log b/otherlibs/num/CVS/Entries.Log deleted file mode 100644 index 60e90cd1..00000000 --- a/otherlibs/num/CVS/Entries.Log +++ /dev/null @@ -1,2 +0,0 @@ -A D/bignum//// -A D/test//// diff --git a/otherlibs/num/CVS/Repository b/otherlibs/num/CVS/Repository deleted file mode 100644 index 3c45a8c4..00000000 --- a/otherlibs/num/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/num diff --git a/otherlibs/num/CVS/Root b/otherlibs/num/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/num/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/num/CVS/Tag b/otherlibs/num/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/num/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/num/big_int.ml b/otherlibs/num/big_int.ml index 843a3880..fa8098c0 100644 --- a/otherlibs/num/big_int.ml +++ b/otherlibs/num/big_int.ml @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: big_int.ml,v 1.18.4.1 2005/03/10 14:53:02 doligez Exp $ *) +(* $Id: big_int.ml,v 1.18.4.3 2005/07/19 13:21:08 xleroy Exp $ *) open Int_misc open Nat @@ -210,10 +210,14 @@ let quomod_big_int bi1 bi2 = and size_bi2 = num_digits_big_int bi2 in match compare_nat (bi1.abs_value) 0 size_bi1 (bi2.abs_value) 0 size_bi2 with - -1 -> (* 1/2 -> 0, reste 1, -1/2 -> -1, reste 1 *) - if bi1.sign = -1 - then (big_int_of_int(-1), add_big_int bi2 bi1) - else (big_int_of_int 0, bi1) + -1 -> (* 1/2 -> 0, reste 1, -1/2 -> -1, reste 1 *) + (* 1/-2 -> 0, reste 1, -1/-2 -> 1, reste 1 *) + if bi1.sign >= 0 then + (big_int_of_int 0, bi1) + else if bi2.sign >= 0 then + (big_int_of_int(-1), add_big_int bi2 bi1) + else + (big_int_of_int 1, sub_big_int bi1 bi2) | 0 -> (big_int_of_int (bi1.sign * bi2.sign), zero_big_int) | _ -> let bi1_negatif = bi1.sign = -1 in let size_q = @@ -363,7 +367,8 @@ let big_int_of_string s = sys_big_int_of_string s 0 (String.length s) let power_base_nat base nat off len = - if is_zero_nat nat off len then nat_of_int 1 else + if base = 0 then nat_of_int 0 else + if is_zero_nat nat off len || base = 1 then nat_of_int 1 else let power_base = make_nat (succ length_of_digit) in let (pmax, pint) = make_power_base base power_base in let (n, rem) = @@ -422,26 +427,23 @@ let power_big_int_positive_int bi n = and res2 = make_nat res_len and l = num_bits_int n - 2 in let p = ref (1 lsl l) in - blit_nat res 0 (bi.abs_value) 0 bi_len; - for i = l downto 0 do - let len = num_digits_nat res 0 res_len in - let len2 = min res_len (2 * len) in - let succ_len2 = succ len2 in - square_nat res2 0 len2 res 0 len; - (if n land !p > 0 - then (set_to_zero_nat res 0 len; - mult_nat res 0 succ_len2 - res2 0 len2 (bi.abs_value) 0 bi_len; - set_to_zero_nat res2 0 len2) - else blit_nat res 0 res2 0 len2; - set_to_zero_nat res2 0 len2); - p := !p lsr 1 - done; - {sign = if bi.sign >= 0 - then bi.sign - else if n land 1 = 0 - then 1 - else -1; + blit_nat res 0 bi.abs_value 0 bi_len; + for i = l downto 0 do + let len = num_digits_nat res 0 res_len in + let len2 = min res_len (2 * len) in + set_to_zero_nat res2 0 len2; + square_nat res2 0 len2 res 0 len; + if n land !p > 0 then begin + let lenp = min res_len (len2 + bi_len) in + set_to_zero_nat res 0 lenp; + ignore(mult_nat res 0 lenp res2 0 len2 (bi.abs_value) 0 bi_len) + end else begin + blit_nat res 0 res2 0 len2 + end; + p := !p lsr 1 + done; + {sign = if bi.sign >= 0 then bi.sign + else if n land 1 = 0 then 1 else -1; abs_value = res} let power_int_positive_big_int i bi = @@ -461,39 +463,21 @@ let power_big_int_positive_big_int bi1 bi2 = match sign_big_int bi2 with 0 -> unit_big_int | -1 -> invalid_arg "power_big_int_positive_big_int" - | _ -> let nat = bi2.abs_value - and off = 0 - and len_bi2 = num_digits_big_int bi2 in - let bi1_len = num_digits_big_int bi1 in - let res_len = int_of_big_int (mult_int_big_int bi1_len bi2) in - let res = make_nat res_len - and res2 = make_nat res_len - and l = (len_bi2 * length_of_digit - - num_leading_zero_bits_in_digit nat (pred len_bi2)) - 2 in - let p = ref (1 lsl l) in - blit_nat res 0 (bi1.abs_value) 0 bi1_len; - for i = l downto 0 do - let nat = copy_nat bi2.abs_value 0 len_bi2 in - let len = num_digits_nat res 0 res_len in - let len2 = min res_len (2 * len) in - let succ_len2 = succ len2 in - square_nat res2 0 len2 res 0 len; - land_digit_nat nat 0 (nat_of_int !p) 0; - if is_zero_nat nat 0 len_bi2 - then (blit_nat res 0 res2 0 len2; - set_to_zero_nat res2 0 len2) - else (set_to_zero_nat res 0 len; - mult_nat res 0 succ_len2 - res2 0 len2 (bi1.abs_value) 0 bi1_len; - set_to_zero_nat res2 0 len2); - p := !p lsr 1 - done; - {sign = if bi1.sign >= 0 - then bi1.sign - else if is_digit_odd (bi2.abs_value) 0 - then -1 - else 1; - abs_value = res} + | _ -> try + power_big_int_positive_int bi1 (int_of_big_int bi2) + with Failure _ -> + try + power_int_positive_big_int (int_of_big_int bi1) bi2 + with Failure _ -> + raise Out_of_memory + (* If neither bi1 nor bi2 is a small integer, bi1^bi2 is not + representable. Indeed, on a 32-bit platform, + |bi1| >= 2 and |bi2| >= 2^30, hence bi1^bi2 has at least + 2^30 bits = 2^27 bytes, greater than the max size of + allocated blocks. On a 64-bit platform, + |bi1| >= 2 and |bi2| >= 2^62, hence bi1^bi2 has at least + 2^62 bits = 2^59 bytes, greater than the max size of + allocated blocks. *) (* base_power_big_int compute bi*base^n *) let base_power_big_int base n bi = diff --git a/otherlibs/num/bignum/CVS/Entries b/otherlibs/num/bignum/CVS/Entries deleted file mode 100644 index ba7e2683..00000000 --- a/otherlibs/num/bignum/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.cvsignore/1.1/Tue Dec 17 13:23:18 1996//Tocaml3083 -D diff --git a/otherlibs/num/bignum/CVS/Entries.Log b/otherlibs/num/bignum/CVS/Entries.Log deleted file mode 100644 index f38f88df..00000000 --- a/otherlibs/num/bignum/CVS/Entries.Log +++ /dev/null @@ -1,8 +0,0 @@ -A D/c//// -A D/h//// -A D/o//// -A D/s//// -R D/s//// -R D/o//// -R D/h//// -R D/c//// diff --git a/otherlibs/num/bignum/CVS/Repository b/otherlibs/num/bignum/CVS/Repository deleted file mode 100644 index 63a240af..00000000 --- a/otherlibs/num/bignum/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/num/bignum diff --git a/otherlibs/num/bignum/CVS/Root b/otherlibs/num/bignum/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/num/bignum/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/num/bignum/CVS/Tag b/otherlibs/num/bignum/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/num/bignum/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/num/bng_ia32.c b/otherlibs/num/bng_ia32.c index 03e5ae9d..c6a7edd7 100644 --- a/otherlibs/num/bng_ia32.c +++ b/otherlibs/num/bng_ia32.c @@ -11,7 +11,7 @@ /* */ /***********************************************************************/ -/* $Id: bng_ia32.c,v 1.3 2003/10/26 09:51:11 xleroy Exp $ */ +/* $Id: bng_ia32.c,v 1.3.6.1 2005/07/20 08:18:59 xleroy Exp $ */ /* Code specific to the Intel IA32 (x86) architecture. */ @@ -121,8 +121,8 @@ static bngdigit bng_ia32_mult_add_digit "leal 4(%1), %1 \n\t" "decl %2 \n\t" "jnz 1b" - : "+&r" (a), "+&r" (b), "+&rm" (blen), "+&r" (out) - : "rm" (d) + : "+&r" (a), "+&r" (b), "+&r" (blen), "=m" (out) + : "m" (d) : "eax", "edx"); } if (alen == 0) return out; @@ -164,8 +164,8 @@ static bngdigit bng_ia32_mult_sub_digit "leal 4(%1), %1 \n\t" "decl %2 \n\t" "jnz 1b" - : "+&r" (a), "+&r" (b), "+&rm" (blen), "+&rm" (out), "=&r" (tmp) - : "rm" (d) + : "+&r" (a), "+&r" (b), "=m" (blen), "=m" (out), "=&r" (tmp) + : "m" (d) : "eax", "edx"); } if (alen == 0) return out; diff --git a/otherlibs/num/test/CVS/Entries b/otherlibs/num/test/CVS/Entries deleted file mode 100644 index 3d646917..00000000 --- a/otherlibs/num/test/CVS/Entries +++ /dev/null @@ -1,12 +0,0 @@ -/.depend/1.1/Mon Nov 6 13:09:04 1995//Tocaml3083 -/Makefile/1.9/Fri Oct 24 09:17:46 2003//Tocaml3083 -/Makefile.nt/1.9/Thu Apr 1 13:10:12 2004//Tocaml3083 -/end_test.ml/1.2/Tue Dec 4 14:24:43 2001//Tocaml3083 -/test.ml/1.4/Tue Dec 4 14:24:43 2001//Tocaml3083 -/test_big_ints.ml/1.8/Thu Mar 14 20:12:54 2002//Tocaml3083 -/test_bng.c/1.2/Fri Nov 7 07:59:10 2003//Tocaml3083 -/test_io.ml/1.1/Thu Feb 10 14:04:59 2000//Tocaml3083 -/test_nats.ml/1.4/Mon May 27 12:06:28 2002//Tocaml3083 -/test_nums.ml/1.1/Mon Nov 6 10:34:19 1995//Tocaml3083 -/test_ratios.ml/1.2/Thu Dec 28 13:05:10 2000//Tocaml3083 -D diff --git a/otherlibs/num/test/CVS/Repository b/otherlibs/num/test/CVS/Repository deleted file mode 100644 index 6b210ab7..00000000 --- a/otherlibs/num/test/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/num/test diff --git a/otherlibs/num/test/CVS/Root b/otherlibs/num/test/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/num/test/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/num/test/CVS/Tag b/otherlibs/num/test/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/num/test/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/num/test/test_big_ints.ml b/otherlibs/num/test/test_big_ints.ml index 61e9ae4d..9d699bd0 100644 --- a/otherlibs/num/test/test_big_ints.ml +++ b/otherlibs/num/test/test_big_ints.ml @@ -237,6 +237,27 @@ failwith_test 17 Division_by_zero ;; +let (quotient, modulo) = + quomod_big_int (big_int_of_int 10) (big_int_of_int 20) in + test 18 eq_big_int (quotient, big_int_of_int 0) && + test 19 eq_big_int (modulo, big_int_of_int 10);; + +let (quotient, modulo) = + quomod_big_int (big_int_of_int (-10)) (big_int_of_int 20) in + test 20 eq_big_int (quotient, big_int_of_int (-1)) && + test 21 eq_big_int (modulo, big_int_of_int 10);; + +let (quotient, modulo) = + quomod_big_int (big_int_of_int 10) (big_int_of_int (-20)) in + test 22 eq_big_int (quotient, big_int_of_int 0) && + test 23 eq_big_int (modulo, big_int_of_int 10);; + +let (quotient, modulo) = + quomod_big_int (big_int_of_int (-10)) (big_int_of_int (-20)) in + test 24 eq_big_int (quotient, big_int_of_int 1) && + test 25 eq_big_int (modulo, big_int_of_int 10);; + + testing_function "gcd_big_int";; test 1 @@ -437,6 +458,103 @@ eq_big_int (power_int_positive_big_int 3 (big_int_of_string "47"), big_int_of_string "26588814358957503287787");; +test 4 +eq_big_int + (power_int_positive_big_int 1 (big_int_of_string "1000000000000000000000"), + big_int_of_int 1);; + +test 5 +eq_big_int + (power_int_positive_big_int (-1) (big_int_of_string "1000000000000000000000"), + big_int_of_int 1);; + +test 6 +eq_big_int + (power_int_positive_big_int (-1) (big_int_of_string "1000000000000000000001"), + big_int_of_int (-1));; + +test 7 +eq_big_int + (power_int_positive_big_int 0 (big_int_of_string "1000000000000000000000"), + big_int_of_int 0);; + +testing_function "power_big_int_positive_int";; + +test 1 +eq_big_int (power_big_int_positive_int (big_int_of_int 2) 10, + big_int_of_int 1024);; +test 2 +eq_big_int + (power_big_int_positive_int (big_int_of_int 100) 20, + big_int_of_string "10000000000000000000000000000000000000000");; + +test 3 +eq_big_int + (power_big_int_positive_int (big_int_of_string "3") 47, + big_int_of_string "26588814358957503287787");; + +test 4 +eq_big_int + (power_big_int_positive_int (big_int_of_string "200000000000000") 34, + big_int_of_string +"17179869184000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000");; + +test 5 +eq_big_int + (power_big_int_positive_int (big_int_of_string "2197609328765") 243, + big_int_of_string +"12415638672345366257764851943822299490113545698929764576040102857365\ +27920436565335427676982530274588056944387957287793378051852205028658\ +73008292720317554332284838709453634119919368441951233982592586680844\ +20765201140575612595182857026804842796931784944918059630667794516774\ +58498235838834599150657873894983300999081942159304585449505963892008\ +97855706440206825609657816209327492197604711437269361628626691080334\ +38432768885637928268354258860147333786379766583179851226375449161073\ +10396958979998161989562418169797611757651190037273397850239552735199\ +63719988832594486235837899145390948533078339399890545062510060406048\ +61331200657727576638170520036143007285549092686618686739320973444703\ +33342725604091818763255601206325426337211467746377586080108631634250\ +11232258578207762608797108802386708549785680783113606089879687396654\ +54004281165259352412815385041917713969718327109245777066079665194617\ +29230093411050053217775067781725651590160086483960457766025246936489\ +92234225900994076609973190516835778346886551506344097474301175288686\ +25662752919718480402972207084177612056491949911377568680526080633587\ +33230060757162252611388973328501680433819585006035301408574879645573\ +47126018243568976860515247053858204554293343161581801846081341003624\ +22906934772131205632200433218165757307182816260714026614324014553342\ +77303133877636489457498062819003614421295692889321460150481573909330\ +77301946991278225819671075907191359721824291923283322225480199446258\ +03302645587072103949599624444368321734975586414930425964782010567575\ +43333331963876294983400462908871215572514487548352925949663431718284\ +14589547315559936497408670231851521193150991888789948397029796279240\ +53117024758684807981605608837291399377902947471927467827290844733264\ +70881963357258978768427852958888430774360783419404195056122644913454\ +24537375432013012467418602205343636983874410969339344956536142566292\ +67710105053213729008973121773436382170956191942409859915563249876601\ +97309463059908818473774872128141896864070835259683384180928526600888\ +17480854811931632353621014638284918544379784608050029606475137979896\ +79160729736625134310450643341951675749112836007180865039256361941093\ +99844921135320096085772541537129637055451495234892640418746420370197\ +76655592198723057553855194566534999101921182723711243608938705766658\ +35660299983828999383637476407321955462859142012030390036241831962713\ +40429407146441598507165243069127531565881439971034178400174881243483\ +00001434950666035560134867554719667076133414445044258086968145695386\ +00575860256380332451841441394317283433596457253185221717167880159573\ +60478649571700878049257386910142909926740023800166057094445463624601\ +79490246367497489548435683835329410376623483996271147060314994344869\ +89606855219181727424853876740423210027967733989284801813769926906846\ +45570461348452758744643550541290031199432061998646306091218518879810\ +17848488755494879341886158379140088252013009193050706458824793551984\ +39285914868159111542391208521561221610797141925061986437418522494485\ +59871215531081904861310222368465288125816137210222223075106739997863\ +76953125");; testing_function "power_big_int_positive_big_int";; @@ -456,6 +574,95 @@ eq_big_int (big_int_of_string "3") (big_int_of_string "47"), big_int_of_string "26588814358957503287787");; +test 4 +eq_big_int + (power_big_int_positive_big_int + (big_int_of_string "200000000000000") (big_int_of_int 34), + big_int_of_string +"17179869184000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000000000000000000000000000000000000000000000000000000000000\ +00000000000");; + +test 5 +eq_big_int + (power_big_int_positive_big_int (big_int_of_string "2197609328765") + (big_int_of_string "243"), + big_int_of_string +"12415638672345366257764851943822299490113545698929764576040102857365\ +27920436565335427676982530274588056944387957287793378051852205028658\ +73008292720317554332284838709453634119919368441951233982592586680844\ +20765201140575612595182857026804842796931784944918059630667794516774\ +58498235838834599150657873894983300999081942159304585449505963892008\ +97855706440206825609657816209327492197604711437269361628626691080334\ +38432768885637928268354258860147333786379766583179851226375449161073\ +10396958979998161989562418169797611757651190037273397850239552735199\ +63719988832594486235837899145390948533078339399890545062510060406048\ +61331200657727576638170520036143007285549092686618686739320973444703\ +33342725604091818763255601206325426337211467746377586080108631634250\ +11232258578207762608797108802386708549785680783113606089879687396654\ +54004281165259352412815385041917713969718327109245777066079665194617\ +29230093411050053217775067781725651590160086483960457766025246936489\ +92234225900994076609973190516835778346886551506344097474301175288686\ +25662752919718480402972207084177612056491949911377568680526080633587\ +33230060757162252611388973328501680433819585006035301408574879645573\ +47126018243568976860515247053858204554293343161581801846081341003624\ +22906934772131205632200433218165757307182816260714026614324014553342\ +77303133877636489457498062819003614421295692889321460150481573909330\ +77301946991278225819671075907191359721824291923283322225480199446258\ +03302645587072103949599624444368321734975586414930425964782010567575\ +43333331963876294983400462908871215572514487548352925949663431718284\ +14589547315559936497408670231851521193150991888789948397029796279240\ +53117024758684807981605608837291399377902947471927467827290844733264\ +70881963357258978768427852958888430774360783419404195056122644913454\ +24537375432013012467418602205343636983874410969339344956536142566292\ +67710105053213729008973121773436382170956191942409859915563249876601\ +97309463059908818473774872128141896864070835259683384180928526600888\ +17480854811931632353621014638284918544379784608050029606475137979896\ +79160729736625134310450643341951675749112836007180865039256361941093\ +99844921135320096085772541537129637055451495234892640418746420370197\ +76655592198723057553855194566534999101921182723711243608938705766658\ +35660299983828999383637476407321955462859142012030390036241831962713\ +40429407146441598507165243069127531565881439971034178400174881243483\ +00001434950666035560134867554719667076133414445044258086968145695386\ +00575860256380332451841441394317283433596457253185221717167880159573\ +60478649571700878049257386910142909926740023800166057094445463624601\ +79490246367497489548435683835329410376623483996271147060314994344869\ +89606855219181727424853876740423210027967733989284801813769926906846\ +45570461348452758744643550541290031199432061998646306091218518879810\ +17848488755494879341886158379140088252013009193050706458824793551984\ +39285914868159111542391208521561221610797141925061986437418522494485\ +59871215531081904861310222368465288125816137210222223075106739997863\ +76953125");; + +test 6 +eq_big_int + (power_big_int_positive_big_int (big_int_of_int 1) + (big_int_of_string "1000000000000000000000"), + big_int_of_int 1);; + +test 7 +eq_big_int + (power_big_int_positive_big_int (big_int_of_int (-1)) + (big_int_of_string "1000000000000000000000"), + big_int_of_int 1);; + +test 8 +eq_big_int + (power_big_int_positive_big_int (big_int_of_int (-1)) + (big_int_of_string "1000000000000000000001"), + big_int_of_int (-1));; + +test 9 +eq_big_int + (power_big_int_positive_big_int (big_int_of_int 0) + (big_int_of_string "1000000000000000000000"), + big_int_of_int 0);; + testing_function "square_big_int";; test 1 eq_big_int diff --git a/otherlibs/str/CVS/Entries b/otherlibs/str/CVS/Entries deleted file mode 100644 index c20c5ea3..00000000 --- a/otherlibs/str/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/.cvsignore/1.3/Thu Oct 11 12:04:39 2001//Tocaml3083 -/.depend/1.12/Mon Dec 15 18:10:51 2003//Tocaml3083 -/Makefile/1.31/Mon Dec 9 14:05:18 2002//Tocaml3083 -/Makefile.nt/1.14/Mon Dec 9 14:05:18 2002//Tocaml3083 -/str.ml/1.19/Tue Feb 17 10:13:50 2004//Tocaml3083 -/str.mli/1.23.2.1/Thu Mar 10 16:03:11 2005//Tocaml3083 -/strstubs.c/1.26/Mon May 17 17:10:00 2004//Tocaml3083 -D diff --git a/otherlibs/str/CVS/Entries.Log b/otherlibs/str/CVS/Entries.Log deleted file mode 100644 index 700c8734..00000000 --- a/otherlibs/str/CVS/Entries.Log +++ /dev/null @@ -1,2 +0,0 @@ -A D/regex-0.12//// -R D/regex-0.12//// diff --git a/otherlibs/str/CVS/Repository b/otherlibs/str/CVS/Repository deleted file mode 100644 index 2e913cc7..00000000 --- a/otherlibs/str/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/str diff --git a/otherlibs/str/CVS/Root b/otherlibs/str/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/str/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/str/CVS/Tag b/otherlibs/str/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/str/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/systhreads/CVS/Entries b/otherlibs/systhreads/CVS/Entries deleted file mode 100644 index c68e0cad..00000000 --- a/otherlibs/systhreads/CVS/Entries +++ /dev/null @@ -1,18 +0,0 @@ -/.cvsignore/1.2/Thu Oct 11 12:04:39 2001//Tocaml3083 -/.depend/1.12.4.1/Tue Feb 22 14:33:37 2005//Tocaml3083 -/Makefile/1.35/Thu Aug 21 13:52:07 2003//Tocaml3083 -/Makefile.nt/1.29/Thu Jun 27 11:36:02 2002//Tocaml3083 -/condition.ml/1.6/Fri Dec 7 13:40:18 2001//Tocaml3083 -/condition.mli/1.6/Fri Dec 7 13:40:19 2001//Tocaml3083 -/event.ml/1.9/Fri Dec 7 13:40:19 2001//Tocaml3083 -/event.mli/1.9/Fri Dec 7 13:40:19 2001//Tocaml3083 -/mutex.ml/1.4/Fri Dec 7 13:40:19 2001//Tocaml3083 -/mutex.mli/1.6/Fri Dec 7 13:40:19 2001//Tocaml3083 -/posix.c/1.49.2.1/Thu Jul 1 09:32:38 2004//Tocaml3083 -/thread.mli/1.19/Fri Dec 28 23:14:48 2001//Tocaml3083 -/threadUnix.ml/1.8/Fri Dec 7 13:40:20 2001//Tocaml3083 -/threadUnix.mli/1.19/Wed Jun 26 09:48:00 2002//Tocaml3083 -/thread_posix.ml/1.9/Mon Jun 16 12:31:13 2003//Tocaml3083 -/thread_win32.ml/1.8/Fri Dec 7 13:40:20 2001//Tocaml3083 -/win32.c/1.38/Mon Dec 29 22:15:02 2003//Tocaml3083 -D diff --git a/otherlibs/systhreads/CVS/Repository b/otherlibs/systhreads/CVS/Repository deleted file mode 100644 index e60e93b0..00000000 --- a/otherlibs/systhreads/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/systhreads diff --git a/otherlibs/systhreads/CVS/Root b/otherlibs/systhreads/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/systhreads/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/systhreads/CVS/Tag b/otherlibs/systhreads/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/systhreads/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/threads/CVS/Entries b/otherlibs/threads/CVS/Entries deleted file mode 100644 index c743e2b3..00000000 --- a/otherlibs/threads/CVS/Entries +++ /dev/null @@ -1,18 +0,0 @@ -/.cvsignore/1.1/Fri Jan 18 15:13:25 2002//Tocaml3083 -/.depend/1.17.4.1/Tue Feb 22 14:33:37 2005//Tocaml3083 -/Makefile/1.53/Thu Jul 17 08:38:28 2003//Tocaml3083 -/condition.ml/1.8/Fri Dec 7 13:40:21 2001//Tocaml3083 -/condition.mli/1.13/Fri Dec 7 13:40:21 2001//Tocaml3083 -/event.ml/1.14/Fri Dec 7 13:40:21 2001//Tocaml3083 -/event.mli/1.14/Fri Dec 7 13:40:21 2001//Tocaml3083 -/marshal.ml/1.9/Thu May 27 15:28:05 2004//Tocaml3083 -/mutex.ml/1.8/Fri Dec 7 13:40:22 2001//Tocaml3083 -/mutex.mli/1.11/Fri Dec 7 13:40:22 2001//Tocaml3083 -/pervasives.ml/1.48.4.1/Tue Jun 22 12:13:46 2004//Tocaml3083 -/scheduler.c/1.58/Mon Dec 29 22:15:02 2003//Tocaml3083 -/thread.ml/1.23/Thu Mar 20 16:23:04 2003//Tocaml3083 -/thread.mli/1.27.6.1/Wed Jun 30 09:32:40 2004//Tocaml3083 -/threadUnix.ml/1.18.6.1/Tue Jun 22 17:18:49 2004//Tocaml3083 -/threadUnix.mli/1.21.6.1/Tue Jun 22 17:18:49 2004//Tocaml3083 -/unix.ml/1.16.2.2/Sat Nov 6 10:14:58 2004//Tocaml3083 -D diff --git a/otherlibs/threads/CVS/Repository b/otherlibs/threads/CVS/Repository deleted file mode 100644 index f5537e03..00000000 --- a/otherlibs/threads/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/threads diff --git a/otherlibs/threads/CVS/Root b/otherlibs/threads/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/threads/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/threads/CVS/Tag b/otherlibs/threads/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/threads/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/threads/scheduler.c b/otherlibs/threads/scheduler.c index ac230406..abdfddcc 100644 --- a/otherlibs/threads/scheduler.c +++ b/otherlibs/threads/scheduler.c @@ -11,7 +11,7 @@ /* */ /***********************************************************************/ -/* $Id: scheduler.c,v 1.58 2003/12/29 22:15:02 doligez Exp $ */ +/* $Id: scheduler.c,v 1.58.4.1 2005/06/21 12:27:36 doligez Exp $ */ /* The thread scheduler */ @@ -64,7 +64,7 @@ /* Configuration */ -/* Initial size of stack when a thread is created (4 Ko) */ +/* Initial size of stack when a thread is created (4kB) */ #define Thread_stack_size (Stack_size / 4) /* Max computation time before rescheduling, in microseconds (50ms) */ @@ -174,7 +174,7 @@ value thread_initialize(value unit) /* ML */ curr_thread->trapsp = trapsp; curr_thread->backtrace_pos = Val_int(backtrace_pos); curr_thread->backtrace_buffer = backtrace_buffer; - curr_thread->backtrace_last_exn = backtrace_last_exn; + caml_initialize (&curr_thread->backtrace_last_exn, backtrace_last_exn); curr_thread->status = RUNNABLE; curr_thread->fd = Val_int(0); curr_thread->readfds = NO_FDS; @@ -311,7 +311,7 @@ static value schedule_thread(void) curr_thread->trapsp = trapsp; curr_thread->backtrace_pos = Val_int(backtrace_pos); curr_thread->backtrace_buffer = backtrace_buffer; - curr_thread->backtrace_last_exn = backtrace_last_exn; + caml_modify (&curr_thread->backtrace_last_exn, backtrace_last_exn); try_again: /* Find if a thread is runnable. diff --git a/otherlibs/unix/CVS/Entries b/otherlibs/unix/CVS/Entries deleted file mode 100644 index fc06dc36..00000000 --- a/otherlibs/unix/CVS/Entries +++ /dev/null @@ -1,103 +0,0 @@ -/.cvsignore/1.1/Thu Oct 11 12:04:40 2001//Tocaml3083 -/.depend/1.23.2.2/Tue Feb 22 14:33:37 2005//Tocaml3083 -/Makefile/1.38/Fri Apr 9 13:25:20 2004//Tocaml3083 -/accept.c/1.12.6.2/Wed Jan 12 15:08:56 2005//Tocaml3083 -/access.c/1.10.6.1/Tue Nov 2 16:21:25 2004//Tocaml3083 -/addrofstr.c/1.11/Fri Apr 9 13:25:20 2004//Tocaml3083 -/alarm.c/1.7.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/bind.c/1.9.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/chdir.c/1.8/Fri Dec 7 13:40:24 2001//Tocaml3083 -/chmod.c/1.9/Fri Dec 7 13:40:26 2001//Tocaml3083 -/chown.c/1.8/Fri Dec 7 13:40:26 2001//Tocaml3083 -/chroot.c/1.8/Fri Dec 7 13:40:26 2001//Tocaml3083 -/close.c/1.10/Fri Dec 7 13:40:26 2001//Tocaml3083 -/closedir.c/1.9/Sat Feb 14 10:21:22 2004//Tocaml3083 -/connect.c/1.11.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/cst2constr.c/1.7/Fri Dec 7 13:40:26 2001//Tocaml3083 -/cst2constr.h/1.7/Fri Apr 9 13:25:21 2004//Tocaml3083 -/cstringv.c/1.7/Fri Dec 7 13:40:27 2001//Tocaml3083 -/dup.c/1.8/Fri Dec 7 13:40:27 2001//Tocaml3083 -/dup2.c/1.9/Fri Dec 7 13:40:27 2001//Tocaml3083 -/envir.c/1.9.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/errmsg.c/1.12/Sun May 23 15:53:50 2004//Tocaml3083 -/execv.c/1.8/Fri Dec 7 13:40:27 2001//Tocaml3083 -/execve.c/1.8/Fri Dec 7 13:40:27 2001//Tocaml3083 -/execvp.c/1.8/Fri Dec 7 13:40:27 2001//Tocaml3083 -/exit.c/1.9/Fri Dec 7 13:40:28 2001//Tocaml3083 -/fchmod.c/1.9.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/fchown.c/1.8.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/fcntl.c/1.11.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/fork.c/1.8/Fri Dec 7 13:40:28 2001//Tocaml3083 -/ftruncate.c/1.9.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/getaddrinfo.c/1.1.4.2/Wed Jan 12 15:08:56 2005//Tocaml3083 -/getcwd.c/1.14.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/getegid.c/1.8.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/geteuid.c/1.8.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/getgid.c/1.8.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/getgr.c/1.12/Fri Dec 7 13:40:29 2001//Tocaml3083 -/getgroups.c/1.10.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/gethost.c/1.24.2.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/gethostname.c/1.10.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/getlogin.c/1.8.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/getnameinfo.c/1.1.4.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/getpeername.c/1.10.2.2/Wed Jan 12 15:08:56 2005//Tocaml3083 -/getpid.c/1.8.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/getppid.c/1.8.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/getproto.c/1.12.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/getpw.c/1.12/Fri Dec 7 13:40:30 2001//Tocaml3083 -/getserv.c/1.13.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/getsockname.c/1.9.6.2/Wed Jan 12 15:08:56 2005//Tocaml3083 -/gettimeofday.c/1.7.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/getuid.c/1.8.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/gmtime.c/1.16.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/itimer.c/1.13.4.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/kill.c/1.10/Fri Dec 7 13:40:31 2001//Tocaml3083 -/link.c/1.8/Fri Dec 7 13:40:31 2001//Tocaml3083 -/listen.c/1.10.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/lockf.c/1.13.2.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/lseek.c/1.10/Sat Mar 2 09:16:36 2002//Tocaml3083 -/mkdir.c/1.9/Fri Dec 7 13:40:31 2001//Tocaml3083 -/mkfifo.c/1.10.6.2/Mon Jan 17 18:10:36 2005//Tocaml3083 -/nice.c/1.10/Fri Dec 7 13:40:32 2001//Tocaml3083 -/open.c/1.11.6.1/Tue Nov 2 16:21:25 2004//Tocaml3083 -/opendir.c/1.9/Sat Feb 14 10:21:22 2004//Tocaml3083 -/pipe.c/1.9.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/putenv.c/1.8.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/read.c/1.13/Fri Dec 7 13:40:32 2001//Tocaml3083 -/readdir.c/1.12/Sat Feb 14 10:21:23 2004//Tocaml3083 -/readlink.c/1.10.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/rename.c/1.10/Fri Dec 7 13:40:33 2001//Tocaml3083 -/rewinddir.c/1.11.2.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/rmdir.c/1.9/Fri Dec 7 13:40:33 2001//Tocaml3083 -/select.c/1.21.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/sendrecv.c/1.18.6.4/Mon Jan 17 18:10:36 2005//Tocaml3083 -/setgid.c/1.8/Fri Dec 7 13:40:33 2001//Tocaml3083 -/setsid.c/1.5.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/setuid.c/1.8/Fri Dec 7 13:40:33 2001//Tocaml3083 -/shutdown.c/1.10.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/signals.c/1.9.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/sleep.c/1.9/Fri Dec 7 13:40:35 2001//Tocaml3083 -/socket.c/1.10.2.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/socketaddr.c/1.22.2.2/Mon Jan 17 18:10:36 2005//Tocaml3083 -/socketaddr.h/1.15.2.2/Mon Jan 17 18:10:36 2005//Tocaml3083 -/socketpair.c/1.11.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/sockopt.c/1.18.6.2/Mon Jan 17 18:10:36 2005//Tocaml3083 -/stat.c/1.15/Mon May 5 14:20:58 2003//Tocaml3083 -/strofaddr.c/1.9.2.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/symlink.c/1.8.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/termios.c/1.14.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/time.c/1.9.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/times.c/1.14.6.1/Mon Jan 17 18:10:36 2005//Tocaml3083 -/truncate.c/1.9.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/umask.c/1.9/Fri Dec 7 13:40:37 2001//Tocaml3083 -/unix.ml/1.60.2.3/Sat Nov 6 10:14:58 2004//Tocaml3083 -/unix.mli/1.79.2.4/Wed Dec 22 16:11:13 2004//Tocaml3083 -/unixLabels.ml/1.3/Fri Dec 7 13:40:38 2001//Tocaml3083 -/unixLabels.mli/1.12.2.2/Fri Jul 2 09:37:17 2004//Tocaml3083 -/unixsupport.c/1.17/Sat Mar 2 09:16:38 2002//Tocaml3083 -/unixsupport.h/1.7/Sat Feb 14 10:21:23 2004//Tocaml3083 -/unlink.c/1.8/Fri Dec 7 13:40:39 2001//Tocaml3083 -/utimes.c/1.9.6.1/Mon Aug 23 11:31:44 2004//Tocaml3083 -/wait.c/1.17.6.3/Mon Jan 17 18:10:36 2005//Tocaml3083 -/write.c/1.13.6.3/Thu Jul 8 08:40:47 2004//Tocaml3083 -D diff --git a/otherlibs/unix/CVS/Repository b/otherlibs/unix/CVS/Repository deleted file mode 100644 index 0df35a01..00000000 --- a/otherlibs/unix/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/unix diff --git a/otherlibs/unix/CVS/Root b/otherlibs/unix/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/unix/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/unix/CVS/Tag b/otherlibs/unix/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/unix/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/unix/getaddrinfo.c b/otherlibs/unix/getaddrinfo.c index 637e64dd..67d7e615 100644 --- a/otherlibs/unix/getaddrinfo.c +++ b/otherlibs/unix/getaddrinfo.c @@ -11,7 +11,7 @@ /* */ /***********************************************************************/ -/* $Id: getaddrinfo.c,v 1.1.4.2 2005/01/12 15:08:56 doligez Exp $ */ +/* $Id: getaddrinfo.c,v 1.1.4.3 2005/04/17 08:53:02 xleroy Exp $ */ #include #include @@ -38,9 +38,12 @@ static value convert_addrinfo(struct addrinfo * a) CAMLparam0(); CAMLlocal3(vres,vaddr,vcanonname); union sock_addr_union sa; + socklen_param_type len; - memcpy(&sa.s_gen, a->ai_addr, sizeof(struct sockaddr)); - vaddr = alloc_sockaddr(&sa, sizeof(struct sockaddr), -1); + len = a->ai_addrlen; + if (len > sizeof(sa)) len = sizeof(sa); + memcpy(&sa.s_gen, a->ai_addr, len); + vaddr = alloc_sockaddr(&sa, len, -1); vcanonname = copy_string(a->ai_canonname == NULL ? "" : a->ai_canonname); vres = alloc_small(5, 0); Field(vres, 0) = cst_to_constr(a->ai_family, socket_domain_table, 3, 0); diff --git a/otherlibs/win32graph/CVS/Entries b/otherlibs/win32graph/CVS/Entries deleted file mode 100644 index af9ed858..00000000 --- a/otherlibs/win32graph/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/Makefile.nt/1.5.6.1/Mon Jun 21 15:31:58 2004//Tocaml3083 -/dib.c/1.3/Tue Jul 23 14:12:00 2002//Tocaml3083 -/draw.c/1.9.2.3/Thu Feb 3 16:40:12 2005//Tocaml3083 -/events.c/1.1.2.1/Mon Jun 21 15:31:58 2004//Tocaml3083 -/libgraph.h/1.8.2.1/Mon Jun 21 15:31:58 2004//Tocaml3083 -/open.c/1.8.2.2/Mon Jun 21 15:44:17 2004//Tocaml3083 -D diff --git a/otherlibs/win32graph/CVS/Repository b/otherlibs/win32graph/CVS/Repository deleted file mode 100644 index c7615d9b..00000000 --- a/otherlibs/win32graph/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/win32graph diff --git a/otherlibs/win32graph/CVS/Root b/otherlibs/win32graph/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/win32graph/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/win32graph/CVS/Tag b/otherlibs/win32graph/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/win32graph/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/otherlibs/win32graph/open.c b/otherlibs/win32graph/open.c index 5ec89247..af6e98ea 100644 --- a/otherlibs/win32graph/open.c +++ b/otherlibs/win32graph/open.c @@ -10,7 +10,7 @@ /* */ /***********************************************************************/ -/* $Id: open.c,v 1.8.2.2 2004/06/21 15:44:17 xleroy Exp $ */ +/* $Id: open.c,v 1.8.2.3 2005/05/26 09:15:22 doligez Exp $ */ #include #include @@ -301,6 +301,15 @@ CAMLprim value caml_gr_size_y(void) return Val_int(grwindow.height); } +CAMLprim value caml_gr_resize_window (value vx, value vy) +{ + caml_gr_check_open (); + + /* FIXME TODO implement this function... */ + + return Val_unit; +} + CAMLprim value caml_gr_synchronize(void) { gr_check_open(); @@ -353,4 +362,3 @@ void gr_check_open(void) { if (!gr_initialized) gr_fail("graphic screen not opened", NULL); } - diff --git a/otherlibs/win32unix/CVS/Entries b/otherlibs/win32unix/CVS/Entries deleted file mode 100644 index d3ca5b3b..00000000 --- a/otherlibs/win32unix/CVS/Entries +++ /dev/null @@ -1,44 +0,0 @@ -/.cvsignore/1.2/Tue Apr 9 08:18:51 2002//Tocaml3083 -/.depend/1.5/Thu Sep 13 09:08:11 2001//Tocaml3083 -/Makefile.nt/1.32/Sun May 30 08:17:06 2004//Tocaml3083 -/accept.c/1.18.6.1/Wed Feb 2 15:40:14 2005//Tocaml3083 -/bind.c/1.10/Tue Apr 30 15:00:45 2002//Tocaml3083 -/channels.c/1.10/Mon Jan 6 14:52:57 2003//Tocaml3083 -/close.c/1.5/Tue Apr 30 15:00:46 2002//Tocaml3083 -/close_on.c/1.8/Fri Dec 7 13:40:43 2001//Tocaml3083 -/connect.c/1.11/Fri Jun 7 09:49:41 2002//Tocaml3083 -/createprocess.c/1.13/Fri Dec 7 13:40:43 2001//Tocaml3083 -/dup.c/1.6/Tue Apr 30 15:00:46 2002//Tocaml3083 -/dup2.c/1.7/Mon Jan 6 14:52:57 2003//Tocaml3083 -/errmsg.c/1.5/Wed Dec 31 00:00:14 2003//Tocaml3083 -/getpeername.c/1.9.6.1/Wed Feb 2 15:40:14 2005//Tocaml3083 -/getpid.c/1.4/Fri Dec 7 13:40:44 2001//Tocaml3083 -/getsockname.c/1.7.6.1/Wed Feb 2 15:40:14 2005//Tocaml3083 -/gettimeofday.c/1.6/Fri Dec 7 13:40:44 2001//Tocaml3083 -/link.c/1.3/Fri Dec 7 13:40:44 2001//Tocaml3083 -/listen.c/1.9/Tue Apr 30 15:00:46 2002//Tocaml3083 -/lockf.c/1.3/Tue Jul 23 14:12:01 2002//Tocaml3083 -/lseek.c/1.6/Fri Jun 7 09:49:41 2002//Tocaml3083 -/mkdir.c/1.5/Fri Dec 7 13:40:45 2001//Tocaml3083 -/nonblock.c/1.1/Mon Jan 6 16:44:21 2003//Tocaml3083 -/open.c/1.9/Fri Dec 7 13:40:45 2001//Tocaml3083 -/pipe.c/1.7/Fri Dec 7 13:40:45 2001//Tocaml3083 -/read.c/1.7/Tue Jul 23 14:12:01 2002//Tocaml3083 -/rename.c/1.2.8.1/Mon Jun 21 16:18:32 2004//Tocaml3083 -/select.c/1.10/Tue Jan 7 16:16:44 2003//Tocaml3083 -/sendrecv.c/1.16.6.1/Wed Feb 2 15:40:14 2005//Tocaml3083 -/shutdown.c/1.9/Tue Apr 30 15:00:47 2002//Tocaml3083 -/sleep.c/1.5/Fri Jun 7 09:49:41 2002//Tocaml3083 -/socket.c/1.12/Tue Apr 30 15:00:47 2002//Tocaml3083 -/socketaddr.h/1.7.2.1/Wed Feb 2 15:40:14 2005//Tocaml3083 -/sockopt.c/1.15/Tue Jul 23 14:12:01 2002//Tocaml3083 -/startup.c/1.9/Mon Jan 6 14:52:57 2003//Tocaml3083 -/stat.c/1.1/Wed Mar 6 16:55:20 2002//Tocaml3083 -/system.c/1.8/Fri Jun 7 09:49:41 2002//Tocaml3083 -/unix.ml/1.41.2.1/Tue Jun 22 17:18:50 2004//Tocaml3083 -/unixsupport.c/1.19/Thu Apr 1 13:12:36 2004//Tocaml3083 -/unixsupport.h/1.15/Mon Jan 6 14:52:57 2003//Tocaml3083 -/windir.c/1.13/Tue Jul 23 14:12:01 2002//Tocaml3083 -/winwait.c/1.14/Fri Jun 7 09:49:41 2002//Tocaml3083 -/write.c/1.7.6.2/Thu Jul 8 08:40:55 2004//Tocaml3083 -D diff --git a/otherlibs/win32unix/CVS/Repository b/otherlibs/win32unix/CVS/Repository deleted file mode 100644 index 5fc2f3db..00000000 --- a/otherlibs/win32unix/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/otherlibs/win32unix diff --git a/otherlibs/win32unix/CVS/Root b/otherlibs/win32unix/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/otherlibs/win32unix/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/otherlibs/win32unix/CVS/Tag b/otherlibs/win32unix/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/otherlibs/win32unix/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/parsing/CVS/Entries b/parsing/CVS/Entries deleted file mode 100644 index 669bba14..00000000 --- a/parsing/CVS/Entries +++ /dev/null @@ -1,19 +0,0 @@ -/.cvsignore/1.4/Fri Jun 23 15:08:43 2000//Tocaml3083 -/asttypes.mli/1.9/Fri Apr 25 12:27:30 2003//Tocaml3083 -/lexer.mli/1.14/Fri Nov 21 16:01:13 2003//Tocaml3083 -/lexer.mll/1.69/Fri Jan 16 15:24:02 2004//Tocaml3083 -/linenum.mli/1.2/Wed Nov 17 18:58:17 1999//Tocaml3083 -/linenum.mll/1.7/Wed Nov 17 18:58:17 1999//Tocaml3083 -/location.ml/1.44.6.1/Wed Jan 12 17:01:58 2005//Tocaml3083 -/location.mli/1.15.10.1/Wed Jan 12 17:01:58 2005//Tocaml3083 -/longident.ml/1.4/Sat Mar 25 18:55:44 2000//Tocaml3083 -/longident.mli/1.7/Sat Mar 25 18:55:44 2000//Tocaml3083 -/parse.ml/1.15/Fri Nov 1 17:06:46 2002//Tocaml3083 -/parse.mli/1.6/Wed Nov 17 18:58:19 1999//Tocaml3083 -/parser.mly/1.120/Wed May 19 12:15:19 2004//Tocaml3083 -/parsetree.mli/1.40/Tue Nov 25 08:46:45 2003//Tocaml3083 -/printast.ml/1.26/Tue Nov 25 08:46:45 2003//Tocaml3083 -/printast.mli/1.2/Mon Mar 6 22:11:39 2000//Tocaml3083 -/syntaxerr.ml/1.8/Thu Apr 18 08:50:43 2002//Tocaml3083 -/syntaxerr.mli/1.4/Mon Mar 6 22:11:40 2000//Tocaml3083 -D diff --git a/parsing/CVS/Repository b/parsing/CVS/Repository deleted file mode 100644 index 39db6570..00000000 --- a/parsing/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/parsing diff --git a/parsing/CVS/Root b/parsing/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/parsing/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/parsing/CVS/Tag b/parsing/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/parsing/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/stdlib/CVS/Entries b/stdlib/CVS/Entries deleted file mode 100644 index da6b8f87..00000000 --- a/stdlib/CVS/Entries +++ /dev/null @@ -1,95 +0,0 @@ -/.cvsignore/1.9/Wed Nov 19 14:01:23 2003//Tocaml3083 -/.depend/1.56.6.2/Tue Feb 22 14:33:37 2005//Tocaml3083 -/Compflags/1.1.4.1/Thu Jul 8 07:43:13 2004//Tocaml3083 -/Makefile/1.81/Mon Jun 14 12:23:21 2004//Tocaml3083 -/Makefile.nt/1.35.2.1/Wed Feb 2 15:41:59 2005//Tocaml3083 -/StdlibModules/1.2/Wed Nov 26 10:57:14 2003//Tocaml3083 -/arg.ml/1.33.2.1/Fri Jul 2 09:01:16 2004//Tocaml3083 -/arg.mli/1.35/Fri Jun 11 23:45:46 2004//Tocaml3083 -/array.ml/1.23/Wed Dec 31 14:20:39 2003//Tocaml3083 -/array.mli/1.38/Wed Dec 31 14:20:39 2003//Tocaml3083 -/arrayLabels.ml/1.3/Fri Dec 7 13:40:49 2001//Tocaml3083 -/arrayLabels.mli/1.10/Wed Dec 31 14:20:39 2003//Tocaml3083 -/buffer.ml/1.17/Mon Jun 14 20:20:16 2004//Tocaml3083 -/buffer.mli/1.20/Sat Apr 17 13:36:03 2004//Tocaml3083 -/callback.ml/1.5/Wed Dec 31 14:20:39 2003//Tocaml3083 -/callback.mli/1.5/Fri Dec 7 13:40:50 2001//Tocaml3083 -/camlinternalOO.ml/1.9/Wed May 26 11:10:51 2004//Tocaml3083 -/camlinternalOO.mli/1.6/Wed May 26 11:10:51 2004//Tocaml3083 -/char.ml/1.12/Tue Dec 16 18:09:43 2003//Tocaml3083 -/char.mli/1.16/Wed Jun 26 09:13:58 2002//Tocaml3083 -/complex.ml/1.5/Thu Apr 18 07:27:42 2002//Tocaml3083 -/complex.mli/1.3/Thu Apr 18 07:27:42 2002//Tocaml3083 -/digest.ml/1.10/Wed Dec 31 14:20:39 2003//Tocaml3083 -/digest.mli/1.16/Wed Dec 31 14:20:39 2003//Tocaml3083 -/filename.ml/1.34.2.1/Mon Jan 31 17:01:02 2005//Tocaml3083 -/filename.mli/1.31.2.1/Mon Jan 31 17:01:02 2005//Tocaml3083 -/format.ml/1.55.4.2/Mon Jul 12 23:03:16 2004//Tocaml3083 -/format.mli/1.66.2.2/Mon Jul 12 23:03:16 2004//Tocaml3083 -/gc.ml/1.20/Mon Jun 14 13:27:36 2004//Tocaml3083 -/gc.mli/1.40/Mon Jun 14 13:27:36 2004//Tocaml3083 -/genlex.ml/1.9/Thu Apr 18 07:27:42 2002//Tocaml3083 -/genlex.mli/1.8/Fri Dec 7 13:40:51 2001//Tocaml3083 -/hashtbl.ml/1.26/Tue Mar 23 12:37:19 2004//Tocaml3083 -/hashtbl.mli/1.35.4.2/Thu Nov 25 13:30:34 2004//Tocaml3083 -/header.c/1.17/Fri Dec 7 13:40:52 2001//Tocaml3083 -/headernt.c/1.19/Tue Jul 23 14:12:01 2002//Tocaml3083 -/int32.ml/1.9/Thu Jan 1 16:42:40 2004//Tocaml3083 -/int32.mli/1.16/Thu Jan 1 16:42:40 2004//Tocaml3083 -/int64.ml/1.11/Thu Jan 1 16:42:40 2004//Tocaml3083 -/int64.mli/1.17/Thu Jan 1 16:42:40 2004//Tocaml3083 -/lazy.ml/1.11/Thu Jan 1 16:42:40 2004//Tocaml3083 -/lazy.mli/1.10/Tue Jul 30 13:02:56 2002//Tocaml3083 -/lexing.ml/1.23/Wed Dec 31 14:20:39 2003//Tocaml3083 -/lexing.mli/1.30/Wed Aug 13 15:31:36 2003//Tocaml3083 -/list.ml/1.31/Thu Jan 1 16:42:40 2004//Tocaml3083 -/list.mli/1.44/Fri Nov 21 16:06:08 2003//Tocaml3083 -/listLabels.ml/1.3/Fri Dec 7 13:40:54 2001//Tocaml3083 -/listLabels.mli/1.10/Fri Jul 25 21:40:06 2003//Tocaml3083 -/map.ml/1.15/Fri Apr 23 10:01:33 2004//Tocaml3083 -/map.mli/1.32/Fri Apr 23 10:01:33 2004//Tocaml3083 -/marshal.ml/1.8/Thu Jan 1 16:42:40 2004//Tocaml3083 -/marshal.mli/1.13/Thu Jan 1 16:42:40 2004//Tocaml3083 -/moreLabels.ml/1.2/Fri Dec 7 13:40:55 2001//Tocaml3083 -/moreLabels.mli/1.12/Fri Apr 23 10:01:34 2004//Tocaml3083 -/nativeint.ml/1.10/Thu Jan 1 16:42:40 2004//Tocaml3083 -/nativeint.mli/1.17/Thu Jan 1 16:42:40 2004//Tocaml3083 -/obj.ml/1.23/Thu Jan 1 16:42:40 2004//Tocaml3083 -/obj.mli/1.27/Thu Jan 1 16:42:40 2004//Tocaml3083 -/oo.ml/1.27/Wed May 26 11:10:52 2004//Tocaml3083 -/oo.mli/1.28/Wed May 26 11:10:52 2004//Tocaml3083 -/parsing.ml/1.18/Thu Jan 1 16:42:40 2004//Tocaml3083 -/parsing.mli/1.18/Wed Apr 14 15:37:30 2004//Tocaml3083 -/pervasives.ml/1.75.6.1/Tue Jun 22 12:13:46 2004//Tocaml3083 -/pervasives.mli/1.99.2.3/Mon Jan 31 12:47:53 2005//Tocaml3083 -/printexc.ml/1.18/Fri Jan 16 15:24:02 2004//Tocaml3083 -/printexc.mli/1.11/Fri Dec 7 13:40:57 2001//Tocaml3083 -/printf.ml/1.30/Fri Jan 2 19:23:29 2004//Tocaml3083 -/printf.mli/1.37/Sat Jul 5 11:13:23 2003//Tocaml3083 -/queue.ml/1.9/Tue Jul 23 14:12:01 2002//Tocaml3083 -/queue.mli/1.16/Thu Jun 27 08:48:26 2002//Tocaml3083 -/random.ml/1.22/Tue Dec 16 18:09:43 2003//Tocaml3083 -/random.mli/1.16/Tue Jun 24 09:50:23 2003//Tocaml3083 -/scanf.ml/1.49.2.2/Fri Jul 2 22:24:24 2004//Tocaml3083 -/scanf.mli/1.45.6.3/Thu Nov 25 13:30:34 2004//Tocaml3083 -/set.ml/1.18.4.1/Wed Nov 3 21:19:49 2004//Tocaml3083 -/set.mli/1.32/Fri Apr 23 10:01:54 2004//Tocaml3083 -/sharpbang/1.2/Mon Apr 27 15:14:31 1998//Tocaml3083 -/sort.ml/1.9/Wed Jan 14 17:20:56 2004//Tocaml3083 -/sort.mli/1.13/Fri Dec 7 13:40:58 2001//Tocaml3083 -/stack.ml/1.9/Thu Jun 27 08:48:26 2002//Tocaml3083 -/stack.mli/1.18/Thu Jun 27 08:48:26 2002//Tocaml3083 -/stdLabels.ml/1.3/Fri Dec 7 13:40:59 2001//Tocaml3083 -/stdLabels.mli/1.11.2.1/Tue Jun 22 14:23:24 2004//Tocaml3083 -/std_exit.ml/1.5/Fri Dec 7 13:40:59 2001//Tocaml3083 -/stream.ml/1.13/Fri Dec 7 13:40:59 2001//Tocaml3083 -/stream.mli/1.24/Fri Dec 28 23:12:48 2001//Tocaml3083 -/string.ml/1.25/Tue Dec 16 18:09:43 2003//Tocaml3083 -/string.mli/1.36.6.1/Wed Nov 3 21:17:18 2004//Tocaml3083 -/stringLabels.ml/1.4/Sat Jan 3 22:08:38 2004//Tocaml3083 -/stringLabels.mli/1.8.6.1/Tue Jun 22 14:23:25 2004//Tocaml3083 -/sys.ml/1.101.2.22/Wed Mar 16 12:05:33 2005//Tocaml3083 -/sys.mli/1.45/Tue May 4 11:51:13 2004//Tocaml3083 -/weak.ml/1.13/Thu Jan 1 16:42:41 2004//Tocaml3083 -/weak.mli/1.15/Mon Feb 2 14:43:12 2004//Tocaml3083 -D diff --git a/stdlib/CVS/Repository b/stdlib/CVS/Repository deleted file mode 100644 index 79ddc367..00000000 --- a/stdlib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/stdlib diff --git a/stdlib/CVS/Root b/stdlib/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/stdlib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/stdlib/CVS/Tag b/stdlib/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/stdlib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/stdlib/array.mli b/stdlib/array.mli index 2989c67c..5778976a 100644 --- a/stdlib/array.mli +++ b/stdlib/array.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: array.mli,v 1.38 2003/12/31 14:20:39 doligez Exp $ *) +(* $Id: array.mli,v 1.38.6.1 2005/07/08 15:17:39 doligez Exp $ *) (** Array operations. *) @@ -34,7 +34,7 @@ external set : 'a array -> int -> 'a -> unit = "%array_safe_set" Raise [Invalid_argument "index out of bounds"] if [n] is outside the range 0 to [Array.length a - 1]. *) - + external make : int -> 'a -> 'a array = "caml_make_vect" (** [Array.make n x] returns a fresh array of length [n], initialized with [x]. diff --git a/stdlib/format.mli b/stdlib/format.mli index ad91b622..5752e006 100644 --- a/stdlib/format.mli +++ b/stdlib/format.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: format.mli,v 1.66.2.2 2004/07/12 23:03:16 weis Exp $ *) +(* $Id: format.mli,v 1.66.2.3 2005/07/01 08:48:05 guesdon Exp $ *) (** Pretty printing. @@ -20,8 +20,9 @@ at specified break hints, and indents lines according to the box structure. - For a gentle introduction to the basics of prety-printing using - [Format], read the FAQ at [http://caml.inria.fr/FAQ/format-eng.html]. + For a gentle introduction to the basics of pretty-printing using + [Format], read + {{:http://caml.inria.fr/resources/doc/guides/format.html}http://caml.inria.fr/resources/doc/guides/format.html}. Warning: the material output by the following functions is delayed in the pretty-printer queue in order to compute the proper line @@ -41,7 +42,7 @@ provided by this module. This style is more basic but more verbose than the [fprintf] concise formats. - For instance, the sequence + For instance, the sequence [open_box 0; print_string "x ="; print_space (); print_int 1; close_box ()] that prints [x = 1] within a pretty-printing box, can be abbreviated as [printf "@[%s@ %i@]" "x =" 1], or even shorter @@ -116,14 +117,14 @@ val print_bool : bool -> unit;; val print_space : unit -> unit;; (** [print_space ()] is used to separate items (typically to print - a space between two words). + a space between two words). It indicates that the line may be split at this point. It either prints one space or splits the line. It is equivalent to [print_break 1 0]. *) val print_cut : unit -> unit;; (** [print_cut ()] is used to mark a good break position. - It indicates that the line may be split at this + It indicates that the line may be split at this point. It either prints nothing or splits the line. This allows line splitting at the current point, without printing spaces or adding indentation. @@ -134,7 +135,7 @@ val print_break : int -> int -> unit;; [print_break nspaces offset] indicates that the line may be split (a newline character is printed) at this point, if the contents of the current box does not fit on the - current line. + current line. If the line is split at that point, [offset] is added to the current indentation. If the line is not split, [nspaces] spaces are printed. *) @@ -569,7 +570,7 @@ val fprintf : formatter -> ('a, formatter, unit) format -> 'a;; - [@\[]: open a pretty-printing box. The type and offset of the box may be optionally specified with the following syntax: the [<] character, followed by an optional box type indication, - then an optional integer offset, and the closing [>] character. + then an optional integer offset, and the closing [>] character. Box type is one of [h], [v], [hv], [b], or [hov], which stand respectively for an horizontal box, a vertical box, an ``horizontal-vertical'' box, or an ``horizontal or @@ -586,7 +587,7 @@ val fprintf : formatter -> ('a, formatter, unit) format -> 'a;; - [@\n]: force a newline, as with [force_newline ()]. - [@;]: output a good break as with [print_break]. The [nspaces] and [offset] parameters of the break may be - optionally specified with the following syntax: + optionally specified with the following syntax: the [<] character, followed by an integer [nspaces] value, then an integer offset, and a closing [>] character. If no parameters are provided, the good break defaults to a @@ -612,7 +613,7 @@ val fprintf : formatter -> ('a, formatter, unit) format -> 'a;; - [@\}]: close the most recently opened tag. - [@@]: print a plain [@] character. - Example: [printf "@[%s@ %d@]" "x =" 1] is equivalent to + Example: [printf "@[%s@ %d@]" "x =" 1] is equivalent to [open_box (); print_string "x ="; print_space (); print_int 1; close_box ()]. It prints [x = 1] within a pretty-printing box. *) diff --git a/stdlib/int32.mli b/stdlib/int32.mli index da70cde5..cfd3587c 100644 --- a/stdlib/int32.mli +++ b/stdlib/int32.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: int32.mli,v 1.16 2004/01/01 16:42:40 doligez Exp $ *) +(* $Id: int32.mli,v 1.16.6.1 2005/04/11 16:51:42 doligez Exp $ *) (** 32-bit integers. @@ -48,14 +48,13 @@ external mul : int32 -> int32 -> int32 = "%int32_mul" (** Multiplication. *) external div : int32 -> int32 -> int32 = "%int32_div" -(** Integer division. Raise [Division_by_zero] if the second +(** Integer division. Raise [Division_by_zero] if the second argument is zero. This division rounds the real quotient of its arguments towards zero, as specified for {!Pervasives.(/)}. *) external rem : int32 -> int32 -> int32 = "%int32_mod" (** Integer remainder. If [y] is not zero, the result - of [Int32.rem x y] satisfies the following properties: - [Int32.zero <= Int32.rem x y < Int32.abs y] and + of [Int32.rem x y] satisfies the following property: [x = Int32.add (Int32.mul (Int32.div x y) y) (Int32.rem x y)]. If [y = 0], [Int32.rem x y] raises [Division_by_zero]. *) @@ -104,7 +103,8 @@ external shift_right_logical : int32 -> int -> int32 = "%int32_lsr" The result is unspecified if [y < 0] or [y >= 32]. *) external of_int : int -> int32 = "%int32_of_int" -(** Convert the given integer (type [int]) to a 32-bit integer (type [int32]). *) +(** Convert the given integer (type [int]) to a 32-bit integer + (type [int32]). *) external to_int : int32 -> int = "%int32_to_int" (** Convert the given 32-bit integer (type [int32]) to an diff --git a/stdlib/int64.mli b/stdlib/int64.mli index 3f8a9fc5..495f0887 100644 --- a/stdlib/int64.mli +++ b/stdlib/int64.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: int64.mli,v 1.17 2004/01/01 16:42:40 doligez Exp $ *) +(* $Id: int64.mli,v 1.17.6.1 2005/04/11 16:51:42 doligez Exp $ *) (** 64-bit integers. @@ -19,12 +19,12 @@ signed 64-bit integers. Unlike the built-in [int] type, the type [int64] is guaranteed to be exactly 64-bit wide on all platforms. All arithmetic operations over [int64] are taken - modulo 2{^64} + modulo 2{^64} Performance notice: values of type [int64] occupy more memory space than values of type [int], and arithmetic operations on [int64] are generally slower than those on [int]. Use [int64] - only when the application requires exact 64-bit arithmetic. + only when the application requires exact 64-bit arithmetic. *) val zero : int64 @@ -49,14 +49,13 @@ external mul : int64 -> int64 -> int64 = "%int64_mul" (** Multiplication. *) external div : int64 -> int64 -> int64 = "%int64_div" -(** Integer division. Raise [Division_by_zero] if the second +(** Integer division. Raise [Division_by_zero] if the second argument is zero. This division rounds the real quotient of its arguments towards zero, as specified for {!Pervasives.(/)}. *) external rem : int64 -> int64 -> int64 = "%int64_mod" (** Integer remainder. If [y] is not zero, the result - of [Int64.rem x y] satisfies the following properties: - [Int64.zero <= Int64.rem x y < Int64.abs y] and + of [Int64.rem x y] satisfies the following property: [x = Int64.add (Int64.mul (Int64.div x y) y) (Int64.rem x y)]. If [y = 0], [Int64.rem x y] raises [Division_by_zero]. *) @@ -104,7 +103,8 @@ external shift_right_logical : int64 -> int -> int64 = "%int64_lsr" The result is unspecified if [y < 0] or [y >= 64]. *) external of_int : int -> int64 = "%int64_of_int" -(** Convert the given integer (type [int]) to a 64-bit integer (type [int64]). *) +(** Convert the given integer (type [int]) to a 64-bit integer + (type [int64]). *) external to_int : int64 -> int = "%int64_to_int" (** Convert the given 64-bit integer (type [int64]) to an diff --git a/stdlib/list.mli b/stdlib/list.mli index 5cb6f28f..54e028df 100644 --- a/stdlib/list.mli +++ b/stdlib/list.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: list.mli,v 1.44 2003/11/21 16:06:08 xleroy Exp $ *) +(* $Id: list.mli,v 1.44.10.1 2005/06/22 13:20:30 doligez Exp $ *) (** List operations. @@ -109,8 +109,8 @@ val map2 : ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list different lengths. Not tail-recursive. *) val rev_map2 : ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list -(** [List.rev_map2 f l] gives the same result as - {!List.rev}[ (]{!List.map2}[ f l)], but is tail-recursive and +(** [List.rev_map2 f l1 l2] gives the same result as + {!List.rev}[ (]{!List.map2}[ f l1 l2)], but is tail-recursive and more efficient. *) val fold_left2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b list -> 'c list -> 'a diff --git a/stdlib/map.ml b/stdlib/map.ml index 76c479c0..d41da95c 100644 --- a/stdlib/map.ml +++ b/stdlib/map.ml @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: map.ml,v 1.15 2004/04/23 10:01:33 xleroy Exp $ *) +(* $Id: map.ml,v 1.15.4.1 2005/04/27 12:35:07 doligez Exp $ *) module type OrderedType = sig @@ -161,7 +161,7 @@ module Make(Ord: OrderedType) = struct match m with Empty -> accu | Node(l, v, d, r, _) -> - fold f l (f v d (fold f r accu)) + fold f r (f v d (fold f l accu)) type 'a enumeration = End | More of key * 'a * 'a t * 'a enumeration diff --git a/stdlib/obj.mli b/stdlib/obj.mli index 26de175f..772b88f0 100644 --- a/stdlib/obj.mli +++ b/stdlib/obj.mli @@ -11,11 +11,11 @@ (* *) (***********************************************************************) -(* $Id: obj.mli,v 1.27 2004/01/01 16:42:40 doligez Exp $ *) +(* $Id: obj.mli,v 1.27.6.1 2005/04/13 12:34:44 doligez Exp $ *) (** Operations on internal representations of values. - Not for the casual user. + Not for the casual user. *) type t diff --git a/stdlib/sys.ml b/stdlib/sys.ml index ad8d5800..128e83c0 100644 --- a/stdlib/sys.ml +++ b/stdlib/sys.ml @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: sys.ml,v 1.101.2.22 2005/03/16 12:05:33 doligez Exp $ *) +(* $Id: sys.ml,v 1.101.2.28 2005/08/11 15:29:25 doligez Exp $ *) (* System interface *) @@ -78,4 +78,4 @@ let catch_break on = (* OCaml version string, must be in the format described in sys.mli. *) -let ocaml_version = "3.08.3";; +let ocaml_version = "3.08.4";; diff --git a/stdlib/sys.mli b/stdlib/sys.mli index cc97a253..f52c1860 100644 --- a/stdlib/sys.mli +++ b/stdlib/sys.mli @@ -11,7 +11,7 @@ (* *) (***********************************************************************) -(* $Id: sys.mli,v 1.45 2004/05/04 11:51:13 basile Exp $ *) +(* $Id: sys.mli,v 1.45.4.1 2005/07/08 15:17:39 doligez Exp $ *) (** System interface. *) @@ -81,7 +81,9 @@ val max_string_length : int (** Maximum length of a string. *) val max_array_length : int -(** Maximum length of an array. *) +(** Maximum length of a normal array. The maximum length of a float + array is [max_array_length/2] on 32-bit machines and + [max_array_length] on 64-bit machines. *) (** {6 Signal handling} *) @@ -89,7 +91,7 @@ val max_array_length : int type signal_behavior = Signal_default - | Signal_ignore + | Signal_ignore | Signal_handle of (int -> unit) (** What to do when receiving a signal: - [Signal_default]: take the default behavior diff --git a/tools/CVS/Entries b/tools/CVS/Entries deleted file mode 100644 index 52de2da1..00000000 --- a/tools/CVS/Entries +++ /dev/null @@ -1,38 +0,0 @@ -/.cvsignore/1.19/Fri Nov 15 16:16:06 2002//Tocaml3083 -/.depend/1.22.2.2/Tue Feb 22 14:33:37 2005//Tocaml3083 -/Characters/1.3/Mon Nov 29 19:04:21 1999//Tocaml3083 -/DoMake/1.5/Mon Nov 29 19:04:23 1999//Tocaml3083 -/MakeDepend/1.3/Mon Nov 29 19:04:25 1999//Tocaml3083 -/Makefile/1.59.2.1/Mon Jan 24 15:22:46 2005//Tocaml3083 -/Makefile.nt/1.24/Mon Mar 24 15:23:30 2003//Tocaml3083 -/OCamlc-custom/1.1/Sat Nov 2 18:05:21 1996//Tocaml3083 -/Time/1.2/Sat Jul 4 17:32:15 1998//Tocaml3083 -/addlabels.ml/1.10/Tue Nov 25 09:20:45 2003//Tocaml3083 -/checkstack.c/1.2/Fri Aug 9 11:10:34 2002//Tocaml3083 -/cleanup-header/1.2/Mon Mar 18 06:55:42 2002//Tocaml3083 -/cvt_emit.mll/1.4/Mon Oct 2 14:17:55 2000//Tocaml3083 -/depend.ml/1.7/Tue Nov 25 09:20:45 2003//Tocaml3083 -/depend.mli/1.2/Thu Apr 18 07:27:43 2002//Tocaml3083 -/dumpapprox.ml/1.15/Thu Mar 6 16:00:16 2003//Tocaml3083 -/dumpobj.ml/1.34/Wed May 26 11:10:52 2004//Tocaml3083 -/keywords.r/1.3/Fri Dec 7 13:41:01 2001//Tocaml3083 -/lexer299.mll/1.3/Wed Mar 10 08:56:01 2004//Tocaml3083 -/lexer301.mll/1.4/Fri Jan 16 15:24:03 2004//Tocaml3083 -/magic/1.1/Tue Nov 27 13:39:36 2001/-kk/Tocaml3083 -/make-opcodes/1.1/Thu May 4 10:14:22 1995//Tocaml3083 -/make-package-macosx/1.8.4.2/Wed Dec 22 16:08:09 2004//Tocaml3083 -/objinfo.ml/1.8/Mon Mar 27 12:18:09 2000//Tocaml3083 -/ocaml-objcopy-macosx/1.1.2.1/Tue Jan 25 13:13:52 2005//Tocaml3083 -/ocaml299to3.ml/1.6/Wed Oct 3 01:34:05 2001//Tocaml3083 -/ocamlcp.ml/1.37.6.1/Wed Mar 9 15:49:09 2005//Tocaml3083 -/ocamldep.ml/1.33.4.1/Wed Jan 5 15:20:26 2005//Tocaml3083 -/ocamlmklib.mlp/1.10.2.1/Thu Jul 8 06:45:51 2004//Tocaml3083 -/ocamlmktop.ml/1.6/Mon Mar 24 15:27:01 2003//Tocaml3083 -/ocamlmktop.tpl/1.5/Sun Feb 22 14:52:50 2004//Tocaml3083 -/ocamlprof.ml/1.37.2.1/Thu Nov 18 23:52:08 2004//Tocaml3083 -/ocamlsize/1.6/Thu Aug 21 13:52:25 2003//Tocaml3083 -/primreq.ml/1.3/Mon Mar 27 12:18:09 2000//Tocaml3083 -/profiling.ml/1.6.10.1/Thu Nov 18 23:52:08 2004//Tocaml3083 -/profiling.mli/1.5.10.1/Thu Nov 18 23:52:08 2004//Tocaml3083 -/scrapelabels.ml/1.6/Thu Oct 4 01:55:02 2001//Tocaml3083 -D diff --git a/tools/CVS/Repository b/tools/CVS/Repository deleted file mode 100644 index a9e21f64..00000000 --- a/tools/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/tools diff --git a/tools/CVS/Root b/tools/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/tools/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/tools/CVS/Tag b/tools/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/tools/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/tools/make-package-macosx b/tools/make-package-macosx index 93b87525..bdb6f20a 100755 --- a/tools/make-package-macosx +++ b/tools/make-package-macosx @@ -12,7 +12,7 @@ # # ######################################################################### -# $Id: make-package-macosx,v 1.8.4.2 2004/12/22 16:08:09 doligez Exp $ +# $Id: make-package-macosx,v 1.8.4.3 2005/05/04 14:05:51 doligez Exp $ cd package-macosx rm -rf ocaml.pkg ocaml-rw.dmg @@ -105,6 +105,12 @@ cat >resources/ReadMe.txt < begin try - if List.memq ty visited then raise Occur; - if not !Clflags.recursive_types then - iter_type_expr (occur_rec env (ty::visited) ty0) ty + if List.memq ty visited || !Clflags.recursive_types then raise Occur; + iter_type_expr (occur_rec env (ty::visited) ty0) ty with Occur -> try let ty' = try_expand_head env ty in (* Maybe we could simply make a recursive call here, @@ -1200,7 +1199,8 @@ let rec occur_rec env visited ty0 ty = | _ -> if not !Clflags.recursive_types then iter_type_expr (occur_rec env (ty'::visited) ty0) ty' - with Cannot_expand -> raise Occur + with Cannot_expand -> + if not !Clflags.recursive_types then raise Occur end | Tobject _ | Tvariant _ -> () diff --git a/typing/env.ml b/typing/env.ml index 5aa95fcf..c5142c96 100644 --- a/typing/env.ml +++ b/typing/env.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: env.ml,v 1.54 2004/06/12 08:55:47 xleroy Exp $ *) +(* $Id: env.ml,v 1.54.2.1 2005/07/27 15:05:05 xleroy Exp $ *) (* Environment handling *) @@ -112,8 +112,8 @@ let components_of_functor_appl' = functor_components -> Path.t -> Path.t -> module_components) let check_modtype_inclusion = (* to be filled with Includemod.check_modtype_inclusion *) - ref ((fun env mty1 mty2 -> assert false) : - t -> module_type -> module_type -> unit) + ref ((fun env mty1 path1 mty2 -> assert false) : + t -> module_type -> Path.t -> module_type -> unit) (* Persistent structure descriptions *) @@ -294,7 +294,7 @@ let rec lookup_module_descr lid env = let (p2, mty2) = lookup_module l2 env in begin match Lazy.force desc1 with Functor_comps f -> - !check_modtype_inclusion env mty2 f.fcomp_arg; + !check_modtype_inclusion env mty2 p2 f.fcomp_arg; (Papply(p1, p2), !components_of_functor_appl' f p1 p2) | Structure_comps c -> raise Not_found @@ -324,7 +324,7 @@ and lookup_module lid env = let p = Papply(p1, p2) in begin match Lazy.force desc1 with Functor_comps f -> - !check_modtype_inclusion env mty2 f.fcomp_arg; + !check_modtype_inclusion env mty2 p2 f.fcomp_arg; (p, Subst.modtype (Subst.add_module f.fcomp_param p2 f.fcomp_subst) f.fcomp_res) | Structure_comps c -> diff --git a/typing/env.mli b/typing/env.mli index 3def241c..6f4c71d7 100644 --- a/typing/env.mli +++ b/typing/env.mli @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: env.mli,v 1.28 2003/11/25 09:20:42 garrigue Exp $ *) +(* $Id: env.mli,v 1.28.8.1 2005/07/27 15:05:06 xleroy Exp $ *) (* Environment handling *) @@ -135,5 +135,6 @@ open Format val report_error: formatter -> error -> unit (* Forward declaration to break mutual recursion with Includemod. *) -val check_modtype_inclusion: (t -> module_type -> module_type -> unit) ref +val check_modtype_inclusion: + (t -> module_type -> Path.t -> module_type -> unit) ref diff --git a/typing/includemod.ml b/typing/includemod.ml index bdaaa3cd..326820cd 100644 --- a/typing/includemod.ml +++ b/typing/includemod.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: includemod.ml,v 1.34 2004/06/12 08:55:47 xleroy Exp $ *) +(* $Id: includemod.ml,v 1.34.2.1 2005/07/27 15:05:06 xleroy Exp $ *) (* Inclusion checks for the module language *) @@ -283,11 +283,12 @@ and check_modtype_equiv env mty1 mty2 = (Tcoerce_none, Tcoerce_none) -> () | (_, _) -> raise(Error [Modtype_permutation]) -(* Simplified inclusion check between module types *) +(* Simplified inclusion check between module types (for Env) *) -let check_modtype_inclusion env mty1 mty2 = +let check_modtype_inclusion env mty1 path1 mty2 = try - ignore(modtypes env Subst.identity mty1 mty2) + ignore(modtypes env Subst.identity + (Mtype.strengthen env mty1 path1) mty2) with Error reasons -> raise Not_found diff --git a/typing/printtyp.ml b/typing/printtyp.ml index e494f4b7..4763cde9 100644 --- a/typing/printtyp.ml +++ b/typing/printtyp.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: printtyp.ml,v 1.130.2.2 2004/12/09 09:11:01 garrigue Exp $ *) +(* $Id: printtyp.ml,v 1.130.2.3 2005/04/15 08:16:41 garrigue Exp $ *) (* Printing functions *) @@ -129,7 +129,7 @@ and raw_type_desc ppf = function | Some(p,tl) -> fprintf ppf "(Some(@,%a,@,%a))" path p raw_type_list tl) | Tfield (f, k, t1, t2) -> - fprintf ppf "@[Tfield(@,%s,@,%s,@,%a,@,%a)@]" f + fprintf ppf "@[Tfield(@,%s,@,%s,@,%a,@;<0 -1>%a)@]" f (safe_kind_repr [] k) raw_type t1 raw_type t2 | Tnil -> fprintf ppf "Tnil" @@ -213,6 +213,8 @@ let is_aliased ty = List.memq (proxy ty) !aliased let add_alias ty = let px = proxy ty in if not (is_aliased px) then aliased := px :: !aliased +let aliasable ty = + match ty.desc with Tvar | Tunivar | Tpoly _ -> false | _ -> true let namable_row row = row.row_name <> None && @@ -227,7 +229,7 @@ let namable_row row = let rec mark_loops_rec visited ty = let ty = repr ty in let px = proxy ty in - if List.memq px visited then add_alias px else + if List.memq px visited && aliasable ty then add_alias px else let visited = px :: visited in match ty.desc with | Tvar -> () @@ -383,7 +385,7 @@ let rec tree_of_typexp sch ty = Otyp_var (false, name_of_type ty) in if List.memq px !delayed then delayed := List.filter ((!=) px) !delayed; - if is_aliased px && ty.desc <> Tvar && ty.desc <> Tunivar then begin + if is_aliased px && aliasable ty then begin check_name_of_type px; Otyp_alias (pr_typ (), name_of_type px) end else pr_typ () diff --git a/typing/typeclass.ml b/typing/typeclass.ml index 3d7d69cd..00db5f44 100644 --- a/typing/typeclass.ml +++ b/typing/typeclass.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: typeclass.ml,v 1.78 2004/05/31 02:01:59 garrigue Exp $ *) +(* $Id: typeclass.ml,v 1.78.2.2 2005/07/12 11:44:47 garrigue Exp $ *) open Misc open Parsetree @@ -327,10 +327,11 @@ and class_signature env sty sign = (* Check that the binder is a correct type, and introduce a dummy method preventing self type from being closed. *) + let dummy_obj = Ctype.newvar () in + Ctype.unify env (Ctype.filter_method env dummy_method Private dummy_obj) + (Ctype.newty (Ttuple [])); begin try - Ctype.unify env - (Ctype.filter_method env dummy_method Private self_type) - (Ctype.newty (Ttuple [])) + Ctype.unify env self_type dummy_obj with Ctype.Unify _ -> raise(Error(sty.ptyp_loc, Pattern_type_clash self_type)) end; @@ -1413,9 +1414,10 @@ let report_error ppf = function | Pattern_type_clash ty -> (* XXX Trace *) (* XXX Revoir message d'erreur *) - fprintf ppf "@[This pattern cannot match self: \ - it only matches values of type@ %a@]" - Printtyp.type_expr ty + Printtyp.reset_and_mark_loops ty; + fprintf ppf "@[%s@ %a@]" + "This pattern cannot match self: it only matches values of type" + Printtyp.type_expr ty | Unbound_class cl -> fprintf ppf "Unbound class@ %a" Printtyp.longident cl diff --git a/typing/typecore.ml b/typing/typecore.ml index 4a76e3c0..f70586b5 100644 --- a/typing/typecore.ml +++ b/typing/typecore.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: typecore.ml,v 1.160.2.1 2004/06/21 20:36:20 weis Exp $ *) +(* $Id: typecore.ml,v 1.160.2.2 2005/04/04 05:14:10 garrigue Exp $ *) (* Typechecking for the core language *) @@ -753,14 +753,17 @@ let rec type_approx env sexp = | Pexp_ifthenelse (_,e,_) -> type_approx env e | Pexp_sequence (_,e) -> type_approx env e | Pexp_constraint (e, sty1, sty2) -> + let approx_ty_opt = function + | None -> newvar () + | Some sty -> approx_type sty + in let ty = type_approx env e - and ty1 = match sty1 with None -> newvar () | Some sty -> approx_type sty - and ty2 = match sty2 with None -> newvar () | Some sty -> approx_type sty - in begin - try unify env ty ty1; unify env ty1 ty2; ty2 - with Unify trace -> - raise(Error(sexp.pexp_loc, Expr_type_clash trace)) - end + and ty1 = approx_ty_opt sty1 + and ty2 = approx_ty_opt sty2 in + begin try unify env ty ty1 with Unify trace -> + raise(Error(sexp.pexp_loc, Expr_type_clash trace)) + end; + if sty2 = None then ty1 else ty2 | _ -> newvar () (* List labels in a function type, and whether return type is a variable *) diff --git a/typing/typedecl.ml b/typing/typedecl.ml index 4ca6e3a0..ed36c97e 100644 --- a/typing/typedecl.ml +++ b/typing/typedecl.ml @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: typedecl.ml,v 1.67.10.2 2004/12/09 10:15:43 garrigue Exp $ *) +(* $Id: typedecl.ml,v 1.67.10.5 2005/07/11 08:07:50 garrigue Exp $ *) (**** Typing of type definitions ****) @@ -35,10 +35,10 @@ type error = | Parameters_differ of Path.t * type_expr * type_expr | Null_arity_external | Missing_native_external - | Unbound_type_var + | Unbound_type_var of type_expr * type_declaration | Unbound_exception of Longident.t | Not_an_exception of Longident.t - | Bad_variance + | Bad_variance of int * (bool*bool) * (bool*bool) | Unavailable_type_constructor of Path.t exception Error of Location.t * error @@ -394,6 +394,7 @@ let compute_variance env tvl nega posi cntr ty = | Tsubst ty -> compute_same ty | Tvariant row -> + let row = Btype.row_repr row in List.iter (fun (_,f) -> match Btype.row_field_repr f with @@ -402,7 +403,8 @@ let compute_variance env tvl nega posi cntr ty = | Reither (_, tyl, _, _) -> List.iter compute_same tyl | _ -> ()) - (Btype.row_repr row).row_fields + row.row_fields; + compute_same row.row_more | Tpoly (ty, _) -> compute_same ty | Tvar | Tnil | Tlink _ | Tunivar -> () @@ -430,14 +432,14 @@ let whole_type decl = Some ty -> ty | _ -> Btype.newgenty (Ttuple []) -let compute_variance_decl env sharp decl (required, loc) = +let compute_variance_decl env check decl (required, loc) = if decl.type_kind = Type_abstract && decl.type_manifest = None then List.map (fun (c, n) -> if c || n then (c, n, n) else (true, true, true)) required else let params = List.map Btype.repr decl.type_params in let tvl0 = List.map make_variance params in - let fvl = Ctype.free_variables (whole_type decl) in + let fvl = if check then Ctype.free_variables (whole_type decl) else [] in let fvl = List.filter (fun v -> not (List.memq v params)) fvl in let tvl1 = List.map make_variance fvl in let tvl2 = List.map make_variance fvl in @@ -460,24 +462,31 @@ let compute_variance_decl env sharp decl (required, loc) = compute_variance env tvl true cn cn ty) ftl end; + let required = + List.map (fun (c,n as r) -> if c || n then r else (true,true)) + required + in List.iter2 (fun (ty, co, cn, ct) (c, n) -> if ty.desc <> Tvar then begin - let (c, n) = if c || n then (c, n) else (true, true) in co := c; cn := n; ct := n; compute_variance env tvl2 c n n ty end) tvl0 required; - if not sharp then - List.iter2 - (fun (_, c1, n1, t1) (_, c2, n2, t2) -> - if !c1 && not !c2 || !n1 && not !n2 || - !t1 && not !t2 && decl.type_kind = Type_abstract - then raise (Error(loc, Bad_variance))) - tvl1 tvl2; + List.iter2 + (fun (ty, c1, n1, t1) (_, c2, n2, t2) -> + if !c1 && not !c2 || !n1 && not !n2 + (* || !t1 && not !t2 && decl.type_kind = Type_abstract *) + then raise (Error(loc, + if not (!c2 || !n2) then Unbound_type_var (ty, decl) + else Bad_variance (0, (!c1,!n1), (!c2,!n2))))) + tvl1 tvl2; + let pos = ref 0 in List.map2 (fun (_, co, cn, ct) (c, n) -> - if c && !cn || n && !co then raise (Error(loc, Bad_variance)); + incr pos; + if !co && not c || !cn && not n + then raise (Error(loc, Bad_variance (!pos, (!co,!cn), (c,n)))); let ct = if decl.type_kind = Type_abstract then ct else cn in (!co, !cn, !ct)) tvl0 required @@ -498,17 +507,22 @@ let rec compute_variance_fixpoint env decls required variances = in let new_variances = List.map2 - (fun (id, decl) -> compute_variance_decl new_env (is_sharp id) decl) + (fun (id, decl) -> compute_variance_decl new_env false decl) new_decls required in let new_variances = List.map2 (List.map2 (fun (c1,n1,t1) (c2,n2,t2) -> c1||c2, n1||n2, t1||t2)) new_variances variances in - if new_variances = variances then - new_decls, new_env - else + if new_variances <> variances then compute_variance_fixpoint env decls required new_variances + else begin + List.iter2 + (fun (id, decl) req -> if not (is_sharp id) then + ignore (compute_variance_decl new_env true decl req)) + new_decls required; + new_decls, new_env + end let init_variance (id, decl) = List.map (fun _ -> (false, false, false)) decl.type_params @@ -561,7 +575,7 @@ let transl_type_decl env name_sdecl_list = List.iter2 (fun (_, sdecl) (id, decl) -> match Ctype.closed_type_decl decl with - Some _ -> raise(Error(sdecl.ptype_loc, Unbound_type_var)) + Some ty -> raise(Error(sdecl.ptype_loc, Unbound_type_var(ty,decl))) | None -> ()) name_sdecl_list decls; (* Check re-exportation *) @@ -646,8 +660,9 @@ let transl_with_constraint env sdecl = type_variance = []; } in - if Ctype.closed_type_decl decl <> None then - raise(Error(sdecl.ptype_loc, Unbound_type_var)); + begin match Ctype.closed_type_decl decl with None -> () + | Some ty -> raise(Error(sdecl.ptype_loc, Unbound_type_var(ty,decl))) + end; let decl = {decl with type_variance = compute_variance_decl env false decl @@ -740,15 +755,70 @@ let report_error ppf = function fprintf ppf "@[An external function with more than 5 arguments \ requires second stub function@ \ for native-code compilation@]" - | Unbound_type_var -> - fprintf ppf "A type variable is unbound in this type declaration" + | Unbound_type_var (ty, decl) -> + fprintf ppf "A type variable is unbound in this type declaration"; + let ty = Ctype.repr ty in + let explain tl typ kwd lab = + let ti = List.find (fun ti -> Ctype.deep_occur ty (typ ti)) tl in + Printtyp.reset_and_mark_loops_list [typ ti;ty]; + fprintf ppf + ".@.@[In %s@ %s%a@;<1 -2>the variable %a is unbound@]" + kwd (lab ti) Printtyp.type_expr (typ ti) Printtyp.type_expr ty + in + begin try match decl.type_kind, decl.type_manifest with + Type_variant (tl, _), _ -> + explain tl (fun (_,tl) -> Btype.newgenty (Ttuple tl)) + "case" (fun (lab,_) -> lab ^ " of ") + | Type_record (tl, _, _), _ -> + explain tl (fun (_,_,t) -> t) + "field" (fun (lab,_,_) -> lab ^ ": ") + | Type_abstract, Some ty' -> + let trivial ty = + explain [ty] (fun t -> t) "definition" (fun _ -> "") in + begin match (Ctype.repr ty').desc with + Tobject(fi,_) -> + let (tl, rv) = Ctype.flatten_fields fi in + if rv == ty then trivial ty' else + explain tl (fun (_,_,t) -> t) + "method" (fun (lab,_,_) -> lab ^ ": ") + | Tvariant row -> + let row = Btype.row_repr row in + if row.row_more == ty then trivial ty' else + explain row.row_fields + (fun (l,f) -> match Btype.row_field_repr f with + Rpresent (Some t) -> t + | Reither (_,[t],_,_) -> t + | Reither (_,tl,_,_) -> Btype.newgenty (Ttuple tl) + | _ -> Btype.newgenty (Ttuple[])) + "case" (fun (lab,_) -> "`" ^ lab ^ " of ") + | _ -> trivial ty' + end + | _ -> () + with Not_found -> () + end | Unbound_exception lid -> fprintf ppf "Unbound exception constructor@ %a" Printtyp.longident lid | Not_an_exception lid -> fprintf ppf "The constructor@ %a@ is not an exception" Printtyp.longident lid - | Bad_variance -> - fprintf ppf - "In this definition, expected parameter variances are not satisfied" + | Bad_variance (n, v1, v2) -> + let variance = function + (true, true) -> "invariant" + | (true, false) -> "covariant" + | (false,true) -> "contravariant" + | (false,false) -> "unrestricted" + in + if n < 1 then + fprintf ppf "%s@ %s@ %s" + "In this definition, a type variable" + "has a variance that is not reflected" + "by its occurence in type parameters." + else + fprintf ppf "%s@ %s@ %s %d%s %s %s,@ %s %s" + "In this definition, expected parameter" + "variances are not satisfied." + "The" n (match n with 1 -> "st" | 2 -> "nd" | 3 -> "rd" | _ -> "th") + "type parameter was expected to be" (variance v2) + "but it is" (variance v1) | Unavailable_type_constructor p -> fprintf ppf "The definition of type %a@ is unavailable" Printtyp.path p diff --git a/typing/typedecl.mli b/typing/typedecl.mli index 143cbc24..e473f269 100644 --- a/typing/typedecl.mli +++ b/typing/typedecl.mli @@ -10,7 +10,7 @@ (* *) (***********************************************************************) -(* $Id: typedecl.mli,v 1.26 2003/07/01 13:05:43 xleroy Exp $ *) +(* $Id: typedecl.mli,v 1.26.10.2 2005/04/15 08:16:41 garrigue Exp $ *) (* Typing of type definitions and primitive definitions *) @@ -58,10 +58,10 @@ type error = | Parameters_differ of Path.t * type_expr * type_expr | Null_arity_external | Missing_native_external - | Unbound_type_var + | Unbound_type_var of type_expr * type_declaration | Unbound_exception of Longident.t | Not_an_exception of Longident.t - | Bad_variance + | Bad_variance of int * (bool*bool) * (bool*bool) | Unavailable_type_constructor of Path.t exception Error of Location.t * error diff --git a/utils/CVS/Entries b/utils/CVS/Entries deleted file mode 100644 index b6c26500..00000000 --- a/utils/CVS/Entries +++ /dev/null @@ -1,17 +0,0 @@ -/.cvsignore/1.1/Tue Aug 29 08:33:37 1995//Tocaml3083 -/ccomp.ml/1.17.2.1/Wed Feb 2 15:39:40 2005//Tocaml3083 -/ccomp.mli/1.9/Thu Apr 18 07:27:47 2002//Tocaml3083 -/clflags.ml/1.46/Thu Jul 17 08:38:28 2003//Tocaml3083 -/config.mli/1.33/Thu Jul 3 15:13:23 2003//Tocaml3083 -/config.mlp/1.196/Sat Jun 12 08:55:49 2004//Tocaml3083 -/consistbl.ml/1.2/Mon Nov 18 10:41:26 2002//Tocaml3083 -/consistbl.mli/1.2/Mon Nov 18 10:41:26 2002//Tocaml3083 -/misc.ml/1.33.2.1/Wed Jul 7 16:47:27 2004//Tocaml3083 -/misc.mli/1.24.6.1/Wed Jul 7 16:47:27 2004//Tocaml3083 -/tbl.ml/1.12/Fri Apr 21 08:13:21 2000//Tocaml3083 -/tbl.mli/1.7/Fri Apr 21 08:13:22 2000//Tocaml3083 -/terminfo.ml/1.6/Thu Jan 1 16:42:42 2004//Tocaml3083 -/terminfo.mli/1.7/Thu Jan 1 16:42:43 2004//Tocaml3083 -/warnings.ml/1.17.4.1/Tue Feb 22 14:30:32 2005//Tocaml3083 -/warnings.mli/1.13/Fri May 2 08:46:06 2003//Tocaml3083 -D diff --git a/utils/CVS/Repository b/utils/CVS/Repository deleted file mode 100644 index 459b4c05..00000000 --- a/utils/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/utils diff --git a/utils/CVS/Root b/utils/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/utils/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/utils/CVS/Tag b/utils/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/utils/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/win32caml/CVS/Entries b/win32caml/CVS/Entries deleted file mode 100644 index f730440f..00000000 --- a/win32caml/CVS/Entries +++ /dev/null @@ -1,15 +0,0 @@ -/Makefile/1.9/Thu Jun 17 07:33:44 2004//Tocaml3083 -/editbuffer.c/1.1.2.2/Tue Jul 6 15:16:04 2004//Tocaml3083 -/editbuffer.h/1.1.2.2/Tue Jul 6 15:16:04 2004//Tocaml3083 -/history.c/1.1.2.2/Tue Jul 6 15:16:04 2004//Tocaml3083 -/history.h/1.1.2.2/Tue Jul 6 15:16:04 2004//Tocaml3083 -/inria.h/1.5/Thu Jun 17 07:33:44 2004//Tocaml3083 -/inriares.h/1.3/Tue Jul 23 14:12:02 2002//Tocaml3083 -/libgraph.h/1.3/Tue Jul 23 14:12:02 2002//Tocaml3083 -/menu.c/1.7/Thu Jun 17 07:33:44 2004//Tocaml3083 -/ocaml.c/1.7.2.1/Mon Aug 9 08:51:09 2004//Tocaml3083 -/ocaml.ico/1.1/Tue Nov 6 12:36:23 2001//Tocaml3083 -/ocaml.rc/1.4/Thu Jun 17 07:33:45 2004//Tocaml3083 -/resource.h/1.1.2.1/Mon Jun 21 14:42:20 2004//Tocaml3083 -/startocaml.c/1.9.2.2/Wed Feb 2 15:41:30 2005//Tocaml3083 -D diff --git a/win32caml/CVS/Repository b/win32caml/CVS/Repository deleted file mode 100644 index c9744f0a..00000000 --- a/win32caml/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/win32caml diff --git a/win32caml/CVS/Root b/win32caml/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/win32caml/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/win32caml/CVS/Tag b/win32caml/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/win32caml/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/yacc/CVS/Entries b/yacc/CVS/Entries deleted file mode 100644 index e03aa855..00000000 --- a/yacc/CVS/Entries +++ /dev/null @@ -1,17 +0,0 @@ -/.cvsignore/1.6/Fri Apr 7 16:15:34 2000//Tocaml3083 -/Makefile/1.8/Thu Aug 10 09:58:08 2000//Tocaml3083 -/Makefile.nt/1.4/Fri Jun 7 09:49:45 2002//Tocaml3083 -/closure.c/1.9/Thu Jul 12 12:54:22 2001//Tocaml3083 -/defs.h/1.22/Wed Apr 21 23:26:05 2004//Tocaml3083 -/error.c/1.13/Sat Jun 12 11:59:11 2004//Tocaml3083 -/lalr.c/1.8/Thu Jul 12 12:54:23 2001//Tocaml3083 -/lr0.c/1.8/Thu Jul 12 12:54:23 2001//Tocaml3083 -/main.c/1.18/Wed Apr 21 23:26:05 2004//Tocaml3083 -/mkpar.c/1.11/Thu Jul 12 12:54:23 2001//Tocaml3083 -/output.c/1.14/Sat Nov 2 22:36:46 2002//Tocaml3083 -/reader.c/1.28.2.1/Fri Aug 20 15:26:02 2004//Tocaml3083 -/skeleton.c/1.12/Sat Nov 2 22:36:46 2002//Tocaml3083 -/symtab.c/1.8/Thu Jul 12 12:54:23 2001//Tocaml3083 -/verbose.c/1.9/Thu Jul 12 12:54:23 2001//Tocaml3083 -/warshall.c/1.8/Thu Jul 12 12:54:23 2001//Tocaml3083 -D diff --git a/yacc/CVS/Repository b/yacc/CVS/Repository deleted file mode 100644 index 29560fb5..00000000 --- a/yacc/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -csl/yacc diff --git a/yacc/CVS/Root b/yacc/CVS/Root deleted file mode 100644 index c83f52f0..00000000 --- a/yacc/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:yquem.inria.fr:/net/yquem/devel/caml/repository diff --git a/yacc/CVS/Tag b/yacc/CVS/Tag deleted file mode 100644 index deaa3eea..00000000 --- a/yacc/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -Nocaml3083 diff --git a/yacc/reader.c b/yacc/reader.c index 8cfd663b..a7c4ab59 100644 --- a/yacc/reader.c +++ b/yacc/reader.c @@ -12,7 +12,7 @@ /* Based on public-domain code from Berkeley Yacc */ -/* $Id: reader.c,v 1.28.2.1 2004/08/20 15:26:02 doligez Exp $ */ +/* $Id: reader.c,v 1.28.2.2 2005/06/21 12:28:35 doligez Exp $ */ #include #include "defs.h" @@ -1282,11 +1282,13 @@ void copy_action(void) if (item->class == TERM && !item->tag) continue; fprintf(f, " let _%d = ", i); if (item->tag) - fprintf(f, "(peek_val parser_env %d : %s) in\n", n - i, item->tag); + fprintf(f, "(Parsing.peek_val parser_env %d : %s) in\n", n - i, + item->tag); else if (sflag) - fprintf(f, "peek_val parser_env %d in\n", n - i); + fprintf(f, "Parsing.peek_val parser_env %d in\n", n - i); else - fprintf(f, "(peek_val parser_env %d : '%s) in\n", n - i, item->name); + fprintf(f, "(Parsing.peek_val parser_env %d : '%s) in\n", n - i, + item->name); } fprintf(f, " Obj.repr(\n"); fprintf(f, line_format, lineno, input_file_name); @@ -1762,7 +1764,7 @@ void make_goal(void) if (is_polymorphic(bp->tag)) polymorphic_entry_point(bp->name); fprintf(entry_file, - "let %s (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =\n (yyparse yytables %d lexfun lexbuf : %s)\n", + "let %s (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =\n (Parsing.yyparse yytables %d lexfun lexbuf : %s)\n", bp->name, bp->entry, bp->tag); fprintf(interface_file, "val %s :\n (Lexing.lexbuf -> token) -> Lexing.lexbuf -> %s\n", @@ -1772,11 +1774,11 @@ void make_goal(void) "(* Entry %s *)\n", bp->name); if (sflag) fprintf(action_file, - "yyact.(%d) <- (fun parser_env -> raise (YYexit (peek_val parser_env 0)))\n", + "yyact.(%d) <- (fun parser_env -> raise (Parsing.YYexit (Parsing.peek_val parser_env 0)))\n", ntotalrules); else fprintf(action_file, - "; (fun parser_env -> raise (YYexit (peek_val parser_env 0)))\n"); + "; (fun parser_env -> raise (Parsing.YYexit (Parsing.peek_val parser_env 0)))\n"); ntotalrules++; last_was_action = 1; end_rule(); diff --git a/yacc/skeleton.c b/yacc/skeleton.c index e1a1e4e4..bed7ad1b 100644 --- a/yacc/skeleton.c +++ b/yacc/skeleton.c @@ -12,7 +12,7 @@ /* Based on public-domain code from Berkeley Yacc */ -/* $Id: skeleton.c,v 1.12 2002/11/02 22:36:46 doligez Exp $ */ +/* $Id: skeleton.c,v 1.12.6.1 2005/06/21 12:28:36 doligez Exp $ */ #include "defs.h" @@ -25,22 +25,22 @@ char *header[] = char *define_tables[] = { "let yytables =", - " { actions=yyact;", - " transl_const=yytransl_const;", - " transl_block=yytransl_block;", - " lhs=yylhs;", - " len=yylen;", - " defred=yydefred;", - " dgoto=yydgoto;", - " sindex=yysindex;", - " rindex=yyrindex;", - " gindex=yygindex;", - " tablesize=yytablesize;", - " table=yytable;", - " check=yycheck;", - " error_function=parse_error;", - " names_const=yynames_const;", - " names_block=yynames_block }", + " { Parsing.actions=yyact;", + " Parsing.transl_const=yytransl_const;", + " Parsing.transl_block=yytransl_block;", + " Parsing.lhs=yylhs;", + " Parsing.len=yylen;", + " Parsing.defred=yydefred;", + " Parsing.dgoto=yydgoto;", + " Parsing.sindex=yysindex;", + " Parsing.rindex=yyrindex;", + " Parsing.gindex=yygindex;", + " Parsing.tablesize=yytablesize;", + " Parsing.table=yytable;", + " Parsing.check=yycheck;", + " Parsing.error_function=parse_error;", + " Parsing.names_const=yynames_const;", + " Parsing.names_block=yynames_block }", 0 };