--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/Tools/update_header Sun Nov 02 16:47:45 2014 +0100
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+#
+# Author: Makarius
+#
+# DESCRIPTION: replace obsolete theory header command
+
+
+## diagnostics
+
+PRG="$(basename "$0")"
+
+function usage()
+{
+ echo
+ echo "Usage: isabelle $PRG [FILES|DIRS...]"
+ echo
+ echo " Options are:"
+ echo " -s COMMAND alternative heading command (default 'section')"
+ echo
+ echo " Recursively find .thy files and replace obsolete theory header commands"
+ echo " by 'section' (default), or 'chapter', 'subsection', 'subsubsection'."
+ echo
+ echo " Old versions of files are preserved by appending \"~~\"."
+ echo
+ exit 1
+}
+
+
+## process command line
+
+#options
+
+SECTION="section"
+
+while getopts "s:" OPT
+do
+ case "$OPT" in
+ s)
+ SECTION="$OPTARG"
+ ;;
+ \?)
+ usage
+ ;;
+ esac
+done
+
+shift $(($OPTIND - 1))
+
+
+# args
+
+[ "$#" -eq 0 -o "$1" = "-?" ] && usage
+
+SPECS="$@"; shift "$#"
+
+
+## main
+
+find $SPECS -name \*.thy -print0 | \
+ xargs -0 "$ISABELLE_TOOL" java isabelle.Update_Header "$SECTION"