Serious upgrade of internal subset support, setup for gtk-doc, Daniel
diff --git a/error.c b/error.c
index eb93d96..3a479ea 100644
--- a/error.c
+++ b/error.c
@@ -38,12 +38,12 @@
     va_end(ap);
     cur = ctxt->input->cur;
     base = ctxt->input->base;
-    while ((*cur == '\n') || (*cur == '\r')) {
+    while ((cur > base) && ((*cur == '\n') || (*cur == '\r'))) {
 	cur--;
 	base--;
     }
     n = 0;
-    while ((n++ < 60) && (cur >= base) && (*cur != '\n') && (*cur != '\r'))
+    while ((n++ < 60) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
         cur--;
     if ((*cur == '\n') || (*cur == '\r')) cur++;
     base = cur;
@@ -93,7 +93,7 @@
     cur = ctxt->input->cur;
     base = ctxt->input->base;
     n = 0;
-    while ((n++ < 60) && (cur >= base) && (*cur != '\n') && (*cur != '\r'))
+    while ((n++ < 60) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
         cur--;
     if ((*cur != '\n') || (*cur != '\r')) cur++;
     base = cur;