Hello community,

here is the log from the commit of package ocaml-lablgtk2 for openSUSE:Factory 
checked in at 2015-07-08 06:59:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-lablgtk2 (Old)
 and      /work/SRC/openSUSE:Factory/.ocaml-lablgtk2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocaml-lablgtk2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml-lablgtk2/ocaml-lablgtk2.changes    
2014-11-14 09:18:47.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ocaml-lablgtk2.new/ocaml-lablgtk2.changes       
2015-07-08 06:59:12.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Jun 23 11:47:29 UTC 2015 - [email protected]
+
+- update to 2.18.3
+
+-------------------------------------------------------------------

Old:
----
  lablgtk-2.18.2.tar.gz

New:
----
  lablgtk-2.18.3.tar.gz

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

Other differences:
------------------
++++++ ocaml-lablgtk2.spec ++++++
--- /var/tmp/diff_new_pack.we6N8k/_old  2015-07-08 06:59:13.000000000 +0200
+++ /var/tmp/diff_new_pack.we6N8k/_new  2015-07-08 06:59:13.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ocaml-lablgtk2
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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,7 +16,7 @@
 #
 
 
-Version:        2.18.2
+Version:        2.18.3
 Release:        0
 %{ocaml_preserve_bytecode}
 %global __ocaml_requires_opts -i GtkSourceView_types -i GtkSourceView2_types

++++++ lablgtk-2.18.2.tar.gz -> lablgtk-2.18.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/.gitignore 
new/lablgtk-2.18.3/.gitignore
--- old/lablgtk-2.18.2/.gitignore       1970-01-01 01:00:00.000000000 +0100
+++ new/lablgtk-2.18.3/.gitignore       2014-10-29 08:51:05.000000000 +0100
@@ -0,0 +1,10 @@
+config.make
+config.cache
+config.status
+config.log
+configure.lineno
+aclocal.m4
+autom4te.cache
+test_dynlink.*
+*~
+*.sw[po]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/CHANGES new/lablgtk-2.18.3/CHANGES
--- old/lablgtk-2.18.2/CHANGES  2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/CHANGES  2014-10-29 08:51:05.000000000 +0100
@@ -1,5 +1,19 @@
 LablGTK changes log
 
+In Lablgtk-2.18.3:
+
+2014.10.06 [Jacques]
+  * add Gdk.Window.create_foreign and set_transient_for functions (Tim 
Cuthbertson)
+
+2014.09.20 [Jacques]
+  * CAMLparam initializes with Val_unit rather than 0 since ocaml 4.02.
+    Fix a related problem in ml_gobject.
+    This caused random crashes with unison (Christopher Zimmermann, PR#1425)
+    
+  * Also factorize some code to use Val_option_*
+  * Replace XID by GdkNativeWindow where required.
+    You may need to insert calls to Gdk.Window.native_of_xid in some places.
+
 In Lablgtk-2.18.2:
 
 2014.09.17 [Jacques]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/README new/lablgtk-2.18.3/README
--- old/lablgtk-2.18.2/README   2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/README   2014-10-29 08:51:05.000000000 +0100
@@ -1,5 +1,5 @@
 
-             LablGTK2 2.18.2 : an interface to the GIMP Tool Kit
+             LablGTK2 2.18.3 : an interface to the GIMP Tool Kit
 
 Needed:
         ocaml-3.11 or more (4.02 is preferred)
@@ -312,7 +312,7 @@
 
   You can use lablgtk in combination with LablGL
 
-  * get and install lablGL 1.04 from
+  * get and install lablGL 1.05 from
       http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgl.html
   * get and install gtkglarea-1.99.0.tar.gz from
       ftp://ftp.gnome.org/pub/gnome/sources/gtkglarea/1.99/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/Makefile 
new/lablgtk-2.18.3/src/Makefile
--- old/lablgtk-2.18.2/src/Makefile     2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/Makefile     2014-10-29 08:51:06.000000000 +0100
@@ -17,6 +17,7 @@
 DLLDIR = $(LIBDIR)/stublibs
 
 include $(CONFIG)
+#GTKCFLAGS += -Werror -Wno-error=deprecated-declarations
 
 TARGETS = varcc$(XE) lablgtktop$(XE) lablgtk2$(XB) gdk_pixbuf_mlsource$(XE) \
        $(THINITOBJS) build.ml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/gWindow.mli 
new/lablgtk-2.18.3/src/gWindow.mli
--- old/lablgtk-2.18.2/src/gWindow.mli  2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/gWindow.mli  2014-10-29 08:51:06.000000000 +0100
@@ -585,7 +585,7 @@
 
 (** @gtkdoc gtk GtkPlug *)
 val plug :
-  window:Gdk.xid ->
+  window:Gdk.native_window ->
   ?border_width:int ->
   ?width:int -> ?height:int -> ?show:bool -> unit -> plug
 
@@ -607,7 +607,7 @@
     inherit GContainer.container
     val obj : Gtk.socket obj
     method connect : socket_signals
-    method steal : Gdk.xid -> unit
+    method steal : Gdk.native_window -> unit
     (** @deprecated "inherently unreliable" *)
     method xwindow : Gdk.xid
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/gdk.ml 
new/lablgtk-2.18.3/src/gdk.ml
--- old/lablgtk-2.18.2/src/gdk.ml       2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/gdk.ml       2014-10-29 08:51:06.000000000 +0100
@@ -43,6 +43,7 @@
 type drag_context = [`dragcontext] Gobject.obj
 type cursor
 type xid = int32
+type native_window
 type device
 type display
 
@@ -295,8 +296,14 @@
     = "ml_gdk_drawable_get_size"
 end
 
+module Windowing = struct
+  external get : unit -> [`QUARTZ | `WIN32 | `X11] = "ml_gdk_get_platform"
+  let platform = get ()
+end
+
 module Window = struct
   let cast w : window = Gobject.try_cast w "GdkWindow"
+  external create_foreign : native_window -> window = 
"ml_gdk_window_foreign_new"
   type background_pixmap = [ `NONE | `PARENT_RELATIVE | `PIXMAP of pixmap]
   external get_parent : window -> window = "ml_gdk_window_get_parent"
   external get_position : window -> int * int = "ml_gdk_window_get_position"
@@ -323,6 +330,15 @@
 
   (* for backward compatibility for lablgtk1 programs *)         
   let get_visual = Drawable.get_visual
+
+  let xid_of_native (w : native_window) : xid =
+    if Windowing.platform = `X11 then Obj.magic w else
+    failwith "Gdk.Window.xid_of_native only allowed for X11"
+  let native_of_xid (id : xid) : native_window =
+    if Windowing.platform = `X11 then Obj.magic id else
+    failwith "Gdk.Window.native_of_xid only allowed for X11"
+
+  external set_transient_for : window -> window -> unit = 
"ml_gdk_window_set_transient_for"
 end
 
 module PointArray = struct
@@ -785,8 +801,3 @@
       (match display with None -> default ()
       | Some disp -> disp)
 end
-
-module Windowing = struct
-  external get : unit -> [`QUARTZ | `WIN32 | `X11] = "ml_gdk_get_platform"
-  let platform = get ()
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/gdk.mli 
new/lablgtk-2.18.3/src/gdk.mli
--- old/lablgtk-2.18.2/src/gdk.mli      2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/gdk.mli      2014-10-29 08:51:06.000000000 +0100
@@ -41,6 +41,7 @@
 type drag_context = [`dragcontext] Gobject.obj
 type cursor
 type xid = int32
+type native_window
 type device
 type display
 
@@ -218,6 +219,7 @@
 module Window :
   sig
     val cast : 'a obj -> window
+    val create_foreign : native_window -> window
     val get_parent : window -> window
     val get_position : window -> int * int
     val get_pointer_location : window -> int * int
@@ -226,9 +228,12 @@
     val clear_area :
         window -> x:int -> y:int -> width:int -> height:int -> unit
     val get_xwindow : [>`drawable] obj -> xid
+    val native_of_xid : xid -> native_window
+    val xid_of_native : native_window -> xid
     type background_pixmap = [ `NONE|`PARENT_RELATIVE|`PIXMAP of pixmap ]
     val set_back_pixmap : window -> background_pixmap -> unit
     val set_cursor : window -> cursor -> unit
+    val set_transient_for : window -> window -> unit
 
     (* for backward compatibility for lablgtk1 programs *)       
     val get_visual : window -> visual
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/gdkEvent.ml 
new/lablgtk-2.18.3/src/gdkEvent.ml
--- old/lablgtk-2.18.2/src/gdkEvent.ml  2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/gdkEvent.ml  2014-10-29 08:51:06.000000000 +0100
@@ -180,7 +180,7 @@
   external selection : t -> atom = "ml_GdkEventSelection_selection"
   external target : t -> atom = "ml_GdkEventSelection_target"
   external property : t -> atom = "ml_GdkEventSelection_property"
-  external requestor : t -> xid = "ml_GdkEventSelection_requestor"
+  external requestor : t -> native_window = "ml_GdkEventSelection_requestor"
   let time = get_time
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/gtkBase.props 
new/lablgtk-2.18.3/src/gtkBase.props
--- old/lablgtk-2.18.2/src/gtkBase.props        2014-09-18 08:47:06.000000000 
+0200
+++ new/lablgtk-2.18.3/src/gtkBase.props        2014-10-29 08:51:06.000000000 
+0100
@@ -272,7 +272,7 @@
 }
 
 class Socket wrapsig : Container {
-  method steal : "Gdk.xid -> unit"
+  method steal : "Gdk.native_window -> unit"
   signal plug_added
   signal plug_removed
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/gtkWindow.ml 
new/lablgtk-2.18.3/src/gtkWindow.ml
--- old/lablgtk-2.18.2/src/gtkWindow.ml 2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/gtkWindow.ml 2014-10-29 08:51:06.000000000 +0100
@@ -163,7 +163,7 @@
 
 module Plug = struct
   include Plug
-  external create : Gdk.xid -> plug obj = "ml_gtk_plug_new"
+  external create : Gdk.native_window -> plug obj = "ml_gtk_plug_new"
 end
 
 module Socket = Socket
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_gdk.c 
new/lablgtk-2.18.3/src/ml_gdk.c
--- old/lablgtk-2.18.2/src/ml_gdk.c     2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_gdk.c     2014-10-29 08:51:06.000000000 +0100
@@ -270,14 +270,15 @@
       Unit)
 ML_0 (GDK_ROOT_PARENT, Val_GdkWindow)
 ML_1 (gdk_window_get_parent, GdkWindow_val, Val_GdkWindow)
+ML_2 (gdk_window_set_transient_for, GdkWindow_val, GdkWindow_val, Unit)
+ML_1 (gdk_window_foreign_new, GdkNativeWindow_val, Val_GdkWindow)
 
 #if defined(_WIN32) || defined(__CYGWIN__) || defined(HAS_GTKQUARTZ)
 CAMLprim value ml_GDK_WINDOW_XWINDOW(value v)
 {
- ml_raise_gdk ("Not available for Win32");
+ ml_raise_gdk ("ml_GDK_WINDOW_XWINDOW: only for X11");
  return Val_unit;
-} 
-
+}
 #else
 ML_1 (GDK_WINDOW_XWINDOW, GdkDrawable_val, Val_XID)
 #endif
@@ -878,7 +879,8 @@
                 Val_GdkAtom)
 Make_Extractor (GdkEventSelection, GdkEvent_arg(Selection), property,
                 Val_GdkAtom)
-Make_Extractor (GdkEventSelection, GdkEvent_arg(Selection), requestor, Val_XID)
+Make_Extractor (GdkEventSelection, GdkEvent_arg(Selection), requestor,
+                Val_GdkNativeWindow)
 
 Make_Extractor (GdkEventProximity, GdkEvent_arg(Proximity),
                 device, Val_GdkDevice)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_gdk.h 
new/lablgtk-2.18.3/src/ml_gdk.h
--- old/lablgtk-2.18.2/src/ml_gdk.h     2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_gdk.h     2014-10-29 08:51:06.000000000 +0100
@@ -82,16 +82,14 @@
 #define GdkDevice_val(val) ((GdkDevice*) val)
 #define Val_GdkDevice(device) ((value) device)
 
-#if 0 
 // Future replacement for XID?
 #ifdef GDK_NATIVE_WINDOW_POINTER
-#define GdkNativeWindow_val (GdkNativeWindow*)
-#define Val_GdkNativeWindow(id) (value)
+#define GdkNativeWindow_val Pointer_val
+#define Val_GdkNativeWindow Val_pointer
 #else
-#define Val_GdkNativeWindow(id) copy_int32((long) id)
+#define Val_GdkNativeWindow copy_int32
 #define GdkNativeWindow_val Int32_val
 #endif
-#endif
 
 #ifdef _WIN32
 #define Val_XID(id) copy_int32((long) id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_gobject.c 
new/lablgtk-2.18.3/src/ml_gobject.c
--- old/lablgtk-2.18.2/src/ml_gobject.c 2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_gobject.c 2014-10-29 08:51:06.000000000 +0100
@@ -643,8 +643,8 @@
 ML_2 (g_signal_stop_emission_by_name, GObject_val, String_val, Unit)
 CAMLprim value ml_g_signal_emit_by_name (value obj, value sig, value params)
 {
-    CAMLparam3(obj,sig,params);
-    CAMLlocal1(ret);
+    value ret = Val_unit;
+    CAMLparam4(obj,sig,params,ret);
     GObject *instance = GObject_val(obj);
     GValue *iparams = (GValue*)calloc(1 + Wosize_val(params), sizeof(GValue));
     GQuark detail = 0;
@@ -671,11 +671,11 @@
                       query.param_types[i] & ~G_SIGNAL_TYPE_STATIC_SCOPE);
         g_value_set_mlvariant (&iparams[i+1], Field(params,i));
     }
-    g_signal_emitv (iparams, signal_id, detail, (ret ? GValue_val(ret) : 0));
+    g_signal_emitv (iparams, signal_id, detail,
+                    (ret == Val_unit ? 0 : GValue_val(ret)));
     for (i = 0; i < query.n_params + 1; i++)
         g_value_unset (iparams + i);
     free (iparams);
-    if (!ret) ret = Val_unit;
     CAMLreturn(ret);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_gtk.c 
new/lablgtk-2.18.3/src/ml_gtk.c
--- old/lablgtk-2.18.2/src/ml_gtk.c     2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_gtk.c     2014-10-29 08:51:06.000000000 +0100
@@ -402,7 +402,7 @@
     pspec = gtk_widget_class_find_style_property
                (GTK_WIDGET_GET_CLASS (widget), name);
     if (pspec) {
-        value ret = ml_g_value_new ();
+        ret = ml_g_value_new ();
         GValue *gv = GValueptr_val (ret);
         g_value_init (gv, G_PARAM_SPEC_VALUE_TYPE (pspec));
         gtk_widget_style_get_property (widget, name, gv);
@@ -737,8 +737,9 @@
   gchar** selections =
     gtk_file_selection_get_selections(GtkFileSelection_val(sel));
   gchar** orig = selections;
-  CAMLparam0();
-  CAMLlocal3(ret,prev,next);
+  value ret = Val_unit;
+  CAMLparam1(ret);
+  CAMLlocal2(prev,next);
   for (prev = (value)((&ret)-1); *selections != NULL; selections++) {
     next = alloc(2,0);
     Store_field(prev, 1, next);
@@ -967,7 +968,7 @@
 #ifdef _WIN32
 Unsupported(gtk_plug_new)
 #else
-ML_1 (gtk_plug_new, XID_val, Val_GtkWidget_window)
+ML_1 (gtk_plug_new, GdkNativeWindow_val, Val_GtkWidget_window)
 #endif
 
 /* gtksocket.h */
@@ -975,7 +976,7 @@
 Unsupported(gtk_socket_steal)
 #else
 #define GtkSocket_val(val) check_cast(GTK_SOCKET,val)
-ML_2 (gtk_socket_steal, GtkSocket_val, XID_val, Unit)
+ML_2 (gtk_socket_steal, GtkSocket_val, GdkNativeWindow_val, Unit)
 #endif
 
 /* gtkmain.h */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_gtkfile.c 
new/lablgtk-2.18.3/src/ml_gtkfile.c
--- old/lablgtk-2.18.2/src/ml_gtkfile.c 2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_gtkfile.c 2014-10-29 08:51:06.000000000 +0100
@@ -99,7 +99,7 @@
 {
   value *cb = data;
   CAMLparam0();
-  CAMLlocal5(r, l, v, t, s);
+  CAMLlocal4(r, l, v, s);
   l = Val_emptylist;
 #define CONS_MEMBER(memb, flag) \
   if (filter_info->contains & GTK_FILE_FILTER_##flag) {        \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_gtkmenu.c 
new/lablgtk-2.18.3/src/ml_gtkmenu.c
--- old/lablgtk-2.18.2/src/ml_gtkmenu.c 2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_gtkmenu.c 2014-10-29 08:51:06.000000000 +0100
@@ -62,16 +62,8 @@
 ML_1 (gtk_menu_item_new_with_label, String_val, Val_GtkWidget_sink)
 ML_1 (gtk_menu_item_new_with_mnemonic, String_val, Val_GtkWidget_sink)
 ML_2 (gtk_menu_item_set_submenu, GtkMenuItem_val, GtkWidget_val, Unit)
-
-CAMLprim value ml_gtk_menu_item_get_submenu(value sm)
-{
-  CAMLparam1(sm);
-  CAMLlocal1(res);
-  res = Val_option(gtk_menu_item_get_submenu(GtkMenuItem_val(sm)),
-                  Val_GtkWidget);
-  CAMLreturn(res);
-}
-
+Make_Val_option(GtkWidget)
+ML_1 (gtk_menu_item_get_submenu, GtkMenuItem_val, Val_option_GtkWidget)
 ML_1 (gtk_menu_item_remove_submenu, GtkMenuItem_val, Unit)
 ML_2 (gtk_menu_item_set_accel_path, GtkMenuItem_val, String_val, Unit)
 ML_1 (gtk_menu_item_activate, GtkMenuItem_val, Unit)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_gtktext.c 
new/lablgtk-2.18.3/src/ml_gtktext.c
--- old/lablgtk-2.18.2/src/ml_gtktext.c 2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_gtktext.c 2014-10-29 08:51:06.000000000 +0100
@@ -121,25 +121,9 @@
 ML_2(gtk_text_mark_set_visible, GtkTextMark_val, Bool_val, Unit)
 ML_1(gtk_text_mark_get_visible, GtkTextMark_val, Val_bool)
 ML_1(gtk_text_mark_get_deleted, GtkTextMark_val, Val_bool)
-CAMLprim value ml_gtk_text_mark_get_name (value tm)
-{
-  CAMLparam1(tm);
-  CAMLlocal1(res);
-  const gchar* tmp;
-  tmp = gtk_text_mark_get_name(GtkTextMark_val(tm));
-  res = Val_option(tmp,Val_string);
-  CAMLreturn(res);
-}
-CAMLprim value ml_gtk_text_mark_get_buffer (value tm)
-{
-  CAMLparam1(tm);
-  CAMLlocal1(res);
-  GtkTextBuffer* tmp;
-  tmp = gtk_text_mark_get_buffer(GtkTextMark_val(tm));
-  res = Val_option(tmp,Val_GtkTextBuffer);
-  CAMLreturn(res);
-}
-
+ML_1(gtk_text_mark_get_name, GtkTextMark_val, Val_option_string)
+Make_Val_option(GtkTextBuffer)
+ML_1(gtk_text_mark_get_buffer, GtkTextMark_val, Val_option_GtkTextBuffer)
 ML_1(gtk_text_mark_get_left_gravity, GtkTextMark_val, Val_bool)
 
 /* gtktexttag */
@@ -157,17 +141,9 @@
 ML_0(gtk_text_tag_table_new, Val_GtkTextTagTable_new)
 ML_2(gtk_text_tag_table_add, GtkTextTagTable_val, GtkTextTag_val,Unit)
 ML_2(gtk_text_tag_table_remove, GtkTextTagTable_val, GtkTextTag_val,Unit)
-
-CAMLprim value ml_gtk_text_tag_table_lookup (value tv, value s)
-{
-  CAMLparam2(tv,s);
-  CAMLlocal1(res);
-  GtkTextTag* tmp;
-  tmp = gtk_text_tag_table_lookup(GtkTextTagTable_val(tv), String_val(s));
-  res = Val_option(tmp,Val_GtkTextTag);
-  CAMLreturn(res);
-}
-
+Make_Val_option(GtkTextTag)
+ML_2(gtk_text_tag_table_lookup, GtkTextTagTable_val, String_val,
+     Val_option_GtkTextTag)
 ML_1(gtk_text_tag_table_get_size, GtkTextTagTable_val, Val_int)
 
 static void tag_foreach_func (GtkTextTag* t, gpointer user_data)
@@ -625,15 +601,9 @@
   CAMLreturn(res);
 }
 
-CAMLprim value ml_gtk_text_view_get_window (value tv, value tt)
-{
-  CAMLparam2(tv,tt);
-  CAMLlocal1(res);
-  GdkWindow* tmp;
-  tmp = gtk_text_view_get_window(GtkTextView_val(tv), 
Text_window_type_val(tt));
-  res = Val_option(tmp,Val_GdkWindow);
-  CAMLreturn(res);
-}
+Make_Val_option(GdkWindow)
+ML_2(gtk_text_view_get_window, GtkTextView_val, Text_window_type_val,
+     Val_option_GdkWindow)
 
 ML_2(gtk_text_view_get_window_type,GtkTextView_val,GdkWindow_val,
      Val_text_window_type)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/ml_rsvg.c 
new/lablgtk-2.18.3/src/ml_rsvg.c
--- old/lablgtk-2.18.2/src/ml_rsvg.c    2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/ml_rsvg.c    2014-10-29 08:51:06.000000000 +0100
@@ -25,7 +25,6 @@
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
 #include <librsvg/rsvg.h>
-#include <librsvg/librsvg-features.h>
 #include <caml/mlvalues.h>
 #include <caml/alloc.h>
 #include <caml/memory.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/wrappers.c 
new/lablgtk-2.18.3/src/wrappers.c
--- old/lablgtk-2.18.2/src/wrappers.c   2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/wrappers.c   2014-10-29 08:51:06.000000000 +0100
@@ -61,8 +61,7 @@
 value ml_cons (value v, value l)
 {
   CAMLparam2(v, l);
-  CAMLlocal1(cell);
-  cell = alloc_small(2, Tag_cons);
+  value cell = alloc_small(2, Tag_cons);
   Field(cell, 0) = v;
   Field(cell, 1) = l;
   CAMLreturn(cell);
@@ -95,6 +94,9 @@
     return copy_string (str ? (char*) str : "");
 }
 
+value Val_option_string (const char *s)
+{ return Val_option (s, Val_string); }
+
 CAMLprim value *ml_global_root_new (value v)
 {
     value *p = stat_alloc(sizeof(value));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lablgtk-2.18.2/src/wrappers.h 
new/lablgtk-2.18.3/src/wrappers.h
--- old/lablgtk-2.18.2/src/wrappers.h   2014-09-18 08:47:06.000000000 +0200
+++ new/lablgtk-2.18.3/src/wrappers.h   2014-10-29 08:51:06.000000000 +0100
@@ -43,6 +43,7 @@
 CAMLexport value Val_pointer (void *);
 CAMLprim value copy_string_check (const char*);
 value copy_string_or_null (const char *);
+value Val_option_string (const char *s);
 
 value string_list_of_strv (const char * const *v);
 value string_list_of_strv2 (char **v);


Reply via email to