diff -Nru otags-4.02.2/add_quotation.ml otags-4.04.1/add_quotation.ml
--- otags-4.02.2/add_quotation.ml 2016-01-10 20:57:38.000000000 +0000
+++ otags-4.04.1/add_quotation.ml 1970-01-01 00:00:00.000000000 +0000
@@ -1,44 +0,0 @@
-(* Otags reloaded
- *
- * Hendrik Tews Copyright (C) 2010 - 2016
- *
- * This file is part of "Otags reloaded".
- *
- * "Otags reloaded" is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * "Otags reloaded" is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License in file COPYING in this or one of the parent
- * directories for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with "Otags reloaded". If not, see
- * .
- *
- * $Id: add_quotation.ml,v 1.5 2016/01/10 20:57:38 tews Exp $
- *
- * higher-order functor for adding quotations to some syntax module
- *
- *)
-
-module PreCast = Camlp4.PreCast
-module type Camlp4Syntax = Camlp4.Sig.Camlp4Syntax
- with module Loc = PreCast.Loc
- and module Ast = PreCast.Ast
-
-module Make
- (HostSyntax : Camlp4Syntax)
- (MakeQuotationSyntax : functor(EmptySyntax : Camlp4Syntax) -> Camlp4Syntax)
- =
-struct
- module Gram = PreCast.MakeGram(PreCast.Lexer)
- module EmptySyntax =
- Camlp4.OCamlInitSyntax.Make(PreCast.Ast)(Gram)(HostSyntax.Quotation)
- module QuotationSyntax = MakeQuotationSyntax(EmptySyntax)
- module X =
- Camlp4QuotationCommon.Make(QuotationSyntax)(HostSyntax.AntiquotSyntax)
-end
diff -Nru otags-4.02.2/add_quotation.mli otags-4.04.1/add_quotation.mli
--- otags-4.02.2/add_quotation.mli 2016-01-10 20:57:38.000000000 +0000
+++ otags-4.04.1/add_quotation.mli 1970-01-01 00:00:00.000000000 +0000
@@ -1,35 +0,0 @@
-(* Otags reloaded
- *
- * Hendrik Tews Copyright (C) 2010 - 2016
- *
- * This file is part of "Otags reloaded".
- *
- * "Otags reloaded" is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * "Otags reloaded" is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License in file COPYING in this or one of the parent
- * directories for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with "Otags reloaded". If not, see
- * .
- *
- * $Id: add_quotation.mli,v 1.4 2016/01/10 20:57:38 tews Exp $
- *
- * higher-order functor for adding quotations to some syntax module
- *
- *)
-
-module type Camlp4Syntax = Camlp4.Sig.Camlp4Syntax
- with module Loc = Camlp4.PreCast.Loc
- and module Ast = Camlp4.PreCast.Ast
-
-module Make
- (HostSyntax : Camlp4Syntax)
- (MakeQuotationSyntax : functor(EmptySyntax : Camlp4Syntax) -> Camlp4Syntax)
- : sig end
diff -Nru otags-4.02.2/camlp4_names.ml otags-4.04.1/camlp4_names.ml
--- otags-4.02.2/camlp4_names.ml 2016-01-10 20:57:38.000000000 +0000
+++ otags-4.04.1/camlp4_names.ml 1970-01-01 00:00:00.000000000 +0000
@@ -1,238 +0,0 @@
-(* Otags reloaded
- *
- * Hendrik Tews Copyright (C) 2010 - 2016
- *
- * This file is part of "Otags reloaded".
- *
- * "Otags reloaded" is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * "Otags reloaded" is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License in file COPYING in this or one of the parent
- * directories for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with "Otags reloaded". If not, see
- * .
- *
- * $Id: camlp4_names.ml,v 1.13 2016/01/10 20:57:38 tews Exp $
- *
- * names and aliases of camlp4 modules and executables
- *
- *)
-
-(* The new camlp4 prefers long names for parsing extensions, for instance
- * "Camlp4OCamlRevisedParser". To make succint command lines possible
- * and to provide some backwards compatibility there exist a number
- * of alias names. Camlp4OCamlRevisedParser can for instance be referred
- * under all of "pa_r.cmo", "r", "ocamlr" "ocamlrevised",
- * "camlp4ocamlrevisedparser.com". Further, there are more dependencies
- * between the syntax extensions, for instance the original syntax is
- * now an extension of the revised one. Again for backwards compatibility
- * and for succint command lines, dependencies are computed by camlp4,
- * such that "pa_op.cmo" translates to a whole bunch of modules to be
- * loaded. All this is done in CamlprBin.rewrite_and_load. Unfortunately
- * one cannot reuse this code.
- *
- * This module contains contains a copy of the relevant code from
- * CamlprBin.rewrite_and_load to achieve compatibility with camlp4.
- *)
-
-
-let pa_r = "Camlp4OCamlRevisedParser"
-let pa_rr = "Camlp4OCamlReloadedParser"
-let pa_o = "Camlp4OCamlParser"
-let pa_rp = "Camlp4OCamlRevisedParserParser"
-let pa_op = "Camlp4OCamlParserParser"
-let pa_g = "Camlp4GrammarParser"
-let pa_m = "Camlp4MacroParser"
-let pa_qb = "Camlp4QuotationCommon"
-let pa_q = "Camlp4QuotationExpander"
-let pa_rq = "Camlp4OCamlRevisedQuotationExpander"
-let pa_oq = "Camlp4OCamlOriginalQuotationExpander"
-let pa_l = "Camlp4ListComprehension"
-
-
-(* modules not in Camlp4Bin *)
-let pa_d = "Camlp4DebugParser"
-
-
-(* Translates a parser name in the canonical camlp4 name with dependencies.
- * Knows and translates aliases like "of" or "rf".
- * Raises Not_found for an unrecognized argument.
- *)
-let parser_name_and_dependency parser_name =
- match String.lowercase parser_name with
- | "pa_r.cmo"
- | "r"
- | "ocamlr"
- | "ocamlrevised"
- | "camlp4ocamlrevisedparser.cmo"
- -> [pa_r]
-
- | "rr"
- | "reloaded"
- | "ocamlreloaded"
- | "camlp4ocamlreloadedparser.cmo"
- -> [pa_rr]
-
- | "pa_o.cmo"
- | "o"
- | "ocaml"
- | "camlp4ocamlparser.cmo"
- -> [pa_r; pa_o]
-
- | "pa_rp.cmo"
- | "rp"
- | "rparser"
- | "camlp4ocamlrevisedparserparser.cmo"
- (* Camlp4Bin 3.12.0 and before loads pa_o, see #5134 *)
- -> [pa_r; pa_rp]
-
- | "pa_op.cmo"
- | "op"
- | "parser"
- | "camlp4ocamlparserparser.cmo"
- -> [pa_r; pa_o; pa_rp; pa_op]
-
- | "pa_extend.cmo"
- | "pa_extend_m.cmo"
- | "g"
- | "grammar"
- | "camlp4grammarparser.cmo"
- -> [pa_g]
-
- | "pa_macro.cmo"
- | "m"
- | "macro"
- | "camlp4macroparser.cmo"
- -> [pa_m]
-
- | "q"
- | "camlp4quotationexpander.cmo"
- -> [pa_qb; pa_q]
-
- | "q_mlast.cmo"
- | "rq"
- | "camlp4ocamlrevisedquotationexpander.cmo"
- -> [pa_qb; pa_rq]
-
- | "oq"
- | "camlp4ocamloriginalquotationexpander.cmo"
- -> [pa_r; pa_o; pa_qb; pa_oq]
-
- | "rf"
- -> [pa_r; pa_rp; pa_qb; pa_q; pa_g; pa_l; pa_m]
-
- | "of"
- -> [pa_r; pa_o; pa_rp; pa_op; pa_qb; pa_q; pa_g; pa_l; pa_m]
-
- | "comp"
- | "camlp4listcomprehension.cmo"
- -> [pa_l]
-
- (* Cases not or not explicitely treated in Camlp4Bin *)
-
- | "debug"
- | "camlp4debugparser"
- | "camlp4debugparser.cmo"
- -> [pa_d]
-
- | _
- -> raise Not_found
-
-
-let normalize_parser parser_list new_parser =
- List.filter
- (fun pa -> not (List.mem pa parser_list))
- (parser_name_and_dependency new_parser)
-
-
-let short_names_assoc = [
- (pa_r, "r");
- (pa_rr, "rr");
- (pa_o, "o");
- (pa_rp, "rp");
- (pa_op, "op");
- (pa_g, "g");
- (pa_m, "m");
- (pa_qb, "qc");
- (pa_q, "q");
- (pa_rq, "rq");
- (pa_oq, "oq");
- (pa_l, "comp");
- (pa_d, "debug");
-]
-
-
-let short_string_of_parser_list parser_list =
- let l =
- List.map
- (fun long_name ->
- try List.assoc long_name short_names_assoc
- with Not_found -> long_name)
- parser_list
- in
- "[" ^ (String.concat "; " l) ^ "]"
-
-let rec split_list n = function
- | [] -> ([], [])
- | x::l as xl ->
- if n = 0
- then ([], xl)
- else
- let (head, tail) = split_list (n - 1) l in
- (x :: head, tail)
-
-
-let empty_camlp4 = "camlp4"
-
-
-(* Every veriant in this assoc list must be checked in the configure
- * script. When you add a variant here, then also add it to the
- * configure script!
- *)
-let camlp4_variant_assoc = [
- ([pa_r; pa_o; pa_rp; pa_op; pa_qb; pa_q; pa_g; pa_l; pa_m],
- "camlp4of");
-
- (* the next line gives the order in which camlp4of is actually linked. *)
- ([pa_r; pa_qb; pa_q; pa_o; pa_rp; pa_op; pa_g; pa_m; pa_l; ],
- "camlp4of");
-
- ([pa_r; pa_o; pa_rp; pa_op; pa_qb; pa_oq; pa_g; pa_m; pa_l; ],
- "camlp4oof");
-
- ([pa_r; pa_o; pa_rp; pa_op; pa_qb; pa_rq; pa_g; pa_m; pa_l; ],
- "camlp4orf");
-
- ([pa_r; pa_qb; pa_q; pa_rp; pa_g; pa_m; pa_l; ],
- "camlp4rf");
-
- ([pa_r; pa_rp; pa_qb; pa_q; pa_g; pa_l; pa_m],
- "camlp4rf");
-
- ([pa_r; pa_o; pa_rp; pa_op; ],
- "camlp4o");
-
- ([pa_r; pa_rp; ],
- "camlp4r");
-]
-
-
-
-let rec check_camlp4 parser_list = function
- | [] -> (empty_camlp4, parser_list)
- | (parsers, camlp4) :: ovariants ->
- let (head, tail) = split_list (List.length parsers) parser_list in
- if head = parsers
- then (camlp4, tail)
- else check_camlp4 parser_list ovariants
-
-
-let camlp4_variant parser_list =
- check_camlp4 parser_list camlp4_variant_assoc
diff -Nru otags-4.02.2/camlp4_names.mli otags-4.04.1/camlp4_names.mli
--- otags-4.02.2/camlp4_names.mli 2016-01-10 20:57:38.000000000 +0000
+++ otags-4.04.1/camlp4_names.mli 1970-01-01 00:00:00.000000000 +0000
@@ -1,72 +0,0 @@
-(* Otags reloaded
- *
- * Hendrik Tews Copyright (C) 2010 - 2016
- *
- * This file is part of "Otags reloaded".
- *
- * "Otags reloaded" is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * "Otags reloaded" is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License in file COPYING in this or one of the parent
- * directories for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with "Otags reloaded". If not, see
- * .
- *
- * $Id: camlp4_names.mli,v 1.7 2016/01/10 20:57:38 tews Exp $
- *
- * names and aliases of camlp4 modules and executables
- *
- *)
-
-(* The new camlp4 prefers long names for parsing extensions, for instance
- * "Camlp4OCamlRevisedParser". To make succint command lines possible
- * and to provide some backwards compatibility there exist a number
- * of alias names. Camlp4OCamlRevisedParser can for instance be referred
- * under all of "pa_r.cmo", "r", "ocamlr" "ocamlrevised",
- * "camlp4ocamlrevisedparser.com". Further, there are more dependencies
- * between the syntax extensions, for instance the original syntax is
- * now an extension of the revised one. Again for backwards compatibility
- * and for succint command lines dependencies are computed by camlp4,
- * such that "pa_op.cmo" translates to a whole bunch of modules to be
- * loaded. All this is done in CamlprBin.rewrite_and_load. Unfortunately
- * one cannot reuse this code.
- *
- * This module contains contains a copy of the relevant code from
- * CamlprBin.rewrite_and_load to achieve compatibility with camlp4.
- *)
-
-
-
-(* Translates a parser name in the canonical camlp4 name with dependencies.
- * Knows and translates aliases like "of" or "rf".
- * Raises Not_found for an unrecognized argument.
- *)
-(* val parser_name_and_dependency : string -> string list *)
-
-(** Translate a parser name into its canonical name and add its
- dependencies. Return the list of those parsers that are not
- already present in the first argument. Raise [Not_found] if the
- new parser is not one of the standard camlp4 parsers.
-*)
-val normalize_parser : string list -> string -> string list
-
-
-(** Convert a list with canonical parser names into a string with
- shorter names.
-*)
-val short_string_of_parser_list : string list -> string
-
-(* Takes a list of parser extensions and determines the camlp4
- * variant to use and the remaining parser extensions that need
- * to be loaded at runtime.
- * The typical example is that the default parser list
- * results in "camlp4o" with no remaining parsers.
- *)
-val camlp4_variant : string list -> string * string list
diff -Nru otags-4.02.2/ChangeLog otags-4.04.1/ChangeLog
--- otags-4.02.2/ChangeLog 2016-01-15 20:27:18.000000000 +0000
+++ otags-4.04.1/ChangeLog 2017-01-05 20:50:11.000000000 +0000
@@ -1,36 +1,152 @@
+2017-01-05 Hendrik Tews
+
+ * prepare doc/changes.html for release
+
+2017-01-05 Hendrik Tews
+
+ * OCaml 4.04
+ * write changes
+
+2016-09-27 Hendrik Tews
+
+ * improved future compatibility
+ * catch-all clauses in tags.ml
+ * ppx_flush_catchall preprocessor for finding missing constructors
+ * configure tolerates newer OCaml versions with a warning
+
+2016-09-23 Hendrik Tews
+
+ * enable and fix configure -ocaml
+
+2016-09-23 Hendrik Tews
+
+ * fix lost exec on configure
+
+2016-09-22 Hendrik Tews
+
+ * release version 4.03.1 on 2016-09-22 12:51:15 UTC
+
+2016-09-22 Hendrik Tews
+
+ * prepare doc/changes.html for release
+
+2016-09-22 Hendrik Tews
+
+ * update make-distribution
+
+2016-09-22 Hendrik Tews
+
+ * update INSTALL
+
+2016-09-22 Hendrik Tews
+
+ * clean unused files and set gitattributes for git archive
+
+2016-09-22 Hendrik Tews
+
+ * update updated-otags
+
+2016-09-22 Hendrik Tews
+
+ * update changes.html
+
+2016-09-22 Hendrik Tews
+
+ * update README and man page
+
+2016-09-21 Hendrik Tews
+
+ * survive End_of_file because of wrong locations
+
+2016-09-21 Hendrik Tews
+
+ * survive syntax errors, disable warnings
+
+2016-09-21 Hendrik Tews
+
+ * complete test run
+ * clean external and non-standard syntax tests
+ * disable cpp/cppo test because of line directive problem
+ * clear sexplib detection in configure
+
+2016-09-21 Hendrik Tews
+
+ * tagging function rewrite, generated tags look fine
+ * no attributes or methods in class signatures, because
+ of missing location info
+
+2016-09-19 Hendrik Tews
+
+ first camlp4 free compile
+ * rename misc and types because of clashes with compiler-libs
+ * deleted parser_hints module
+ * use Location module
+ * only module name tagging
+ * clear all camlp4 stuff - only use compiler libs parser
+ * clear also parser lists, parsing hints, external parsing
+ * delete options -pc, -pa, -pr, -pp, -I, -parser-hints,
+ -intern, -extern and the associated actions
+ * translate_location and line directive support suspended
+ for now because there is no access to line number
+ directives during parsing
+
+2016-09-19 Hendrik Tews
+
+ * clean Makefile and remove superfluous modules
+
+2016-09-19 Hendrik Tews
+
+ * move to OCaml 4.03 + remove camlp4 stuff from configure
+
+2016-09-19 Hendrik Tews
+
+ * rename to Otags III
+
+2016-09-19 Hendrik Tews
+
+ * move to git, remove $Id cvs tags
+
+2016-05-13 Hendrik Tews
+
+ * fix leaking directory handles
+
+2016-01-15 Hendrik Tews
+
+ * release version 4.02.2 on 2016-01-15 20:28:31 UTC
+
2016-01-15 Hendrik Tews
* prepare doc/changes.html for release
-2016-01-15 Hendrik Tews
+2016-01-15 Hendrik Tews
* update changes.html for release
-2016-01-15 Hendrik Tews
+2016-01-15 Hendrik Tews
* small man page improvement
-2016-01-15 Hendrik Tews
+2016-01-15 Hendrik Tews
* fail gracefully on unreadable parser hint dir's
-2016-01-14 Hendrik Tews
+2016-01-14 Hendrik Tews
* fix crash with cppo line directives without files
-2016-01-14 Hendrik Tews
+2016-01-14 Hendrik Tews
* add tests for cppo line directive problem
-2016-01-14 Hendrik Tews
+2016-01-14 Hendrik Tews
* fix dependencies for tests
-2016-01-11 Hendrik Tews
+2016-01-11 Hendrik Tews
* doc for translate_location.ml
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* update copyright date
@@ -42,47 +158,47 @@
* prepare doc/changes.html for release
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* add check question in make-distribution
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* move recent changes end marker
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* update changes.html
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* update update-otags man page
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* test infix or
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* fix otags man page
-2016-01-10 Hendrik Tews
+2016-01-10 Hendrik Tews
* close dir handles for parser hints dir trees
-2016-01-08 Hendrik Tews
+2016-01-08 Hendrik Tews
* make dump-camlp4 string safe
-2016-01-08 Hendrik Tews
+2016-01-08 Hendrik Tews
* update testcases
-2016-01-06 Hendrik Tews
+2016-01-06 Hendrik Tews
* move to -save-string
-2016-01-05 Hendrik Tews
+2016-01-05 Hendrik Tews
* adapt to ocaml 4.02: module aliases, attributes,
exception patterns, extensible variants
diff -Nru otags-4.02.2/configure otags-4.04.1/configure
--- otags-4.02.2/configure 2016-01-10 20:57:39.000000000 +0000
+++ otags-4.04.1/configure 2017-01-05 20:50:11.000000000 +0000
@@ -2,41 +2,37 @@
##############################################################################
#
-# Configuration script for otags reloaded
+# Configuration script for otags III
#
# Hendrik Tews Copyright (C) 2010 - 2016
#
-# This file is part of "Otags reloaded".
+# This file is part of "Otags III".
#
-# "Otags reloaded" is free software: you can redistribute it and/or
+# "Otags III" is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
-# "Otags reloaded" is distributed in the hope that it will be useful,
+# "Otags III" is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License in file COPYING in this or one of the parent
# directories for more details.
#
# You should have received a copy of the GNU General Public License
-# along with "Otags reloaded". If not, see
+# along with "Otags III". If not, see
# .
#
-# $Id: configure,v 1.30 2016/01/10 20:57:39 tews Exp $
-#
##############################################################################
set -e
-REQUIRED_OCAML_VERSION=4.02
-OTAGS_VERSION=2
+REQUIRED_OCAML_VERSION=4.04
+OTAGS_VERSION=1
root=/usr/local
bindir=$root/bin
-libdir=$root/lib/ocaml/otags
mandir=$root/share/man
-ocaml_lib_dir=
native=
native_goals=
byterequest=0
@@ -50,11 +46,9 @@
echo
echo "Recognized options are:"
echo " --prefix installation prefix [/usr/local]"
- echo " --libdir camlp4 extension [PREFIX/lib/ocaml/otags]"
echo " --bindir user executables [PREFIX/bin]"
echo " --mandir man pages [PREFIX/share/man]"
echo " --bytecode don't use native compiler (for testing only)"
- echo " --ocamllibdir ocaml library directory (for testing only)"
echo " --no-version-check don't check for correct ocaml version (not recommended)"
# echo " --ocaml location of ocaml binaries [searched in PATH]"
}
@@ -64,25 +58,19 @@
"") break;;
-help|--help) usage; exit 2;;
-prefix|--prefix) bindir=$2/bin
- libdir=$2/lib/ocaml/otags
mandir=$2/share/man
shift;;
-bindir|--bindir) bindir=$2
shift;;
- -libdir|--libdir) libdir=$2
- shift;;
-mandir|--mandir) mandir=$2
shift;;
- -ocamllibdir|--ocamllibdir)
- ocaml_lib_dir=$2
- shift;;
-bytecode|--bytecode) byterequest=1;;
-no-version-check|--no-version-check)
versioncheck=0;;
-I-want-buggy-3-12-0)
die_on_3_12_0=0;;
- # -ocaml|--ocaml) ocamlbindir="$2/";
- # shift;;
+ -ocaml|--ocaml) ocamlbindir="$2/";
+ shift;;
# The following option is only here for simplifying the
# make-distribution script.
@@ -123,12 +111,25 @@
# check ocamlc version
if [ $versioncheck = 1 ] ; then
- if [ "$ocbv" \< $REQUIRED_OCAML_VERSION -o \
- "$ocbv" \> $REQUIRED_OCAML_VERSION".99" ] ; then
- echo This version of otags needs $REQUIRED_OCAML_VERSION.x.
+ if [ "$ocbv" \< $REQUIRED_OCAML_VERSION ] ; then
+ echo This version of otags needs at least OCaml $REQUIRED_OCAML_VERSION.x.
echo Aborting.
exit 1
fi
+ if [ "$ocbv" \> $REQUIRED_OCAML_VERSION".99" ] ; then
+ cat - < /dev/null ; then
- if ocamlfind query sexplib > /dev/null ; then
- typeconvdir=$(ocamlfind query type_conv)
- sexpdir=$(ocamlfind query sexplib)
- else
- typeconvdir=
- sexpdir=
- fi
- else
- typeconvdir=
- sexpdir=
- fi
-fi
-
-
# Summary of the configuration
echo
echo " Configuration summary:"
echo " binaries will be installed in $bindir"
-echo " camlp4 extensions will be installed in $libdir"
echo " man pages will be installed in $mandir"
-echo " camlp4path = $camlp4path"
if [ $native = "true" ] ; then
echo " native-code compilation enabled"
else
echo " native-code compilation disabled"
fi
-if [ $typeconvdir ] ; then
- echo " testing uses $typeconvdir"
- echo " and $sexpdir"
-fi
# Make conf.ml
-sed -e "s|@CAMLP4PATH@|$camlp4path|" \
- -e "s|@LIBDIR@|$libdir|" \
- -e "s|@REQUIRED_OCAML_VERSION@|$REQUIRED_OCAML_VERSION|" \
+sed -e "s|@REQUIRED_OCAML_VERSION@|$REQUIRED_OCAML_VERSION|" \
-e "s|@OTAGS_VERSION@|$OTAGS_VERSION|" \
conf.ml.in > conf.ml
# Make the Makefile
sed -e "s|@BINDIR@|$bindir|" \
- -e "s|@LIBDIR@|$libdir|" \
-e "s|@MANDIR@|$mandir|" \
-e "s|@OTAGS@|$otags|" \
-e "s|@OCAMLC@|$ocamlc|" \
-e "s|@OCAMLOPT@|$ocamlopt|" \
-e "s|@OCAMLDEP@|$ocamldep|" \
- -e "s|@SEXPLIBDIR@|$sexpdir|" \
- -e "s|@TYPECONVDIR@|$typeconvdir|" \
Makefile.in > Makefile
diff -Nru otags-4.02.2/conf.mli otags-4.04.1/conf.mli
--- otags-4.02.2/conf.mli 2016-01-10 20:57:39.000000000 +0000
+++ otags-4.04.1/conf.mli 2017-01-05 20:50:11.000000000 +0000
@@ -1,38 +1,28 @@
-(* Otags reloaded
+(* Otags III
*
* Hendrik Tews Copyright (C) 2010 - 2016
*
- * This file is part of "Otags reloaded".
+ * This file is part of "Otags III".
*
- * "Otags reloaded" is free software: you can redistribute it and/or
+ * "Otags III" is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
- * "Otags reloaded" is distributed in the hope that it will be useful,
+ * "Otags III" is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License in file COPYING in this or one of the parent
* directories for more details.
*
* You should have received a copy of the GNU General Public License
- * along with "Otags reloaded". If not, see
+ * along with "Otags III". If not, see
* .
*
- * $Id: conf.mli,v 1.5 2016/01/10 20:57:39 tews Exp $
- *
* configuration
*
*)
-val camlp4_exec_path : string
-
-val camlp4_mod_path : string
-
val ocaml_version : string
val otags_version : string
-
-val otags_camlp4_ast_intf_magic : string
-
-val otags_camlp4_ast_impl_magic : string
diff -Nru otags-4.02.2/conf.ml.in otags-4.04.1/conf.ml.in
--- otags-4.02.2/conf.ml.in 2016-01-10 20:57:38.000000000 +0000
+++ otags-4.04.1/conf.ml.in 2017-01-05 20:50:11.000000000 +0000
@@ -1,26 +1,24 @@
-(* Otags reloaded
+(* Otags III
*
* Hendrik Tews Copyright (C) 2010 - 2016
*
- * This file is part of "Otags reloaded".
+ * This file is part of "Otags III".
*
- * "Otags reloaded" is free software: you can redistribute it and/or
+ * "Otags III" is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
- * "Otags reloaded" is distributed in the hope that it will be useful,
+ * "Otags III" is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License in file COPYING in this or one of the parent
* directories for more details.
*
* You should have received a copy of the GNU General Public License
- * along with "Otags reloaded". If not, see
+ * along with "Otags III". If not, see
* .
*
- * $Id: conf.ml.in,v 1.5 2016/01/10 20:57:38 tews Exp $
- *
* configuration variables (partially generated by configure)
*
*)
@@ -32,30 +30,6 @@
*)
-(* Path to the camlp4 executable at *compile-time*.
- *
- * otags is linked to a specific camlp4 version at compile-time. At runtime
- * otags can read abstract syntax trees from external camlp4 commands. If
- * they are from a different ocaml version, strange things will happen.
- *)
-let camlp4_exec_path = "@CAMLP4PATH@"
-
-(** Path to the camlp4 dump ast extension. Needed for external
- parsing.
-*)
-let camlp4_mod_path = "@LIBDIR@"
-
let ocaml_version = "@REQUIRED_OCAML_VERSION@"
let otags_version = ocaml_version ^ "." ^ "@OTAGS_VERSION@"
-
-let otags_camlp4_ast_impl_magic =
- "Otags camlp4 struct ast with line directive info. Version " ^
- otags_version ^ " / " ^
- Camlp4_config.camlp4_ast_impl_magic_number
-
-let otags_camlp4_ast_intf_magic =
- "Otags camlp4 sig ast with line directive info. Version " ^
- otags_version ^ " / " ^
- Camlp4_config.camlp4_ast_intf_magic_number
-
diff -Nru otags-4.02.2/contrib/.cvsignore otags-4.04.1/contrib/.cvsignore
--- otags-4.02.2/contrib/.cvsignore 2012-01-27 10:24:10.000000000 +0000
+++ otags-4.04.1/contrib/.cvsignore 1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-update-otags.man
diff -Nru otags-4.02.2/contrib/.gitignore otags-4.04.1/contrib/.gitignore
--- otags-4.02.2/contrib/.gitignore 1970-01-01 00:00:00.000000000 +0000
+++ otags-4.04.1/contrib/.gitignore 2017-01-05 20:50:11.000000000 +0000
@@ -0,0 +1 @@
+update-otags.man
diff -Nru otags-4.02.2/contrib/update-otags otags-4.04.1/contrib/update-otags
--- otags-4.02.2/contrib/update-otags 2012-05-23 20:13:54.000000000 +0000
+++ otags-4.04.1/contrib/update-otags 2017-01-05 20:50:11.000000000 +0000
@@ -15,13 +15,13 @@
rm -f $TAGSDIR/TAGS $TAGSDIR/tags
-$OTAGS -parser-hints /usr/share/otags/hints -q -r -o $TAGSDIR/TAGS $OCAMLDIR
+$OTAGS -q -r -o $TAGSDIR/TAGS $OCAMLDIR
status=$?
if [ $status -gt 1 ] ; then
exit $status
fi
-$OTAGS -parser-hints /usr/share/otags/hints -q -r -vi -o $TAGSDIR/tags $OCAMLDIR
+$OTAGS -q -r -vi -o $TAGSDIR/tags $OCAMLDIR
status=$?
if [ $status -gt 1 ] ; then
exit $status
diff -Nru otags-4.02.2/contrib/update-otags.8 otags-4.04.1/contrib/update-otags.8
--- otags-4.02.2/contrib/update-otags.8 2016-01-10 18:51:14.000000000 +0000
+++ otags-4.04.1/contrib/update-otags.8 2017-01-05 20:50:11.000000000 +0000
@@ -60,15 +60,6 @@
.B Emacs
and
.B vi\fR/\fBvim\fR.
-.IP "/usr/share/otags/hints"
-Directory for parsing hints. Packages that install files in
-non-standard syntax can install a parser hints file for
-.B otags
-in this directory, see option
-.B -parser-hints
-in the
-.B otags\fR(1)
-manual.
.\"
.\" ==========================================================================
.\" ================ Bugs ====================================================
@@ -76,28 +67,9 @@
.\"
.SH BUGS
.\" ============= pervasives =================================================
-.B Camlp4
-(and therefore
-.B otags
-too)
-cannot parse all legal
-.B OCaml
-sources. Most notably,
-.B camlp4
-dies on
-.I pervasives.mli
-because it cannot parse block attributes (those starting with
-.I [@@\fR).
-Therefore, none of the core library functions are tagged.
-.\" ============= other syntax ===============================================
-.P
-Various files in the system-wide
-.B OCaml
-directory are written in the revised syntax or require other
-syntax extensions. In principle these files can all be properly
-tagged, but the dumb
-.B update-otags
-script tries to parse all files with the original syntax.
+See the sections KNOWN PROBLEMS and MISSING FEATURES in the
+.B otags(1)
+manual.
.\"
.\" ==========================================================================
.\" ================ Credits =================================================
diff -Nru otags-4.02.2/.cvsignore otags-4.04.1/.cvsignore
--- otags-4.02.2/.cvsignore 2012-05-22 06:16:46.000000000 +0000
+++ otags-4.04.1/.cvsignore 1970-01-01 00:00:00.000000000 +0000
@@ -1,11 +0,0 @@
-*.cmi
-*.cmo
-*.cmx
-*.cma
-*.odoc-dump
-Makefile
-Makefile.deps
-camlp4-dump
-conf.ml
-otags
-version.ml
diff -Nru otags-4.02.2/debian/changelog otags-4.04.1/debian/changelog
--- otags-4.02.2/debian/changelog 2017-01-01 14:57:38.000000000 +0000
+++ otags-4.04.1/debian/changelog 2017-07-03 16:39:27.000000000 +0000
@@ -1,3 +1,15 @@
+otags (4.04.1-0ubuntu1) artful; urgency=medium
+
+ * New upstream release
+
+ -- Dimitri John Ledkov Mon, 03 Jul 2017 17:39:27 +0100
+
+otags (4.02.2-2build1) artful; urgency=high
+
+ * No change rebuild against ocaml 4.04.
+
+ -- Dimitri John Ledkov Thu, 29 Jun 2017 10:09:55 +0100
+
otags (4.02.2-2) unstable; urgency=medium
* drop libsexplib-camlp4-dev from build dependencies (Closes: 843319)
diff -Nru otags-4.02.2/debian/control otags-4.04.1/debian/control
--- otags-4.02.2/debian/control 2017-01-01 14:57:38.000000000 +0000
+++ otags-4.04.1/debian/control 2017-06-29 09:09:55.000000000 +0000
@@ -1,7 +1,8 @@
Source: otags
Section: ocaml
Priority: optional
-Maintainer: Debian OCaml Maintainers
+Maintainer: Ubuntu Developers
+XSBC-Original-Maintainer: Debian OCaml Maintainers
Uploaders:
Mike Furr ,
Mehdi Dogguy ,
diff -Nru otags-4.02.2/debian/patches/series otags-4.04.1/debian/patches/series
--- otags-4.02.2/debian/patches/series 2017-01-01 14:57:38.000000000 +0000
+++ otags-4.04.1/debian/patches/series 1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-disable-sexplib-tests.patch
diff -Nru otags-4.02.2/doc/changes.html otags-4.04.1/doc/changes.html
--- otags-4.02.2/doc/changes.html 2016-01-15 20:27:18.000000000 +0000
+++ otags-4.04.1/doc/changes.html 2017-01-05 20:50:11.000000000 +0000
@@ -33,6 +33,36 @@
! -
-->
+2017-01-05: otags 4.04.1 released
+
+
+- Update for OCaml 4.04
+
+- Improved future compatibility: Otags can now be compiled with
+future OCaml versions as long as they only add constructors in the
+abstract syntax tree.
+
+
+
+
+2016-09-22: otags 4.03.1 released
+
+
+- Switch to OCaml standard parser from the compiler-libs
+library and drop the dependency on camlp4. All options
+controlling the camlp4 engine (-pa, -extern, ...) are gone.
+
+- Restrict input to what ocamlc accepts: no syntax extensions
+or toplevel directives. Additionally, files with line directives
+(from ocamlyacc, ocamllex or cppo) are not supported.
+
+- Fix file descriptor leakage for option -r.
+
+
+
+
+
+
2016-01-15: otags 4.02.2 released
-
-
2013-08-22: otags 4.00.2 released
@@ -170,7 +198,7 @@
last changed on
-15 Jan 2016
+ 5 Jan 2017
by Hendrik