diff --git a/CHANGES b/CHANGES index 6510db17..b0117aec 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,10 @@ LablGTK changes log +In Lablgtk-2.18.14: + +2023.11.13 [Jacques] + * Fix use of String.create in lablgladecc (not available in ocaml 5.0) + 2023.04.06 [Jacques] * Fix a typo in the Makefile that breaks the build with newer GNU make (#168) [Brad Smith] diff --git a/README b/README index fafb9fa5..f80fd8da 100755 --- a/README +++ b/README @@ -1,8 +1,8 @@ - LablGTK2 2.18.13 : an interface to the GIMP Tool Kit + LablGTK2 2.18.14 : an interface to the GIMP Tool Kit Needed: - ocaml-4.06 or more (including 5.0) + ocaml-4.06 or more (including 5.0 and 5.1) camlp-streams (for OCaml 5.0 or later) gtk+-2.x (gtk+-2.16.x for full functionality) findlib 1.2.1 or more (for default install) diff --git a/src/Makefile b/src/Makefile index 3052aa14..de159d17 100755 --- a/src/Makefile +++ b/src/Makefile @@ -541,8 +541,8 @@ varcc$(XE): varcc.ml propcc$(XE): propcc.ml $(LINKER) $(STREAMSLINK) -o $@ $< -check_externals$(XE): check_externals.cmo - $(LINKER) -o $@ $< +check_externals$(XE): check_externals.ml + $(LINKER) $(STREAMSLINK) -o $@ $< clean: rm -f *.cm* *.o *.a *.so *.exe *.obj *.lib *.dll *_tags.[ch] *.gch \ diff --git a/src/check_externals.ml b/src/check_externals.ml index c898c0da..834c34dd 100644 --- a/src/check_externals.ml +++ b/src/check_externals.ml @@ -15,8 +15,9 @@ type token = | EOF let rec implode l = - let s = String.create (List.length l) in - let i = ref 0 in List.iter l ~f:(fun c -> s.[!i] <- c; incr i); s + let s = Bytes.create (List.length l) in + let i = ref 0 in List.iter l ~f:(fun c -> Bytes.set s !i c; incr i); + Bytes.to_string s let rec skip tok (strm__ : _ Stream.t) = match Stream.peek strm__ with diff --git a/src/check_externals.ml4 b/src/check_externals.ml4 index 96472b23..4fcadf22 100644 --- a/src/check_externals.ml4 +++ b/src/check_externals.ml4 @@ -15,10 +15,10 @@ type token = | EOF let rec implode l = - let s = String.create (List.length l) in + let s = Bytes.create (List.length l) in let i = ref 0 in - List.iter l ~f:(fun c -> s.[!i] <- c; incr i); - s + List.iter l ~f:(fun c -> Bytes.set s !i c; incr i); + Bytes.to_string s let rec skip tok = parser [< ' tok' ; s >] -> if tok <> tok' then skip tok s diff --git a/src/lablgladecc.ml b/src/lablgladecc.ml index ba7e0e2b..43607dc8 100644 --- a/src/lablgladecc.ml +++ b/src/lablgladecc.ml @@ -352,7 +352,7 @@ let process ?(file="") chan = let lexbuf, data = if !embed then begin let b = Buffer.create 1024 in - let buf = String.create 1024 in + let buf = Bytes.create 1024 in while let len = input chan buf 0 1024 in Buffer.add_subbytes b buf 0 len;