summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ocamldoc/odoc_args.ml12
1 files changed, 11 insertions, 1 deletions
diff --git a/ocamldoc/odoc_args.ml b/ocamldoc/odoc_args.ml
index 1aa0e432d..0b83b8570 100644
--- a/ocamldoc/odoc_args.ml
+++ b/ocamldoc/odoc_args.ml
@@ -234,7 +234,17 @@ let options = ref [
]
-let add_option o = options := !options @ [o]
+let add_option o =
+ let (s,_,_) = o in
+ let rec iter = function
+ [] -> [o]
+ | (s2,f,m) :: q ->
+ if s = s2 then
+ o :: q
+ else
+ (s2,f,m) :: (iter q)
+ in
+ options := iter !options
let parse ~html_generator ~latex_generator ~texi_generator ~man_generator ~dot_generator =
default_html_generator := Some html_generator ;