diff --git a/misc/jpf-indent b/misc/jpf-indent
new file mode 100755
index 0000000..cdd825c
--- /dev/null
+++ b/misc/jpf-indent
@@ -0,0 +1,119 @@
+#!/bin/sh
+#****************************************************************************
+#* Copyright (c) 2004-2005,2006 Thomas E. Dickey                            *
+#*                                                                          *
+#* Permission is hereby granted, free of charge, to any person obtaining a  *
+#* copy of this software and associated documentation files (the            *
+#* "Software"), to deal in the Software without restriction, including      *
+#* without limitation the rights to use, copy, modify, merge, publish,      *
+#* distribute, distribute with modifications, sublicense, and/or sell       *
+#* copies of the Software, and to permit persons to whom the Software is    *
+#* furnished to do so, subject to the following conditions:                 *
+#*                                                                          *
+#* The above copyright notice and this permission notice shall be included  *
+#* in all copies or substantial portions of the Software.                   *
+#*                                                                          *
+#* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+#* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+#* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+#* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+#* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+#* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+#* THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+#*                                                                          *
+#* Except as contained in this notice, the name(s) of the above copyright   *
+#* holders shall not be used in advertising or otherwise to promote the     *
+#* sale, use or other dealings in this Software without prior written       *
+#* authorization.                                                           *
+#****************************************************************************/
+# $Id: jpf-indent,v 1.6 2006/02/18 17:07:15 tom Exp $
+# indent ncurses source written by Juergen Pfeifer
+NOOP=no
+OPTS='
+-npro
+--blank-lines-after-declarations
+--blank-lines-after-procedures
+--brace-indent2
+--braces-after-if-line
+--continue-at-parentheses
+--indent-level2
+--line-length80
+--no-space-after-casts
+--no-space-after-function-call-names
+--parameter-indentation4
+--swallow-optional-blank-lines
+--tab-size8
+
+-T FIELD
+-T FIELDTYPE
+-T FIELD_CELL
+-T FORM
+-T NCURSES_INLINE
+-T RegExp_Arg 
+-T TypeArgument 
+-T WINDOW
+-T attr_t
+-T bool
+-T cchar_t
+-T chtype
+-T enumARG
+-T va_list
+-T wchar_t 
+'
+for name in $*
+do
+	case $name in
+	-v|-n)
+		NOOP=yes
+		OPTS="$OPTS -v"
+		;;
+	-*)
+		OPTS="$OPTS $name"
+		;;
+	*.[ch])
+		save="${name}".a$$
+		test="${name}".b$$
+		rm -f "$save" "$test"
+		mv "$name" "$save"
+		sed \
+			-e '/MODULE_ID(/s/)$/);/' \
+			-e 's,\<GCC_NORETURN;,;//GCC_NORETURN;,' \
+			-e 's,\<GCC_PRINTFLIKE(,;//GCC_PRINTFLIKE(,' \
+			-e 's,\<GCC_SCANFLIKE(,;//GCC_SCANFLIKE(,' \
+			-e 's,\(\<NCURSES_EXPORT_VAR\>\),//\1,' \
+			"$save" >"$test"
+		cp "$test" "$name"
+		chmod u+w "$name"
+		# ${INDENT_PROG-indent} --version
+		${INDENT_PROG-indent} -npro $OPTS "$name"
+		sed \
+			-e '/MODULE_ID(/s/);$/)/' \
+			-e 's,;[ 	]*//GCC_NORETURN;, GCC_NORETURN;,' \
+			-e 's,;[ 	]*//GCC_PRINTFLIKE(, GCC_PRINTFLIKE(,' \
+			-e 's,;[ 	]*//GCC_SCANFLIKE(, GCC_SCANFLIKE(,' \
+			-e 's,//\(\<NCURSES_EXPORT_VAR\>\),\1,' \
+			"$name" >"$test"
+		mv "$test" "$name"
+		rm -f "${name}~"
+		if test $NOOP = yes ; then
+			if (cmp -s "$name" "$save" ) then
+				echo "** no change: $name"
+			else
+				diff -u "$save" "$name"
+			fi
+			rm -f "$name"
+			mv "$save" "$name"
+		elif ( cmp -s "$name" "$save" ) ; then
+			echo "** unchanged $name"
+			rm -f "${name}"
+			mv "$save" "$name"
+		else
+			echo "** updated $name"
+			rm -f "$save"
+		fi
+		;;
+	*)
+		echo "** ignored:   $name"
+		;;
+	esac
+done
