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
    @@ -60,8 +90,6 @@
- -
2013-08-22: otags 4.00.2 released