From 611135702929f18a19681ec443cddc3b3c0fba0c Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:09:03 +0000
Subject: [PATCH 1/10] Add .gitignore


Add .gitignore to make local development easier and prevent accidental pushes.

---

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..34d63b7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,43 @@
+# Man pages
+man/
+
+# Cache
+autom4te.cache/
+configure
+configure~
+*.log
+
+# Dependencies
+.deps/
+aclocal.m4
+compile
+depcomp
+install-sh
+missing
+stamp-h1
+test-driver
+ylwrap
+
+# Generated config files
+config.status
+config.log
+config.h
+Makefile.in
+Makefile
+xmlto.spec
+
+# Binaries
+/*.o
+
+# xmlif folder
+xmlif/*
+
+# Keep this
+!xmlif/test/
+!xmlif/xmlif.c
+!xmlif/xmlif.l
+
+xmlif/test/*
+!xmlif/test/result*
+!xmlif/test/test.xml
+!xmlif/test/run-test

From 32376c053733c6c0ebaca3c25c0725509342fdf3 Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:09:37 +0000
Subject: [PATCH 2/10] Regenerate the xmlif.c and update xmlif.l to comply with the new version of flex and gcc


Removes warnings in the build process

---

diff --git a/xmlif/xmlif.c b/xmlif/xmlif.c
index 50aa1bc..1b87a9e 100644
--- a/xmlif/xmlif.c
+++ b/xmlif/xmlif.c
@@ -1,3 +1,4 @@
+#line 1 "xmlif/xmlif.c"
 
 #line 3 "xmlif/xmlif.c"
 
@@ -7,8 +8,8 @@
 
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 37
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 4
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
@@ -83,65 +84,61 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
+#ifndef SIZE_MAX
+#define SIZE_MAX               (~(size_t)0)
+#endif
+
 #endif /* ! C99 */
 
 #endif /* ! FLEXINT_H */
 
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
+/* begin standard C++ headers. */
 
-#ifdef YY_USE_CONST
+/* TODO: this is always defined, so inline it */
 #define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
 #else
-#define yyconst
+#define yynoreturn
 #endif
 
 /* Returned upon end-of-file. */
 #define YY_NULL 0
 
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
+/* Promotes a possibly negative, possibly signed char to an
+ *   integer in range [0..255] for use as an array index.
  */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
 
 /* Enter a start condition.  This macro really ought to take a parameter,
  * but we do it the disgusting crufty way forced on us by the ()-less
  * definition of BEGIN.
  */
 #define BEGIN (yy_start) = 1 + 2 *
-
 /* Translate the current start state into a value that can be later handed
  * to BEGIN to return to the state.  The YYSTATE alias is for lex
  * compatibility.
  */
 #define YY_START (((yy_start) - 1) / 2)
 #define YYSTATE YY_START
-
 /* Action number for EOF rule of a given start state. */
 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
 /* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
+#define YY_NEW_FILE yyrestart( yyin  )
 #define YY_END_OF_BUFFER_CHAR 0
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
 #define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -158,15 +155,16 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
 typedef size_t yy_size_t;
 #endif
 
-extern yy_size_t yyleng;
+extern int yyleng;
 
 extern FILE *yyin, *yyout;
 
 #define EOB_ACT_CONTINUE_SCAN 0
 #define EOB_ACT_END_OF_FILE 1
 #define EOB_ACT_LAST_MATCH 2
-
+    
     #define YY_LESS_LINENO(n)
+    #define YY_LINENO_REWIND_TO(ptr)
     
 /* Return all but the first "n" matched characters back to the input stream. */
 #define yyless(n) \
@@ -181,7 +179,6 @@ extern FILE *yyin, *yyout;
 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
 		} \
 	while ( 0 )
-
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
 #ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -196,12 +193,12 @@ struct yy_buffer_state
 	/* Size of input buffer in bytes, not including room for EOB
 	 * characters.
 	 */
-	yy_size_t yy_buf_size;
+	int yy_buf_size;
 
 	/* Number of characters read into yy_ch_buf, not including EOB
 	 * characters.
 	 */
-	yy_size_t yy_n_chars;
+	int yy_n_chars;
 
 	/* Whether we "own" the buffer - i.e., we know we created it,
 	 * and can realloc() it to grow it, and should free() it to
@@ -224,7 +221,7 @@ struct yy_buffer_state
 
     int yy_bs_lineno; /**< The line count. */
     int yy_bs_column; /**< The column count. */
-    
+
 	/* Whether to try to fill the input buffer when we reach the
 	 * end of it.
 	 */
@@ -252,7 +249,7 @@ struct yy_buffer_state
 /* Stack of input buffers. */
 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
 
 /* We provide macros for accessing buffer states in case in the
  * future we want to put the buffer states in a more general
@@ -263,7 +260,6 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
                           : NULL)
-
 /* Same as previous macro, but useful when we know that the buffer stack is not
  * NULL or when we need an lvalue. For internal use only.
  */
@@ -271,11 +267,11 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int yyleng;
 
 /* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
+static char *yy_c_buf_p = NULL;
 static int yy_init = 0;		/* whether we need to initialize */
 static int yy_start = 0;	/* start state number */
 
@@ -284,82 +280,78 @@ static int yy_start = 0;	/* start state number */
  */
 static int yy_did_buffer_switch_on_eof;
 
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+void yyrestart ( FILE *input_file  );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
+void yy_delete_buffer ( YY_BUFFER_STATE b  );
+void yy_flush_buffer ( YY_BUFFER_STATE b  );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state ( void );
 
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+static void yyensure_buffer_stack ( void );
+static void yy_load_buffer_state ( void );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
 
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
 
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
+void *yyalloc ( yy_size_t  );
+void *yyrealloc ( void *, yy_size_t  );
+void yyfree ( void *  );
 
 #define yy_new_buffer yy_create_buffer
-
 #define yy_set_interactive(is_interactive) \
 	{ \
 	if ( ! YY_CURRENT_BUFFER ){ \
         yyensure_buffer_stack (); \
 		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
 	} \
 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
 	}
-
 #define yy_set_bol(at_bol) \
 	{ \
 	if ( ! YY_CURRENT_BUFFER ){\
         yyensure_buffer_stack (); \
 		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
 	} \
 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
 	}
-
 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
 /* Begin user sect3 */
+typedef flex_uint8_t YY_CHAR;
 
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+FILE *yyin = NULL, *yyout = NULL;
 
-typedef yyconst struct yy_trans_info *yy_state_type;
+typedef const struct yy_trans_info *yy_state_type;
 
 extern int yylineno;
-
 int yylineno = 1;
 
 extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
 #define yytext_ptr yytext
 
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
+static yy_state_type yy_get_previous_state ( void );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
+static int yy_get_next_buffer ( void );
+static void yynoreturn yy_fatal_error ( const char* msg  );
 
 /* Done after the current pattern has been matched and before the
  * corresponding action - sets up yytext.
  */
 #define YY_DO_BEFORE_ACTION \
 	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
+	yyleng = (int) (yy_cp - yy_bp); \
 	(yy_hold_char) = *yy_cp; \
 	*yy_cp = '\0'; \
 	(yy_c_buf_p) = yy_cp;
-
 #define YY_NUM_RULES 13
 #define YY_END_OF_BUFFER 14
 struct yy_trans_info
@@ -367,7 +359,7 @@ struct yy_trans_info
 	flex_int16_t yy_verify;
 	flex_int16_t yy_nxt;
 	};
-static yyconst struct yy_trans_info yy_transition[3478] =
+static const struct yy_trans_info yy_transition[3478] =
     {
  {   0,   0 }, {   0,3222 }, {   0,   0 }, {   0,3220 }, {   1,1548 },
  {   2,1548 }, {   3,1548 }, {   4,1548 }, {   5,1548 }, {   6,1548 },
@@ -1079,7 +1071,7 @@ static yyconst struct yy_trans_info yy_transition[3478] =
  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
  {   0,   0 }, {   0,   0 }, { 257,  14 }, {   1,   0 },    };
 
-static yyconst struct yy_trans_info *yy_start_state_list[7] =
+static const struct yy_trans_info *yy_start_state_list[7] =
     {
     &yy_transition[1],
     &yy_transition[3],
@@ -1145,13 +1137,14 @@ char *yytext;
  */
 #include <string.h>
 #include <stdlib.h>
+#include <strings.h>
 
 #define TRUE	1
 #define FALSE	0
 
 static char **selections;	/* selection tokens */
 static int nselections;		/* number of selections */
-static ifsense;			/* sense of last `if' or unless seen */
+static int ifsense;		/* sense of last `if' or unless seen */
 static char *attribute;		/* last attribute scanned */
 
 struct stack_t {
@@ -1301,8 +1294,9 @@ static void process_else()
 }
 
 
+#line 1297 "xmlif/xmlif.c"
 
-#line 1306 "xmlif/xmlif.c"
+#line 1299 "xmlif/xmlif.c"
 
 #define INITIAL 0
 #define attrib 1
@@ -1320,36 +1314,36 @@ static void process_else()
 #define YY_EXTRA_TYPE void *
 #endif
 
-static int yy_init_globals (void );
+static int yy_init_globals ( void );
 
 /* Accessor methods to globals.
    These are made visible to non-reentrant scanners for convenience. */
 
-int yylex_destroy (void );
+int yylex_destroy ( void );
 
-int yyget_debug (void );
+int yyget_debug ( void );
 
-void yyset_debug (int debug_flag  );
+void yyset_debug ( int debug_flag  );
 
-YY_EXTRA_TYPE yyget_extra (void );
+YY_EXTRA_TYPE yyget_extra ( void );
 
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
+void yyset_extra ( YY_EXTRA_TYPE user_defined  );
 
-FILE *yyget_in (void );
+FILE *yyget_in ( void );
 
-void yyset_in  (FILE * in_str  );
+void yyset_in  ( FILE * _in_str  );
 
-FILE *yyget_out (void );
+FILE *yyget_out ( void );
 
-void yyset_out  (FILE * out_str  );
+void yyset_out  ( FILE * _out_str  );
 
-yy_size_t yyget_leng (void );
+			int yyget_leng ( void );
 
-char *yyget_text (void );
+char *yyget_text ( void );
 
-int yyget_lineno (void );
+int yyget_lineno ( void );
 
-void yyset_lineno (int line_number  );
+void yyset_lineno ( int _line_number  );
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1357,35 +1351,43 @@ void yyset_lineno (int line_number  );
 
 #ifndef YY_SKIP_YYWRAP
 #ifdef __cplusplus
-extern "C" int yywrap (void );
+extern "C" int yywrap ( void );
 #else
-extern int yywrap (void );
+extern int yywrap ( void );
 #endif
 #endif
 
-    static void yyunput (int c,char *buf_ptr  );
+#ifndef YY_NO_UNPUT
+    
+    static void yyunput ( int c, char *buf_ptr  );
     
+#endif
+
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy ( char *, const char *, int );
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen ( const char * );
 #endif
 
 #ifndef YY_NO_INPUT
-
 #ifdef __cplusplus
-static int yyinput (void );
+static int yyinput ( void );
 #else
-static int input (void );
+static int input ( void );
 #endif
 
 #endif
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
 #define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -1393,7 +1395,7 @@ static int input (void );
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -1402,7 +1404,7 @@ static int input (void );
 #ifndef YY_INPUT
 #define YY_INPUT(buf,result,max_size) \
 	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
+	while ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \
 	{ \
 		if( errno != EINTR) \
 		{ \
@@ -1456,7 +1458,7 @@ extern int yylex (void);
 
 /* Code executed at the end of each rule. */
 #ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
 #endif
 
 #define YY_RULE_SETUP \
@@ -1466,14 +1468,10 @@ extern int yylex (void);
  */
 YY_DECL
 {
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
+	yy_state_type yy_current_state;
+	char *yy_cp, *yy_bp;
+	int yy_act;
     
-#line 207 "xmlif/xmlif.l"
-
-#line 1476 "xmlif/xmlif.c"
-
 	if ( !(yy_init) )
 		{
 		(yy_init) = 1;
@@ -1494,13 +1492,18 @@ YY_DECL
 		if ( ! YY_CURRENT_BUFFER ) {
 			yyensure_buffer_stack ();
 			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
+				yy_create_buffer( yyin, YY_BUF_SIZE );
 		}
 
-		yy_load_buffer_state( );
+		yy_load_buffer_state(  );
 		}
 
-	while ( 1 )		/* loops until end-of-file is reached */
+	{
+#line 208 "xmlif/xmlif.l"
+
+#line 1504 "xmlif/xmlif.c"
+
+	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
 		{
 		yy_cp = (yy_c_buf_p);
 
@@ -1515,12 +1518,12 @@ YY_DECL
 		yy_current_state = yy_start_state_list[(yy_start)];
 yy_match:
 		{
-		register yyconst struct yy_trans_info *yy_trans_info;
+		const struct yy_trans_info *yy_trans_info;
 
-		register YY_CHAR yy_c;
+		YY_CHAR yy_c;
 
 		for ( yy_c = YY_SC_TO_UI(*yy_cp);
-		      (yy_trans_info = &yy_current_state[(unsigned int) yy_c])->
+		      (yy_trans_info = &yy_current_state[yy_c])->
 		yy_verify == yy_c;
 		      yy_c = YY_SC_TO_UI(*++yy_cp) )
 			{
@@ -1553,58 +1556,58 @@ do_action:	/* This label is used only to access EOF actions. */
 case 1:
 /* rule 1 can match eol */
 YY_RULE_SETUP
-#line 208 "xmlif/xmlif.l"
+#line 209 "xmlif/xmlif.l"
 {BEGIN(attrib); ifsense = FALSE; push_level();}
 	YY_BREAK
 case 2:
 /* rule 2 can match eol */
 YY_RULE_SETUP
-#line 209 "xmlif/xmlif.l"
+#line 210 "xmlif/xmlif.l"
 {BEGIN(attrib); ifsense = TRUE;  push_level();}
 	YY_BREAK
 case 3:
 /* rule 3 can match eol */
 YY_RULE_SETUP
-#line 210 "xmlif/xmlif.l"
+#line 211 "xmlif/xmlif.l"
 {BEGIN(attrib); ifsense = FALSE;}
 	YY_BREAK
 case 4:
 /* rule 4 can match eol */
 YY_RULE_SETUP
-#line 211 "xmlif/xmlif.l"
+#line 212 "xmlif/xmlif.l"
 {BEGIN(attrib); ifsense = TRUE;}
 	YY_BREAK
 case 5:
 /* rule 5 can match eol */
 YY_RULE_SETUP
-#line 212 "xmlif/xmlif.l"
+#line 213 "xmlif/xmlif.l"
 {process_else();}
 	YY_BREAK
 case 6:
 /* rule 6 can match eol */
 YY_RULE_SETUP
-#line 214 "xmlif/xmlif.l"
+#line 215 "xmlif/xmlif.l"
 {pop_level();}
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 216 "xmlif/xmlif.l"
+#line 217 "xmlif/xmlif.l"
 {stash_attribute(yytext);}
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 217 "xmlif/xmlif.l"
+#line 218 "xmlif/xmlif.l"
 {BEGIN(val);}
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 218 "xmlif/xmlif.l"
+#line 219 "xmlif/xmlif.l"
 {BEGIN(INITIAL); end_attribute();}
 	YY_BREAK
 case 10:
 /* rule 10 can match eol */
 YY_RULE_SETUP
-#line 219 "xmlif/xmlif.l"
+#line 220 "xmlif/xmlif.l"
 {
 				    yytext[strlen(yytext)-1]='\0';
 				    process_value(yytext+1);
@@ -1613,7 +1616,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 224 "xmlif/xmlif.l"
+#line 225 "xmlif/xmlif.l"
 {
 				    fprintf(stderr,
 					"xmlif: > where value expected\n");
@@ -1622,7 +1625,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 230 "xmlif/xmlif.l"
+#line 231 "xmlif/xmlif.l"
 {
 				    if (!end->suppressed)
 					putchar(yytext[0]);
@@ -1630,10 +1633,10 @@ YY_RULE_SETUP
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 235 "xmlif/xmlif.l"
+#line 236 "xmlif/xmlif.l"
 ECHO;
 	YY_BREAK
-#line 1637 "xmlif/xmlif.c"
+#line 1639 "xmlif/xmlif.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(attrib):
 case YY_STATE_EOF(val):
@@ -1713,7 +1716,7 @@ case YY_STATE_EOF(val):
 				{
 				(yy_did_buffer_switch_on_eof) = 0;
 
-				if ( yywrap( ) )
+				if ( yywrap(  ) )
 					{
 					/* Note: because we've taken care in
 					 * yy_get_next_buffer() to have set up
@@ -1766,6 +1769,7 @@ case YY_STATE_EOF(val):
 			"fatal flex scanner internal error--no action found" );
 	} /* end of action switch */
 		} /* end of scanning one token */
+	} /* end of user's declarations */
 } /* end of yylex */
 
 /* yy_get_next_buffer - try to read in a new buffer
@@ -1777,9 +1781,9 @@ case YY_STATE_EOF(val):
  */
 static int yy_get_next_buffer (void)
 {
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
+    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	char *source = (yytext_ptr);
+	int number_to_move, i;
 	int ret_val;
 
 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
@@ -1808,7 +1812,7 @@ static int yy_get_next_buffer (void)
 	/* Try to read more data. */
 
 	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
 
 	for ( i = 0; i < number_to_move; ++i )
 		*(dest++) = *(source++);
@@ -1821,7 +1825,7 @@ static int yy_get_next_buffer (void)
 
 	else
 		{
-			yy_size_t num_to_read =
+			int num_to_read =
 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
 		while ( num_to_read <= 0 )
@@ -1835,7 +1839,7 @@ static int yy_get_next_buffer (void)
 
 			if ( b->yy_is_our_buffer )
 				{
-				yy_size_t new_size = b->yy_buf_size * 2;
+				int new_size = b->yy_buf_size * 2;
 
 				if ( new_size <= 0 )
 					b->yy_buf_size += b->yy_buf_size / 8;
@@ -1844,11 +1848,12 @@ static int yy_get_next_buffer (void)
 
 				b->yy_ch_buf = (char *)
 					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+					yyrealloc( (void *) b->yy_ch_buf,
+							 (yy_size_t) (b->yy_buf_size + 2)  );
 				}
 			else
 				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
+				b->yy_ch_buf = NULL;
 
 			if ( ! b->yy_ch_buf )
 				YY_FATAL_ERROR(
@@ -1876,7 +1881,7 @@ static int yy_get_next_buffer (void)
 		if ( number_to_move == YY_MORE_ADJ )
 			{
 			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
+			yyrestart( yyin  );
 			}
 
 		else
@@ -1890,12 +1895,15 @@ static int yy_get_next_buffer (void)
 	else
 		ret_val = EOB_ACT_CONTINUE_SCAN;
 
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
 		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+		/* "- 2" to take care of EOB's */
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
 	}
 
 	(yy_n_chars) += number_to_move;
@@ -1911,8 +1919,8 @@ static int yy_get_next_buffer (void)
 
     static yy_state_type yy_get_previous_state (void)
 {
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
+	yy_state_type yy_current_state;
+	char *yy_cp;
     
 	yy_current_state = yy_start_state_list[(yy_start)];
 
@@ -1936,11 +1944,11 @@ static int yy_get_next_buffer (void)
  */
     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
 {
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
+	int yy_is_jam;
+    	char *yy_cp = (yy_c_buf_p);
 
-	register int yy_c = 256;
-	register yyconst struct yy_trans_info *yy_trans_info;
+	int yy_c = 256;
+	const struct yy_trans_info *yy_trans_info;
 
 	yy_trans_info = &yy_current_state[(unsigned int) yy_c];
 	yy_current_state += yy_trans_info->yy_nxt;
@@ -1958,9 +1966,11 @@ static int yy_get_next_buffer (void)
 		return yy_is_jam ? 0 : yy_current_state;
 }
 
-    static void yyunput (int c, register char * yy_bp )
+#ifndef YY_NO_UNPUT
+
+    static void yyunput (int c, char * yy_bp )
 {
-	register char *yy_cp;
+	char *yy_cp;
     
     yy_cp = (yy_c_buf_p);
 
@@ -1970,10 +1980,10 @@ static int yy_get_next_buffer (void)
 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
 		{ /* need to shift things up to make room */
 		/* +2 for EOB chars. */
-		register yy_size_t number_to_move = (yy_n_chars) + 2;
-		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+		int number_to_move = (yy_n_chars) + 2;
+		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
-		register char *source =
+		char *source =
 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
 
 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
@@ -1982,7 +1992,7 @@ static int yy_get_next_buffer (void)
 		yy_cp += (int) (dest - source);
 		yy_bp += (int) (dest - source);
 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
 
 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
@@ -1995,6 +2005,8 @@ static int yy_get_next_buffer (void)
 	(yy_c_buf_p) = yy_cp;
 }
 
+#endif
+
 #ifndef YY_NO_INPUT
 #ifdef __cplusplus
     static int yyinput (void)
@@ -2019,7 +2031,7 @@ static int yy_get_next_buffer (void)
 
 		else
 			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
+			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
 			++(yy_c_buf_p);
 
 			switch ( yy_get_next_buffer(  ) )
@@ -2036,14 +2048,14 @@ static int yy_get_next_buffer (void)
 					 */
 
 					/* Reset buffer status. */
-					yyrestart(yyin );
+					yyrestart( yyin );
 
 					/*FALLTHROUGH*/
 
 				case EOB_ACT_END_OF_FILE:
 					{
-					if ( yywrap( ) )
-						return EOF;
+					if ( yywrap(  ) )
+						return 0;
 
 					if ( ! (yy_did_buffer_switch_on_eof) )
 						YY_NEW_FILE;
@@ -2080,11 +2092,11 @@ static int yy_get_next_buffer (void)
 	if ( ! YY_CURRENT_BUFFER ){
         yyensure_buffer_stack ();
 		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
+            yy_create_buffer( yyin, YY_BUF_SIZE );
 	}
 
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
+	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+	yy_load_buffer_state(  );
 }
 
 /** Switch to a different input buffer.
@@ -2112,7 +2124,7 @@ static int yy_get_next_buffer (void)
 		}
 
 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
+	yy_load_buffer_state(  );
 
 	/* We don't actually know whether we did this switch during
 	 * EOF (yywrap()) processing, but the only time this flag
@@ -2140,7 +2152,7 @@ static void yy_load_buffer_state  (void)
 {
 	YY_BUFFER_STATE b;
     
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
 	if ( ! b )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
@@ -2149,13 +2161,13 @@ static void yy_load_buffer_state  (void)
 	/* yy_ch_buf has to be 2 characters longer than the size given because
 	 * we need to put in 2 end-of-buffer characters.
 	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
+	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
 	if ( ! b->yy_ch_buf )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
 	b->yy_is_our_buffer = 1;
 
-	yy_init_buffer(b,file );
+	yy_init_buffer( b, file );
 
 	return b;
 }
@@ -2174,9 +2186,9 @@ static void yy_load_buffer_state  (void)
 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
 
 	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
+		yyfree( (void *) b->yy_ch_buf  );
 
-	yyfree((void *) b  );
+	yyfree( (void *) b  );
 }
 
 /* Initializes or reinitializes a buffer.
@@ -2188,7 +2200,7 @@ static void yy_load_buffer_state  (void)
 {
 	int oerrno = errno;
     
-	yy_flush_buffer(b );
+	yy_flush_buffer( b );
 
 	b->yy_input_file = file;
 	b->yy_fill_buffer = 1;
@@ -2231,7 +2243,7 @@ static void yy_load_buffer_state  (void)
 	b->yy_buffer_status = YY_BUFFER_NEW;
 
 	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
+		yy_load_buffer_state(  );
 }
 
 /** Pushes the new state onto the stack. The new state becomes
@@ -2262,7 +2274,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
 
 	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
+	yy_load_buffer_state(  );
 	(yy_did_buffer_switch_on_eof) = 1;
 }
 
@@ -2281,7 +2293,7 @@ void yypop_buffer_state (void)
 		--(yy_buffer_stack_top);
 
 	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
+		yy_load_buffer_state(  );
 		(yy_did_buffer_switch_on_eof) = 1;
 	}
 }
@@ -2299,15 +2311,15 @@ static void yyensure_buffer_stack (void)
 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
 		 * immediate realloc on the next call.
          */
-		num_to_alloc = 1;
+      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
 								(num_to_alloc * sizeof(struct yy_buffer_state*)
 								);
 		if ( ! (yy_buffer_stack) )
 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
+
 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
+
 		(yy_buffer_stack_max) = num_to_alloc;
 		(yy_buffer_stack_top) = 0;
 		return;
@@ -2316,7 +2328,7 @@ static void yyensure_buffer_stack (void)
 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
 
 		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
+		yy_size_t grow_size = 8 /* arbitrary grow size */;
 
 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
@@ -2336,7 +2348,7 @@ static void yyensure_buffer_stack (void)
  * @param base the character buffer
  * @param size the size in bytes of the character buffer
  * 
- * @return the newly allocated buffer state object. 
+ * @return the newly allocated buffer state object.
  */
 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
 {
@@ -2346,23 +2358,23 @@ YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
 		/* They forgot to leave room for the EOB's. */
-		return 0;
+		return NULL;
 
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
 	if ( ! b )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
 
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
 	b->yy_buf_pos = b->yy_ch_buf = base;
 	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
+	b->yy_input_file = NULL;
 	b->yy_n_chars = b->yy_buf_size;
 	b->yy_is_interactive = 0;
 	b->yy_at_bol = 1;
 	b->yy_fill_buffer = 0;
 	b->yy_buffer_status = YY_BUFFER_NEW;
 
-	yy_switch_to_buffer(b  );
+	yy_switch_to_buffer( b  );
 
 	return b;
 }
@@ -2375,10 +2387,10 @@ YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
  * @note If you want to scan bytes that may contain NUL values, then use
  *       yy_scan_bytes() instead.
  */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
 {
     
-	return yy_scan_bytes(yystr,strlen(yystr) );
+	return yy_scan_bytes( yystr, (int) strlen(yystr) );
 }
 
 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
@@ -2388,7 +2400,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
  * 
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
 {
 	YY_BUFFER_STATE b;
 	char *buf;
@@ -2396,8 +2408,8 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len 
 	int i;
     
 	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
+	n = (yy_size_t) (_yybytes_len + 2);
+	buf = (char *) yyalloc( n  );
 	if ( ! buf )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
 
@@ -2406,7 +2418,7 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len 
 
 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
 
-	b = yy_scan_buffer(buf,n );
+	b = yy_scan_buffer( buf, n );
 	if ( ! b )
 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
 
@@ -2422,9 +2434,9 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len 
 #define YY_EXIT_FAILURE 2
 #endif
 
-static void yy_fatal_error (yyconst char* msg )
+static void yynoreturn yy_fatal_error (const char* msg )
 {
-    	(void) fprintf( stderr, "%s\n", msg );
+			fprintf( stderr, "%s\n", msg );
 	exit( YY_EXIT_FAILURE );
 }
 
@@ -2452,7 +2464,7 @@ static void yy_fatal_error (yyconst char* msg )
  */
 int yyget_lineno  (void)
 {
-        
+    
     return yylineno;
 }
 
@@ -2475,7 +2487,7 @@ FILE *yyget_out  (void)
 /** Get the length of the current token.
  * 
  */
-yy_size_t yyget_leng  (void)
+int yyget_leng  (void)
 {
         return yyleng;
 }
@@ -2490,29 +2502,29 @@ char *yyget_text  (void)
 }
 
 /** Set the current line number.
- * @param line_number
+ * @param _line_number line number
  * 
  */
-void yyset_lineno (int  line_number )
+void yyset_lineno (int  _line_number )
 {
     
-    yylineno = line_number;
+    yylineno = _line_number;
 }
 
 /** Set the input stream. This does not discard the current
  * input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
  * 
  * @see yy_switch_to_buffer
  */
-void yyset_in (FILE *  in_str )
+void yyset_in (FILE *  _in_str )
 {
-        yyin = in_str ;
+        yyin = _in_str ;
 }
 
-void yyset_out (FILE *  out_str )
+void yyset_out (FILE *  _out_str )
 {
-        yyout = out_str ;
+        yyout = _out_str ;
 }
 
 int yyget_debug  (void)
@@ -2520,9 +2532,9 @@ int yyget_debug  (void)
         return yy_flex_debug;
 }
 
-void yyset_debug (int  bdebug )
+void yyset_debug (int  _bdebug )
 {
-        yy_flex_debug = bdebug ;
+        yy_flex_debug = _bdebug ;
 }
 
 static int yy_init_globals (void)
@@ -2531,10 +2543,10 @@ static int yy_init_globals (void)
      * This function is called from yylex_destroy(), so don't allocate here.
      */
 
-    (yy_buffer_stack) = 0;
+    (yy_buffer_stack) = NULL;
     (yy_buffer_stack_top) = 0;
     (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
+    (yy_c_buf_p) = NULL;
     (yy_init) = 0;
     (yy_start) = 0;
 
@@ -2543,8 +2555,8 @@ static int yy_init_globals (void)
     yyin = stdin;
     yyout = stdout;
 #else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
+    yyin = NULL;
+    yyout = NULL;
 #endif
 
     /* For future reference: Set errno on error, since we are called by
@@ -2559,7 +2571,7 @@ int yylex_destroy  (void)
     
     /* Pop the buffer stack, destroying each element. */
 	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
+		yy_delete_buffer( YY_CURRENT_BUFFER  );
 		YY_CURRENT_BUFFER_LVALUE = NULL;
 		yypop_buffer_state();
 	}
@@ -2580,18 +2592,19 @@ int yylex_destroy  (void)
  */
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+static void yy_flex_strncpy (char* s1, const char * s2, int n )
 {
-	register int i;
+		
+	int i;
 	for ( i = 0; i < n; ++i )
 		s1[i] = s2[i];
 }
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (const char * s )
 {
-	register int n;
+	int n;
 	for ( n = 0; s[n]; ++n )
 		;
 
@@ -2601,11 +2614,12 @@ static int yy_flex_strlen (yyconst char * s )
 
 void *yyalloc (yy_size_t  size )
 {
-	return (void *) malloc( size );
+			return malloc(size);
 }
 
 void *yyrealloc  (void * ptr, yy_size_t  size )
 {
+		
 	/* The cast to (char *) in the following accommodates both
 	 * implementations that use char* generic pointers, and those
 	 * that use void* generic pointers.  It works with the latter
@@ -2613,26 +2627,25 @@ void *yyrealloc  (void * ptr, yy_size_t  size )
 	 * any pointer type to void*, and deal with argument conversions
 	 * as though doing an assignment.
 	 */
-	return (void *) realloc( (char *) ptr, size );
+	return realloc(ptr, size);
 }
 
 void yyfree (void * ptr )
 {
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
 }
 
 #define YYTABLES_NAME "yytables"
 
-#line 235 "xmlif/xmlif.l"
-
+#line 236 "xmlif/xmlif.l"
 
 #include <string.h>
 
 #include "config.h"
 
-int yywrap() {exit(0);};
+int yywrap() {exit(0);}
 
-main(int argc, char *argv[])
+int main(int argc, char *argv[])
 {
     int i;
 
@@ -2658,7 +2671,7 @@ main(int argc, char *argv[])
 	    exit(1);
 	}
 
-    yylex();
+    return yylex();
 }
 
 /*
diff --git a/xmlif/xmlif.l b/xmlif/xmlif.l
index 294fbc7..560508e 100644
--- a/xmlif/xmlif.l
+++ b/xmlif/xmlif.l
@@ -203,7 +203,7 @@ WS		[ \t\n]*
 
 %x attrib val
 
-%option batch never-interactive fast 8bit
+%option batch never-interactive fast 8bit yywrap
 
 %%
 <INITIAL>\<\?xmlif{WS}if{WS}not{WS}	{BEGIN(attrib); ifsense = FALSE; push_level();}

From 5030f081b0e2d94d791b62ee6da0831026cf57e0 Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:14:42 +0000
Subject: [PATCH 3/10] Rename variable BASH to XMLTO_BASH_PATH (#8)


---

diff --git a/Makefile.am b/Makefile.am
index 50fa279..8b65f47 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -68,7 +68,7 @@ EXTRA_DIST = xmlto.spec \
 	doc/xmlif.xml \
 	xmlto.mak
 
-GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(BASH) ./xmlto -o $(@D) man $<
+GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(XMLTO_BASH_PATH) ./xmlto -o $(@D) man $<
 man/man1/xmlto.1: doc/xmlto.xml ; $(GEN_MANPAGE)
 man/man1/xmlif.1: doc/xmlif.xml ; $(GEN_MANPAGE)
 
diff --git a/configure.ac b/configure.ac
index cbffb0d..8c3ceae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,8 +18,8 @@ AC_CHECK_PROG([MKTEMP], [mktemp],, [mktemp])
 AC_ARG_VAR([FIND], [Name of the GNU `find' program.])
 AC_CHECK_PROG([FIND], [find],, [find] )
 
-AC_ARG_VAR([BASH], [Name and path of the GNU `bash' shell.])
-AC_PATH_PROG([BASH], [bash], [/bin/bash])
+AC_ARG_VAR([XMLTO_BASH_PATH], [Name and path of the GNU `bash' shell.])
+AC_PATH_PROG([XMLTO_BASH_PATH], [bash], [/bin/bash])
 
 AC_ARG_VAR([GETOPT], [Name of the `getopt' program (requires longopt support).])
 AC_CHECK_PROG([GETOPT], [getopt],, [getopt])
diff --git a/xmlto.in b/xmlto.in
index e721d43..d5a81a8 100755
--- a/xmlto.in
+++ b/xmlto.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@XMLTO_BASH_PATH@
 #
 # @PACKAGE@ - apply an XSL stylesheet to an XML document
 # Copyright (C) 2001, 2002, 2003  Tim Waugh <twaugh@redhat.com>
@@ -17,13 +17,13 @@
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
 
 # Utilities that we need that aren't everywhere
-FIND=@FIND@     # This must be GNU find (need -maxdepth)
-MKTEMP=@MKTEMP@ # See http://www.mktemp.org if missing on your system
-BASH=@BASH@     # GNU bash, for running the format scripts
-GETOPT=@GETOPT@ # a getopt that supports --longoptions
-TAIL=@TAIL@     # a tail that supports -n (posix)
-GREP=@GREP@     # GNU grep, for searching patterns
-SED=@SED@       # GNU sed, for modification of patterns
+FIND=@FIND@               # This must be GNU find (need -maxdepth)
+MKTEMP=@MKTEMP@           # See http://www.mktemp.org if missing on your system
+BASH=@XMLTO_BASH_PATH@    # GNU bash, for running the format scripts
+GETOPT=@GETOPT@           # a getopt that supports --longoptions
+TAIL=@TAIL@               # a tail that supports -n (posix)
+GREP=@GREP@               # GNU grep, for searching patterns
+SED=@SED@                 # GNU sed, for modification of patterns
 
 version () {
   echo "@PACKAGE@ version @VERSION@"

From fd7c0bd7393b94357b7465fb4cadde2bdcec0dcc Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:15:04 +0000
Subject: [PATCH 4/10] Regenerate config.h.in with configure


---

diff --git a/config.h.in b/config.h.in
index b5f8eb3..73ad02d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,7 +1,4 @@
-/* config.h.in.  Generated from configure.in by autoheader.  */
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
+/* config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Name of package */
 #undef PACKAGE

From f79c7eab2541b6a8c5fa797e91c1389018d64aff Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:17:41 +0000
Subject: [PATCH 5/10] Reformat text files and convert them to markdowns


---

diff --git a/AUTHORS b/AUTHORS
index 10b519f..459f1a1 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,3 +1,4 @@
 Author: Tim Waugh <twaugh@redhat.com>
 
 since 0.0.19 maintained by Ondrej Vasik <ovasik@redhat.com>
+since 0.0.29 maintained by Ondrej Sloup <osloup@redhat.com>
diff --git a/ChangeLog b/ChangeLog
index f81f317..fd87171 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,834 +1,717 @@
-2915-11-18  Ondrej Vasik <ovasik@redhat.com>
-	* xmlto.in: fix broken temp files removal trap
-	* configure.in: do not detect links as elinks browser
-	as they are not compatible in recent versions
-
-2015-11-10  Justin Turney <justin.turney@gmail.com>
-	* xmlto.in: add new option --profile for preprocessing documents
-	with profiling stylesheet
-
-2015-02-11  Ondrej Vasik <ovasik@redhat.com>
-	* xmlif/xmlif.{c,l}: fix double free with invalid end attribute
-
-2015-02-05  Ondrej Vasik <ovasik@redhat.com>
-	* xmlif/xmlif.{c,l}: fix segfault with malformed end attribute
-
-2015-01-21  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: prefer elinks over links nowadays (suggested by
-	mathiaswe from Gentoo)
-
-2015-01-15  Joost Pjotr Vermeer <jp@df5ea.net>
-	* xmlto.in: make source format detection less fragile and
-	  namespace prefix independent
-
-2014-10-03  Roy Marples <roy@marples.name>
-	* xmlto.in: eliminate unnecessary bashisms
-
-2014-04-08  Knut Schönfels <knut.schoenfels@redknee.com>
-	* xmlto.in: use correctly exit code from xsltproc
-
-2014-04-05  Ole Streicher <debian@liska.ath.cx>
-	* format/docbook/epub: fix mime type of epub file
-
-2013-01-07  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: fix build with automake 1.13+
-	* format/docbook/epub: create dir for the css lists
-
-2012-12-20  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: detect locations of sed/grep tools
-	* xmlto.in: handle detected sed and grep path variables
-	* format/fo/*: use variables for sed/grep instead of tool names
-
-2012-12-20  Kacper Perschke <kacper.perschke@gmail.com>
-	* format/docbook/epub: handle used css lists in epub format
-
-2012-09-02  Ondrej Vasik <ovasik@redhat.com>
-	* xmlto.in: recognize documented noextensions parameter in
-	  getopt
-
-2011-01-02  Ondrej Vasik <ovasik@redhat.com>
-	* xmlto.in: move searchpath computing into a function to
-	  prevent shell warning about local builtin used outside the
-	  function (debian #652974)
-
-2011-11-28  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: detect grep location
-	* xmlto.in: use (fop/fop1).extensions parameter based on real
-	            fop version
-
-2011-07-14  Ondrej Vasik <ovasik@redhat.com>
-	* format/docbook/epub: initial experimental support for
-	        docbook to epub conversion
-	* configure.in: detect zip location
-	* xmlto.in: provide detected zip location to epub convertor
-
-2011-07-07  Ondrej Vasik <ovasik@redhat.com>
-	* README: Improve the readme file, create online manual
-	        pages on project wiki
-	* xmlto.in: use backend extensions by default, provide
-		--noextensions to disable this
-	* doc/xmlto.xml: mention --noextensions option in documentation
-
-2011-03-03  Ondrej Vasik <ovasik@redhat.com>
-	* format/{docbook,xhtml}/txt: show the text-web-browser
-	        converting command in verbose mode
-
-2010-07-13  Ondrej Vasik <ovasik@redhat.com>
-	* format/fo/{ps,dvi,pdf}: workaround passivetex limitation
-		for chapters titles starting with L (rhbz#526273)
-
-2009-09-18  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in:  Do not hardcode /bin/bash default
-		path, add support for detection of tail and gnu cp
-		binary (all changes from Ben Walton, maintainer of
-		xmlto under Solaris)
-	* xmlto.in: use detected tail command, export gnu cp
-		location for usage in format backends, use `type -t`
-		instead of `which` for detection of file availability,
-		do not use autodetected papersize when --noautosize
-		option is specified.
-	* format/*:	use detected gnu cp instead of hardcoded
-		cp, use `type -t` instead of `which` for detection
-		of file availability.
-
-2009-03-16  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: Make tools/program paths detection
-		automated, could be overriden by envvar settings
-		passed to configure script. Added option for
-		choosing default backend and webbrowser (for
-		requirements)
-	* format/xhtml1: new backends for xhtml1 source format,
-		supports output formats awt, dvi, fo, mif, pcl, pdf,
-		ps, svg and txt
-	*	format/*:	use configured tools paths, autodetect
-		missing tools, correctly exit if tool is not
-		available
-	* xmlto.in: fixed libpaper cleaning up(deb #491390),
-		fixed --stringparam option functionality, xmllint
-		validity check now uses --noent option (deb #516253),
-		added some messages to easier detection of troubles,
-		use xhtml1 source format, consolidated error codes
-		(see docs), check for missing fop/dblatex and fallback
-		to passivetex if not found
-	* xmlto.spec.in: split package, two subpackages added:
-		tex subpackage for backends with passivetex requirements,
-		xhtml subpackage for xhtml1 source format
-	* doc/xmlto.xml: fixed compilation warnings, documented
-		exit error codes and changes
-	* doc/xmlif.xml: fixed compilation warnings
-	* xmlif/* : now licensed under GPLv2+
-	* various files: fixed wrong FSF address
-	* FAQ: Fixed obsolete informations
-	* Makefile.am: indentation and consolidation fixes
+- 2024-04-10 Ondřej Sloup <osloup@redhat.com>
 
-2008-06-20  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: Version 0.0.21 (stable).
-	* format/docbook/*: added experimental support of dblatex,
-	  fixed non-portability issue with 'cp -a'
-	* format/fo/*: added experimental support of dblatex,
-	  fixed non-portability issue with 'cp -a'
-	* xmlto.in: added optional nonmandatory support for
-	  libpaper, fixed bug in processing introduced by
-	  fop support
-	* doc/xmto.xml: Update documentation.
+  - Rename variable BASH to XMLTO_BASH_PATH (#8)
+  - Fix warnings in the build
+  - Regenerate xmlif to use new version of gcc
+  - Rename and format markdown files
+  - Convert output path to unix on cygwin/msys
+  - Add .gitignore
 
+- 2015-11-18 Ondrej Vasik <ovasik@redhat.com>
 
-2008-01-15  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: Version 0.0.20 (stable).
-	* format/docbook/*: added experimental support of fop
-	* format/fo/*: added experimental support of fop
-	* xmlto.in: changed parsing of source format(preparation
-		for X3D and xhtml1 support), allowed passing of XSL
-		stylesheet from STDIN, avoid broken manpages by
-		disabling charmap subset
-	* THANKS: (NEW)file with people who sent ideas/patches
-		used in versions 0.0.19+
-	* various files: additional basename with space fixes,
-		cp in docbook format now recursive
+  - xmlto.in: fix broken temp files removal trap
+  - configure.in: do not detect links as elinks browser as they are 
+    not compatible in recent versions
 
+- 2015-11-10 Justin Turney <justin.turney@gmail.com>
 
-2007-11-19  Ondrej Vasik <ovasik@redhat.com>
-	* configure.in: Version 0.0.19 (stable)
-	* various files: added quotes for basenames with spaces
-	* xmlto.in: fixed warning in xmlto usage display
-	* Makefile.in,Makefile.am: bash not hardcoded
+  - xmlto.in: add new option --profile for preprocessing documents
+    with profiling stylesheet
 
-2004-01-21  Tim Waugh  <twaugh@redhat.com>
+- 2015-02-11 Ondrej Vasik <ovasik@redhat.com> -
 
-	* configure.in: Version 0.0.18 (stable).
+  - xmlif/xmlif.{c,l}: fix double free with invalid end attribute
 
-2004-01-02  Tim Waugh  <twaugh@redhat.com>
+- 2015-02-05 Ondrej Vasik <ovasik@redhat.com>
 
-	* xmlto.in: Use new-style arguments for head (bug #112634).
+  - xmlif/xmlif.{c,l}: fix segfault with malformed end attribute
 
-2004-01-02  Tim Waugh  <twaugh@redhat.com>
+- 2015-01-21 Ondrej Vasik <ovasik@redhat.com>
 
-	* doc/xmlif.xml, xmlif/xmlif.l, xmlif/test/test.xml: More xmlif
-	changes from Eric Raymond.
+  - configure.in: prefer elinks over links nowadays 
+    (suggested by mathiaswe from Gentoo)
 
-2003-11-30  Tim Waugh  <twaugh@redhat.com>
+- 2015-01-15 Joost Pjotr Vermeer <jp@df5ea.net>
 
-	* configure.in: Version 0.0.17 (stable).
+  - xmlto.in: make source format detection less fragile 
+    and namespace prefix independent
 
-2003-11-30  Tim Waugh  <twaugh@redhat.com>
+- 2014-10-03 Roy Marples <roy@marples.name>
 
-	* format/docbook/txt: Use w3m if available.  Patch from Richard
-	Bos <richard.bos@xs4all.nl>.
+  - xmlto.in: eliminate unnecessary bashisms
 
-2003-11-18  Eric S. Raymond  <esr@thyrsus.com>
+- 2014-04-08 Knut Schönfels <knut.schoenfels@redknee.com>
 
-	* xmlto.in: Fixed error handling.
+  - xmlto.in: use correctly exit code from xsltproc
 
-2003-11-18  Tim Waugh  <twaugh@redhat.com>
+- 2014-04-05 Ole Streicher <debian@liska.ath.cx>
 
-	* configure.in: Version 0.0.16 (stable).
+  - format/docbook/epub: fix mime type of epub file
 
-2003-11-18  Eric S. Raymond  <esr@thyrsus.com>
+- 2013-01-07 Ondrej Vasik <ovasik@redhat.com>
 
-	* xmlif/xmlif.l: Correct xmlif syntax to conform to standard
-	processing-instruction syntax.
-	* doc/xmlif.xml: Update documentation.
-	* xmlif/test/test.xml: Update test suite.
+  - configure.in: fix build with automake 1.13+
+  - format/docbook/epub: create dir for the css lists
 
-	* xmlto.mak: Add pattern rule for xhtml.
+- 2012-12-20 Ondrej Vasik <ovasik@redhat.com>
 
-2003-10-30  Tim Waugh  <twaugh@redhat.com>
+  - configure.in: detect locations of sed/grep tools
+  - xmlto.in: handle detected sed and grep path variables
+  - format/fo/\*: use variables for sed/grep instead of tool names
 
-	* Makefile.am: Invoke xmlto with options before arguments, to please
-	various flavours of getopt.
+- 2012-12-20 Kacper Perschke <kacper.perschke@gmail.com>
 
-2003-10-08  Tim Waugh  <twaugh@redhat.com>
+  - format/docbook/epub: handle used css lists in epub format
 
-	* xmlto.in: Make --searchpath use xsltproc's --path option.
+- 2012-09-02 Ondrej Vasik <ovasik@redhat.com>
 
-	* Makefile.am: Fixed build failure advice.
+  - xmlto.in: recognize documented noextensions parameter in getopt
 
-2003-10-07  Tim Waugh  <twaugh@redhat.com>
+- 2011-01-02 Ondrej Vasik <ovasik@redhat.com>
 
-	* Makefile.am: Ship FAQ.
+  - xmlto.in: move searchpath computing into a function to prevent shell warning
+    about local builtin used outside the function (debian #652974)
 
-2003-10-07  Tim Waugh  <twaugh@redhat.com>
+- 2011-11-28 Ondrej Vasik <ovasik@redhat.com>
 
-	* configure.in: Version 0.0.15 (stable).
+  - configure.in: detect grep location
+  - xmlto.in: use (fop/fop1).extensions parameter based on real fop version
 
-2003-10-07  Tim Waugh  <twaugh@redhat.com>
+- 2011-07-14 Ondrej Vasik <ovasik@redhat.com>
 
-	* FAQ: New file.
-	* Makefile.am: Add advice about build failures.
-	* INSTALL: Likewise.
+  - format/docbook/epub: initial experimental support for docbook to epub conversion
+  - configure.in: detect zip location
+  - xmlto.in: provide detected zip location to epub convertor
 
-2003-08-08  Tim Waugh  <twaugh@redhat.com>
+- 2011-07-07 Ondrej Vasik <ovasik@redhat.com>
 
-	* format/docbook/html, format/docbook/htmlhelp: Copy all output
-	files, in case the extension has been customized.
+  - README: Improve the readme file, create online manual pages on project wiki
+  - xmlto.in: use backend extensions by default, provide --noextensions to disable this
+  - doc/xmlto.xml: mention --noextensions option in documentation
 
-2003-08-04  Tim Waugh  <twaugh@redhat.com>
+- 2011-03-03 Ondrej Vasik <ovasik@redhat.com>
 
-	* xmlto.in: Put options first in usage description.  Some buggy
-	getopt implementations seem to need options specified first.
+  - format/{docbook,xhtml}/txt: show the text-web-browser converting command in verbose mode
 
-2003-07-29  Tim Waugh  <twaugh@redhat.com>
+- 2010-07-13 Ondrej Vasik <ovasik@redhat.com>
 
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Shorten line lengths
-	for TeX (bug #101055).
+  - format/fo/{ps,dvi,pdf}: workaround passivetex limitation for chapters titles starting with L (rhbz#526273)
 
-2003-05-28  Tim Waugh  <twaugh@redhat.com>
+- 2009-09-18 Ondrej Vasik <ovasik@redhat.com>
 
-	* xmlto.in: Use --xinclude when invoking xmllint (Anders Carlsson).
-	Also use --postvalid since that causes XIncludes to be processed
-	before validation.
+  - configure.in: Do not hardcode /bin/bash default path, 
+    add support for detection of tail and gnu cp binary (all changes from Ben Walton, 
+    maintainer of xmlto under Solaris)
+  - xmlto.in: use detected tail command, 
+    export gnu cp location for usage in format backends, 
+    use `type -t` instead of `which` for detection of file availability, 
+    do not use autodetected papersize when --noautosize option is specified.
+  - format/\*: use detected gnu cp instead of hardcoded cp, 
+    use `type -t` instead of `which` for detection of file availability.
 
-2003-05-23  Tim Waugh  <twaugh@redhat.com>
+- 2009-03-16 Ondrej Vasik <ovasik@redhat.com>
 
-	* configure.in: Version 0.0.14 (stable).
+  - configure.in: Make tools/program paths detection automated, 
+    could be overriden by envvar settings passed to configure script. 
+    Added option for choosing default backend and webbrowser (for requirements)
+  - format/xhtml1: new backends for xhtml1 source format, 
+    supports output formats awt, dvi, fo, mif, pcl, pdf, ps, svg and txt
+  - format/\*: use configured tools paths, autodetect missing tools, correctly exit if tool is not available
+  - xmlto.in: fixed libpaper cleaning up(deb #491390), 
+    fixed --stringparam option functionality, 
+    xmllint validity check now uses --noent option (deb #516253), 
+    added some messages to easier detection of troubles, 
+    use xhtml1 source format, 
+    consolidated error codes (see docs), 
+    check for missing fop/dblatex and fallback to passivetex if not found
+  - xmlto.spec.in: split package, two subpackages added: 
+    tex subpackage for backends with passivetex requirements, 
+    xhtml subpackage for xhtml1 source format
+  - doc/xmlto.xml: fixed compilation warnings, 
+    documented exit error codes and changes
+  - doc/xmlif.xml: fixed compilation warnings
+  - xmlif/\*: now licensed under GPLv2+
+  - various files: fixed wrong FSF address
+  - FAQ: Fixed obsolete informations
+  - Makefile.am: indentation and consolidation fixes
 
-2003-05-23  Tim Waugh  <twaugh@redhat.com>
+- 2008-06-20 Ondrej Vasik <ovasik@redhat.com>
 
-	* xsl/db2man/custom.xsl, doc/README.docbook-xsl: Removed (no longer
-	needed).
-	* Maefile.am, format/docbook/man, xmlto.spec.in: Updated.
+  - configure.in: Version 0.0.21 (stable).
+  - format/docbook/\*: added experimental support of dblatex, 
+    fixed non-portability issue with 'cp -a'
+  - format/fo/\*: added experimental support of dblatex, 
+    fixed non-portability issue with 'cp -a'
+  - xmlto.in: added optional nonmandatory support for libpaper, 
+    fixed bug in processing introduced by fop support
+  - doc/xmto.xml: Update documentation.
 
-2003-05-09  Tim Waugh  <twaugh@redhat.com>
+- 2008-01-15 Ondrej Vasik <ovasik@redhat.com>
 
-	* configure.in: Version 0.0.13 (stable).
+  - configure.in: Version 0.0.20 (stable).
+  - format/docbook/\*: added experimental support of fop
+  - format/fo/\*: added experimental support of fop
+  - xmlto.in: changed parsing of source format (preparation for X3D and xhtml1 support), 
+    allowed passing of XSL stylesheet from STDIN, 
+    avoid broken manpages by disabling charmap subset
+  - THANKS: (NEW) file with people who sent ideas/patches used in versions 0.0.19+
+  - various files: additional basename with space fixes, 
+    cp in docbook format now recursive
 
-2003-05-09  Tim Waugh  <twaugh@redhat.com>
+- 2007-11-19 Ondrej Vasik <ovasik@redhat.com>
 
-	* xsl/db2man/custom.xsl: Sync with docbook-xsl.
+  - configure.in: Version 0.0.19 (stable)
+  - various files: added quotes for basenames with spaces
+  - xmlto.in: fixed warning in xmlto usage display
+  - Makefile.in, Makefile.am: bash not hardcoded
 
-2003-04-11  Tim Waugh  <twaugh@redhat.com>
+- 2004-01-21 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Back to --valid for xmllint.  Also don't need
-	--loaddtd as it's implied by --valid.
+  - configure.in: Version 0.0.18 (stable).
 
-2003-03-07  Tim Waugh  <twaugh@redhat.com>
+- 2004-01-02 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/custom.xsl: Fix group/arg template to set non-breaking
-	spaces.  Add null template for sbr.
+  - xmlto.in: Use new-style arguments for head (bug #112634).
 
-2003-03-06  Tim Waugh  <twaugh@redhat.com>
+- 2004-01-02 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/custom.xsl: ulink change is now upstream.
+  - doc/xmlif.xml, xmlif/xmlif.l, xmlif/test/test.xml: More xmlif changes from Eric Raymond.
 
-	* xmlto.in: Fix typo.
+- 2003-11-30 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/custom.xsl: Fix cmdsynopsis wrapping to behave like
-	funcsynopsis wrapping, i.e. get nroff to wrap for us.
+  - configure.in: Version 0.0.17 (stable).
 
-2003-01-29  Tim Waugh  <twaugh@redhat.com>
+- 2003-11-30 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/custom.xsl: Use copyright symbol.
+  - format/docbook/txt: Use w3m if available. Patch from Richard Bos <richard.bos@xs4all.nl>.
 
-	* xsl/db2man/custom.xsl: Fix '-' vs '\-'.
+- 2003-11-18 Eric S. Raymond <esr@thyrsus.com>
 
-	* xmlto.in: Don't use '--novalid' when invoking xsltproc, since
-	that causes it to skip over declared entities and that causes
-	errors.
+  - xmlto.in: Fixed error handling.
 
-2003-03-07  Tim Waugh  <twaugh@redhat.com>
+- 2003-11-18 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Use 'chunker.output.encoding' not 'default.encoding',
-	since the name changed.
+  - configure.in: Version 0.0.16 (stable).
 
-2002-12-22  Tim Waugh  <twaugh@redhat.com>
+- 2003-11-18 Eric S. Raymond <esr@thyrsus.com>
 
-	* xmlto.in: Always append to XSLTOPTS rather than inserting -v at
-	the beginning.
+  - xmlif/xmlif.l: Correct xmlif syntax to conform to standard processing-instruction syntax.
+  - doc/xmlif.xml: Update documentation.
+  - xmlif/test/test.xml: Update test suite.
+  - xmlto.mak: Add pattern rule for xhtml.
 
-2002-12-22  Graham Wilson <bob@decoy.wox.org>
+- 2003-10-30 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Don't attempt validation on XSL-FO input.
+  - Makefile.am: Invoke xmlto with options before arguments, to please various flavours of getopt.
 
-	* xmlto.in: Tell xsltproc not to validate, since we use xmllint
-	for that.
+- 2003-10-08 Tim Waugh <twaugh@redhat.com>
 
-2002-12-12  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Make --searchpath use xsltproc's --path option.
+  - Makefile.am: Fixed build failure advice.
 
-	* configure.in: Version 0.0.12 (stable).
+- 2003-10-07 Tim Waugh <twaugh@redhat.com>
 
-2002-12-05  Tim Waugh  <twaugh@redhat.com>
+  - Makefile.am: Ship FAQ.
 
-	* xmlto.in: Use --postvalid instead of --valid when calling
-	xmllint (Graham Wilson).
+- 2003-10-07 Tim Waugh <twaugh@redhat.com>
 
-2002-11-22  Tim Waugh  <twaugh@redhat.com>
+  - configure.in: Version 0.0.15 (stable).
 
-	* xmlto.in: Magic encoding detection.
+- 2003-10-07 Tim Waugh <twaugh@redhat.com>
 
-2002-10-16  Tim Waugh  <twaugh@redhat.com>
+  - FAQ: New file.
+  - Makefile.am: Add advice about build failures.
+  - INSTALL: Likewise.
 
-	* configure.in: Version 0.0.11 (stable).
+- 2003-08-08 Tim Waugh <twaugh@redhat.com>
 
-2002-10-16  Tim Waugh  <twaugh@redhat.com>
+  - format/docbook/html, format/docbook/htmlhelp: 
+    Copy all output files, in case the extension has been customized.
 
-	* doc/xmlif.xml: Indentation.  Add 'future directions' section.
-	Fix DOCTYPE system ID.  Also use DocBook XML V4.2.  Add xml PI.
-	* doc/xmlto.xml: DocBook XML V4.2.
+- 2003-08-04 Tim Waugh <twaugh@redhat.com>
 
-	* format/fo/dvi, format/fo/pdf: Use '--' here too.
+  - xmlto.in: Put options first in usage description. 
+    Some buggy getopt implementations seem to need options specified first.
 
-2002-10-16  Eric S. Raymond  <esr@thyrsus.com>
+- 2003-07-29 Tim Waugh <twaugh@redhat.com>
 
-	* format/docbook/html, format/docbook/htmlhelp,
-	format/docbook/man, format/docbook/xhtml: Format scripts don't
-	handle chunk names with leading - properly.  This fixes the
-	problem.
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: Shorten line lengths for TeX (bug #101055).
 
-2002-10-10  Tim Waugh  <twaugh@redhat.com>
+- 2003-05-28 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: If xsltproc fails with exit code 4, try again with
-	--catalogs.
+  - xmlto.in: Use --xinclude when invoking xmllint (Anders Carlsson). 
+    Also use --postvalid since that causes XIncludes to be processed before validation.
 
-2002-10-09  Tim Waugh  <twaugh@redhat.com>
+- 2003-05-23 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/README, Makefile.am: No longer needed.
+  - configure.in: Version 0.0.14 (stable).
 
-	* xsl/db2man/custom.xsl, xmlto.spec.in: Updated for 1.56.0.
+- 2003-05-23 Tim Waugh <twaugh@redhat.com>
 
-2002-10-08  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/custom.xsl, doc/README.docbook-xsl: Removed (no longer needed).
+  - Maefile.am, format/docbook/man, xmlto.spec.in: Updated.
 
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Handle another
-	situation in which xmltex needs a re-run.  Patch based on one
-	submitted by Matthias Andree <matthias.andree@gmx.de>.
+- 2003-05-09 Tim Waugh <twaugh@redhat.com>
 
-2002-10-07  Tim Waugh  <twaugh@redhat.com>
+  - configure.in: Version 0.0.13 (stable).
 
-	* xmlto.in: Validate the input file.  Can be overridden by new
-	option --skip-validation.
-	* doc/xmlto.xml: Document new behaviour.
+- 2003-05-09 Tim Waugh <twaugh@redhat.com>
 
-2002-10-06  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/custom.xsl: Sync with docbook-xsl.
 
-	* xmlif/test.xml: Moved..
-	* xmlif/test/test.xml: ..here.
-	* xmlif/test/result-no-condition,
-	xmlif/test/result-unrelated-condition,
-	xmlif/test/result-html, xmlif/test/result-pdf, xmlif/test/result-ps,
-	xmlif/test/result-foo, xmlif/test/result-baz,
-	xmlif/test/result-bar, xmlif/test/run-test: New files for testing
-	xmlif.
-	* Makefile.am: Run xmlif tests.
+- 2003-04-11 Tim Waugh <twaugh@redhat.com>
 
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Use 'cp' instead of
-	'mv' on $XSLT_PROCESSED, since it might be the original input file.
+  - xmlto.in: Back to --valid for xmllint. 
+    Also don't need --loaddtd as it's implied by --valid.
 
-2002-10-05  Tim Waugh  <twaugh@redhat.com>
+- 2003-03-07 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.spec.in: Remove 'BuildArch: noarch'.
-	* Makefile.am: Build rules for xmlif.
-	* configure.in: Generate config.h.
-	* xmlif/xmlif.l: Understand --help and --version.
+  - xsl/db2man/custom.xsl: Fix group/arg template to set non-breaking spaces. 
+    Add null template for sbr.
 
-2002-10-05  Eric S. Raymond  <esr@thyrsus.com>
+- 2003-03-06 Tim Waugh <twaugh@redhat.com>
 
-	* xmlif/xmlif.l: New program for conditional processing.
-	* xmlif/test.xml: Test input.
-	* doc/xmlif.xml: Documentation for xmlif.
+  - xsl/db2man/custom.xsl: ulink change is now upstream.
+  - xmlto.in: Fix typo.
+  - xsl/db2man/custom.xsl: 
+    Fix cmdsynopsis wrapping to behave like funcsynopsis wrapping, i.e. get nroff to wrap for us.
 
-	* xmlto.in: Set POSTARGS and POSTPOSTARGS from -p option parameter.
-	* format/docbook/txt, format/fo/dvi, format/fo/pdf,
-	format/fo/ps: Use them.
-	* doc/xmlto.xml: Document new option.
+- 2003-01-29 Tim Waugh <twaugh@redhat.com>
 
-2002-09-10  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/custom.xsl: Use copyright symbol.
+  - xsl/db2man/custom.xsl: Fix '-' vs '\-'.
+  - xmlto.in: Don't use '--novalid' when invoking xsltproc, 
+    since that causes it to skip over declared entities and that causes errors.
 
-	* xmlto.mak: Add XMLTOFLAGS.
+- 2003-03-07 Tim Waugh <twaugh@redhat.com>
 
-2002-08-25  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Use 'chunker.output.encoding' not 'default.encoding', 
+    since the name changed.
 
-	* xsl/db2man/docbook.xsl, xsl/db2man/lists.xsl, xsl/db2man/synop.xsl,
-	xsl/db2man/xref.xsl: Removed.
-	* xsl/db2man/custom.xsl: New file.  Customization layer for
-	db2man bugfixes.
-	* format/docbook/man: Use it.
-	* Makefile.am: Updated.  Don't ship CVS directories.
+- 2002-12-22 Tim Waugh <twaugh@redhat.com>
 
-2002-08-22  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Always append to XSLTOPTS rather than inserting -v at the beginning.
 
-	* xmlto.in: Use sed to determine the root element of the input
-	document.  Bash seems to be very slow at variable expansions when
-	using UTF-8.
+- 2002-12-22 Graham Wilson <bob@decoy.wox.org>
 
-	* xmlto.in: New option --searchpath for adjusting TEXINPUTS.
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Use it.
-	* doc/xmlto.xml: Document it.
+  - xmlto.in: Don't attempt validation on XSL-FO input.
+  - xmlto.in: Tell xsltproc not to validate, since we use xmllint for that.
 
-2002-08-06  Tim Waugh  <twaugh@redhat.com>
+- 2002-12-12 Tim Waugh <twaugh@redhat.com>
 
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Only re-run tex
-	if there were undefined references.
+  - configure.in: Version 0.0.12 (stable).
 
-2002-08-05  Tim Waugh  <twaugh@redhat.com>
+- 2002-12-05 Tim Waugh <twaugh@redhat.com>
 
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Work around tetex
-	limitation regarding filenames containing underscores (based on
-	patch attached to bug #70110).
+  - xmlto.in: Use --postvalid instead of --valid when calling xmllint (Graham Wilson).
 
-2002-08-02  Tim Waugh  <twaugh@redhat.com>
+- 2002-11-22 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in, format/docbook/dvi, format/docbook/fo,
-	format/docbook/html, format/docbook/html-nochunks,
-	format/docbook/htmlhelp, format/docbook/javahelp,
-	format/docbook/man, format/docbook/pdf, format/docbook/ps,
-	format/docbook/txt, format/docbook/xhtml,
-	format/docbook/xhtml-nochunks, format/fo/dvi, format/fo/pdf,
-	format/fo/ps: Be less verbose by default (Eric Raymond).
+  - xmlto.in: Magic encoding detection.
 
-	* doc/xmlto.xml: Clarify --help function in man page (Eric
-	Raymond).
+- 2002-10-16 Tim Waugh <twaugh@redhat.com>
 
-2002-07-01  Tim Waugh  <twaugh@redhat.com>
+  - configure.in: Version 0.0.11 (stable).
 
-	* xmlto.mak: New file.
-	* Makefile.am: Ship it.
+- 2002-10-16 Tim Waugh <twaugh@redhat.com>
 
-2002-06-27  Tim Waugh  <twaugh@redhat.com>
+  - doc/xmlif.xml: Indentation. Add 'future directions' section. Fix DOCTYPE system ID. Also use DocBook XML V4.2. Add xml PI.
+  - doc/xmlto.xml: DocBook XML V4.2.
+  - format/fo/dvi, format/fo/pdf: Use '--' here too.
 
-	* xsl/db2man/docbook.xsl, xsl/db2man/synop.xsl: Apply Joe Orton's
-	improvements:
-	- use SS for refsect2 subheadings
-	- truncate .TH title so that it doesn't overlap
-	- funcprototype fixes + trick to get funky wrapping
+- 2002-10-16 Eric S. Raymond <esr@thyrsus.com>
 
-2002-06-26  Tim Waugh  <twaugh@redhat.com>
+  - format/docbook/html, format/docbook/htmlhelp, format/docbook/man, format/docbook/xhtml: 
+    Format scripts don't handle chunk names with leading - properly. This fixes the problem.
 
-	* xmlto.in: Tell xsltproc to perform XInclude expansion (suggested
-	by James Henstridge).
+- 2002-10-10 Tim Waugh <twaugh@redhat.com>
 
-2002-06-20  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: If xsltproc fails with exit code 4, try again with --catalogs.
 
-	* format/docbook/txt: Use Michael Wiedmann's suggestion for better
-	options when using lynx.
+- 2002-10-09 Tim Waugh <twaugh@redhat.com>
 
-2002-06-19  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/README, Makefile.am: No longer needed.
+  - xsl/db2man/custom.xsl, xmlto.spec.in: Updated for 1.56.0.
 
-	* xsl/db2man/docbook.xsl: Fix AUTHOR section generation.
+- 2002-10-08 Tim Waugh <twaugh@redhat.com>
 
-2002-06-18  Tim Waugh  <twaugh@redhat.com>
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: 
+    Handle another situation in which xmltex needs a re-run. Patch based on one submitted by Matthias Andree <matthias.andree@gmx.de>.
 
-	* configure.in: Version 0.0.10 (stable).
+- 2002-10-07 Tim Waugh <twaugh@redhat.com>
 
-2002-06-18  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Validate the input file. Can be overridden by new option --skip-validation.
+  - doc/xmlto.xml: Document new behaviour.
 
-	* xsl/db2man/docbook.xsl: Catch up to CVS.
+- 2002-10-06 Tim Waugh <twaugh@redhat.com>
 
-	* format/fo/ps, format/fo/dvi: Export TEXINPUTS, like with pdf.
+  - xmlif/test.xml: Moved..
+  - xmlif/test/test.xml: ..here.
+  - xmlif/test/result-no-condition, xmlif/test/result-unrelated-condition, xmlif/test/result-html, xmlif/test/result-pdf, xmlif/test/result-ps, xmlif/test/result-foo, xmlif/test/result-baz,xmlif/test/result-bar, xmlif/test/run-test: 
+    New files for testing xmlif.
+  - Makefile.am: Run xmlif tests.
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: 
+    Use 'cp' instead of 'mv' on $XSLT_PROCESSED, since it might be the original input file.
 
-2002-05-31  Tim Waugh  <twaugh@redhat.com>
+- 2002-10-05 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl, xsl/db2man/synop.xsl, xsl/db2man/lists.xsl,
-	xsl/db2man/xref.xsl: Catch up to CVS.
+  - xmlto.spec.in: Remove 'BuildArch: noarch'.
+  - Makefile.am: Build rules for xmlif.
+  - configure.in: Generate config.h.
+  - xmlif/xmlif.l: Understand --help and --version.
 
-2002-05-10  Tim Waugh  <twaugh@redhat.com>
+- 2002-10-05 Eric S. Raymond <esr@thyrsus.com>
 
-	* xsl/db2man/docbook.xsl: Catch up to CVS.
+  - xmlif/xmlif.l: New program for conditional processing.
+  - xmlif/test.xml: Test input.
+  - doc/xmlif.xml: Documentation for xmlif.
+  - xmlto.in: Set POSTARGS and POSTPOSTARGS from -p option parameter.
+  - format/docbook/txt, format/fo/dvi, format/fo/pdf, format/fo/ps: Use them.
+  - doc/xmlto.xml: Document new option.
 
-	* xsl/db2man/synop.xsl: Remove unneeded arg/replaceable template,
-	and make group/arg/replaceable italic again.
+- 2002-09-10 Tim Waugh <twaugh@redhat.com>
 
-2002-05-09  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.mak: Add XMLTOFLAGS.
 
-	* xsl/db2man/synop.xsl: Get spacing right.
-	* xsl/db2man/synop.xsl: Catch up to CVS.
+- 2002-08-25 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/lists.xsl: Handle listitem/simpara.
+  - xsl/db2man/docbook.xsl, xsl/db2man/lists.xsl, xsl/db2man/synop.xsl, xsl/db2man/xref.xsl: Removed.
+  - xsl/db2man/custom.xsl: New file. Customization layer fordb2man bugfixes.
+  - format/docbook/man: Use it.
+  - Makefile.am: Updated. Don't ship CVS directories.
 
-2002-05-02  Tim Waugh  <twaugh@redhat.com>
+- 2002-08-22 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Sync with CVS changes.
-	* xsl/db2man/synop.xsl: Likewise.
+  - xmlto.in: Use sed to determine the root element of the input document. 
+    Bash seems to be very slow at variable expansions when using UTF-8.
+  - xmlto.in: New option --searchpath for adjusting TEXINPUTS.
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: Use it.
+  - doc/xmlto.xml: Document it.
 
-2002-05-01  Tim Waugh  <twaugh@redhat.com>
+- 2002-08-06 Tim Waugh <twaugh@redhat.com>
 
-	* configure.in: Version 0.0.9 (stable).
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: 
+    Only re-run tex if there were undefined references.
 
-2002-05-01  Tim Waugh  <twaugh@redhat.com>
+- 2002-08-05 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Allow variablelists, but not procedures,
-	to nest inside paras.
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: 
+    Work around tetex limitation regarding filenames containing underscores 
+    (based on patch attached to bug #70110).
 
-	* xsl/db2man/docbook.xsl: Fix citerefentry after CVS sync.
+- 2002-08-02 Tim Waugh <twaugh@redhat.com>
 
-	* doc/xmlto.xml: Change examples section to use screens inside paras.
-	Because we can now..
+  - xmlto.in, format/docbook/dvi, format/docbook/fo, format/docbook/html, format/docbook/html-nochunks, format/docbook/htmlhelp, format/docbook/javahelp, format/docbook/man, format/docbook/pdf, format/docbook/ps, format/docbook/txt, format/docbook/xhtml, format/docbook/xhtml-nochunks, format/fo/dvi, format/fo/pdf, format/fo/ps: 
+  Be less verbose by default (Eric Raymond).
+  - doc/xmlto.xml: Clarify --help function in man page (Eric Raymond).
 
-2002-04-30  Tim Waugh  <twaugh@redhat.com>
+- 2002-07-01 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl, xsl/db2man/synop.xsl: Sync with CVS
-	changes.
+  - xmlto.mak: New file.
+  - Makefile.am: Ship it.
 
-	* xsl/db2man/docbook.xsl: Use refname[1] for the man page filename,
-	not refentrytitle.
+- 2002-06-27 Tim Waugh <twaugh@redhat.com>
 
-2002-04-30  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/docbook.xsl, xsl/db2man/synop.xsl: Apply Joe Orton's improvements:
+  - use SS for refsect2 subheadings
+  - truncate .TH title so that it doesn't overlap
+  - funcprototype fixes + trick to get funky wrapping
 
-	* Makefile.am: Make man page depend on db2man.
+- 2002-06-26 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Use write.text.chunk from DocBook XSL.
-	No need for write-page template any more.
+  - xmlto.in: Tell xsltproc to perform XInclude expansion (suggested by James Henstridge).
 
-2002-04-30  Jirka Kosek  <jirka@kosek.cz>
+- 2002-06-20 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Fix nested blocks.
+  - format/docbook/txt: Use Michael Wiedmann's suggestion for better options when using lynx.
 
-2002-04-23  Tim Waugh  <twaugh@redhat.com>
+- 2002-06-19 Tim Waugh <twaugh@redhat.com>
 
-	* bootstrap, Makefile.am: Use automake-1.6.
+  - xsl/db2man/docbook.xsl: Fix AUTHOR section generation.
 
-2002-04-12  Tim Waugh  <twaugh@redhat.com>
+- 2002-06-18 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Don't fetch entities over the network.
+  - configure.in: Version 0.0.10 (stable).
 
-2002-03-01  Tim Waugh  <twaugh@redhat.com>
+- 2002-06-18 Tim Waugh <twaugh@redhat.com>
 
-	* Makefile.am: Ship xsl/db2man/README as well.
+  - xsl/db2man/docbook.xsl: Catch up to CVS.
+  - format/fo/ps, format/fo/dvi: Export TEXINPUTS, like with pdf.
 
-2002-02-28  Tim Waugh  <twaugh@redhat.com>
+- 2002-05-31 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Give a warning if there are no refentry
-	elements in the input document.
+  - xsl/db2man/docbook.xsl, xsl/db2man/synop.xsl, xsl/db2man/lists.xsl, xsl/db2man/xref.xsl: Catch up to CVS.
 
-2002-02-12  Tim Waugh  <twaugh@redhat.com>
+- 2002-05-10 Tim Waugh <twaugh@redhat.com>
 
-	* configure.in: Version 0.0.8 (stable).
+  - xsl/db2man/docbook.xsl: Catch up to CVS.
+  - xsl/db2man/synop.xsl: Remove unneeded arg/replaceable template, and make group/arg/replaceable italic again.
 
-2002-02-12  Tim Waugh  <twaugh@redhat.com>
+- 2002-05-09 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/lists.xsl: Normalize space in variable list terms.
-	First attempt at handling nested variable lists.
+  - xsl/db2man/synop.xsl: Get spacing right.
+  - xsl/db2man/synop.xsl: Catch up to CVS.
+  - xsl/db2man/lists.xsl: Handle listitem/simpara.
 
-2002-02-12  Tim Waugh  <twaugh@redhat.com>
+- 2002-05-02 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Display names of written files.  Mark-up
-	varname like replaceable.
-	* xsl/db2man/synop.xsl: Put .nf/.fi around synopsis.
+  - xsl/db2man/docbook.xsl: Sync with CVS changes.
+  - xsl/db2man/synop.xsl: Likewise.
 
-2002-01-31  Tim Waugh  <twaugh@redhat.com>
+- 2002-05-01 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Escape backslashes.
+  - configure.in: Version 0.0.9 (stable).
 
-	* xmlto.in: Small fix for verbose output.
+- 2002-05-01 Tim Waugh <twaugh@redhat.com>
 
-2002-01-28  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/docbook.xsl: Allow variablelists, but not procedures, to nest inside paras.
+  - xsl/db2man/docbook.xsl: Fix citerefentry after CVS sync.
+  - doc/xmlto.xml: Change examples section to use screens inside paras. Because we can now..
 
-	* xsl/db2man/docbook.xsl: Don't normalize space in paragraphs that
-	contain screens.  Nested blocks don't really work well at the
-	moment; if anyone has any idea how to fix it please let me know!
+- 2002-04-30 Tim Waugh <twaugh@redhat.com>
 
-2002-01-26  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/docbook.xsl, xsl/db2man/synop.xsl: Sync with CVS changes.
+  - xsl/db2man/docbook.xsl: Use refname[1] for the man page filename, not refentrytitle.
 
-	* xmlto.in: Don't get stuck in a loop if a preprocessing instruction
-	is malformed.
+- 2002-04-30 Tim Waugh <twaugh@redhat.com>
 
-2002-01-23  Tim Waugh  <twaugh@redhat.com>
+  - Makefile.am: Make man page depend on db2man.
+  - xsl/db2man/docbook.xsl: Use write.text.chunk from DocBook XSL. No need for write-page template any more.
 
-	* xmlto.in: Make sure not to invoke the XSLT processor if there is
-	no stylesheet to use.
+- 2002-04-30 Jirka Kosek <jirka@kosek.cz>
 
-2002-01-21  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/docbook.xsl: Fix nested blocks.
 
-	* configure.in: Version 0.0.7 (stable).
+- 2002-04-23 Tim Waugh <twaugh@redhat.com>
 
-2002-01-21  Tim Waugh  <twaugh@redhat.com>
+  - bootstrap, Makefile.am: Use automake-1.6.
 
-	* xsl/db2man/docbook.xsl: Fix refsect2 handling.
+- 2002-04-12 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Don't normalize space in paragraphs that
-	contain lists.
-	* xsl/db2man/lists.xsl: Make sure that there is a linefeed before
-	the start of the list.
+  - xmlto.in: Don't fetch entities over the network.
 
-2002-01-18  Tim Waugh  <twaugh@redhat.com>
+- 2002-03-01 Tim Waugh <twaugh@redhat.com>
 
-	* configure.in: Check for working getopt, substitute GETOPT, BASH,
-	FIND, MKTEMP.
-	* xmlto.in: Placeholders for substitutions.
+  - Makefile.am: Ship xsl/db2man/README as well.
 
-	* Makefile.am: Use INSTALL and INSTALL_DATA instead of 'install'
-	so that a working install program gets used.
+- 2002-02-28 Tim Waugh <twaugh@redhat.com>
 
-2002-01-18  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/docbook.xsl: Give a warning if there are no refentry elements in the input document.
 
-	* xmlto.in: Use getopt's options properly.
+- 2002-02-12 Tim Waugh <twaugh@redhat.com>
 
-2002-01-17  Tim Waugh  <twaugh@redhat.com>
+  - configure.in: Version 0.0.8 (stable).
 
-	* Makefile.am: Portability fix.
+- 2002-02-12 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Avoid removing a directory in the path of the current
-	working directory.
+  - xsl/db2man/lists.xsl: Normalize space in variable list terms. First attempt at handling nested variable lists.
 
-	* xmlto.in: Parametrize find, mktemp, and bash.
+- 2002-02-12 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Hide errors from locale, in case LC_PAPER isn't
-	supported.
+  - xsl/db2man/docbook.xsl: Display names of written files. Mark-up varname like replaceable.
+  - xsl/db2man/synop.xsl: Put .nf/.fi around synopsis.
 
-	* Makefile.am: Use bash to run xmlto.
+- 2002-01-31 Tim Waugh <twaugh@redhat.com>
 
-2002-01-16  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/docbook.xsl: Escape backslashes.
+  - xmlto.in: Small fix for verbose output.
 
-	* configure.in: Version 0.0.6 (stable).
+- 2002-01-28 Tim Waugh <twaugh@redhat.com>
 
-2002-01-15  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/docbook.xsl: Don't normalize space in paragraphs that contain screens. 
+    Nested blocks don't really work well at the moment; 
+    if anyone has any idea how to fix it please let me know!
 
-	* xmlto.in: Select paper size from LC_PAPER.
+- 2002-01-26 Tim Waugh <twaugh@redhat.com>
 
-2002-01-11  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Don't get stuck in a loop if a preprocessing instruction is malformed.
 
-	* format/fo/pdf, format/fo/dvi, format/fo/ps: Fix warning when
-	not using verbose mode.
+- 2002-01-23 Tim Waugh <twaugh@redhat.com>
 
-2002-01-09  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Make sure not to invoke the XSLT processor if there is no stylesheet to use.
 
-	* Makefile.am: Actually ship xref.xsl.
+- 2002-01-21 Tim Waugh <twaugh@redhat.com>
 
-2002-01-09  Tim Waugh  <twaugh@redhat.com>
+  - configure.in: Version 0.0.7 (stable).
 
-	* xsl/db2man/lists.xsl: Make <orderedlist> behave properly.
+- 2002-01-21 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Put -v first for xsltproc to work around a bug.
+  - xsl/db2man/docbook.xsl: Fix refsect2 handling.
+  - xsl/db2man/docbook.xsl: Don't normalize space in paragraphs that contain lists.
+  - xsl/db2man/lists.xsl: Make sure that there is a linefeed before the start of the list.
 
-	* xsl/db2man/xref.xsl: New file for handling <xref>.
-	* xsl/db2man/docbook.xsl: Use it.
+- 2002-01-18 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Fix <screen>s with multiple lines.
+  - configure.in: Check for working getopt, substitute GETOPT, BASH, FIND, MKTEMP.
+  - xmlto.in: Placeholders for substitutions.
+  - Makefile.am: Use INSTALL and INSTALL_DATA instead of 'install' so that a working install program gets used.
 
-	* xsl/db2man/docbook.xsl: Translate '&setmn;' to '\\'.
+- 2002-01-18 Tim Waugh <twaugh@redhat.com>
 
-2002-01-08  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Use getopt's options properly.
 
-	* configure.in: Version 0.0.5 (stable).
+- 2002-01-17 Tim Waugh <twaugh@redhat.com>
 
-2002-01-08  Tim Waugh  <twaugh@redhat.com>
+  - Makefile.am: Portability fix.
+  - xmlto.in: Avoid removing a directory in the path of the current working directory.
+  - xmlto.in: Parametrize find, mktemp, and bash.
+  - xmlto.in: Hide errors from locale, in case LC_PAPER isn't supported.
+  - Makefile.am: Use bash to run xmlto.
 
-	* xsl/db2man/lists.xsl: Prevent multiple paragraphs in a list item
-	from merging together.
+- 2002-01-16 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/synop.xsl: Make <parameter> and <function> tags nest
-	nicely inside <command>.
+  - configure.in: Version 0.0.6 (stable).
 
-	* xsl/db2man/docbook.xsl: Make <type>s appear bold.
+- 2002-01-15 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Translate '&mdash;' to '--'.
+  - xmlto.in: Select paper size from LC_PAPER.
 
-2001-12-17  Tim Waugh  <twaugh@redhat.com>
+- 2002-01-11 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Fix warning when not using verbose mode.
+  - format/fo/pdf, format/fo/dvi, format/fo/ps: Fix warning when not using verbose mode.
 
-	* Makefile.am: Actually ship the format scripts for xhtml, htmlhelp
-	and javahelp.
+- 2002-01-09 Tim Waugh <twaugh@redhat.com>
 
-2001-12-17  Tim Waugh  <twaugh@redhat.com>
+  - Makefile.am: Actually ship xref.xsl.
 
-	* configure.in: Version 0.0.4 (stable).
+- 2002-01-09 Tim Waugh <twaugh@redhat.com>
 
-2001-12-17  Tim Waugh  <twaugh@redhat.com>
+  - xsl/db2man/lists.xsl: Make <orderedlist> behave properly.
+  - xmlto.in: Put -v first for xsltproc to work around a bug.
+  - xsl/db2man/xref.xsl: New file for handling <xref>.
+  - xsl/db2man/docbook.xsl: Use it.
+  - xsl/db2man/docbook.xsl: Fix <screen>s with multiple lines.
+  - xsl/db2man/docbook.xsl: Translate '&setmn;' to '\\'.
 
-	* xmlto.in: Be extremely verbose (sh -x while post-processing)
-	at level 3 verbosity.
+- 2002-01-08 Tim Waugh <twaugh@redhat.com>
 
-	* doc/xmlto.xml: Document --extensions, --help, --version.
+  - configure.in: Version 0.0.5 (stable).
 
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Be more verbose.
+- 2002-01-08 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Fix trap.
+  - xsl/db2man/lists.xsl: Prevent multiple paragraphs in a list item from merging together.
+  - xsl/db2man/synop.xsl: Make <parameter> and <function> tags nest nicely inside <command>.
+  - xsl/db2man/docbook.xsl: Make <type>s appear bold.
+  - xsl/db2man/docbook.xsl: Translate '&mdash;' to '--'.
 
-2001-12-14  Tim Waugh  <twaugh@redhat.com>
+- 2001-12-17 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Use getopt instead of trying to parse options by
-	hand.
+  - xmlto.in: Fix warning when not using verbose mode.
+  - Makefile.am: Actually ship the format scripts for xhtml, htmlhelp and javahelp.
 
-	* xmlto.in: Use TMPDIR if set.
+- 2001-12-17 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Support --extensions.
-	* doc/xmlto.xml: Document --extensions.
-	* format/docbook/man: Tweak so as not to expect an output file.
+  - configure.in: Version 0.0.4 (stable).
 
-	* xmlto.in: Use xsltproc's -o option.
+- 2001-12-17 Tim Waugh <twaugh@redhat.com>
 
-2001-12-10  Tim Waugh  <twaugh@redhat.com>
+  - xmlto.in: Be extremely verbose (sh -x while post-processing) at level 3 verbosity.
+  - doc/xmlto.xml: Document --extensions, --help, --version.
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: Be more verbose.
+  - xmlto.in: Fix trap.
 
-	* xsl/db2man/docbook.xsl: Handle &hellip; and &minus;.
+- 2001-12-14 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.in: Show available format scripts in --help output.
+  - xmlto.in: Use getopt instead of trying to parse options by hand.
+  - xmlto.in: Use TMPDIR if set.
+  - xmlto.in: Support --extensions.
+  - doc/xmlto.xml: Document --extensions.
+  - format/docbook/man: Tweak so as not to expect an output file.
+  - xmlto.in: Use xsltproc's -o option.
 
-2001-12-08  Tim Waugh  <twaugh@redhat.com>
+- 2001-12-10 Tim Waugh <twaugh@redhat.com>
 
-	* configure.in: Version 0.0.3 (stable).
+  - xsl/db2man/docbook.xsl: Handle &hellip; and &minus;.
+  - xmlto.in: Show available format scripts in --help output.
 
-2001-12-08  Joe Orton  <joe@manyfish.co.uk>
+- 2001-12-08 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Small tidy-up in write-page.
+  - configure.in: Version 0.0.3 (stable).
 
-2001-12-07  Tim Waugh  <twaugh@redhat.com>
+- 2001-12-08 Joe Orton <joe@manyfish.co.uk>
 
-	* xsl/db2man/docbook.xsl: Normalize space in refpurpose.
+  - xsl/db2man/docbook.xsl: Small tidy-up in write-page.
 
-	* xsl/db2man/synop.xsl: Grouped arguments shouldn't be bold.
-	Fix argument spacing in cmdsynopsis.  Support sbr.
+- 2001-12-07 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/lists.xsl: Better handling of procedure steps.
+  - xsl/db2man/docbook.xsl: Normalize space in refpurpose.
+  - xsl/db2man/synop.xsl: Grouped arguments shouldn't be bold. Fix argument spacing in cmdsynopsis. Support sbr.
+  - xsl/db2man/lists.xsl: Better handling of procedure steps.
+  - xmlto.in: Add -vv option for very verbose output.
+  - xsl/db2man/docbook.xsl: Tidy up author section handling.
 
-	* xmlto.in: Add -vv option for very verbose output.
+- 2001-12-06 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Tidy up author section handling.
+  - xsl/db2man/docbook.xsl: Handle refentryinfo/editor.
+  - xsl/db2man/docbook.xsl: Better handling of authors.
+  - xsl/db2man/docbook.xsl: Fix ulink handling.
+  - xsl/db2man/docbook.xsl: Handle refentryinfo/date, refentryinfo/productname.
+  - xsl/db2man/docbook.xsl: Upper-case the refentrytitle in the header and footer.
 
-2001-12-06  Tim Waugh  <twaugh@redhat.com>
+- 2001-12-05 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Handle refentryinfo/editor.
+  - xmlto.spec.in: Minor fixes.
 
-	* xsl/db2man/docbook.xsl: Better handling of authors.
+- 2001-12-05 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Fix ulink handling.
+  - configure.in: Version 0.0.2 (stable).
 
-	* xsl/db2man/docbook.xsl: Handle refentryinfo/date,
-	refentryinfo/productname.
+- 2001-12-05 Tim Waugh <twaugh@redhat.com>
 
-	* xsl/db2man/docbook.xsl: Upper-case the refentrytitle in the header
-	and footer.
+  - xmlto.in: Check that format script exists. Fix option parsing.
+  - format/docbook/xhtml, format/docbook/xhtml-nochunks, format/docbook/htmlhelp, format/docbook/javahelp: 
+    New format scripts.
+  - format/docbook/html: Use chunk.xsl now not xtchunk.xsl.
+  - xmlto.spec.in: Require docbook-xsl >= 1.47.
 
-2001-12-05  Tim Waugh  <twaugh@redhat.com>
+- 2001-12-04 Tim Waugh <twaugh@redhat.com>
 
-	* xmlto.spec.in: Minor fixes.
+  - format/fo/dvi, format/fo/pdf, format/fo/ps: 
+    Created by moving the post-processing steps from...
+  - format/docbook/dvi, format/docbook/pdf, format/docbook/ps: 
+    ..here. Call the appropriate FO format script to do the post-processing. 
+    Use "" as stylesheet, to prevent XSL-T processing of XSL-FO.
+  - xmlto.in: Don't XSL-T process if stylesheet name is empty.
+  - Makefile.am: Updated.
+  - xmlto.in: Determine input file type by inspection. 
+    Identify XSL-FO documents (with fo:root as root element), 
+      and assume DocBook for everything else.
 
-2001-12-05  Tim Waugh  <twaugh@redhat.com>
+- 2001-12-03 Joe Orton <joe@manyfish.co.uk>
 
-	* configure.in: Version 0.0.2 (stable).
+  - xsl/db2man/docbook.xsl: Pick up /book/bookinfo/author if no author is found in refentryinfo.
 
-2001-12-05  Tim Waugh  <twaugh@redhat.com>
+- 2001-12-03 Joe Orton <joe@manyfish.co.uk>
 
-	* xmlto.in: Check that format script exists.  Fix option parsing.
+  - xsl/db2man/docbook.xsl: Generate stub pages for each extra refname in a refentry.
+  - xsl/db2man/synop.xsl: Handle funcsynopsisinfo, multiple paramdefs.
 
-	* format/docbook/xhtml, format/docbook/xhtml-nochunks,
-	format/docbook/htmlhelp, format/docbook/javahelp: New format
-	scripts.
+- 2001-12-02 Tim Waugh <twaugh@redhat.com>
 
-	* format/docbook/html: Use chunk.xsl now not xtchunk.xsl.
-	* xmlto.spec.in: Require docbook-xsl >= 1.47.
+  - xsl/db2man/docbook.xsl: Fix 'generated by' line. Broken by me, fixed by Joe Orton.
+  - xsl/db2man/synop.xsl: Handle functions with void or varargs instead of paramdef.
+  - xsl/db2man/synop.xsl: Move citerefentry template...
+  - xsl/db2man/docbook.xsl: ... here.
 
-2001-12-04  Tim Waugh  <twaugh@redhat.com>
+- 2001-11-29 Tim Waugh <twaugh@redhat.com>
 
-	* format/fo/dvi, format/fo/pdf, format/fo/ps: Created by moving the
-	post-processing steps from...
-	* format/docbook/dvi, format/docbook/pdf, format/docbook/ps: ..here.
-	Call the appropriate FO format script to do the post-processing.
-	Use "" as stylesheet, to prevent XSL-T processing of XSL-FO.
-	* xmlto.in: Don't XSL-T process if stylesheet name is empty.
-	* Makefile.am: Updated.
+  - xsl/lists.xsl: Better man page output for unordered lists.
+  - xsl/db2man.xsl, xsl/lists.xsl, xsl/synop.xsl: Moved to xsl/db2man. Renamed db2man.xsl docbook.xsl.
+  - format/docbook/man, Makefile.am: Track db2man stylesheets.
 
-	* xmlto.in: Determine input file type by inspection.  Identify
-	XSL-FO documents (with fo:root as root element), and assume
-	DocBook for everything else.
+- 2001-11-28 Tim Waugh <twaugh@redhat.com>
 
-2001-12-03  Joe Orton  <joe@manyfish.co.uk>
+  - configure.in: Version 0.0.1 (stable).
 
-	* xsl/db2man/docbook.xsl: Pick up /book/bookinfo/author if no
-	author is found in refentryinfo.
+- 2001-11-28 Tim Waugh <twaugh@redhat.com>
 
-2001-12-03  Joe Orton  <joe@manyfish.co.uk>
+  - xmlto.in: More comments. Set XSLT_PROCESSOR before getting stylesheet from format script.
+  - doc/xmlto.xml: Document XSLT_PROCESSOR, and exit codes.
+  - format/docbook/txt, Makefile.am: New format script.
+  - xmlto.spec.in: Require passivetex.
+  - xmlto.in: 'trap' isn't like atexit. Use an array to remember what to remove on exit.
+  - xsl/db2man.xsl: Handle programlisting.
 
-	* xsl/db2man/docbook.xsl: Generate stub pages for each extra refname
-	in a refentry.
-	* xsl/db2man/synop.xsl: Handle funcsynopsisinfo, multiple paramdefs.
+- 2001-11-23 Tim Waugh <twaugh@redhat.com>
 
-2001-12-02  Tim Waugh  <twaugh@redhat.com>
-
-	* xsl/db2man/docbook.xsl: Fix 'generated by' line.  Broken by me,
-	fixed by Joe Orton.
-
-	* xsl/db2man/synop.xsl: Handle functions with void or varargs
-	instead of paramdef.
-
-	* xsl/db2man/synop.xsl: Move citerefentry template...
-	* xsl/db2man/docbook.xsl: ... here.
-
-2001-11-29  Tim Waugh  <twaugh@redhat.com>
-
-	* xsl/lists.xsl: Better man page output for unordered lists.
-
-	* xsl/db2man.xsl, xsl/lists.xsl, xsl/synop.xsl: Moved to xsl/db2man.
-	Renamed db2man.xsl docbook.xsl.
-	* format/docbook/man, Makefile.am: Track db2man stylesheets.
-
-2001-11-28  Tim Waugh  <twaugh@redhat.com>
-
-	* configure.in: Version 0.0.1 (stable).
-
-2001-11-28  Tim Waugh  <twaugh@redhat.com>
-
-	* xmlto.in: More comments.  Set XSLT_PROCESSOR before getting
-	stylesheet from format script.
-	* doc/xmlto.xml: Document XSLT_PROCESSOR, and exit codes.
-
-	* format/docbook/txt, Makefile.am: New format script.
-
-	* xmlto.spec.in: Require passivetex.
-
-	* xmlto.in: 'trap' isn't like atexit.  Use an array to remember
-	what to remove on exit.
-
-	* xsl/db2man.xsl: Handle programlisting.
-
-2001-11-23  Tim Waugh  <twaugh@redhat.com>
-
-	* configure.in: Version 0.0.0 (stable).
+  - configure.in: Version 0.0.0 (stable).
diff --git a/FAQ b/FAQ
index b2ddfc5..cf4a093 100644
--- a/FAQ
+++ b/FAQ
@@ -1,18 +1,19 @@
 Q: I'm trying to build xmlto, but it doesn't work.
 
-A: If you get `Attempt to load network entity' errors when building
-   xmlto, your system does not have the required support for XML
-   Catalogs
-   (http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).
-	 Try to reinstall your docbook(xhtml1) dtds or fix your catalogs
-   manually. Verbose mode might help to analyze a problem.
+A: If you get `Attempt to load network entity` errors when building
+xmlto, your system does not have the required support for XML
+Catalogs (http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).
+Try to reinstall your docbook(xhtml1) dtds or fix your catalogs
+manually. Verbose mode might help to analyze a problem.
 
 Q: How can I check out the latest sources of XMLTO?
 
 A: Original sources are under svn revision control on fedorahosted.org
-   server. If you want to check out the latest version, use command
+server. If you want to check out the latest version, use command
 
-              svn co http://svn.fedorahosted.org/svn/xmlto
+```bash
+svn co http://svn.fedorahosted.org/svn/xmlto
+```
 
-   Autotools helper scripts are not under revision control, so please
-   run `automake --add-missing` to make these files available.
+Autotools helper scripts are not under revision control, so please
+run `automake --add-missing` to make these files available.
diff --git a/INSTALL b/INSTALL
index 98e9dcf..05ce621 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,209 +1,210 @@
-Basic Installation
-==================
+# Basic Installation
 
-   These are generic installation instructions, with a few additional
+These are generic installation instructions, with a few additional
 notes for installing on non-Linux systems.
 
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
+The `configure` shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile` in each directory of the package.
 It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If at some point `config.cache'
+definitions. Finally, it creates a shell script `config.status`that
+you can run in the future to recreate the current configuration, a file 
+`config.cache`that saves the results of its tests to speed up reconfiguring,
+and a file `config.log` containing compiler output
+(useful mainly for debugging`configure').
+
+If you need to do unusual things to compile the package, please try
+to figure out how `configure` could check whether to do them, and mail
+diffs or instructions to the address given in the `README` so they can
+be considered for the next release. If at some point `config.cache`
 contains results you don't want to keep, you may remove or edit it.
 
-   The file `configure.in' is used to create `configure' by a program
-called `autoconf'.  You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
+The file `configure.ac` is used to create `configure` by a program
+called `autoconf`. You only need `configure.ac` if you want to change
+it or regenerate `configure` using a newer version of `autoconf`.
 
 The simplest way to compile this package is:
 
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
+1. `cd` to the directory containing the package's source code and
+   type `flex -o xmlif/xmlif.c xmlif/xmlif.l` to update the `xmlif`
+   file for instructions for XML conditionalization
+2. `./configure` to configure the package for your system. If you're
+   using `csh` on an old version of System V, you might need to type
+   `sh ./configure` instead to prevent `csh` from trying to execute
+   `configure` itself.
 
-     Running `configure' takes awhile.  While running, it prints some
-     messages telling which features it is checking for.
+   Running `configure` takes awhile. While running, it prints some
+   messages telling which features it is checking for.
 
-  2. Type `make' to compile the package.
+3. Type `make` to compile the package.
 
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package.
+4. Optionally, type `make check` to run any self-tests that come with
+   the package.
 
-  4. Type `make install' to install the programs and any data files and
-     documentation.
+5. Type `make install` to install the programs and any data files and
+   documentation.
 
-  5. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
+6. You can remove the program binaries and object files from the
+   source code directory by typing `make clean`. To also remove the
+   files that `configure` created (so you can compile the package for
+   a different kind of computer), type `make distclean`. There is
+   also a `make maintainer-clean` target, but that is intended mainly
+   for the package's developers. If you use it, you may have to get
+   all sorts of other programs in order to regenerate files that came
+   with the distribution.
 
-Compilers and Options
-=====================
+# Compilers and Options
 
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
-initial values for variables by setting them in the environment.  Using
+Some systems require unusual options for compilation or linking that
+the `configure` script does not know about. You can give `configure`
+initial values for variables by setting them in the environment. Using
 a Bourne-compatible shell, you can do that on the command line like
 this:
-     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+```bash
+CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+```
 
 Or on systems that have the `env' program, you can do it like this:
-     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
 
-Compiling For Multiple Architectures
-====================================
+```bash
+env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+```
+
+# Compiling For Multiple Architectures
 
-   You can compile the package for more than one kind of computer at the
+You can compile the package for more than one kind of computer at the
 same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+own directory. To do this, you must use a version of `make` that
+supports the `VPATH` variable, such as GNU `make`. `cd` to the
 directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+the `configure` script. `configure` automatically checks for the
+source code in the directory that `configure` is in and in `..`.
 
-   If you have to use a `make' that does not supports the `VPATH'
+If you have to use a `make` that does not supports the `VPATH`
 variable, you have to compile the package for one architecture at a time
-in the source code directory.  After you have installed the package for
+in the source code directory. After you have installed the package for
 one architecture, use `make distclean' before reconfiguring for another
 architecture.
 
-Installation Names
-==================
+# Installation Names
 
-   By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
+By default, `make install` will install the package's files in
+`/usr/local/bin`, `/usr/local/man`, etc. You can specify an
+installation prefix other than `/usr/local`by giving `configure` the
+option `--prefix=PATH`.
 
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', the package will use
+You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure` the option `--exec-prefix=PATH`, the package will use
 PATH as the prefix for installing programs and libraries.
 Documentation and other data files will still use the regular prefix.
 
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
+In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH` to specify different values for particular
+kinds of files. Run `configure --help` for a list of the directories
 you can set and what kinds of files go in them.
 
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure` the
+option `--program-prefix=PREFIX` or `--program-suffix=SUFFIX`.
 
-Optional Features
-=================
+# Optional Features
 
-   Some packages pay attention to `--enable-FEATURE' options to
+Some packages pay attention to `--enable-FEATURE` options to
 `configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
+They may also pay attention to `--with-PACKAGE`options, where PACKAGE
+is something like`gnu-as' or `x` (for the X Window System). The
+`README' should mention any `--enable-`and`--with-` options that the
 package recognizes.
 
-   For packages that use the X Window System, `configure' can usually
+For packages that use the X Window System, `configure` can usually
 find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
+you can use the `configure` options `--x-includes=DIR` and
+`--x-libraries=DIR` to specify their locations.
 
-Specifying the System Type
-==========================
+# Specifying the System Type
 
-   There may be some features `configure' can not figure out
+There may be some features `configure` can not figure out
 automatically, but needs to determine by the type of host the package
-will run on.  Usually `configure' can figure that out, but if it prints
+will run on. Usually `configure` can figure that out, but if it prints
 a message saying it can not guess the host type, give it the
-`--host=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
-     CPU-COMPANY-SYSTEM
+`--host=TYPE` option. TYPE can either be a short name for the system
+type, such as `sun4`, or a canonical name with three fields:
+CPU-COMPANY-SYSTEM
 
-See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
+See the file `config.sub` for the possible values of each field. If
+`config.sub` isn't included in this package, then this package doesn't
 need to know the host type.
 
-   If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
+If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE` option to select the type of system they will
+produce code for and the `--build=TYPE` option to select the type of
 system on which you are compiling the package.
 
-Sharing Defaults
-================
+# Sharing Defaults
 
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
+If you want to set default values for `configure` scripts to share,
+you can create a site shell script called `config.site` that gives
+default values for variables like `CC`, `cache_file`, and `prefix`.
+`configure` looks for `PREFIX/share/config.site` if it exists, then
+`PREFIX/etc/config.site` if it exists. Or, you can set the`CONFIG_SITE`
+environment variable to the location of the site script.
+A warning: not all `configure` scripts look for a site script.
 
-Operation Controls
-==================
+# Operation Controls
 
-   `configure' recognizes the following options to control how it
+`configure` recognizes the following options to control how it
 operates.
 
-`--cache-file=FILE'
-     Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
+`--cache-file=FILE`
+Use and save the results of the tests in FILE instead of
+`./config.cache`. Set FILE to `/dev/null` to disable caching, for
+debugging `configure'.
 
-`--help'
-     Print a summary of the options to `configure', and exit.
+`--help`
+Print a summary of the options to `configure`, and exit.
 
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
+`--quiet`
+`--silent`
+`-q`
+Do not print messages saying which checks are being made. To
+suppress all normal output, redirect it to `/dev/null` (any error
+messages will still be shown).
 
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
+`--srcdir=DIR`
+Look for the package's source code in directory DIR. Usually
+`configure` can determine that directory automatically.
 
-`--version'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
+`--version`
+Print the version of Autoconf used to generate the `configure`
+script, and exit.
 
-`configure' also accepts some other, not widely useful, options.
+`configure` also accepts some other, not widely useful, options.
 
-Portability Notes
-=================
+# Portability Notes
 
-   To run xmlto on a non-Linux system you will need some supporting
-software.  For Solaris at least, you will need GNU bash, GNU find,
-mktemp, and getopt.  The first two are GNU packages and can be obtained
+To run xmlto on a non-Linux system you will need some supporting
+software. For Solaris at least, you will need GNU bash, GNU find,
+mktemp, and getopt. The first two are GNU packages and can be obtained
 from <http://www.gnu.org/>.
 
-   For getopt, visit <http://huizen.dds.nl/~frodol/getopt.html>.  For
+For getopt, visit <http://huizen.dds.nl/~frodol/getopt.html>. For
 Solaris, the following will need changing:
-               LIBCGETOPT=0
-               WITH_GETTEXT=0
-               INSTALL=ginstall
 
-   For mktemp, visit <http://www.mktemp.org/>.  For Solaris, stripping
-the binary will cause it to core dump on startup.  If you experience this
+```bash
+LIBCGETOPT=0
+WITH_GETTEXT=0
+INSTALL=ginstall
+```
+
+For mktemp, visit <http://www.mktemp.org/>. For Solaris, stripping
+the binary will cause it to core dump on startup. If you experience this
 problem remove the -s from the installation command line.
 
-Build Problems
-==============
+# Build Problems
 
-   If you get `Attempt to load network entity' errors when building
+If you get `Attempt to load network entity` errors when building
 xmlto, your system does not have the required support for XML Catalogs
 (http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).
 In particular, Debian has no support for these.
diff --git a/NEWS b/NEWS
index 884bd41..f425eab 100644
--- a/NEWS
+++ b/NEWS
@@ -1,34 +1,45 @@
-Xmlto news
-----------
-0.0.28 (stable)
+# XMLTO News
+
+- 0.0.29 (stable)
+
+  - Rename variable BASH to XMLTO_BASH_PATH (#8)
+  - Fix warnings in the build
+  - Regenerate xmlif to use new version of gcc
+  - Rename and format markdown files
+  - Convert output path to unix on cygwin/msys
+
+- 0.0.28 (stable)
+
   - fix broken temp files removal (introduced in 0.0.27)
   - links detection changed to elinks (new links options
     not compatible)
 
+- 0.0.27 (stable)
 
-0.0.27 (stable)
   - remove several bashisms from scripts
-  - add new option --profile for preprocessing documents
+  - add new option `--profile` for preprocessing documents
     with profiling stylesheet
   - fix several potential crashes in xmlif (found by static
     analysis)
 
+- 0.0.26 (stable)
 
-0.0.26 (stable)
-  - --searchpath option no longer produces warning
+  - `--searchpath` option no longer produces warning
     about local builtin used outside the function
     (debian #652974)
   - fix build with automake 1.13+
   - fix noextensions option recognition
   - handle used css list in epub format
 
-0.0.25 (stable)
+- 0.0.25 (stable)
+
   - prevent possible collisions in manpage generation
-  - fix broken fop/fop1 extensions
+  - fix broken `fop/fop1` extensions
   - fix handling of external data objects with fop
     (debian #568894)
 
-0.0.24 (stable)
+- 0.0.24 (stable)
+
   - README file was improved to provide better guidance
     for users
   - show the text-web-browser converting command in
@@ -40,137 +51,141 @@ Xmlto news
   - basic experimental support for conversion from docbook
     to epub
 
-0.0.23 (stable)
+- 0.0.23 (stable)
+
   - add support for detection of tail and gnu cp, do
-    not hardcode /bin/bash initial value
+    not hardcode `/bin/bash` initial value
   - use those detected binaries instead of previously
     hardcoded ones
   - use `type -t` bash shell builtin instead of `which`
     utility for detection of file availability
-  - new option --noautosize to prevent overriding of
+  - new option `--noautosize` to prevent overriding of
     user-defined paper sizes
 
-0.0.22 (stable)
+- 0.0.22 (stable)
+
   - added experimental support for xhtml1 source format
-  (output formats are awt, dvi, fo, mif, pcl,  pdf, ps,
-  svg, txt)
+    (output formats are awt, dvi, fo, mif, pcl, pdf, ps,
+    svg, txt)
   - create tex and xhtml subpackage in spec file to reduce
-  requirements for main package
+    requirements for main package
   - automated detection of programs path in configure,
-  program/utility path could be passed to configure by
-  variable, allowed selection of default backend and
-  default webbrowser (just for requirements at the moment)
+    program/utility path could be passed to configure by
+    variable, allowed selection of default backend and
+    default webbrowser (just for requirements at the moment)
   - check for missing tools/programs, fail if tool is not
-  available
+    available
   - fixed libpaper cleaning up(debian #491390)
   - xmllint validity check now with noent option(debian
     #516253)
-  - fixed --stringparam option
+  - fixed `--stringparam` option
   - added some messages to easier detection of troubles,
-  used different error codes for various situations(see
-  docs)
+    used different error codes for various situations(see
+    docs)
   - fixed FSF addresses, xmlif now licensed under GPLv2+
-  (was GPL+, various indentation fixes, fixed documentation
-  compilation warnings
+    (was GPL+, various indentation fixes, fixed documentation
+    compilation warnings)
+
+- 0.0.21 (stable)
 
-0.0.21 (stable)
-  - added experimental support for dblatex(needs installed
-  dblatex package)
-  - fixed issue with cp -a option on non-gnu systems
-  non-mandatory support for libpaper
+  - added experimental support for dblatex (needs installed
+    dblatex package)
+  - fixed issue with `cp -a` option on non-gnu systems
+    non-mandatory support for libpaper
+
+- 0.0.20 (stable)
 
-0.0.20 (stable)
   - added experimental fop support(needs installed fop package)
-  possibility to read a stylesheet from STDIN
+    possibility to read a stylesheet from STDIN
   - some small fixes/changes in docbook formats and xmlto script
 
-0.0.19 (stable)
-	added supported for basename with spaces, stringparam
-  option for passing argument to stylesheet, bash no
-  longer hardcoded, added option for not cleaning temp
-  files for diagnostics.
+- 0.0.19 (stable)
+
+  - added supported for basename with spaces
+  - stringparam option for passing argument to stylesheet
+  - bash no longer hardcoded
+  - added option for not cleaning temp files for diagnostics
 
-0.0.18 (stable)
+- 0.0.18 (stable)
 
-	A portability problem was fixed, and the xmlif syntax was
-	modified.
+  - A portability problem was fixed, and the xmlif syntax was modified.
 
-0.0.17 (stable)
+- 0.0.17 (stable)
 
-	The exit code when validation fails was fixed. w3m is used for
-	text output.
+  - The exit code when validation fails was fixed. w3m is used for text output.
 
-0.0.16 (stable)
+- 0.0.16 (stable)
 
-	Minor bug-fixes.
+  - Minor bug-fixes.
 
-0.0.15 (stable)
+- 0.0.15 (stable)
 
-	Some format script fixes.
+  - Some format script fixes.
 
-0.0.14 (stable)
+- 0.0.14 (stable)
 
-	The db2man fixes are no longer needed.
+  - The db2man fixes are no longer needed.
 
-0.0.13 (stable)
+- 0.0.13 (stable)
 
-	Several minor bugs were fixed.
+  - Several minor bugs were fixed.
 
-0.0.12 (stable)
+- 0.0.12 (stable)
 
-	Validation is now working, and output encoding is determined
-	from the environment.
+  - Validation is now working, and output encoding is
+    determined from the environment.
 
-0.0.11 (stable)
+- 0.0.11 (stable)
 
-	The db2man stylesheet is no longer shipped, since it now comes
-	with docbook-xsl.  A new tool, xmlif, is included.  Several bugs
-	were fixed.
+  - The db2man stylesheet is no longer shipped,
+    since it now comes with docbook-xsl.
+  - A new tool, xmlif, is included.
+  - Several bugs were fixed.
 
-0.0.10 (stable)
+- 0.0.10 (stable)
 
-	A small bug was fixed in the PS and DVI format scripts, and the
-	db2man code has been synchronised to CVS.
+  - A small bug was fixed in the PS and DVI format scripts,
+    and the db2man code has been synchronised to CVS.
 
-0.0.9 (stable)
+- 0.0.9 (stable)
 
-	There were some further improvements made to db2man.
+  - There were some further improvements made to db2man.
 
-0.0.8 (stable)
+- 0.0.8 (stable)
 
-	There were assorted fixes, and some further db2man improvements.
+  - There were assorted fixes, and some further db2man improvements.
 
-0.0.7 (stable)
+- 0.0.7 (stable)
 
-	Some portability fixes were made and there were some more db2man
-	improvements.
+  - Some portability fixes were made and
+    there were some more db2man improvements.
 
-0.0.6 (stable)
+- 0.0.6 (stable)
 
-	Some db2man improvements were made, some minor script bugs
-	were fixed, and automatic paper size handling was added.
+  - Some db2man improvements were made, some minor script bugs
+    were fixed, and automatic paper size handling was added.
 
-0.0.5 (stable)
+- 0.0.5 (stable)
 
-	Some db2man bugs were fixed.
+  - Some db2man bugs were fixed.
 
-0.0.4 (stable)
+- 0.0.4 (stable)
 
-	The option handling was improved.
+  - The option handling was improved.
 
-0.0.3 (stable)
+- 0.0.3 (stable)
 
-	The db2man stylesheet was further improved.
+  - The db2man stylesheet was further improved.
 
-0.0.2 (stable)
+- 0.0.2 (stable)
 
-	More format scripts were added, and the db2man stylesheet was
-	further improved.
+  - More format scripts were added, and the db2man stylesheet was
+    further improved.
 
-0.0.1 (stable)
+- 0.0.1 (stable)
 
-	Made the format script interface definition a bit clearer.
+  - Made the format script interface definition a bit clearer.
 
-0.0.0 (stable)
+- 0.0.0 (stable)
 
-	Initial release.
+  - Initial release.
diff --git a/README b/README
index 1007292..c3bcc83 100644
--- a/README
+++ b/README
@@ -1,44 +1,37 @@
-=== xmlto ===
+# xmlto
 
-Utility xmlto is a simple shell script for converting XML files to various
-formats. It serves as easy to use command line frontend to make fine output
-without remembering many long options and searching for the syntax of the
-backends.
+Utility `xmlto` is a simple shell script for converting XML files to various formats.
+It serves as an easy-to-use command-line frontend to make fine output without
+remembering many long options and searching for the syntax of the backends.
 
-At the moment it supports conersion from docbook, xhtml1 and fo format to
-various output formats(awt, fo, htmlhelp, javahelp, mif, pdf, svg, xhtml,
-dvi, html, html-nochunks, man , pcl, ps, txt, xhtml-nochunks) 
+Currently, it supports conversion from `docbook`, `xhtml1`, and `fo` format to
+various output formats (`awt`, `fo`, `htmlhelp`, `javahelp`, `mif`, `pdf`, `svg`,
+`xhtml`, `dvi`, `html`, `html-nochunks`, `man`, `pcl`, `ps`, `txt`, `xhtml-nochunks`).
+Some output formats may be unavailable if you don't have all prerequisites installed,
+as xmlto uses backends (`xsltproc`, `passivetex/fop/dblatex`) for processing.
 
-Some output formats may be unavailable if you use don't have all prerequisities
-installed, as xmlto uses backends (xsltproc, passivetex/fop/dblatex) 
-for processing.
+You could check and generate the offline version of documentation with xmlto from
+`doc/xmlif.xml` sources. However, if you received the xmlif as a part of the distribution,
+you should already have the `xmlif(1)` manpage on your machine.
 
-You could check the documentation online at 
-  https://fedorahosted.org/xmlto/wiki/xmlto
+If you received xmlto as a part of the distribution, you should already have
+the `xmlto(1)` manpage on your machine.
 
-(or generate the offline version with xmlto from doc/xmlto.xml sources).
+# xmlif
 
-If you received xmlto as a part of distribution, you should already have
-xmlto(1) manpage on your machine.
+`xmlif` utility filters XML according to conditionalizing markup. This can be useful
+for formatting one of several versions of an XML document depending on conditions
+passed to the command.
 
-=== xmlif ===
+You could check and generate the offline version of documentation with xmlto from
+`doc/xmlif.xml` sources. However, if you received xmlif as a part of distribution,
+you should already have `xmlif(1)` manpage on your machine.
 
-xmlif utility filters XML according to conditionalizing markup. This can be
-useful for formatting one of several versions of a XML document depending
-on conditions passed to the command.
+# How to contact authors
 
-You could check the documentation online at 
-  https://fedorahosted.org/xmlto/wiki/xmlif
+Since xmlto 0.19, xmlto is maintained by Ondřej Vašík (`ovasik@redhat.com`) and
+since 0.29 co-maintained by Ondřej Sloup (`osloup@redhat.com`).
 
-(or generate the offline version with xmlto from doc/xmlif.xml sources ).
-
-If you received xmlif as a part of distribution, you should already have
-xmlif(1) manpage on your machine.
-
-=== How to contact authors ===
-
-Since xmlto 0.19, xmlto is maintained by Ondřej Vašík <ovasik@redhat.com>.
-
-You can contact me directly via email or leave a ticket on project's trac
-instance at https://fedorahosted.org/xmlto/newticket .
-Registered fedoraproject.org account is required for this.
+You can contact me directly via email or leave a ticket on the project's Pagure
+instance at [https://pagure.io/xmlto/new_issue](https://pagure.io/xmlto/new_issue).
+A registered fedoraproject.org account is required for this.
diff --git a/THANKS b/THANKS
index 82facfb..fdfbb54 100644
--- a/THANKS
+++ b/THANKS
@@ -1,29 +1,31 @@
-Thanks to following people. Their ideas/patches were used since 0.0.19
-(since maintainer change). Please let me know if your name is missing here and
-your idea/patch was used.
+Thanks to the following people. Their ideas/patches were used since 0.0.19 (since maintainer change). 
+Please let me know if your name is missing here and your idea/patch was used.
 
-Ismael Olea <ismael@olea.org>
-Daniel Leidert <daniel.leidert@wgdd.de>
-Robert P. J. Day <rpjday@mindspring.com>
-Tommy Reynolds <tommy.reynolds@megacoder.com>
-Coleman Kane <cokane@cokane.org>
-Shlomi Fish <shlomif@gmail.com>
-Braden McDaniel <braden@endoframe.com>
-Andreas Hoenen <andreas.hoenen@arcor.de>
-Graham Wilson <graham@debian.org>
-Joseph Parmelee <jparmele@wildbear.com>
-Jonathan Nieder <jrnieder@gmail.com>
-Ben Walton <bwalton@artsci.utoronto.ca>
-Luis Garrido <luisgarrido@users.sourceforge.net>
-Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
-Christopher Yeleighton <giecrilj@stegny.2a.pl>
-Mike Frysinger <vapier@gentoo.org>
-Cyril Brulebois <kibi@debian.org>
-Matthias Andree <mandree@freebsd.org>
-Kacper Perschke <kacper.perschke@gmail.com>
-Marko Lindqvist <cazfi74@gmail.com>
-Ole Streicher <debian@liska.ath.cx>
-Knut Schönfels <knut.schoenfels@redknee.com>
-Roy Marples <roy@marples.name>
-Joost Pjotr Vermeer <jp@df5ea.net>
-Justin Turney <justin.turney@gmail.com>
+- Ismael Olea <ismael@olea.org>
+- Daniel Leidert <daniel.leidert@wgdd.de>
+- Robert P. J. Day <rpjday@mindspring.com>
+- Tommy Reynolds <tommy.reynolds@megacoder.com>
+- Coleman Kane <cokane@cokane.org>
+- Shlomi Fish <shlomif@gmail.com>
+- Braden McDaniel <braden@endoframe.com>
+- Andreas Hoenen <andreas.hoenen@arcor.de>
+- Graham Wilson <graham@debian.org>
+- Joseph Parmelee <jparmele@wildbear.com>
+- Jonathan Nieder <jrnieder@gmail.com>
+- Ben Walton <bwalton@artsci.utoronto.ca>
+- Luis Garrido <luisgarrido@users.sourceforge.net>
+- Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
+- Christopher Yeleighton <giecrilj@stegny.2a.pl>
+- Mike Frysinger <vapier@gentoo.org>
+- Cyril Brulebois <kibi@debian.org>
+- Matthias Andree <mandree@freebsd.org>
+- Kacper Perschke <kacper.perschke@gmail.com>
+- Marko Lindqvist <cazfi74@gmail.com>
+- Ole Streicher <debian@liska.ath.cx>
+- Knut Schönfels <knut.schoenfels@redknee.com>
+- Roy Marples <roy@marples.name>
+- Joost Pjotr Vermeer <jp@df5ea.net>
+- Justin Turney <justin.turney@gmail.com>
+- Marc-André Lureau <marcandre.lureau@redhat.com>
+- Thomas Kuehne <thomas@kuehne.cn>
+- Ondřej Vašík <ovasik@redhat.com>

From 708a2a7c9e97e3dea75e77430dad0253e13bd024 Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:25:41 +0000
Subject: [PATCH 6/10] Rename files to use markdown files


ChangeLog cannot be renamed because of autoconfigure

---

diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index 459f1a1..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,4 +0,0 @@
-Author: Tim Waugh <twaugh@redhat.com>
-
-since 0.0.19 maintained by Ondrej Vasik <ovasik@redhat.com>
-since 0.0.29 maintained by Ondrej Sloup <osloup@redhat.com>
diff --git a/AUTHORS.md b/AUTHORS.md
new file mode 100644
index 0000000..459f1a1
--- /dev/null
+++ b/AUTHORS.md
@@ -0,0 +1,4 @@
+Author: Tim Waugh <twaugh@redhat.com>
+
+since 0.0.19 maintained by Ondrej Vasik <ovasik@redhat.com>
+since 0.0.29 maintained by Ondrej Sloup <osloup@redhat.com>
diff --git a/FAQ b/FAQ
deleted file mode 100644
index cf4a093..0000000
--- a/FAQ
+++ /dev/null
@@ -1,19 +0,0 @@
-Q: I'm trying to build xmlto, but it doesn't work.
-
-A: If you get `Attempt to load network entity` errors when building
-xmlto, your system does not have the required support for XML
-Catalogs (http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).
-Try to reinstall your docbook(xhtml1) dtds or fix your catalogs
-manually. Verbose mode might help to analyze a problem.
-
-Q: How can I check out the latest sources of XMLTO?
-
-A: Original sources are under svn revision control on fedorahosted.org
-server. If you want to check out the latest version, use command
-
-```bash
-svn co http://svn.fedorahosted.org/svn/xmlto
-```
-
-Autotools helper scripts are not under revision control, so please
-run `automake --add-missing` to make these files available.
diff --git a/FAQ.md b/FAQ.md
new file mode 100644
index 0000000..cf4a093
--- /dev/null
+++ b/FAQ.md
@@ -0,0 +1,19 @@
+Q: I'm trying to build xmlto, but it doesn't work.
+
+A: If you get `Attempt to load network entity` errors when building
+xmlto, your system does not have the required support for XML
+Catalogs (http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).
+Try to reinstall your docbook(xhtml1) dtds or fix your catalogs
+manually. Verbose mode might help to analyze a problem.
+
+Q: How can I check out the latest sources of XMLTO?
+
+A: Original sources are under svn revision control on fedorahosted.org
+server. If you want to check out the latest version, use command
+
+```bash
+svn co http://svn.fedorahosted.org/svn/xmlto
+```
+
+Autotools helper scripts are not under revision control, so please
+run `automake --add-missing` to make these files available.
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index 05ce621..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,210 +0,0 @@
-# Basic Installation
-
-These are generic installation instructions, with a few additional
-notes for installing on non-Linux systems.
-
-The `configure` shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile` in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status`that
-you can run in the future to recreate the current configuration, a file 
-`config.cache`that saves the results of its tests to speed up reconfiguring,
-and a file `config.log` containing compiler output
-(useful mainly for debugging`configure').
-
-If you need to do unusual things to compile the package, please try
-to figure out how `configure` could check whether to do them, and mail
-diffs or instructions to the address given in the `README` so they can
-be considered for the next release. If at some point `config.cache`
-contains results you don't want to keep, you may remove or edit it.
-
-The file `configure.ac` is used to create `configure` by a program
-called `autoconf`. You only need `configure.ac` if you want to change
-it or regenerate `configure` using a newer version of `autoconf`.
-
-The simplest way to compile this package is:
-
-1. `cd` to the directory containing the package's source code and
-   type `flex -o xmlif/xmlif.c xmlif/xmlif.l` to update the `xmlif`
-   file for instructions for XML conditionalization
-2. `./configure` to configure the package for your system. If you're
-   using `csh` on an old version of System V, you might need to type
-   `sh ./configure` instead to prevent `csh` from trying to execute
-   `configure` itself.
-
-   Running `configure` takes awhile. While running, it prints some
-   messages telling which features it is checking for.
-
-3. Type `make` to compile the package.
-
-4. Optionally, type `make check` to run any self-tests that come with
-   the package.
-
-5. Type `make install` to install the programs and any data files and
-   documentation.
-
-6. You can remove the program binaries and object files from the
-   source code directory by typing `make clean`. To also remove the
-   files that `configure` created (so you can compile the package for
-   a different kind of computer), type `make distclean`. There is
-   also a `make maintainer-clean` target, but that is intended mainly
-   for the package's developers. If you use it, you may have to get
-   all sorts of other programs in order to regenerate files that came
-   with the distribution.
-
-# Compilers and Options
-
-Some systems require unusual options for compilation or linking that
-the `configure` script does not know about. You can give `configure`
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
-
-```bash
-CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-```
-
-Or on systems that have the `env' program, you can do it like this:
-
-```bash
-env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-```
-
-# Compiling For Multiple Architectures
-
-You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make` that
-supports the `VPATH` variable, such as GNU `make`. `cd` to the
-directory where you want the object files and executables to go and run
-the `configure` script. `configure` automatically checks for the
-source code in the directory that `configure` is in and in `..`.
-
-If you have to use a `make` that does not supports the `VPATH`
-variable, you have to compile the package for one architecture at a time
-in the source code directory. After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-# Installation Names
-
-By default, `make install` will install the package's files in
-`/usr/local/bin`, `/usr/local/man`, etc. You can specify an
-installation prefix other than `/usr/local`by giving `configure` the
-option `--prefix=PATH`.
-
-You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure` the option `--exec-prefix=PATH`, the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH` to specify different values for particular
-kinds of files. Run `configure --help` for a list of the directories
-you can set and what kinds of files go in them.
-
-If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure` the
-option `--program-prefix=PREFIX` or `--program-suffix=SUFFIX`.
-
-# Optional Features
-
-Some packages pay attention to `--enable-FEATURE` options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE`options, where PACKAGE
-is something like`gnu-as' or `x` (for the X Window System). The
-`README' should mention any `--enable-`and`--with-` options that the
-package recognizes.
-
-For packages that use the X Window System, `configure` can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure` options `--x-includes=DIR` and
-`--x-libraries=DIR` to specify their locations.
-
-# Specifying the System Type
-
-There may be some features `configure` can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure` can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE` option. TYPE can either be a short name for the system
-type, such as `sun4`, or a canonical name with three fields:
-CPU-COMPANY-SYSTEM
-
-See the file `config.sub` for the possible values of each field. If
-`config.sub` isn't included in this package, then this package doesn't
-need to know the host type.
-
-If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE` option to select the type of system they will
-produce code for and the `--build=TYPE` option to select the type of
-system on which you are compiling the package.
-
-# Sharing Defaults
-
-If you want to set default values for `configure` scripts to share,
-you can create a site shell script called `config.site` that gives
-default values for variables like `CC`, `cache_file`, and `prefix`.
-`configure` looks for `PREFIX/share/config.site` if it exists, then
-`PREFIX/etc/config.site` if it exists. Or, you can set the`CONFIG_SITE`
-environment variable to the location of the site script.
-A warning: not all `configure` scripts look for a site script.
-
-# Operation Controls
-
-`configure` recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE`
-Use and save the results of the tests in FILE instead of
-`./config.cache`. Set FILE to `/dev/null` to disable caching, for
-debugging `configure'.
-
-`--help`
-Print a summary of the options to `configure`, and exit.
-
-`--quiet`
-`--silent`
-`-q`
-Do not print messages saying which checks are being made. To
-suppress all normal output, redirect it to `/dev/null` (any error
-messages will still be shown).
-
-`--srcdir=DIR`
-Look for the package's source code in directory DIR. Usually
-`configure` can determine that directory automatically.
-
-`--version`
-Print the version of Autoconf used to generate the `configure`
-script, and exit.
-
-`configure` also accepts some other, not widely useful, options.
-
-# Portability Notes
-
-To run xmlto on a non-Linux system you will need some supporting
-software. For Solaris at least, you will need GNU bash, GNU find,
-mktemp, and getopt. The first two are GNU packages and can be obtained
-from <http://www.gnu.org/>.
-
-For getopt, visit <http://huizen.dds.nl/~frodol/getopt.html>. For
-Solaris, the following will need changing:
-
-```bash
-LIBCGETOPT=0
-WITH_GETTEXT=0
-INSTALL=ginstall
-```
-
-For mktemp, visit <http://www.mktemp.org/>. For Solaris, stripping
-the binary will cause it to core dump on startup. If you experience this
-problem remove the -s from the installation command line.
-
-# Build Problems
-
-If you get `Attempt to load network entity` errors when building
-xmlto, your system does not have the required support for XML Catalogs
-(http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).
-In particular, Debian has no support for these.
diff --git a/INSTALL.md b/INSTALL.md
new file mode 100644
index 0000000..05ce621
--- /dev/null
+++ b/INSTALL.md
@@ -0,0 +1,210 @@
+# Basic Installation
+
+These are generic installation instructions, with a few additional
+notes for installing on non-Linux systems.
+
+The `configure` shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile` in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status`that
+you can run in the future to recreate the current configuration, a file 
+`config.cache`that saves the results of its tests to speed up reconfiguring,
+and a file `config.log` containing compiler output
+(useful mainly for debugging`configure').
+
+If you need to do unusual things to compile the package, please try
+to figure out how `configure` could check whether to do them, and mail
+diffs or instructions to the address given in the `README` so they can
+be considered for the next release. If at some point `config.cache`
+contains results you don't want to keep, you may remove or edit it.
+
+The file `configure.ac` is used to create `configure` by a program
+called `autoconf`. You only need `configure.ac` if you want to change
+it or regenerate `configure` using a newer version of `autoconf`.
+
+The simplest way to compile this package is:
+
+1. `cd` to the directory containing the package's source code and
+   type `flex -o xmlif/xmlif.c xmlif/xmlif.l` to update the `xmlif`
+   file for instructions for XML conditionalization
+2. `./configure` to configure the package for your system. If you're
+   using `csh` on an old version of System V, you might need to type
+   `sh ./configure` instead to prevent `csh` from trying to execute
+   `configure` itself.
+
+   Running `configure` takes awhile. While running, it prints some
+   messages telling which features it is checking for.
+
+3. Type `make` to compile the package.
+
+4. Optionally, type `make check` to run any self-tests that come with
+   the package.
+
+5. Type `make install` to install the programs and any data files and
+   documentation.
+
+6. You can remove the program binaries and object files from the
+   source code directory by typing `make clean`. To also remove the
+   files that `configure` created (so you can compile the package for
+   a different kind of computer), type `make distclean`. There is
+   also a `make maintainer-clean` target, but that is intended mainly
+   for the package's developers. If you use it, you may have to get
+   all sorts of other programs in order to regenerate files that came
+   with the distribution.
+
+# Compilers and Options
+
+Some systems require unusual options for compilation or linking that
+the `configure` script does not know about. You can give `configure`
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+
+```bash
+CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+```
+
+Or on systems that have the `env' program, you can do it like this:
+
+```bash
+env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+```
+
+# Compiling For Multiple Architectures
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make` that
+supports the `VPATH` variable, such as GNU `make`. `cd` to the
+directory where you want the object files and executables to go and run
+the `configure` script. `configure` automatically checks for the
+source code in the directory that `configure` is in and in `..`.
+
+If you have to use a `make` that does not supports the `VPATH`
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+# Installation Names
+
+By default, `make install` will install the package's files in
+`/usr/local/bin`, `/usr/local/man`, etc. You can specify an
+installation prefix other than `/usr/local`by giving `configure` the
+option `--prefix=PATH`.
+
+You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure` the option `--exec-prefix=PATH`, the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH` to specify different values for particular
+kinds of files. Run `configure --help` for a list of the directories
+you can set and what kinds of files go in them.
+
+If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure` the
+option `--program-prefix=PREFIX` or `--program-suffix=SUFFIX`.
+
+# Optional Features
+
+Some packages pay attention to `--enable-FEATURE` options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE`options, where PACKAGE
+is something like`gnu-as' or `x` (for the X Window System). The
+`README' should mention any `--enable-`and`--with-` options that the
+package recognizes.
+
+For packages that use the X Window System, `configure` can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure` options `--x-includes=DIR` and
+`--x-libraries=DIR` to specify their locations.
+
+# Specifying the System Type
+
+There may be some features `configure` can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure` can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE` option. TYPE can either be a short name for the system
+type, such as `sun4`, or a canonical name with three fields:
+CPU-COMPANY-SYSTEM
+
+See the file `config.sub` for the possible values of each field. If
+`config.sub` isn't included in this package, then this package doesn't
+need to know the host type.
+
+If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE` option to select the type of system they will
+produce code for and the `--build=TYPE` option to select the type of
+system on which you are compiling the package.
+
+# Sharing Defaults
+
+If you want to set default values for `configure` scripts to share,
+you can create a site shell script called `config.site` that gives
+default values for variables like `CC`, `cache_file`, and `prefix`.
+`configure` looks for `PREFIX/share/config.site` if it exists, then
+`PREFIX/etc/config.site` if it exists. Or, you can set the`CONFIG_SITE`
+environment variable to the location of the site script.
+A warning: not all `configure` scripts look for a site script.
+
+# Operation Controls
+
+`configure` recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE`
+Use and save the results of the tests in FILE instead of
+`./config.cache`. Set FILE to `/dev/null` to disable caching, for
+debugging `configure'.
+
+`--help`
+Print a summary of the options to `configure`, and exit.
+
+`--quiet`
+`--silent`
+`-q`
+Do not print messages saying which checks are being made. To
+suppress all normal output, redirect it to `/dev/null` (any error
+messages will still be shown).
+
+`--srcdir=DIR`
+Look for the package's source code in directory DIR. Usually
+`configure` can determine that directory automatically.
+
+`--version`
+Print the version of Autoconf used to generate the `configure`
+script, and exit.
+
+`configure` also accepts some other, not widely useful, options.
+
+# Portability Notes
+
+To run xmlto on a non-Linux system you will need some supporting
+software. For Solaris at least, you will need GNU bash, GNU find,
+mktemp, and getopt. The first two are GNU packages and can be obtained
+from <http://www.gnu.org/>.
+
+For getopt, visit <http://huizen.dds.nl/~frodol/getopt.html>. For
+Solaris, the following will need changing:
+
+```bash
+LIBCGETOPT=0
+WITH_GETTEXT=0
+INSTALL=ginstall
+```
+
+For mktemp, visit <http://www.mktemp.org/>. For Solaris, stripping
+the binary will cause it to core dump on startup. If you experience this
+problem remove the -s from the installation command line.
+
+# Build Problems
+
+If you get `Attempt to load network entity` errors when building
+xmlto, your system does not have the required support for XML Catalogs
+(http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).
+In particular, Debian has no support for these.
diff --git a/NEWS b/NEWS
deleted file mode 100644
index f425eab..0000000
--- a/NEWS
+++ /dev/null
@@ -1,191 +0,0 @@
-# XMLTO News
-
-- 0.0.29 (stable)
-
-  - Rename variable BASH to XMLTO_BASH_PATH (#8)
-  - Fix warnings in the build
-  - Regenerate xmlif to use new version of gcc
-  - Rename and format markdown files
-  - Convert output path to unix on cygwin/msys
-
-- 0.0.28 (stable)
-
-  - fix broken temp files removal (introduced in 0.0.27)
-  - links detection changed to elinks (new links options
-    not compatible)
-
-- 0.0.27 (stable)
-
-  - remove several bashisms from scripts
-  - add new option `--profile` for preprocessing documents
-    with profiling stylesheet
-  - fix several potential crashes in xmlif (found by static
-    analysis)
-
-- 0.0.26 (stable)
-
-  - `--searchpath` option no longer produces warning
-    about local builtin used outside the function
-    (debian #652974)
-  - fix build with automake 1.13+
-  - fix noextensions option recognition
-  - handle used css list in epub format
-
-- 0.0.25 (stable)
-
-  - prevent possible collisions in manpage generation
-  - fix broken `fop/fop1` extensions
-  - fix handling of external data objects with fop
-    (debian #568894)
-
-- 0.0.24 (stable)
-
-  - README file was improved to provide better guidance
-    for users
-  - show the text-web-browser converting command in
-    verbose mode for better debugging
-  - workaround passivetex limitation for chapters
-    titles starting with L
-  - use passivetex/fop extensions by default, provide
-    --noextensions option to disable them
-  - basic experimental support for conversion from docbook
-    to epub
-
-- 0.0.23 (stable)
-
-  - add support for detection of tail and gnu cp, do
-    not hardcode `/bin/bash` initial value
-  - use those detected binaries instead of previously
-    hardcoded ones
-  - use `type -t` bash shell builtin instead of `which`
-    utility for detection of file availability
-  - new option `--noautosize` to prevent overriding of
-    user-defined paper sizes
-
-- 0.0.22 (stable)
-
-  - added experimental support for xhtml1 source format
-    (output formats are awt, dvi, fo, mif, pcl, pdf, ps,
-    svg, txt)
-  - create tex and xhtml subpackage in spec file to reduce
-    requirements for main package
-  - automated detection of programs path in configure,
-    program/utility path could be passed to configure by
-    variable, allowed selection of default backend and
-    default webbrowser (just for requirements at the moment)
-  - check for missing tools/programs, fail if tool is not
-    available
-  - fixed libpaper cleaning up(debian #491390)
-  - xmllint validity check now with noent option(debian
-    #516253)
-  - fixed `--stringparam` option
-  - added some messages to easier detection of troubles,
-    used different error codes for various situations(see
-    docs)
-  - fixed FSF addresses, xmlif now licensed under GPLv2+
-    (was GPL+, various indentation fixes, fixed documentation
-    compilation warnings)
-
-- 0.0.21 (stable)
-
-  - added experimental support for dblatex (needs installed
-    dblatex package)
-  - fixed issue with `cp -a` option on non-gnu systems
-    non-mandatory support for libpaper
-
-- 0.0.20 (stable)
-
-  - added experimental fop support(needs installed fop package)
-    possibility to read a stylesheet from STDIN
-  - some small fixes/changes in docbook formats and xmlto script
-
-- 0.0.19 (stable)
-
-  - added supported for basename with spaces
-  - stringparam option for passing argument to stylesheet
-  - bash no longer hardcoded
-  - added option for not cleaning temp files for diagnostics
-
-- 0.0.18 (stable)
-
-  - A portability problem was fixed, and the xmlif syntax was modified.
-
-- 0.0.17 (stable)
-
-  - The exit code when validation fails was fixed. w3m is used for text output.
-
-- 0.0.16 (stable)
-
-  - Minor bug-fixes.
-
-- 0.0.15 (stable)
-
-  - Some format script fixes.
-
-- 0.0.14 (stable)
-
-  - The db2man fixes are no longer needed.
-
-- 0.0.13 (stable)
-
-  - Several minor bugs were fixed.
-
-- 0.0.12 (stable)
-
-  - Validation is now working, and output encoding is
-    determined from the environment.
-
-- 0.0.11 (stable)
-
-  - The db2man stylesheet is no longer shipped,
-    since it now comes with docbook-xsl.
-  - A new tool, xmlif, is included.
-  - Several bugs were fixed.
-
-- 0.0.10 (stable)
-
-  - A small bug was fixed in the PS and DVI format scripts,
-    and the db2man code has been synchronised to CVS.
-
-- 0.0.9 (stable)
-
-  - There were some further improvements made to db2man.
-
-- 0.0.8 (stable)
-
-  - There were assorted fixes, and some further db2man improvements.
-
-- 0.0.7 (stable)
-
-  - Some portability fixes were made and
-    there were some more db2man improvements.
-
-- 0.0.6 (stable)
-
-  - Some db2man improvements were made, some minor script bugs
-    were fixed, and automatic paper size handling was added.
-
-- 0.0.5 (stable)
-
-  - Some db2man bugs were fixed.
-
-- 0.0.4 (stable)
-
-  - The option handling was improved.
-
-- 0.0.3 (stable)
-
-  - The db2man stylesheet was further improved.
-
-- 0.0.2 (stable)
-
-  - More format scripts were added, and the db2man stylesheet was
-    further improved.
-
-- 0.0.1 (stable)
-
-  - Made the format script interface definition a bit clearer.
-
-- 0.0.0 (stable)
-
-  - Initial release.
diff --git a/NEWS.md b/NEWS.md
new file mode 100644
index 0000000..f425eab
--- /dev/null
+++ b/NEWS.md
@@ -0,0 +1,191 @@
+# XMLTO News
+
+- 0.0.29 (stable)
+
+  - Rename variable BASH to XMLTO_BASH_PATH (#8)
+  - Fix warnings in the build
+  - Regenerate xmlif to use new version of gcc
+  - Rename and format markdown files
+  - Convert output path to unix on cygwin/msys
+
+- 0.0.28 (stable)
+
+  - fix broken temp files removal (introduced in 0.0.27)
+  - links detection changed to elinks (new links options
+    not compatible)
+
+- 0.0.27 (stable)
+
+  - remove several bashisms from scripts
+  - add new option `--profile` for preprocessing documents
+    with profiling stylesheet
+  - fix several potential crashes in xmlif (found by static
+    analysis)
+
+- 0.0.26 (stable)
+
+  - `--searchpath` option no longer produces warning
+    about local builtin used outside the function
+    (debian #652974)
+  - fix build with automake 1.13+
+  - fix noextensions option recognition
+  - handle used css list in epub format
+
+- 0.0.25 (stable)
+
+  - prevent possible collisions in manpage generation
+  - fix broken `fop/fop1` extensions
+  - fix handling of external data objects with fop
+    (debian #568894)
+
+- 0.0.24 (stable)
+
+  - README file was improved to provide better guidance
+    for users
+  - show the text-web-browser converting command in
+    verbose mode for better debugging
+  - workaround passivetex limitation for chapters
+    titles starting with L
+  - use passivetex/fop extensions by default, provide
+    --noextensions option to disable them
+  - basic experimental support for conversion from docbook
+    to epub
+
+- 0.0.23 (stable)
+
+  - add support for detection of tail and gnu cp, do
+    not hardcode `/bin/bash` initial value
+  - use those detected binaries instead of previously
+    hardcoded ones
+  - use `type -t` bash shell builtin instead of `which`
+    utility for detection of file availability
+  - new option `--noautosize` to prevent overriding of
+    user-defined paper sizes
+
+- 0.0.22 (stable)
+
+  - added experimental support for xhtml1 source format
+    (output formats are awt, dvi, fo, mif, pcl, pdf, ps,
+    svg, txt)
+  - create tex and xhtml subpackage in spec file to reduce
+    requirements for main package
+  - automated detection of programs path in configure,
+    program/utility path could be passed to configure by
+    variable, allowed selection of default backend and
+    default webbrowser (just for requirements at the moment)
+  - check for missing tools/programs, fail if tool is not
+    available
+  - fixed libpaper cleaning up(debian #491390)
+  - xmllint validity check now with noent option(debian
+    #516253)
+  - fixed `--stringparam` option
+  - added some messages to easier detection of troubles,
+    used different error codes for various situations(see
+    docs)
+  - fixed FSF addresses, xmlif now licensed under GPLv2+
+    (was GPL+, various indentation fixes, fixed documentation
+    compilation warnings)
+
+- 0.0.21 (stable)
+
+  - added experimental support for dblatex (needs installed
+    dblatex package)
+  - fixed issue with `cp -a` option on non-gnu systems
+    non-mandatory support for libpaper
+
+- 0.0.20 (stable)
+
+  - added experimental fop support(needs installed fop package)
+    possibility to read a stylesheet from STDIN
+  - some small fixes/changes in docbook formats and xmlto script
+
+- 0.0.19 (stable)
+
+  - added supported for basename with spaces
+  - stringparam option for passing argument to stylesheet
+  - bash no longer hardcoded
+  - added option for not cleaning temp files for diagnostics
+
+- 0.0.18 (stable)
+
+  - A portability problem was fixed, and the xmlif syntax was modified.
+
+- 0.0.17 (stable)
+
+  - The exit code when validation fails was fixed. w3m is used for text output.
+
+- 0.0.16 (stable)
+
+  - Minor bug-fixes.
+
+- 0.0.15 (stable)
+
+  - Some format script fixes.
+
+- 0.0.14 (stable)
+
+  - The db2man fixes are no longer needed.
+
+- 0.0.13 (stable)
+
+  - Several minor bugs were fixed.
+
+- 0.0.12 (stable)
+
+  - Validation is now working, and output encoding is
+    determined from the environment.
+
+- 0.0.11 (stable)
+
+  - The db2man stylesheet is no longer shipped,
+    since it now comes with docbook-xsl.
+  - A new tool, xmlif, is included.
+  - Several bugs were fixed.
+
+- 0.0.10 (stable)
+
+  - A small bug was fixed in the PS and DVI format scripts,
+    and the db2man code has been synchronised to CVS.
+
+- 0.0.9 (stable)
+
+  - There were some further improvements made to db2man.
+
+- 0.0.8 (stable)
+
+  - There were assorted fixes, and some further db2man improvements.
+
+- 0.0.7 (stable)
+
+  - Some portability fixes were made and
+    there were some more db2man improvements.
+
+- 0.0.6 (stable)
+
+  - Some db2man improvements were made, some minor script bugs
+    were fixed, and automatic paper size handling was added.
+
+- 0.0.5 (stable)
+
+  - Some db2man bugs were fixed.
+
+- 0.0.4 (stable)
+
+  - The option handling was improved.
+
+- 0.0.3 (stable)
+
+  - The db2man stylesheet was further improved.
+
+- 0.0.2 (stable)
+
+  - More format scripts were added, and the db2man stylesheet was
+    further improved.
+
+- 0.0.1 (stable)
+
+  - Made the format script interface definition a bit clearer.
+
+- 0.0.0 (stable)
+
+  - Initial release.
diff --git a/README b/README
deleted file mode 100644
index c3bcc83..0000000
--- a/README
+++ /dev/null
@@ -1,37 +0,0 @@
-# xmlto
-
-Utility `xmlto` is a simple shell script for converting XML files to various formats.
-It serves as an easy-to-use command-line frontend to make fine output without
-remembering many long options and searching for the syntax of the backends.
-
-Currently, it supports conversion from `docbook`, `xhtml1`, and `fo` format to
-various output formats (`awt`, `fo`, `htmlhelp`, `javahelp`, `mif`, `pdf`, `svg`,
-`xhtml`, `dvi`, `html`, `html-nochunks`, `man`, `pcl`, `ps`, `txt`, `xhtml-nochunks`).
-Some output formats may be unavailable if you don't have all prerequisites installed,
-as xmlto uses backends (`xsltproc`, `passivetex/fop/dblatex`) for processing.
-
-You could check and generate the offline version of documentation with xmlto from
-`doc/xmlif.xml` sources. However, if you received the xmlif as a part of the distribution,
-you should already have the `xmlif(1)` manpage on your machine.
-
-If you received xmlto as a part of the distribution, you should already have
-the `xmlto(1)` manpage on your machine.
-
-# xmlif
-
-`xmlif` utility filters XML according to conditionalizing markup. This can be useful
-for formatting one of several versions of an XML document depending on conditions
-passed to the command.
-
-You could check and generate the offline version of documentation with xmlto from
-`doc/xmlif.xml` sources. However, if you received xmlif as a part of distribution,
-you should already have `xmlif(1)` manpage on your machine.
-
-# How to contact authors
-
-Since xmlto 0.19, xmlto is maintained by Ondřej Vašík (`ovasik@redhat.com`) and
-since 0.29 co-maintained by Ondřej Sloup (`osloup@redhat.com`).
-
-You can contact me directly via email or leave a ticket on the project's Pagure
-instance at [https://pagure.io/xmlto/new_issue](https://pagure.io/xmlto/new_issue).
-A registered fedoraproject.org account is required for this.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c3bcc83
--- /dev/null
+++ b/README.md
@@ -0,0 +1,37 @@
+# xmlto
+
+Utility `xmlto` is a simple shell script for converting XML files to various formats.
+It serves as an easy-to-use command-line frontend to make fine output without
+remembering many long options and searching for the syntax of the backends.
+
+Currently, it supports conversion from `docbook`, `xhtml1`, and `fo` format to
+various output formats (`awt`, `fo`, `htmlhelp`, `javahelp`, `mif`, `pdf`, `svg`,
+`xhtml`, `dvi`, `html`, `html-nochunks`, `man`, `pcl`, `ps`, `txt`, `xhtml-nochunks`).
+Some output formats may be unavailable if you don't have all prerequisites installed,
+as xmlto uses backends (`xsltproc`, `passivetex/fop/dblatex`) for processing.
+
+You could check and generate the offline version of documentation with xmlto from
+`doc/xmlif.xml` sources. However, if you received the xmlif as a part of the distribution,
+you should already have the `xmlif(1)` manpage on your machine.
+
+If you received xmlto as a part of the distribution, you should already have
+the `xmlto(1)` manpage on your machine.
+
+# xmlif
+
+`xmlif` utility filters XML according to conditionalizing markup. This can be useful
+for formatting one of several versions of an XML document depending on conditions
+passed to the command.
+
+You could check and generate the offline version of documentation with xmlto from
+`doc/xmlif.xml` sources. However, if you received xmlif as a part of distribution,
+you should already have `xmlif(1)` manpage on your machine.
+
+# How to contact authors
+
+Since xmlto 0.19, xmlto is maintained by Ondřej Vašík (`ovasik@redhat.com`) and
+since 0.29 co-maintained by Ondřej Sloup (`osloup@redhat.com`).
+
+You can contact me directly via email or leave a ticket on the project's Pagure
+instance at [https://pagure.io/xmlto/new_issue](https://pagure.io/xmlto/new_issue).
+A registered fedoraproject.org account is required for this.
diff --git a/THANKS b/THANKS
deleted file mode 100644
index fdfbb54..0000000
--- a/THANKS
+++ /dev/null
@@ -1,31 +0,0 @@
-Thanks to the following people. Their ideas/patches were used since 0.0.19 (since maintainer change). 
-Please let me know if your name is missing here and your idea/patch was used.
-
-- Ismael Olea <ismael@olea.org>
-- Daniel Leidert <daniel.leidert@wgdd.de>
-- Robert P. J. Day <rpjday@mindspring.com>
-- Tommy Reynolds <tommy.reynolds@megacoder.com>
-- Coleman Kane <cokane@cokane.org>
-- Shlomi Fish <shlomif@gmail.com>
-- Braden McDaniel <braden@endoframe.com>
-- Andreas Hoenen <andreas.hoenen@arcor.de>
-- Graham Wilson <graham@debian.org>
-- Joseph Parmelee <jparmele@wildbear.com>
-- Jonathan Nieder <jrnieder@gmail.com>
-- Ben Walton <bwalton@artsci.utoronto.ca>
-- Luis Garrido <luisgarrido@users.sourceforge.net>
-- Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
-- Christopher Yeleighton <giecrilj@stegny.2a.pl>
-- Mike Frysinger <vapier@gentoo.org>
-- Cyril Brulebois <kibi@debian.org>
-- Matthias Andree <mandree@freebsd.org>
-- Kacper Perschke <kacper.perschke@gmail.com>
-- Marko Lindqvist <cazfi74@gmail.com>
-- Ole Streicher <debian@liska.ath.cx>
-- Knut Schönfels <knut.schoenfels@redknee.com>
-- Roy Marples <roy@marples.name>
-- Joost Pjotr Vermeer <jp@df5ea.net>
-- Justin Turney <justin.turney@gmail.com>
-- Marc-André Lureau <marcandre.lureau@redhat.com>
-- Thomas Kuehne <thomas@kuehne.cn>
-- Ondřej Vašík <ovasik@redhat.com>
diff --git a/THANKS.md b/THANKS.md
new file mode 100644
index 0000000..fdfbb54
--- /dev/null
+++ b/THANKS.md
@@ -0,0 +1,31 @@
+Thanks to the following people. Their ideas/patches were used since 0.0.19 (since maintainer change). 
+Please let me know if your name is missing here and your idea/patch was used.
+
+- Ismael Olea <ismael@olea.org>
+- Daniel Leidert <daniel.leidert@wgdd.de>
+- Robert P. J. Day <rpjday@mindspring.com>
+- Tommy Reynolds <tommy.reynolds@megacoder.com>
+- Coleman Kane <cokane@cokane.org>
+- Shlomi Fish <shlomif@gmail.com>
+- Braden McDaniel <braden@endoframe.com>
+- Andreas Hoenen <andreas.hoenen@arcor.de>
+- Graham Wilson <graham@debian.org>
+- Joseph Parmelee <jparmele@wildbear.com>
+- Jonathan Nieder <jrnieder@gmail.com>
+- Ben Walton <bwalton@artsci.utoronto.ca>
+- Luis Garrido <luisgarrido@users.sourceforge.net>
+- Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
+- Christopher Yeleighton <giecrilj@stegny.2a.pl>
+- Mike Frysinger <vapier@gentoo.org>
+- Cyril Brulebois <kibi@debian.org>
+- Matthias Andree <mandree@freebsd.org>
+- Kacper Perschke <kacper.perschke@gmail.com>
+- Marko Lindqvist <cazfi74@gmail.com>
+- Ole Streicher <debian@liska.ath.cx>
+- Knut Schönfels <knut.schoenfels@redknee.com>
+- Roy Marples <roy@marples.name>
+- Joost Pjotr Vermeer <jp@df5ea.net>
+- Justin Turney <justin.turney@gmail.com>
+- Marc-André Lureau <marcandre.lureau@redhat.com>
+- Thomas Kuehne <thomas@kuehne.cn>
+- Ondřej Vašík <ovasik@redhat.com>

From 1106358891f3a5c6adf7522691e02289f4500bdd Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:29:45 +0000
Subject: [PATCH 7/10] Adjust xmlto.spec.in by Fedora updated spec file


---

diff --git a/xmlto.spec.in b/xmlto.spec.in
index 806ef57..a89f818 100644
--- a/xmlto.spec.in
+++ b/xmlto.spec.in
@@ -2,26 +2,23 @@ Summary: A tool for converting XML files to various formats.
 Name: xmlto
 Version: @VERSION@
 Release: 0.1
-License: GPLv2+
-Group: Applications/System
-#Older versions up to xmlto-0.0.20
-#URL: http://cyberelk.net/tim/xmlto/
-#Source0: http://cyberelk.net/tim/data/xmlto/stable/%{name}-%{version}.tar.bz2
+License: GPL-2.0-or-later
+# Older versions up to xmlto-0.0.20
+# URL: http://cyberelk.net/tim/xmlto/
+# Source0: http://cyberelk.net/tim/data/xmlto/stable/%{name}-%{version}.tar.bz2
 URL: https://fedorahosted.org/xmlto/
 Source0: https://fedorahosted.org/releases/x/m/%{name}/%{name}-%{version}.tar.bz2
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-BuildRequires: docbook-xsl >= 1.56.0
+BuildRequires: make
+BuildRequires: docbook-xsl
 BuildRequires: libxslt
 BuildRequires: util-linux, flex
+BuildRequires: gcc
 
-# We rely entirely on the DocBook XSL stylesheets!
-Requires: docbook-xsl >= 1.56.0
-
-# We need one of text-www-browsers(w3m,lynx,[e]links) for full functionality
-Requires: @WEBBROWSER@
-
+# We rely heavily on the DocBook XSL stylesheets!
+Requires: docbook-xsl
 Requires: libxslt
 Requires: docbook-dtds
 Requires: util-linux, flex
@@ -31,51 +28,48 @@ This is a package for converting XML files to various formats using XSL
 stylesheets.
 
 %package tex
-Group: Applications/System
 License: GPLv2+
 Summary: A set of xmlto backends with TeX requirements
 # For full functionality, we need passivetex.
-Requires: passivetex >= 1.11
+Requires: tex-passivetex
 # We require main package
 Requires: xmlto = %{version}-%{release}
+BuildArch: noarch
 
 %description tex
 This subpackage contains xmlto backend scripts which do require
 PassiveTeX/TeX for functionality.
 
 %package xhtml
-Group: Applications/System
 License: GPLv2+
 Summary: A set of xmlto backends for xhtml1 source format
 # For functionality we need stylesheets xhtml2fo-style-xsl
 Requires: xhtml2fo-style-xsl
 # We require main package
 Requires: xmlto = %{version}-%{release}
+BuildArch: noarch
 
 %description xhtml
 This subpackage contains xmlto backend scripts for processing
 xhtml1 source format.
 
 %prep
-%setup -q
+%autosetup -p1
 
 %build
-%configure
-make
+%configure BASH=/bin/bash
+%make_build
+
+%check
 make check
 
 %install
-rm -rf %{buildroot}
-make install DESTDIR=%{buildroot} INSTALL="install -p"
-
-[ -d %{buildroot}%{_datadir}/xmlto/xsl ] || \
-  mkdir %{buildroot}%{_datadir}/xmlto/xsl
+%make_install
 
-%clean
-rm -rf %{buildroot}
 
 %files
-%defattr(-,root,root,-)
+%license COPYING
+%doc ChangeLog README.md AUTHORS.md NEWS.md
 %{_bindir}/*
 %{_mandir}/*/*
 %{_datadir}/xmlto
@@ -86,17 +80,22 @@ rm -rf %{buildroot}
 %exclude %{_datadir}/xmlto/format/xhtml1
 
 %files tex
-%defattr(-,root,root,-)
 %{_datadir}/xmlto/format/fo/dvi
 %{_datadir}/xmlto/format/fo/ps
 %{_datadir}/xmlto/format/fo/pdf
 
 %files xhtml
-%defattr(-,root,root,-)
 %dir %{_datadir}/xmlto/format/xhtml1/
 %{_datadir}/xmlto/format/xhtml1/*
 
 %changelog
+* Wed Apr 10 2024 Ondřej Sloup <osloup@redhat.com>
+- Rename variable BASH to XMLTO_BASH_PATH (#8)
+- Fix warnings in the build
+- Regenerate xmlif to use new version of gcc
+- Rename and format markdown files
+- Convert output path to unix on cygwin/msys
+
 * Wed Nov 18 2015 Ondrej Vasik <ovasik@redhat.com>
 - New version 0.0.28
 - fix broken temp files removal

From 13a831d76467c88f9e79f9804e2471137ec05331 Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 16:30:19 +0000
Subject: [PATCH 8/10] Update xmlto to 0.0.29


---

diff --git a/configure.ac b/configure.ac
index 8c3ceae..675dcb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([xmlto],[0.0.28])
+AC_INIT([xmlto],[0.0.29])
 AC_CONFIG_SRCDIR(xmlto.spec.in)
 AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects 1.6])
 AC_CONFIG_HEADERS(config.h)

From a02ce8e15e5fce41a168967636fc7599046e4513 Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 17:35:21 +0000
Subject: [PATCH 9/10] Skip validating xmlto man page during build


---

diff --git a/Makefile.am b/Makefile.am
index 8b65f47..cbbe124 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -68,7 +68,7 @@ EXTRA_DIST = xmlto.spec \
 	doc/xmlif.xml \
 	xmlto.mak
 
-GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(XMLTO_BASH_PATH) ./xmlto -o $(@D) man $<
+GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(XMLTO_BASH_PATH) ./xmlto --skip-validation -o $(@D) man $<
 man/man1/xmlto.1: doc/xmlto.xml ; $(GEN_MANPAGE)
 man/man1/xmlif.1: doc/xmlif.xml ; $(GEN_MANPAGE)
 

From 635dcd5bc84a7b67a3a2050a179d96e1d3050b15 Mon Sep 17 00:00:00 2001
From: Ondřej Sloup <osloup@redhat.com>
Date: Apr 11 2024 17:37:30 +0000
Subject: [PATCH 10/10] Update ChangeLog, News and xmlto.spec.in messages, Change ticket to issue


---

diff --git a/ChangeLog b/ChangeLog
index fd87171..c825b15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,12 @@
 - 2024-04-10 Ondřej Sloup <osloup@redhat.com>
 
-  - Rename variable BASH to XMLTO_BASH_PATH (#8)
-  - Fix warnings in the build
-  - Regenerate xmlif to use new version of gcc
-  - Rename and format markdown files
-  - Convert output path to unix on cygwin/msys
-  - Add .gitignore
+  - xmlto.in, Makefile.am, configure.ac: Rename variable BASH to XMLTO_BASH_PATH (#8)
+  - xmlif/xmlif.{c,l}: Regenerate xmlif to use new version of gcc
+  - ChangeLog, {README, NEWS, FAQ, AUTHORS, INSTALL, THANKS}.md: Rename and format markdown files
+  - xmlto.spec.in: Update Fedora spec file generation according to Fedora package repo
+  - xmlto.in: Convert output path to unix on cygwin/msys
+  - .gitignore: Add .gitignore
+  - Makefile.am: Skip validating xmlto man page during build
 
 - 2015-11-18 Ondrej Vasik <ovasik@redhat.com>
 
diff --git a/NEWS.md b/NEWS.md
index f425eab..3329b0a 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -3,10 +3,12 @@
 - 0.0.29 (stable)
 
   - Rename variable BASH to XMLTO_BASH_PATH (#8)
-  - Fix warnings in the build
   - Regenerate xmlif to use new version of gcc
   - Rename and format markdown files
+  - Update Fedora spec file generation according to Fedora package repo
   - Convert output path to unix on cygwin/msys
+  - Add .gitignore
+  - Skip validating xmlto man page during build
 
 - 0.0.28 (stable)
 
diff --git a/README.md b/README.md
index c3bcc83..b401b29 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,6 @@ you should already have `xmlif(1)` manpage on your machine.
 Since xmlto 0.19, xmlto is maintained by Ondřej Vašík (`ovasik@redhat.com`) and
 since 0.29 co-maintained by Ondřej Sloup (`osloup@redhat.com`).
 
-You can contact me directly via email or leave a ticket on the project's Pagure
+You can contact me directly via email or leave a issue on the project's Pagure
 instance at [https://pagure.io/xmlto/new_issue](https://pagure.io/xmlto/new_issue).
 A registered fedoraproject.org account is required for this.
diff --git a/xmlto.spec.in b/xmlto.spec.in
index a89f818..b9eb4a2 100644
--- a/xmlto.spec.in
+++ b/xmlto.spec.in
@@ -91,10 +91,12 @@ make check
 %changelog
 * Wed Apr 10 2024 Ondřej Sloup <osloup@redhat.com>
 - Rename variable BASH to XMLTO_BASH_PATH (#8)
-- Fix warnings in the build
 - Regenerate xmlif to use new version of gcc
 - Rename and format markdown files
+- Update Fedora spec file generation according to Fedora package repo
 - Convert output path to unix on cygwin/msys
+- Add .gitignore
+- Skip validating xmlto man page during build
 
 * Wed Nov 18 2015 Ondrej Vasik <ovasik@redhat.com>
 - New version 0.0.28

