diff options
| author | HAMANO Kiyoto <khiker.mail@gmail.com> | 2011-07-20 22:05:02 +0200 |
|---|---|---|
| committer | Lars Magne Ingebrigtsen <larsi@gnus.org> | 2011-07-20 22:05:02 +0200 |
| commit | 36881d164d73f53a1cbb390de8509506b14a2c89 (patch) | |
| tree | d7636000bb78971d65c72ca15b1d095d99aed96a /src/xml.c | |
| parent | 1e98674d93976b78c3459c58cadece9565c53da2 (diff) | |
| download | emacs-36881d164d73f53a1cbb390de8509506b14a2c89.tar.gz | |
* xml.c (parse_region): If a document contains only comments, return that, too.
Diffstat (limited to 'src/xml.c')
| -rw-r--r-- | src/xml.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/xml.c b/src/xml.c index 6dd52638b7d..6d212b44059 100644 --- 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 (); } |
