]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't hard-code the RSS structure so much in nnrss
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 26 Sep 2019 22:33:40 +0000 (00:33 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 26 Sep 2019 22:33:45 +0000 (00:33 +0200)
* lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Find the URL in
any section in the RSS (bug#34685).

lisp/gnus/nnrss.el

index 955432764e6ee34e2dc8327b1e912030cfd5848a..1eca46220f14aa1bc7bf6187ca39ca89cf021363 100644 (file)
@@ -39,6 +39,7 @@
 (require 'iso8601)
 (require 'mml)
 (require 'xml)
+(require 'dom)
 
 (defgroup nnrss nil
   "RSS access for Gnus."
@@ -1008,7 +1009,11 @@ Simply ensures that the first element is rss or rdf."
   "Given EL (containing a parsed element) and URI (containing a string
 that gives the URI for which you want to retrieve the namespace
 prefix), return the prefix."
-  (let* ((prefix (car (rassoc uri (cadar el))))
+  (let* ((prefix (car (rassoc uri (dom-attributes
+                                  (dom-search
+                                   el
+                                   (lambda (node)
+                                     (rassoc uri (dom-attributes node))))))))
         (nslist (if prefix
                     (split-string (symbol-name prefix) ":")))
         (ns (cond ((eq (length nslist) 1) ; no prefix given