preparing release 2.4.27 updated and rebuilt the docs try to make sure the

* configure.in: preparing release 2.4.27
* doc/* : updated and rebuilt the docs
* doc/Makefile.am libxml.spec.in: try to make sure the tutorial
  and all the docs are actually packaged and in the final RPMs
* parser.c parserInternals.c include/libxml/parser.h: restore
  xmllint --recover feature.
Daniel
diff --git a/parserInternals.c b/parserInternals.c
index c09fc95..656af84 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -1175,7 +1175,7 @@
 				 "Char 0x%X out of allowed range\n", val);
 			    ctxt->errNo = XML_ERR_INVALID_ENCODING;
 			    ctxt->wellFormed = 0;
-			    ctxt->disableSAX = 1;
+			    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 			}    
 		    } else
 		      /* 2-byte code */
@@ -1317,7 +1317,7 @@
 				     "Char 0x%X out of allowed range\n", val);
 		ctxt->errNo = XML_ERR_INVALID_ENCODING;
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }    
 	    return(val);
 	} else {
@@ -1438,7 +1438,7 @@
                                      val);
                 ctxt->errNo = XML_ERR_INVALID_ENCODING;
                 ctxt->wellFormed = 0;
-                ctxt->disableSAX = 1;
+                if (ctxt->recovery == 0) ctxt->disableSAX = 1;
             }
             return (val);
         } else {
@@ -1568,7 +1568,7 @@
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		ctxt->sax->error(ctxt->userData, "encoding unknown\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    break;
 	case XML_CHAR_ENCODING_NONE:
 	    /* let's assume it's UTF-8 without the XML decl */
@@ -1604,7 +1604,7 @@
 		if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		    ctxt->sax->error(ctxt->userData, "encoding unknown\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		ctxt->charset = XML_CHAR_ENCODING_UTF8;
 		break;
 	    case XML_CHAR_ENCODING_NONE:
@@ -2750,7 +2750,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"Detected entity reference loop\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	ctxt->errNo = XML_ERR_ENTITY_LOOP;
 	return(NULL);
     }
@@ -3051,7 +3051,7 @@
 	        ctxt->sax->error(ctxt->userData, 
 			         "String not closed \"%.50s\"\n", buf);
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         } else {
 	    NEXT;
 	}
@@ -3078,7 +3078,7 @@
 	        ctxt->sax->error(ctxt->userData,
 			         "String not closed \"%.50s\"\n", buf);
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         } else {
 	    NEXT;
 	}
@@ -3189,7 +3189,7 @@
 	    }
 	    ctxt->errNo = XML_ERR_NS_DECL_ERROR;
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
             NEXT;
         }
     }
@@ -3344,7 +3344,7 @@
 	    ctxt->sax->error(ctxt->userData, "xmlHandleEntity %s: content == NULL\n",
 	               entity->name);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         return;
     }
     len = xmlStrlen(entity->content);