emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r105297: * xml.c (parse_region): If a


From: Lars Magne Ingebrigtsen
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105297: * xml.c (parse_region): If a document contains only comments, return that, too.
Date: Wed, 20 Jul 2011 22:05:02 +0200
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105297
author: HAMANO Kiyoto <address@hidden>
committer: Lars Magne Ingebrigtsen <address@hidden>
branch nick: trunk
timestamp: Wed 2011-07-20 22:05:02 +0200
message:
  * xml.c (parse_region): If a document contains only comments, return that, 
too.
modified:
  src/ChangeLog
  src/xml.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-07-20 19:58:46 +0000
+++ b/src/ChangeLog     2011-07-20 20:05:02 +0000
@@ -1,3 +1,8 @@
+2011-07-20  HAMANO Kiyoto  <address@hidden>
+
+       * xml.c (parse_region): If a document contains only comments,
+       return that, too.
+
 2011-07-20  Lars Magne Ingebrigtsen  <address@hidden>
 
        * xml.c (make_dom): Return comments, too.

=== modified file 'src/xml.c'
--- a/src/xml.c 2011-07-20 19:58:46 +0000
+++ b/src/xml.c 2011-07-20 20:05:02 +0000
@@ -125,9 +125,21 @@
 
   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 ();
     }


reply via email to

[Prev in Thread] Current Thread [Next in Thread]