Hello community,

here is the log from the commit of package ocaml-migrate-parsetree for 
openSUSE:Factory checked in at 2018-12-21 08:22:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-migrate-parsetree (Old)
 and      /work/SRC/openSUSE:Factory/.ocaml-migrate-parsetree.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocaml-migrate-parsetree"

Fri Dec 21 08:22:23 2018 rev:3 rq:660232 version:1.1.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/ocaml-migrate-parsetree/ocaml-migrate-parsetree.changes
  2018-08-10 09:49:31.642245712 +0200
+++ 
/work/SRC/openSUSE:Factory/.ocaml-migrate-parsetree.new.28833/ocaml-migrate-parsetree.changes
       2018-12-21 08:22:29.321509905 +0100
@@ -1,0 +2,8 @@
+Thu Dec 20 08:12:37 UTC 2018 - [email protected]
+
+- New upstream release (1.1.0).
+  * Allow ppx rewriters to specify when they should be applied.
+  * Fix handling of --impl/--intf.
+- Fixed license and exception.
+
+-------------------------------------------------------------------

Old:
----
  ocaml-migrate-parsetree-1.0.11.tar.gz

New:
----
  ocaml-migrate-parsetree-1.1.0.tar.gz

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

Other differences:
------------------
++++++ ocaml-migrate-parsetree.spec ++++++
--- /var/tmp/diff_new_pack.pqYQyy/_old  2018-12-21 08:22:29.881509380 +0100
+++ /var/tmp/diff_new_pack.pqYQyy/_new  2018-12-21 08:22:29.893509369 +0100
@@ -17,11 +17,11 @@
 
 
 Name:           ocaml-migrate-parsetree
-Version:        1.0.11
+Version:        1.1.0
 Release:        0
 %{?ocaml_preserve_bytecode}
 Summary:        Library for conversion between different OCaml parsetrees 
versions
-License:        LGPL-2.1-or-later WITH OCaml-linking-exception
+License:        LGPL-2.1-only WITH OCaml-LGPL-linking-exception
 Group:          Development/Languages/OCaml
 
 URL:            https://github.com/ocaml-ppx/ocaml-migrate-parsetree

++++++ ocaml-migrate-parsetree-1.0.11.tar.gz -> 
ocaml-migrate-parsetree-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-migrate-parsetree-1.0.11/CHANGES.md 
new/ocaml-migrate-parsetree-1.1.0/CHANGES.md
--- old/ocaml-migrate-parsetree-1.0.11/CHANGES.md       2018-06-06 
18:54:55.000000000 +0200
+++ new/ocaml-migrate-parsetree-1.1.0/CHANGES.md        2018-09-05 
11:27:39.000000000 +0200
@@ -1,3 +1,8 @@
+v1.1.0 2018-09-05 London
+------------------------
+
+- Allow ppx rewriters to specify when they should be applied
+
 v1.0.11 2018-06-06 London
 -------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocaml-migrate-parsetree-1.0.11/ocaml-migrate-parsetree.opam 
new/ocaml-migrate-parsetree-1.1.0/ocaml-migrate-parsetree.opam
--- old/ocaml-migrate-parsetree-1.0.11/ocaml-migrate-parsetree.opam     
2018-06-06 18:54:55.000000000 +0200
+++ new/ocaml-migrate-parsetree-1.1.0/ocaml-migrate-parsetree.opam      
2018-09-05 11:27:39.000000000 +0200
@@ -7,7 +7,8 @@
 license: "LGPL-2.1"
 homepage: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree";
 bug-reports: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/issues";
-dev-repo: "git://github.com/ocaml-ppx/ocaml-migrate-parsetree.git"
+dev-repo: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree.git";
+doc: "https://ocaml-ppx.github.io/ocaml-migrate-parsetree/";
 tags: [ "syntax" "org:ocamllabs" ]
 build: [
   ["jbuilder" "build" "-p" name "-j" jobs]
@@ -15,6 +16,6 @@
 depends: [
   "result"
   "ocamlfind" {build}
-  "jbuilder" {build & >= "1.0+beta18.1"}
+  "dune" {build}
 ]
 available: ocaml-version >= "4.02.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocaml-migrate-parsetree-1.0.11/src/migrate_parsetree_driver.ml 
new/ocaml-migrate-parsetree-1.1.0/src/migrate_parsetree_driver.ml
--- old/ocaml-migrate-parsetree-1.0.11/src/migrate_parsetree_driver.ml  
2018-06-06 18:54:55.000000000 +0200
+++ new/ocaml-migrate-parsetree-1.1.0/src/migrate_parsetree_driver.ml   
2018-09-05 11:27:39.000000000 +0200
@@ -78,7 +78,16 @@
     Rewriters : 'types ocaml_version * (string * 'types rewriter) list -> 
rewriter_group
 
 let uniq_rewriter = Hashtbl.create 7
-let registered_rewriters = ref []
+module Pos_map = Map.Make(struct
+    type t = int
+    let compare : int -> int -> t = compare
+  end)
+let registered_rewriters = ref Pos_map.empty
+
+let all_rewriters () =
+  Pos_map.bindings !registered_rewriters
+  |> List.map (fun (_, r) -> !r)
+  |> List.concat
 
 let uniq_arg = Hashtbl.create 7
 let registered_args_reset = ref []
@@ -126,7 +135,7 @@
   in
   add_rewriter
 
-let register ~name ?reset_args ?(args=[]) version rewriter =
+let register ~name ?reset_args ?(args=[]) ?(position=0) version rewriter =
   (* Validate name *)
   if name = "" then
     invalid_arg "Migrate_parsetree_driver.register: name is empty";
@@ -148,8 +157,15 @@
   | Some f -> registered_args_reset := f :: !registered_args_reset
   end;
   registered_args := List.rev_append args !registered_args;
-  registered_rewriters :=
-    add_rewriter Is_rewriter version name rewriter !registered_rewriters
+  let r =
+    try
+      Pos_map.find position !registered_rewriters
+    with Not_found ->
+      let r = ref [] in
+      registered_rewriters := Pos_map.add position r !registered_rewriters;
+      r
+  in
+  r := add_rewriter Is_rewriter version name rewriter !r
 
 let registered_args () = List.rev !registered_args
 let reset_args () = List.iter (fun f -> f ()) !registered_args_reset
@@ -201,7 +217,10 @@
 
 let rewrite_signature config version sg =
   let cookies = create_cookies () in
-  let sg = rewrite_signature config cookies Signature version sg 
!registered_rewriters in
+  let sg =
+    rewrite_signature config cookies Signature version sg
+      (all_rewriters ())
+  in
   apply_cookies cookies;
   sg
 
@@ -230,7 +249,10 @@
 
 let rewrite_structure config version st =
   let cookies = create_cookies () in
-  let st = rewrite_structure config cookies Structure version st 
!registered_rewriters in
+  let st =
+    rewrite_structure config cookies Structure version st
+      (all_rewriters ())
+  in
   apply_cookies cookies;
   st
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocaml-migrate-parsetree-1.0.11/src/migrate_parsetree_driver.mli 
new/ocaml-migrate-parsetree-1.1.0/src/migrate_parsetree_driver.mli
--- old/ocaml-migrate-parsetree-1.0.11/src/migrate_parsetree_driver.mli 
2018-06-06 18:54:55.000000000 +0200
+++ new/ocaml-migrate-parsetree-1.1.0/src/migrate_parsetree_driver.mli  
2018-09-05 11:27:39.000000000 +0200
@@ -47,9 +47,21 @@
 
 type 'types rewriter = config -> cookies -> 'types get_mapper
 
+(** Register a ppx rewriter. [position] is a integer that indicates
+    when the ppx rewriter should be applied. It is guaranteed that if
+    two ppx rewriters [a] and [b] have different position numbers, then
+    the one with the lowest number will be applied first. The rewriting
+    order of ppx rewriters with the same position number is not
+    specified. The default position is [0].
+
+    Note that more different position numbers means more AST
+    conversions and slower rewriting, so think twice before setting
+    [position] to a non-zero number.
+*)
 val register
   :  name:string
   -> ?reset_args:(unit -> unit) -> ?args:(Arg.key * Arg.spec * Arg.doc) list
+  -> ?position:int
   -> 'types ocaml_version -> 'types rewriter
   -> unit
 


Reply via email to