[Pkg-ocaml-maint-commits] [lambda-term] 01/04: New upstream version 1.10.1

Hilko Bengen bengen at moszumanska.debian.org
Wed Sep 14 22:24:49 UTC 2016


This is an automated email from the git hooks/post-receive script.

bengen pushed a commit to branch master
in repository lambda-term.

commit 31e78036e9354c74cf32a8eb428b2ac2a2609295
Author: Hilko Bengen <bengen at debian.org>
Date:   Thu Sep 15 00:18:14 2016 +0200

    New upstream version 1.10.1
---
 CHANGES.md             |   6 ++
 Makefile               |   2 +
 _oasis                 |  24 ++++++-
 myocamlbuild.ml        | 174 ++++++++++++++++++++++++++++++++++++++++++--
 setup.ml               | 191 ++++++++++++++++++++++++++++++++++++++-----------
 src/META               |   4 +-
 src/lTerm_read_line.ml |  18 +++--
 7 files changed, 360 insertions(+), 59 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 16ee542..aecba97 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,9 @@
+1.10.1 (2016-08-15)
+-------------------
+
+* fix a race condition in `LTerm_read_line`. The race would often
+  appear when copy&pasting
+
 1.10 (2016-04-07)
 -----------------
 
diff --git a/Makefile b/Makefile
index 7fe7e5a..2421874 100644
--- a/Makefile
+++ b/Makefile
@@ -36,12 +36,14 @@ all: $(SETUP)
 	./$(SETUP) -all $(ALLFLAGS)
 
 install: $(SETUP) setup.data
+	ocamlfind remove lambda-term 2>/dev/null || true
 	./$(SETUP) -install $(INSTALLFLAGS)
 
 uninstall: $(SETUP) setup.data
 	./$(SETUP) -uninstall $(UNINSTALLFLAGS)
 
 reinstall: $(SETUP) setup.data
+	ocamlfind remove lambda-term 2>/dev/null || true
 	./$(SETUP) -reinstall $(REINSTALLFLAGS)
 
 clean: $(SETUP)
diff --git a/_oasis b/_oasis
index be6432d..be61580 100644
--- a/_oasis
+++ b/_oasis
@@ -5,7 +5,7 @@
 OASISFormat: 0.4
 OCamlVersion: >= 3.12
 Name: lambda-term
-Version: 1.10
+Version: 1.10.1
 LicenseFile: LICENSE
 License: BSD-3-CLAUSE
 Authors: Jeremie Dimino
@@ -30,6 +30,10 @@ Description:
 
 FilesAB: src/lTerm_config.h.ab
 
+Flag examples
+  Description: build examples
+  Default: true
+
 # +-------------------------------------------------------------------+
 # | The library                                                       |
 # +-------------------------------------------------------------------+
@@ -91,6 +95,7 @@ Executable events
   CompiledObject: best
   MainIs: events.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable colors
   Path: examples
@@ -98,6 +103,7 @@ Executable colors
   CompiledObject: best
   MainIs: colors.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable colors_256
   Path: examples
@@ -105,6 +111,7 @@ Executable colors_256
   CompiledObject: best
   MainIs: colors_256.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable rgb
   Path: examples
@@ -112,6 +119,7 @@ Executable rgb
   CompiledObject: best
   MainIs: rgb.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable move
   Path: examples
@@ -119,6 +127,7 @@ Executable move
   CompiledObject: best
   MainIs: move.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable hello
   Path: examples
@@ -126,6 +135,7 @@ Executable hello
   CompiledObject: best
   MainIs: hello.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable clock
   Path: examples
@@ -133,6 +143,7 @@ Executable clock
   CompiledObject: best
   MainIs: clock.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable buttons
   Path: examples
@@ -140,6 +151,7 @@ Executable buttons
   CompiledObject: best
   MainIs: buttons.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable focus
   Path: examples
@@ -147,6 +159,7 @@ Executable focus
   CompiledObject: best
   MainIs: focus.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable checkbuttons
   Path: examples
@@ -154,6 +167,7 @@ Executable checkbuttons
   CompiledObject: best
   MainIs: checkbuttons.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable radiobuttons
   Path: examples
@@ -161,6 +175,7 @@ Executable radiobuttons
   CompiledObject: best
   MainIs: radiobuttons.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable shell
   Path: examples
@@ -168,6 +183,7 @@ Executable shell
   CompiledObject: best
   MainIs: shell.ml
   BuildDepends: lambda-term, str
+  Build$: flag(examples)
 
 Executable repl
   Path: examples
@@ -175,6 +191,7 @@ Executable repl
   CompiledObject: best
   MainIs: repl.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable modal
   Path: examples
@@ -182,6 +199,7 @@ Executable modal
   CompiledObject: best
   MainIs: modal.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable "read-password"
   Path: examples
@@ -189,6 +207,7 @@ Executable "read-password"
   CompiledObject: best
   MainIs: read_password.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable "read-yes-no"
   Path: examples
@@ -196,6 +215,7 @@ Executable "read-yes-no"
   CompiledObject: best
   MainIs: read_yes_no.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 Executable "editor"
   Path: examples
@@ -203,6 +223,7 @@ Executable "editor"
   CompiledObject: best
   MainIs: editor.ml
   BuildDepends: lambda-term
+  Build$: flag(examples)
 
 # +-------------------------------------------------------------------+
 # | Utils                                                             |
@@ -225,6 +246,7 @@ Executable "history-stress-test"
   CompiledObject: best
   MainIs: history_stress_test.ml
   BuildDepends: lambda-term
+  Build$: flag(tests)
 
 # +-------------------------------------------------------------------+
 # | Doc                                                               |
diff --git a/myocamlbuild.ml b/myocamlbuild.ml
index c51628c..7576995 100644
--- a/myocamlbuild.ml
+++ b/myocamlbuild.ml
@@ -1,5 +1,5 @@
 (* OASIS_START *)
-(* DO NOT EDIT (digest: 2123244a57a4fbf637450a114eabed6a) *)
+(* DO NOT EDIT (digest: 688fea53affad41b244065fe8932cbf7) *)
 module OASISGettext = struct
 (* # 22 "src/oasis/OASISGettext.ml" *)
 
@@ -29,6 +29,166 @@ module OASISGettext = struct
 
 end
 
+module OASISString = struct
+(* # 22 "src/oasis/OASISString.ml" *)
+
+
+  (** Various string utilities.
+
+      Mostly inspired by extlib and batteries ExtString and BatString libraries.
+
+      @author Sylvain Le Gall
+    *)
+
+
+  let nsplitf str f =
+    if str = "" then
+      []
+    else
+      let buf = Buffer.create 13 in
+      let lst = ref [] in
+      let push () =
+        lst := Buffer.contents buf :: !lst;
+        Buffer.clear buf
+      in
+      let str_len = String.length str in
+        for i = 0 to str_len - 1 do
+          if f str.[i] then
+            push ()
+          else
+            Buffer.add_char buf str.[i]
+        done;
+        push ();
+        List.rev !lst
+
+
+  (** [nsplit c s] Split the string [s] at char [c]. It doesn't include the
+      separator.
+    *)
+  let nsplit str c =
+    nsplitf str ((=) c)
+
+
+  let find ~what ?(offset=0) str =
+    let what_idx = ref 0 in
+    let str_idx = ref offset in
+      while !str_idx < String.length str &&
+            !what_idx < String.length what do
+        if str.[!str_idx] = what.[!what_idx] then
+          incr what_idx
+        else
+          what_idx := 0;
+        incr str_idx
+      done;
+      if !what_idx <> String.length what then
+        raise Not_found
+      else
+        !str_idx - !what_idx
+
+
+  let sub_start str len =
+    let str_len = String.length str in
+    if len >= str_len then
+      ""
+    else
+      String.sub str len (str_len - len)
+
+
+  let sub_end ?(offset=0) str len =
+    let str_len = String.length str in
+    if len >= str_len then
+      ""
+    else
+      String.sub str 0 (str_len - len)
+
+
+  let starts_with ~what ?(offset=0) str =
+    let what_idx = ref 0 in
+    let str_idx = ref offset in
+    let ok = ref true in
+      while !ok &&
+            !str_idx < String.length str &&
+            !what_idx < String.length what do
+        if str.[!str_idx] = what.[!what_idx] then
+          incr what_idx
+        else
+          ok := false;
+        incr str_idx
+      done;
+      if !what_idx = String.length what then
+        true
+      else
+        false
+
+
+  let strip_starts_with ~what str =
+    if starts_with ~what str then
+      sub_start str (String.length what)
+    else
+      raise Not_found
+
+
+  let ends_with ~what ?(offset=0) str =
+    let what_idx = ref ((String.length what) - 1) in
+    let str_idx = ref ((String.length str) - 1) in
+    let ok = ref true in
+      while !ok &&
+            offset <= !str_idx &&
+            0 <= !what_idx do
+        if str.[!str_idx] = what.[!what_idx] then
+          decr what_idx
+        else
+          ok := false;
+        decr str_idx
+      done;
+      if !what_idx = -1 then
+        true
+      else
+        false
+
+
+  let strip_ends_with ~what str =
+    if ends_with ~what str then
+      sub_end str (String.length what)
+    else
+      raise Not_found
+
+
+  let replace_chars f s =
+    let buf = Buffer.create (String.length s) in
+    String.iter (fun c -> Buffer.add_char buf (f c)) s;
+    Buffer.contents buf
+
+  let lowercase_ascii =
+    replace_chars
+      (fun c ->
+         if (c >= 'A' && c <= 'Z') then
+           Char.chr (Char.code c + 32)
+         else
+           c)
+
+  let uncapitalize_ascii s =
+    if s <> "" then
+      (lowercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
+    else
+      s
+
+  let uppercase_ascii =
+    replace_chars
+      (fun c ->
+         if (c >= 'a' && c <= 'z') then
+           Char.chr (Char.code c - 32)
+         else
+           c)
+
+  let capitalize_ascii s =
+    if s <> "" then
+      (uppercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
+    else
+      s
+
+end
+
 module OASISExpr = struct
 (* # 22 "src/oasis/OASISExpr.ml" *)
 
@@ -129,7 +289,7 @@ module OASISExpr = struct
 end
 
 
-# 132 "myocamlbuild.ml"
+# 292 "myocamlbuild.ml"
 module BaseEnvLight = struct
 (* # 22 "src/base/BaseEnvLight.ml" *)
 
@@ -234,7 +394,7 @@ module BaseEnvLight = struct
 end
 
 
-# 237 "myocamlbuild.ml"
+# 397 "myocamlbuild.ml"
 module MyOCamlbuildFindlib = struct
 (* # 22 "src/plugins/ocamlbuild/MyOCamlbuildFindlib.ml" *)
 
@@ -516,7 +676,7 @@ module MyOCamlbuildBase = struct
                  | nm, [], intf_modules ->
                      ocaml_lib nm;
                      let cmis =
-                       List.map (fun m -> (String.uncapitalize m) ^ ".cmi")
+                       List.map (fun m -> (OASISString.uncapitalize_ascii m) ^ ".cmi")
                                 intf_modules in
                      dep ["ocaml"; "link"; "library"; "file:"^nm^".cma"] cmis
                  | nm, dir :: tl, intf_modules ->
@@ -529,7 +689,7 @@ module MyOCamlbuildBase = struct
                             ["compile"; "infer_interface"; "doc"])
                        tl;
                      let cmis =
-                       List.map (fun m -> dir^"/"^(String.uncapitalize m)^".cmi")
+                       List.map (fun m -> dir^"/"^(OASISString.uncapitalize_ascii m)^".cmi")
                                 intf_modules in
                      dep ["ocaml"; "link"; "library"; "file:"^dir^"/"^nm^".cma"]
                          cmis)
@@ -603,7 +763,7 @@ module MyOCamlbuildBase = struct
 end
 
 
-# 606 "myocamlbuild.ml"
+# 766 "myocamlbuild.ml"
 open Ocamlbuild_plugin;;
 let package_default =
   {
@@ -657,6 +817,6 @@ let conf = {MyOCamlbuildFindlib.no_automatic_syntax = false}
 
 let dispatch_default = MyOCamlbuildBase.dispatch_default conf package_default;;
 
-# 661 "myocamlbuild.ml"
+# 821 "myocamlbuild.ml"
 (* OASIS_STOP *)
 Ocamlbuild_plugin.dispatch dispatch_default;;
diff --git a/setup.ml b/setup.ml
index c0f159c..f66e59a 100644
--- a/setup.ml
+++ b/setup.ml
@@ -8,9 +8,9 @@
  *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: 316bb32f794203be5e3c389026b214cc) *)
+(* DO NOT EDIT (digest: 7acc2e09d993c274275f66ffd44ae5f2) *)
 (*
-   Regenerated by OASIS v0.4.5
+   Regenerated by OASIS v0.4.6
    Visit http://oasis.forge.ocamlcore.org for more information and
    documentation about functions used in this file.
 *)
@@ -253,6 +253,33 @@ module OASISString = struct
     String.iter (fun c -> Buffer.add_char buf (f c)) s;
     Buffer.contents buf
 
+  let lowercase_ascii =
+    replace_chars
+      (fun c ->
+         if (c >= 'A' && c <= 'Z') then
+           Char.chr (Char.code c + 32)
+         else
+           c)
+
+  let uncapitalize_ascii s =
+    if s <> "" then
+      (lowercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
+    else
+      s
+
+  let uppercase_ascii =
+    replace_chars
+      (fun c ->
+         if (c >= 'a' && c <= 'z') then
+           Char.chr (Char.code c - 32)
+         else
+           c)
+
+  let capitalize_ascii s =
+    if s <> "" then
+      (uppercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
+    else
+      s
 
 end
 
@@ -322,19 +349,15 @@ module OASISUtils = struct
 
 
   let compare_csl s1 s2 =
-    String.compare (String.lowercase s1) (String.lowercase s2)
+    String.compare (OASISString.lowercase_ascii s1) (OASISString.lowercase_ascii s2)
 
 
   module HashStringCsl =
     Hashtbl.Make
       (struct
          type t = string
-
-         let equal s1 s2 =
-             (String.lowercase s1) = (String.lowercase s2)
-
-         let hash s =
-           Hashtbl.hash (String.lowercase s)
+         let equal s1 s2 = (compare_csl s1 s2) = 0
+         let hash s = Hashtbl.hash (OASISString.lowercase_ascii s)
        end)
 
   module SetStringCsl =
@@ -372,7 +395,7 @@ module OASISUtils = struct
           else
             buf
         in
-          String.lowercase buf
+          OASISString.lowercase_ascii buf
       end
 
 
@@ -478,7 +501,7 @@ module PropList = struct
         order     = Queue.create ();
         name_norm =
           (if case_insensitive then
-             String.lowercase
+             OASISString.lowercase_ascii
            else
              fun s -> s);
       }
@@ -1829,13 +1852,13 @@ module OASISUnixPath = struct
   let capitalize_file f =
     let dir = dirname f in
     let base = basename f in
-    concat dir (String.capitalize base)
+    concat dir (OASISString.capitalize_ascii base)
 
 
   let uncapitalize_file f =
     let dir = dirname f in
     let base = basename f in
-    concat dir (String.uncapitalize base)
+    concat dir (OASISString.uncapitalize_ascii base)
 
 
 end
@@ -2897,7 +2920,7 @@ module OASISFileUtil = struct
 end
 
 
-# 2893 "setup.ml"
+# 2916 "setup.ml"
 module BaseEnvLight = struct
 (* # 22 "src/base/BaseEnvLight.ml" *)
 
@@ -3002,7 +3025,7 @@ module BaseEnvLight = struct
 end
 
 
-# 2998 "setup.ml"
+# 3021 "setup.ml"
 module BaseContext = struct
 (* # 22 "src/base/BaseContext.ml" *)
 
@@ -5413,7 +5436,7 @@ module BaseSetup = struct
 end
 
 
-# 5409 "setup.ml"
+# 5432 "setup.ml"
 module InternalConfigurePlugin = struct
 (* # 22 "src/plugins/internal/InternalConfigurePlugin.ml" *)
 
@@ -5852,8 +5875,8 @@ module InternalInstallPlugin = struct
     let make_fnames modul sufx =
       List.fold_right
         begin fun sufx accu ->
-          (String.capitalize modul ^ sufx) ::
-          (String.uncapitalize modul ^ sufx) ::
+          (OASISString.capitalize_ascii modul ^ sufx) ::
+          (OASISString.uncapitalize_ascii modul ^ sufx) ::
           accu
         end
         sufx
@@ -6277,7 +6300,7 @@ module InternalInstallPlugin = struct
 end
 
 
-# 6273 "setup.ml"
+# 6296 "setup.ml"
 module OCamlbuildCommon = struct
 (* # 22 "src/plugins/ocamlbuild/OCamlbuildCommon.ml" *)
 
@@ -6655,7 +6678,7 @@ module OCamlbuildDocPlugin = struct
 end
 
 
-# 6651 "setup.ml"
+# 6674 "setup.ml"
 module CustomPlugin = struct
 (* # 22 "src/plugins/custom/CustomPlugin.ml" *)
 
@@ -6803,7 +6826,7 @@ module CustomPlugin = struct
 end
 
 
-# 6799 "setup.ml"
+# 6822 "setup.ml"
 open OASISTypes;;
 
 let setup_t =
@@ -7014,7 +7037,7 @@ let setup_t =
           alpha_features = [];
           beta_features = [];
           name = "lambda-term";
-          version = "1.10";
+          version = "1.10.1";
           license =
             OASISLicense.DEP5License
               (OASISLicense.DEP5Unit
@@ -7076,6 +7099,16 @@ let setup_t =
           files_ab = ["src/lTerm_config.h.ab"];
           sections =
             [
+               Flag
+                 ({
+                     cs_name = "examples";
+                     cs_data = PropList.Data.create ();
+                     cs_plugin_data = []
+                  },
+                   {
+                      flag_description = Some "build examples";
+                      flag_default = [(OASISExpr.EBool true, true)]
+                   });
                Library
                  ({
                      cs_name = "lambda-term";
@@ -7167,7 +7200,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7190,7 +7227,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7213,7 +7254,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7236,7 +7281,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7259,7 +7308,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7282,7 +7335,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7305,7 +7362,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7328,7 +7389,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7351,7 +7416,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7374,7 +7443,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7397,7 +7470,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7420,7 +7497,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7447,7 +7528,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7470,7 +7555,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7493,7 +7582,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7516,7 +7609,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7539,7 +7636,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "examples", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "examples";
                       bs_compiled_object = Best;
@@ -7588,7 +7689,11 @@ let setup_t =
                      cs_plugin_data = []
                   },
                    {
-                      bs_build = [(OASISExpr.EBool true, true)];
+                      bs_build =
+                        [
+                           (OASISExpr.EBool true, false);
+                           (OASISExpr.EFlag "tests", true)
+                        ];
                       bs_install = [(OASISExpr.EBool true, false)];
                       bs_path = "tests";
                       bs_compiled_object = Best;
@@ -7772,8 +7877,8 @@ let setup_t =
           plugin_data = []
        };
      oasis_fn = Some "_oasis";
-     oasis_version = "0.4.5";
-     oasis_digest = Some "\215\237\227S\214\n~]A\203\157\216\129\2342\028";
+     oasis_version = "0.4.6";
+     oasis_digest = Some "\025\160a\161ZQ\147,\231\024\180\017\021\216B;";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false
@@ -7781,7 +7886,7 @@ let setup_t =
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 7778 "setup.ml"
+# 7883 "setup.ml"
 (* OASIS_STOP *)
 
 let () = setup ();;
diff --git a/src/META b/src/META
index 99046b9..9ce1bf9 100644
--- a/src/META
+++ b/src/META
@@ -1,6 +1,6 @@
 # OASIS_START
-# DO NOT EDIT (digest: 429f8dca3746dd89ef69ccc4e019bb30)
-version = "1.10"
+# DO NOT EDIT (digest: e377397d05c6a35b858fec2efbec65e4)
+version = "1.10.1"
 description = "Cross-platform library for terminal manipulation"
 requires = "lwt lwt.unix lwt.react zed"
 archive(byte) = "lambda-term.cma"
diff --git a/src/lTerm_read_line.ml b/src/lTerm_read_line.ml
index 3644e7a..d35a060 100644
--- a/src/lTerm_read_line.ml
+++ b/src/lTerm_read_line.ml
@@ -787,7 +787,9 @@ object(self)
     (* The height of the displayed material. *)
 
   val mutable resolver = None
-    (* The current resolver for resolving input sequences. *)
+  (* The current resolver for resolving input sequences. *)
+
+  val mutable running = true
 
   initializer
     completion_start <- (
@@ -826,7 +828,11 @@ object(self)
       draw_queued <- true;
       Lwt.pause () >>= fun () ->
       draw_queued <- false;
-      Lwt_mutex.with_lock draw_mutex (fun () -> self#draw_update)
+      Lwt_mutex.with_lock draw_mutex (fun () ->
+        if running then
+          self#draw_update
+        else
+          return ())
     end
 
   method draw_update =
@@ -1221,12 +1227,12 @@ object(self)
     (* Update the size with the current size. *)
     set_size (LTerm.size term);
 
-    let running = ref true in
+    running <- true;
 
     (* Redraw everything when needed. *)
     let event =
       E.map_p
-        (fun () -> if !running then self#queue_draw_update else return ())
+        (fun () -> if running then self#queue_draw_update else return ())
         (E.select [
            E.stamp (S.changes size) ();
            Zed_edit.update self#edit [Zed_edit.cursor self#context];
@@ -1257,7 +1263,7 @@ object(self)
               self#queue_draw_update >>= fun () ->
               self#loop)
             (fun exn ->
-              running := false;
+              running <- false;
               E.stop event;
               Lwt_mutex.with_lock draw_mutex (fun () -> self#draw_failure) >>= fun () ->
               Lwt.fail exn))
@@ -1268,7 +1274,7 @@ object(self)
             | None ->
                 return ())
     end >>= fun result ->
-    running := false;
+    running <- false;
     E.stop event;
     Lwt_mutex.with_lock draw_mutex (fun () -> self#draw_success) >>= fun () ->
     return result

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/lambda-term.git



More information about the Pkg-ocaml-maint-commits mailing list