]> git.eshelyaron.com Git - emacs.git/commitdiff
* xml.c (parse_region): If a document contains only comments, return that, too.
authorHAMANO Kiyoto <khiker.mail@gmail.com>
Wed, 20 Jul 2011 20:05:02 +0000 (22:05 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 20 Jul 2011 20:05:02 +0000 (22:05 +0200)
src/ChangeLog
src/xml.c

index 86062435a5d93b416283f7aba5604b351a84e143..02819607fd9431ad6cc127c63ee38dfedc44f00b 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-20  HAMANO Kiyoto  <khiker.mail@gmail.com>
+
+       * xml.c (parse_region): If a document contains only comments,
+       return that, too.
+
 2011-07-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * xml.c (make_dom): Return comments, too.
index 6dd52638b7de315a9f8c45632b1d26df16ac97e5..6d212b440591f93652bece94d0d893a4e13c207d 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -125,9 +125,21 @@ parse_region (Lisp_Object start, Lisp_Object end, Lisp_Object base_url, int html
 
   if (doc != NULL)
     {
-      node = xmlDocGetRootElement (doc);
-      if (node != NULL)
-       result = make_dom (node);
+      xmlNode *n = doc->children->next;
+      Lisp_Object r = Qnil;
+
+      while (n) {
+       if (r != Qnil)
+         result = Fcons (r, result);
+       r = make_dom (n);
+       n = n->next;
+      }
+
+      if (result == Qnil)
+       result = r;
+      else
+       result = Fnreverse (Fcons (r, result));
+
       xmlFreeDoc (doc);
       xmlCleanupParser ();
     }