From 9a37fbb07a31f0fd5c0ceadcbdf2dbd98e6a4f5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20B=C3=BCnzli?= Date: Fri, 12 Mar 2021 14:56:50 +0100 Subject: [PATCH 1/3] IR model: stop trying to play with word joiners (U+2060). It breaks cut and paste in the HTML renderer and other renderers have to ignore it. Closes #620. --- src/document/generator.ml | 2 +- src/latex/generator.ml | 1 - src/manpage/generator.ml | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/document/generator.ml b/src/document/generator.ml index 9cb6491672..4e88253f70 100644 --- a/src/document/generator.ml +++ b/src/document/generator.ml @@ -44,7 +44,7 @@ let make_name_from_path { Url.Path.name; parent; _ } = let label t ppf = match t with | Odoc_model.Lang.TypeExpr.Label s -> O.pf ppf "%s" s - | Optional s -> O.pf ppf "?%t%s" (O.entity "#8288") s + | Optional s -> O.pf ppf "?%s" s let tag tag t ppf = O.pf ppf "@{<%s>%t@}" tag t diff --git a/src/latex/generator.ml b/src/latex/generator.ml index d180775d4f..115608e02b 100644 --- a/src/latex/generator.ml +++ b/src/latex/generator.ml @@ -111,7 +111,6 @@ let list kind pp ppf x = let escape_entity = function | "#45" -> "-" | "gt" -> ">" - | "#8288" -> "" | s -> s let filter_map f x = diff --git a/src/manpage/generator.ml b/src/manpage/generator.ml index 57730f2e63..9cec6959de 100644 --- a/src/manpage/generator.ml +++ b/src/manpage/generator.ml @@ -260,7 +260,6 @@ let entity e = match e with | "#45" -> escaped "\\-" | "gt" -> str ">" - | "#8288" -> noop | s -> str "&%s;" s (* Should hopefully make people notice and report *) From 12e53611f00ed498ad08cab40cbc887c23b9f1c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20B=C3=BCnzli?= Date: Fri, 12 Mar 2021 15:05:39 +0100 Subject: [PATCH 2/3] Promote expect tests to new IR model structure. --- test/html/expect/test_package+ml/Bugs/index.html | 2 +- test/html/expect/test_package+ml/Bugs_pre_410/index.html | 2 +- test/html/expect/test_package+ml/Ocamlary/index.html | 2 +- test/html/expect/test_package+ml/Type/index.html | 4 ++-- test/html/expect/test_package+re/Bugs/index.html | 2 +- test/html/expect/test_package+re/Bugs_pre_410/index.html | 2 +- test/html/expect/test_package+re/Ocamlary/index.html | 2 +- test/html/expect/test_package+re/Type/index.html | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/test/html/expect/test_package+ml/Bugs/index.html b/test/html/expect/test_package+ml/Bugs/index.html index 52d4719ec5..d03c639df1 100644 --- a/test/html/expect/test_package+ml/Bugs/index.html +++ b/test/html/expect/test_package+ml/Bugs/index.html @@ -30,7 +30,7 @@

- val foo : ?⁠bar:'a -> unit -> unit + val foo : ?bar:'a -> unit -> unit

diff --git a/test/html/expect/test_package+ml/Bugs_pre_410/index.html b/test/html/expect/test_package+ml/Bugs_pre_410/index.html index 21517fa536..4c95e2bfba 100644 --- a/test/html/expect/test_package+ml/Bugs_pre_410/index.html +++ b/test/html/expect/test_package+ml/Bugs_pre_410/index.html @@ -30,7 +30,7 @@

- val foo' : ?⁠bar:'a -> unit -> unit + val foo' : ?bar:'a -> unit -> unit

diff --git a/test/html/expect/test_package+ml/Ocamlary/index.html b/test/html/expect/test_package+ml/Ocamlary/index.html index fad5db6eb5..65dd311c05 100644 --- a/test/html/expect/test_package+ml/Ocamlary/index.html +++ b/test/html/expect/test_package+ml/Ocamlary/index.html @@ -446,7 +446,7 @@

- val fun_maybe : ?⁠yes:unit -> unit -> int + val fun_maybe : ?yes:unit -> unit -> int
diff --git a/test/html/expect/test_package+ml/Type/index.html b/test/html/expect/test_package+ml/Type/index.html index fa2d46b08c..5c22ee7710 100644 --- a/test/html/expect/test_package+ml/Type/index.html +++ b/test/html/expect/test_package+ml/Type/index.html @@ -65,12 +65,12 @@

- type optional = ?⁠l:int -> int + type optional = ?l:int -> int
- type labeled_higher_order = (l:int -> int) -> (?⁠l:int -> int) -> int + type labeled_higher_order = (l:int -> int) -> (?l:int -> int) -> int
diff --git a/test/html/expect/test_package+re/Bugs/index.html b/test/html/expect/test_package+re/Bugs/index.html index 4c05bc0aa1..b6e7a85d17 100644 --- a/test/html/expect/test_package+re/Bugs/index.html +++ b/test/html/expect/test_package+re/Bugs/index.html @@ -30,7 +30,7 @@

- let foo: ?⁠bar:'a => unit => unit; + let foo: ?bar:'a => unit => unit;

diff --git a/test/html/expect/test_package+re/Bugs_pre_410/index.html b/test/html/expect/test_package+re/Bugs_pre_410/index.html index 00d18d2dd1..48e89703ec 100644 --- a/test/html/expect/test_package+re/Bugs_pre_410/index.html +++ b/test/html/expect/test_package+re/Bugs_pre_410/index.html @@ -30,7 +30,7 @@

- let foo': ?⁠bar:'a => unit => unit; + let foo': ?bar:'a => unit => unit;

diff --git a/test/html/expect/test_package+re/Ocamlary/index.html b/test/html/expect/test_package+re/Ocamlary/index.html index 026993697e..7d27c999e0 100644 --- a/test/html/expect/test_package+re/Ocamlary/index.html +++ b/test/html/expect/test_package+re/Ocamlary/index.html @@ -446,7 +446,7 @@

- let fun_maybe: ?⁠yes:unit => unit => int; + let fun_maybe: ?yes:unit => unit => int;
diff --git a/test/html/expect/test_package+re/Type/index.html b/test/html/expect/test_package+re/Type/index.html index b38d35855d..f24dd3ed12 100644 --- a/test/html/expect/test_package+re/Type/index.html +++ b/test/html/expect/test_package+re/Type/index.html @@ -65,12 +65,12 @@

- type optional = ?⁠l:int => int; + type optional = ?l:int => int;
- type labeled_higher_order = (l:int => int) => (?⁠l:int => int) => int; + type labeled_higher_order = (l:int => int) => (?l:int => int) => int;
From 3d2c542a583bda31235465b120dcbd083a5c26d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20B=C3=BCnzli?= Date: Fri, 12 Mar 2021 17:58:51 +0100 Subject: [PATCH 3/3] Please ocamlformat. --- src/latex/generator.ml | 5 +---- src/manpage/generator.ml | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/latex/generator.ml b/src/latex/generator.ml index 115608e02b..3abb962e8b 100644 --- a/src/latex/generator.ml +++ b/src/latex/generator.ml @@ -108,10 +108,7 @@ let list kind pp ppf x = | [] -> (* empty list are not supported *) () | _ -> list (Fmt.list ~sep:(fun ppf () -> Raw.break ppf Aesthetic) elt) ppf x -let escape_entity = function - | "#45" -> "-" - | "gt" -> ">" - | s -> s +let escape_entity = function "#45" -> "-" | "gt" -> ">" | s -> s let filter_map f x = List.rev diff --git a/src/manpage/generator.ml b/src/manpage/generator.ml index 9cec6959de..524dd2f453 100644 --- a/src/manpage/generator.ml +++ b/src/manpage/generator.ml @@ -257,10 +257,7 @@ let strip l = (* Partial support for now *) let entity e = - match e with - | "#45" -> escaped "\\-" - | "gt" -> str ">" - | s -> str "&%s;" s + match e with "#45" -> escaped "\\-" | "gt" -> str ">" | s -> str "&%s;" s (* Should hopefully make people notice and report *)