Hello community,

here is the log from the commit of package ocaml-labltk for openSUSE:Factory 
checked in at 2016-07-15 12:46:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-labltk (Old)
 and      /work/SRC/openSUSE:Factory/.ocaml-labltk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocaml-labltk"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml-labltk/ocaml-labltk.changes        
2014-10-31 12:28:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ocaml-labltk.new/ocaml-labltk.changes   
2016-07-15 12:46:54.000000000 +0200
@@ -1,0 +2,11 @@
+Thu May 19 05:47:44 UTC 2016 - [email protected]
+
+- Update to version 8.06.1
+  Added labltk-8.06.1.patch
+
+-------------------------------------------------------------------
+Tue Nov 10 10:18:47 UTC 2015 - [email protected]
+
+- Add hardcoded Provides for pre 12.1 repos
+
+-------------------------------------------------------------------

Old:
----
  labltk-8.06.0.tar.xz

New:
----
  labltk-8.06.1.patch
  labltk-8.06.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ocaml-labltk.spec ++++++
--- /var/tmp/diff_new_pack.u7xG7x/_old  2016-07-15 12:46:56.000000000 +0200
+++ /var/tmp/diff_new_pack.u7xG7x/_new  2016-07-15 12:46:56.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ocaml-labltk
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,15 +16,16 @@
 #
 
 
-Version:        8.06.0
+Version:        8.06.1
+Release:        0
 %{ocaml_preserve_bytecode}
 Name:           ocaml-labltk
-Release:        0
 Summary:        Tcl/Tk framework for ocaml
 License:        SUSE-LGPL-2.0-with-linking-exception
 Group:          System/Libraries
 Url:            https://forge.ocamlcore.org/projects/labltk/
 Source:         labltk-%{version}.tar.xz
+Patch0:         labltk-8.06.1.patch
 Conflicts:      ocaml < 4.02.0
 BuildRequires:  ocaml >= 4.02.0
 BuildRequires:  ocaml-findlib
@@ -32,6 +33,12 @@
 BuildRequires:  tcl-devel
 BuildRequires:  tk-devel
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+# ocaml autodep start for pkg: ocaml-labltk
+# hardcoded rpm dependency for pre 12.1 to compensate for lack of ocaml() 
provides/requires
+%if 0%{?suse_version} < 1210
+Requires:       ocaml-runtime
+%endif
+# ocaml autodep end for pkg: ocaml-labltk
 
 %description
 LablTk is an interface to the Tcl/Tk GUI framework. It allows to
@@ -40,6 +47,12 @@
 also part of this project.
 
 %package devel
+# ocaml autodep start for pkg: ocaml-labltk-devel
+# hardcoded rpm dependency for pre 12.1 to compensate for lack of ocaml() 
provides/requires
+%if 0%{?suse_version} < 1210
+Requires:       ocaml-runtime
+%endif
+# ocaml autodep end for pkg: ocaml-labltk-devel
 Summary:        Development files for labltk
 Group:          Development/Libraries/Other
 Requires:       %{name} = %{version}
@@ -55,6 +68,7 @@
 browser for code editing and library browsing.
 %prep
 %setup -q -n labltk-%{version}
+%patch0 -p1
 find -name .gitignore -print -delete
 
 %build
@@ -85,36 +99,47 @@
 
 find examples* -type f -exec chmod -v 644 {} \;
 cat $ld_conf
+#
+mkdir -vp %{buildroot}/etc/ld.so.conf.d/
+tee %{buildroot}/etc/ld.so.conf.d/%{name}.conf <<_EOF_
+%{_libdir}/ocaml/stublibs
+_EOF_
+#
+
+%post   -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
 
 %files
 %defattr(-,root,root,-)
 %{_bindir}/labltk
-%{_libdir}/ocaml
-%exclude %{_libdir}/ocaml/labltk/labltktop
-%exclude %{_libdir}/ocaml/labltk/pp
-%exclude %{_libdir}/ocaml/labltk/tkcompiler
+/etc/ld.so.conf.d/*.conf
+%dir %{_libdir}/ocaml
+%dir %{_libdir}/ocaml/*
 %if %{ocaml_native_compiler}
-%exclude %{_libdir}/ocaml/*/*.a
-%exclude %{_libdir}/ocaml/*/*.cmx
-%exclude %{_libdir}/ocaml/*/*.cmxa
 %endif
-%exclude %{_libdir}/ocaml/*/*.mli
+%{_libdir}/ocaml/*/*.so
+%{_libdir}/ocaml/*/*.so.owner
 
 %files devel
 %defattr(-,root,root,-)
+%doc examples_labltk
+%doc examples_camltk
 %{_bindir}/ocamlbrowser
+%{_libdir}/ocaml/*/labltktop
+%{_libdir}/ocaml/*/pp
+%{_libdir}/ocaml/*/tkcompiler
 %dir %{_libdir}/ocaml
-%dir %{_libdir}/ocaml/labltk
-%{_libdir}/ocaml/labltk/labltktop
-%{_libdir}/ocaml/labltk/pp
-%{_libdir}/ocaml/labltk/tkcompiler
-%if %{ocaml_native_compiler}
+%dir %{_libdir}/ocaml/*
 %{_libdir}/ocaml/*/*.a
+%if %{ocaml_native_compiler}
 %{_libdir}/ocaml/*/*.cmx
 %{_libdir}/ocaml/*/*.cmxa
 %endif
+%{_libdir}/ocaml/*/*.cma
+%{_libdir}/ocaml/*/*.cmi
+%{_libdir}/ocaml/*/*.cmo
 %{_libdir}/ocaml/*/*.mli
-%doc examples_labltk
-%doc examples_camltk
+%{_libdir}/ocaml/*/META
 
 %changelog

++++++ labltk-8.06.1.patch ++++++
---
 browser/Makefile |    2 ++
 1 file changed, 2 insertions(+)

--- a/browser/Makefile
+++ b/browser/Makefile
@@ -16,5 +16,7 @@
 
 include Makefile.shared
 
+dummy.cmi: dummy.ml
+
 dummy.ml:
        cp dummyUnix.ml dummy.ml
++++++ labltk-8.06.0.tar.xz -> labltk-8.06.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/.gitignore new/labltk-8.06.1/.gitignore
--- old/labltk-8.06.0/.gitignore        1970-01-01 01:00:00.000000000 +0100
+++ new/labltk-8.06.1/.gitignore        2016-04-27 05:35:24.000000000 +0200
@@ -0,0 +1,4 @@
+labltklink
+labltkopt
+Makefile.config
+config.status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/Changes new/labltk-8.06.1/Changes
--- old/labltk-8.06.0/Changes   2014-09-18 06:08:33.000000000 +0200
+++ new/labltk-8.06.1/Changes   2016-04-27 05:35:24.000000000 +0200
@@ -1,3 +1,13 @@
+2016-04-27:
+-----------
+* Release labltk-8.06.1
+* Adapt to ocaml 4.03
+* Fix const qualifiers in C code
+
+2014-12-22:
+-----------
+* Adapt to changes in trunk
+
 2014-09-18:
 -----------
 * Release labltk-8.06.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/README.md new/labltk-8.06.1/README.md
--- old/labltk-8.06.0/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/labltk-8.06.1/README.md 2016-04-27 05:35:24.000000000 +0200
@@ -0,0 +1,7 @@
+LablTk is an interface to the Tcl/Tk GUI framework. It allows to develop GUI 
applications in a speedy and type safe way. A legacy Camltk interface is 
included. The OCamlBrowser library viewer is also part of this project.
+
+The project page is:
+https://forge.ocamlcore.org/projects/labltk/
+
+You can find documentation here:
+https://forge.ocamlcore.org/docman/?group_id=343&view=listfile&dirid=385
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/Makefile 
new/labltk-8.06.1/browser/Makefile
--- old/labltk-8.06.0/browser/Makefile  2014-09-18 06:08:33.000000000 +0200
+++ new/labltk-8.06.1/browser/Makefile  2016-04-27 05:35:24.000000000 +0200
@@ -16,5 +16,5 @@
 
 include Makefile.shared
 
-dummy.mli:
-       cp dummyUnix.mli dummy.mli
+dummy.ml:
+       cp dummyUnix.ml dummy.ml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/Makefile.nt 
new/labltk-8.06.1/browser/Makefile.nt
--- old/labltk-8.06.0/browser/Makefile.nt       2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/Makefile.nt       2016-04-27 05:35:24.000000000 
+0200
@@ -29,5 +29,5 @@
 
 include Makefile.shared
 
-dummy.mli:
-       cp dummyWin.mli dummy.mli
+dummy.ml:
+       cp dummyWin.ml dummy.ml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/Makefile.shared 
new/labltk-8.06.1/browser/Makefile.shared
--- old/labltk-8.06.0/browser/Makefile.shared   2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/Makefile.shared   2016-04-27 05:35:24.000000000 
+0200
@@ -18,8 +18,8 @@
 INCLUDES=$(LABLTKLIB)
 
 OBJ =  list2.cmo       useunix.cmo     setpath.cmo     lexical.cmo     \
-       fileselect.cmo  searchid.cmo    searchpos.cmo   shell.cmo       \
-       help.cmo        \
+       fileselect.cmo  searchid.cmo    searchpos.cmo   \
+       dummy.cmo       shell.cmo       help.cmo        \
        viewer.cmo      typecheck.cmo   editor.cmo      main.cmo
 
 JG =   jg_tk.cmo       jg_config.cmo   jg_bind.cmo     jg_completion.cmo \
@@ -63,7 +63,7 @@
        cp ocamlbrowser$(EXE) $(INSTALLBINDIR)
 
 clean:
-       rm -f *.cm? ocamlbrowser$(EXE) dummy.mli *~ *.orig *.$(O) help.ml
+       rm -f *.cm? ocamlbrowser$(EXE) dummy.ml *~ *.orig *.$(O) help.ml
 
 depend: help.ml
        $(CAMLDEP) $(LABLTKLIB) *.ml *.mli > .depend
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/dummyUnix.ml 
new/labltk-8.06.1/browser/dummyUnix.ml
--- old/labltk-8.06.0/browser/dummyUnix.ml      1970-01-01 01:00:00.000000000 
+0100
+++ new/labltk-8.06.1/browser/dummyUnix.ml      2016-04-27 05:35:24.000000000 
+0200
@@ -0,0 +1,27 @@
+(*************************************************************************)
+(*                                                                       *)
+(*                         OCaml LablTk library                          *)
+(*                                                                       *)
+(*            Jacques Garrigue, Kyoto University RIMS                    *)
+(*                                                                       *)
+(*   Copyright 2000 Institut National de Recherche en Informatique et    *)
+(*   en Automatique and Kyoto University.  All rights reserved.          *)
+(*   This file is distributed under the terms of the GNU Library         *)
+(*   General Public License, with the special exception on linking       *)
+(*   described in file ../../../LICENSE.                                 *)
+(*                                                                       *)
+(*************************************************************************)
+
+(* $Id$ *)
+
+module Mutex = struct
+  type t
+  external create : unit -> t = "%ignore"
+  external lock : t -> unit = "%ignore"
+  external unlock : t -> unit = "%ignore"
+end
+
+module Thread = struct
+  type t
+  external create : ('a -> 'b) -> 'a -> t = "caml_ml_input"
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/dummyUnix.mli 
new/labltk-8.06.1/browser/dummyUnix.mli
--- old/labltk-8.06.0/browser/dummyUnix.mli     2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/dummyUnix.mli     1970-01-01 01:00:00.000000000 
+0100
@@ -1,27 +0,0 @@
-(*************************************************************************)
-(*                                                                       *)
-(*                         OCaml LablTk library                          *)
-(*                                                                       *)
-(*            Jacques Garrigue, Kyoto University RIMS                    *)
-(*                                                                       *)
-(*   Copyright 2000 Institut National de Recherche en Informatique et    *)
-(*   en Automatique and Kyoto University.  All rights reserved.          *)
-(*   This file is distributed under the terms of the GNU Library         *)
-(*   General Public License, with the special exception on linking       *)
-(*   described in file ../../../LICENSE.                                 *)
-(*                                                                       *)
-(*************************************************************************)
-
-(* $Id$ *)
-
-module Mutex : sig
-  type t
-  external create : unit -> t = "%ignore"
-  external lock : t -> unit = "%ignore"
-  external unlock : t -> unit = "%ignore"
-end
-
-module Thread : sig
-  type t
-  external create : ('a -> 'b) -> 'a -> t = "caml_ml_input"
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/dummyWin.ml 
new/labltk-8.06.1/browser/dummyWin.ml
--- old/labltk-8.06.0/browser/dummyWin.ml       1970-01-01 01:00:00.000000000 
+0100
+++ new/labltk-8.06.1/browser/dummyWin.ml       2016-04-27 05:35:24.000000000 
+0200
@@ -0,0 +1,15 @@
+(*************************************************************************)
+(*                                                                       *)
+(*                         OCaml LablTk library                          *)
+(*                                                                       *)
+(*            Jacques Garrigue, Kyoto University RIMS                    *)
+(*                                                                       *)
+(*   Copyright 2000 Institut National de Recherche en Informatique et    *)
+(*   en Automatique and Kyoto University.  All rights reserved.          *)
+(*   This file is distributed under the terms of the GNU Library         *)
+(*   General Public License, with the special exception on linking       *)
+(*   described in file ../../../LICENSE.                                 *)
+(*                                                                       *)
+(*************************************************************************)
+
+(* $Id$ *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/dummyWin.mli 
new/labltk-8.06.1/browser/dummyWin.mli
--- old/labltk-8.06.0/browser/dummyWin.mli      2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/dummyWin.mli      1970-01-01 01:00:00.000000000 
+0100
@@ -1,15 +0,0 @@
-(*************************************************************************)
-(*                                                                       *)
-(*                         OCaml LablTk library                          *)
-(*                                                                       *)
-(*            Jacques Garrigue, Kyoto University RIMS                    *)
-(*                                                                       *)
-(*   Copyright 2000 Institut National de Recherche en Informatique et    *)
-(*   en Automatique and Kyoto University.  All rights reserved.          *)
-(*   This file is distributed under the terms of the GNU Library         *)
-(*   General Public License, with the special exception on linking       *)
-(*   described in file ../../../LICENSE.                                 *)
-(*                                                                       *)
-(*************************************************************************)
-
-(* $Id$ *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/fileselect.ml 
new/labltk-8.06.1/browser/fileselect.ml
--- old/labltk-8.06.0/browser/fileselect.ml     2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/fileselect.ml     2016-04-27 05:35:24.000000000 
+0200
@@ -131,7 +131,7 @@
       List.fold_left !Config.load_path ~init:[] ~f:
       begin fun acc dir ->
         let files = ls ~dir ~pattern in
-        Sort.merge (<) files
+        List.merge compare files
           (List.fold_left files ~init:acc
            ~f:(fun acc name -> List2.exclude name acc))
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/jg_completion.ml 
new/labltk-8.06.1/browser/jg_completion.ml
--- old/labltk-8.06.0/browser/jg_completion.ml  2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/jg_completion.ml  2016-04-27 05:35:24.000000000 
+0200
@@ -14,8 +14,9 @@
 
 (* $Id$ *)
 
-let lt_string ?(nocase=false) s1 s2 =
-  if nocase then String.lowercase s1 < String.lowercase s2 else s1 < s2
+let compare_string ?(nocase=false) s1 s2 =
+  if nocase then compare (String.lowercase s1) (String.lowercase s2)
+  else compare s1 s2
 
 class completion ?nocase texts = object
   val mutable texts = texts
@@ -25,7 +26,7 @@
   method add c =
     prefix <- prefix ^ c;
     while current < List.length texts - 1 &&
-      lt_string (List.nth texts current) prefix ?nocase
+      compare_string (List.nth texts current) prefix ?nocase < 0
     do
       current <- current + 1
     done;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/jg_completion.mli 
new/labltk-8.06.1/browser/jg_completion.mli
--- old/labltk-8.06.0/browser/jg_completion.mli 2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/jg_completion.mli 2016-04-27 05:35:24.000000000 
+0200
@@ -14,7 +14,7 @@
 
 (* $Id$ *)
 
-val lt_string : ?nocase:bool -> string -> string -> bool
+val compare_string : ?nocase:bool -> string -> string -> int
 
 class timed :  ?nocase:bool -> ?wait:int -> string list -> object
   val mutable texts : string list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/searchid.ml 
new/labltk-8.06.1/browser/searchid.ml
--- old/labltk-8.06.0/browser/searchid.ml       2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/searchid.ml       2016-04-27 05:35:24.000000000 
+0200
@@ -128,7 +128,7 @@
       begin fun l1 ->
         List.for_all2 l1 l2 ~f:
         begin fun (p1,t1) (p2,t2) ->
-          (p1 = "" || p1 = p2) && equal t1 t2 ~prefix
+          (p1 = Nolabel || p1 = p2) && equal t1 t2 ~prefix
         end
       end
   | Ttuple l1, Ttuple l2 ->
@@ -140,8 +140,7 @@
       && List.for_all2 l1 l2 ~f:(equal ~prefix)
   | _ -> false
 
-let is_opt s = s <> "" && s.[0] = '?'
-let get_options = List.filter ~f:is_opt
+let get_options = List.filter ~f:Btype.is_optional
 
 let rec included ~prefix t1 t2 =
   match (repr t1).desc, (repr t2).desc with
@@ -170,14 +169,14 @@
       let l2 = if arr len1 ~card:len2 < 100 then l2 else
           let ll1 = get_options (fst (List.split l1)) in
           List.filter l2
-          ~f:(fun (l,_) -> not (is_opt l) || List.mem l ll1)
+          ~f:(fun (l,_) -> not (is_optional l) || List.mem l ll1)
       in
       len1 <= len2 &&
       List.exists (List2.flat_map ~f:permutations (choose len1 ~card:l2)) ~f:
       begin fun l2 ->
         List.for_all2 l1 l2 ~f:
         begin fun (p1,t1) (p2,t2) ->
-          (p1 = "" || p1 = p2) && included t1 t2 ~prefix
+          (p1 = Nolabel || p1 = p2) && included t1 t2 ~prefix
         end
       end
   | Ttuple l1, Ttuple l2 ->
@@ -217,6 +216,10 @@
         `Included -> included t ~prefix
       | `Exact -> equal t ~prefix
   and lid_of_id id = mklid (prefix @ [Ident.name id]) in
+  let constructor_matches = function
+      Types.Cstr_tuple l -> List.exists l ~f:matches
+    | Cstr_record l -> List.exists l ~f:(fun d -> matches d.Types.ld_type)
+  in
   List2.flat_map sign ~f:
   begin fun item -> match item with
         Sig_value (id, vd) ->
@@ -233,8 +236,8 @@
          | Type_open -> false
           | Type_variant l ->
             List.exists l ~f:
-            begin fun {Types.cd_args=l; cd_res=r} ->
-              List.exists l ~f:matches ||
+            begin fun {Types.cd_args=args; cd_res=r} ->
+              constructor_matches args  ||
               match r with None -> false | Some x -> matches x
             end
           | Type_record(l, rep) ->
@@ -242,7 +245,7 @@
           end
           then [lid_of_id id, Ptype] else []
       | Sig_typext (id, l, _) ->
-          if List.exists l.ext_args ~f:matches
+          if constructor_matches l.ext_args
           then [lid_of_id id, Pconstructor]
           else []
       | Sig_module (id, {md_type=Mty_signature sign}, _) ->
@@ -270,7 +273,7 @@
       `Exact, _ -> [t]
     | `Included, Tarrow _ -> [t]
     | `Included, _ ->
-      [t; newty(Tarrow("",t,newvar(),Cok)); newty(Tarrow("",newvar(),t,Cok))]
+      [t; newty(Tarrow(Nolabel,t,newvar(),Cok)); 
newty(Tarrow(Nolabel,newvar(),t,Cok))]
   in List2.flat_map !module_list ~f:
     begin fun modname ->
     let mlid = Lident modname in
@@ -465,7 +468,7 @@
             end;
           false
       | Pstr_primitive vd when kind = Pvalue -> name = vd.pval_name.txt
-      | Pstr_type l when kind = Ptype ->
+      | Pstr_type (_, l) when kind = Ptype ->
           List.iter l ~f:
             begin fun td ->
               if td.ptype_name.txt = name
@@ -526,7 +529,7 @@
     begin fun item ->
       if match item.psig_desc with
         Psig_value vd when kind = Pvalue -> name = vd.pval_name.txt
-      | Psig_type l when kind = Ptype ->
+      | Psig_type (_, l) when kind = Ptype ->
           List.iter l ~f:
             begin fun td ->
               if td.ptype_name.txt = name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/searchpos.ml 
new/labltk-8.06.1/browser/searchpos.ml
--- old/labltk-8.06.0/browser/searchpos.ml      2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/browser/searchpos.ml      2016-04-27 05:35:24.000000000 
+0200
@@ -20,8 +20,8 @@
 open Tk
 open Jg_tk
 open Parsetree
-open Types
 open Typedtree
+open Types
 open Location
 open Longident
 open Path
@@ -158,6 +158,16 @@
     | Pcty_extension _ -> ()
     end
 
+let search_pos_arguments ~pos ~env = function
+    Pcstr_tuple l -> List.iter l ~f:(search_pos_type ~pos ~env)
+  | Pcstr_record l -> List.iter l ~f:(fun ld -> search_pos_type ld.pld_type 
~pos ~env)
+
+let search_pos_constructor pcd ~pos ~env =
+  if in_loc ~pos pcd.pcd_loc then begin
+    Misc.may (search_pos_type ~pos ~env) pcd.pcd_res;
+    search_pos_arguments ~pos ~env pcd.pcd_args
+  end
+
 let search_pos_type_decl td ~pos ~env =
   if in_loc ~pos td.ptype_loc then begin
     begin match td.ptype_manifest with
@@ -168,8 +178,7 @@
       Ptype_abstract
     | Ptype_open -> ()
     | Ptype_variant dl ->
-        List.iter dl
-          ~f:(fun pcd -> List.iter pcd.pcd_args ~f:(search_pos_type ~pos 
~env)) (* iter on pcd_res? *)
+        List.iter dl ~f:(search_pos_constructor ~pos ~env)
     | Ptype_record dl ->
         List.iter dl ~f:(fun pld -> search_pos_type pld.pld_type ~pos ~env) in
     search_tkind td.ptype_kind;
@@ -182,7 +191,7 @@
 
 let search_pos_extension ext ~pos ~env =
   begin match ext.pext_kind with
-    Pext_decl (l, _) -> List.iter l ~f:(search_pos_type ~pos ~env)
+    Pext_decl (l, _) -> search_pos_arguments l ~pos ~env
   | Pext_rebind _ -> ()
   end
   
@@ -205,7 +214,7 @@
     if in_loc ~pos pt.psig_loc then
       begin match pt.psig_desc with
         Psig_value desc -> search_pos_type desc.pval_type ~pos ~env
-      | Psig_type l ->
+      | Psig_type (_, l) ->
           List.iter l ~f:(search_pos_type_decl ~pos ~env)
       | Psig_typext pty ->
          List.iter pty.ptyext_constructors
@@ -507,7 +516,7 @@
   in
   view_signature ~title ?path ?env
     [Sig_value (id, {val_type = t; val_kind = Val_reg; val_attributes=[];
-           Types.val_loc = Location.none})]
+                     val_loc = Location.none})]
 
 and view_decl lid ~kind ~env =
   match kind with
@@ -573,9 +582,9 @@
 type fkind = [
     `Exp of
       [`Expr|`Pat|`Const|`Val of Path.t|`Var of Path.t|`New of Path.t]
-        * Types.type_expr
-  | `Class of Path.t * Types.class_type
-  | `Module of Path.t * Types.module_type
+        * type_expr
+  | `Class of Path.t * class_type
+  | `Module of Path.t * module_type
 ]
 
 let view_type kind ~env =
@@ -612,7 +621,7 @@
         Mty_signature sign -> view_signature sign ~path ~env
       | modtype ->
           let md =
-           {Types.md_type = mty; md_attributes = []; md_loc = Location.none} in
+           {md_type = mty; md_attributes = []; md_loc = Location.none} in
           view_signature_item ~path ~env
             [Sig_module(ident_of_path path ~default:"M", md, Trec_not)]
 
@@ -691,7 +700,7 @@
   | Tstr_recmodule bindings ->
       List.iter bindings ~f:(fun mb -> search_pos_module_expr mb.mb_expr ~pos)
   | Tstr_class l ->
-      List.iter l ~f:(fun (cl, _, _) -> search_pos_class_expr cl.ci_expr ~pos)
+      List.iter l ~f:(fun (ci, _) -> search_pos_class_expr ci.ci_expr ~pos)
   | Tstr_include {incl_mod=m} -> search_pos_module_expr m ~pos
   | Tstr_primitive _
   | Tstr_type _
@@ -733,7 +742,7 @@
         search_pos_class_expr cl ~pos
     | Tcl_apply (cl, el) ->
         search_pos_class_expr cl ~pos;
-        List.iter el ~f:(fun (_, x,_) -> Misc.may (search_pos_expr ~pos) x)
+        List.iter el ~f:(fun (_, x) -> Misc.may (search_pos_expr ~pos) x)
     | Tcl_let (_, pel, iel, cl) ->
         List.iter pel ~f:
           begin fun {vb_pat=pat; vb_expr=exp} ->
@@ -776,7 +785,7 @@
   | Texp_function (_, l, _) ->
       List.iter l ~f:(search_case ~pos)
   | Texp_apply (exp, l) ->
-      List.iter l ~f:(fun (_, x,_) -> Misc.may (search_pos_expr ~pos) x);
+      List.iter l ~f:(fun (_, x) -> Misc.may (search_pos_expr ~pos) x);
       search_pos_expr exp ~pos
   | Texp_match (exp, l, _, _) ->
       search_pos_expr exp ~pos;
@@ -830,6 +839,10 @@
       search_pos_class_structure ~pos cls
   | Texp_pack modexp ->
       search_pos_module_expr modexp ~pos
+  | Texp_unreachable ->
+      ()
+  | Texp_extension_constructor _ ->
+      ()
   end;
   add_found_str (`Exp(`Expr, exp.exp_type)) ~env:exp.exp_env ~loc:exp.exp_loc
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/browser/viewer.ml 
new/labltk-8.06.1/browser/viewer.ml
--- old/labltk-8.06.0/browser/viewer.ml 2014-09-18 06:08:33.000000000 +0200
+++ new/labltk-8.06.1/browser/viewer.ml 2016-04-27 05:35:24.000000000 +0200
@@ -44,7 +44,7 @@
 
 let reset_modules box =
   Listbox.delete box ~first:(`Num 0) ~last:`End;
-  module_list := Sort.list (Jg_completion.lt_string ~nocase:true)
+  module_list := List.sort (Jg_completion.compare_string ~nocase:true)
       (list_modules ~path:!Config.load_path);
   Listbox.insert box ~index:`End ~texts:!module_list;
   Jg_box.recenter box ~index:(`Num 0)
@@ -76,7 +76,7 @@
             [Sig_typext (Ident.create name,
                         {Types.ext_type_path = cpath;
                          ext_type_params = args;
-                         ext_args = cd.cstr_args;
+                         ext_args = Cstr_tuple cd.cstr_args;
                          ext_ret_type = (if cd.cstr_generalized
                                          then Some cd.cstr_res else None);
                          ext_private = cd.cstr_private;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/camltk/Makefile 
new/labltk-8.06.1/camltk/Makefile
--- old/labltk-8.06.0/camltk/Makefile   2014-09-18 06:08:33.000000000 +0200
+++ new/labltk-8.06.1/camltk/Makefile   2016-04-27 05:35:24.000000000 +0200
@@ -16,7 +16,7 @@
 
 include ../support/Makefile.common
 
-COMPFLAGS= -I ../support
+COMPFLAGS= -I ../support -no-alias-deps
 
 all: camltkobjs
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/labltk/Makefile 
new/labltk-8.06.1/labltk/Makefile
--- old/labltk-8.06.0/labltk/Makefile   2014-09-18 06:08:33.000000000 +0200
+++ new/labltk-8.06.1/labltk/Makefile   2016-04-27 05:35:24.000000000 +0200
@@ -16,7 +16,7 @@
 
 include ../support/Makefile.common
 
-COMPFLAGS= -I ../support
+COMPFLAGS= -I ../support -no-alias-deps
 
 all: labltkobjs
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/support/Makefile.common 
new/labltk-8.06.1/support/Makefile.common
--- old/labltk-8.06.0/support/Makefile.common   2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/support/Makefile.common   2016-04-27 05:35:24.000000000 
+0200
@@ -25,7 +25,7 @@
 CAMLOPT=$(BINDIR)/ocamlopt$(OPT)
 CAMLCB=$(BINDIR)/ocamlc
 CAMLOPTB=$(BINDIR)/ocamlopt
-CAMLCOMP=$(CAMLC) -c -warn-error A-3
+CAMLCOMP=$(CAMLC) -c -warn-error A-3-52
 CAMLYACC=$(BINDIR)/ocamlyacc -v
 CAMLLEX=$(BINDIR)/ocamllex
 CAMLLIBR=$(CAMLC) -a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/support/camltk.h 
new/labltk-8.06.1/support/camltk.h
--- old/labltk-8.06.0/support/camltk.h  2014-09-18 06:08:33.000000000 +0200
+++ new/labltk-8.06.1/support/camltk.h  2016-04-27 05:35:24.000000000 +0200
@@ -40,7 +40,7 @@
 extern char *string_to_c(value s);
 
 /* cltkUtf.c */
-extern value tcl_string_to_caml( char * );
+extern value tcl_string_to_caml( const char * );
 extern char * caml_string_to_tcl( value );
 
 /* cltkEval.c */
@@ -53,7 +53,7 @@
 extern value *handler_code;
 extern int CamlCBCmd(ClientData clientdata, Tcl_Interp *interp,
                      int argc, CONST84 char *argv[]);
-CAMLTKextern void tk_error(char * errmsg) Noreturn;
+CAMLTKextern void tk_error(const char * errmsg) Noreturn;
 
 /* cltkMain.c */
 extern int signal_events;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/support/cltkCaml.c 
new/labltk-8.06.1/support/cltkCaml.c
--- old/labltk-8.06.0/support/cltkCaml.c        2014-09-18 06:08:33.000000000 
+0200
+++ new/labltk-8.06.1/support/cltkCaml.c        2016-04-27 05:35:24.000000000 
+0200
@@ -63,7 +63,7 @@
 }
 
 /* Note: raise_with_string WILL copy the error message */
-CAMLprim void tk_error(char *errmsg)
+CAMLprim void tk_error(const char *errmsg)
 {
   raise_with_string(*tkerror_exn, errmsg);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/labltk-8.06.0/support/cltkUtf.c 
new/labltk-8.06.1/support/cltkUtf.c
--- old/labltk-8.06.0/support/cltkUtf.c 2014-09-18 06:08:33.000000000 +0200
+++ new/labltk-8.06.1/support/cltkUtf.c 2016-04-27 05:35:24.000000000 +0200
@@ -50,7 +50,7 @@
   return res;
 }
 
-char *utf_to_external( char *str ){
+char *utf_to_external( const char *str ){
   char *res;
   Tcl_DString dstr;
   int length;
@@ -69,7 +69,7 @@
   return external_to_utf( String_val(s) );
 }
 
-value tcl_string_to_caml( char *s )
+value tcl_string_to_caml( const char *s )
 {
   CAMLparam0();
   CAMLlocal1(res);


Reply via email to