Synch to Oort Gnus 200305010754.
authoryamaoka <yamaoka>
Thu, 1 May 2003 07:50:11 +0000 (07:50 +0000)
committeryamaoka <yamaoka>
Thu, 1 May 2003 07:50:11 +0000 (07:50 +0000)
lisp/ChangeLog
lisp/mm-url.el
lisp/nnrss.el

index 20b6b43..879fe94 100644 (file)
@@ -1,3 +1,14 @@
+2003-04-30  Mark A. Hershberger  <mah@everybody.org>
+
+       * mm-url.el (mm-url-insert-file-contents): set url-current-object
+       in the case where mm-url-use-external is set.
+
+       * nnrss.el (nnrss-request-article): Change the messages created to
+       multipart/alternative.  Hopefully fixes a problem interaction with
+       w3m.
+       (nnrss-find-rss-via-syndic8): Better handling if xml-rpc.el isn't
+       around.
+
 2003-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * message.el (message-check-news-header-syntax): Alter "posting"
index 0896821..42d3fce 100644 (file)
@@ -279,6 +279,9 @@ This is taken from RFC 2396.")
            (insert-file-contents (substring url (1- (match-end 0))))
          (mm-url-insert-file-contents-external url))
        (goto-char (point-min))
+       (if (fboundp 'url-generic-parse-url)
+           (setq url-current-object 
+                 (url-generic-parse-url url)))
        (list url (buffer-size)))
     (mm-url-load-url)
     (let ((name buffer-file-name)
index 6fb8e43..6e94f09 100644 (file)
@@ -142,6 +142,7 @@ ARTICLE is the article number of the current headline.")
 (deffoo nnrss-request-article (article &optional group server buffer)
   (nnrss-possibly-change-group group server)
   (let ((e (assq article nnrss-group-data))
+       (boundary "=-=-=-=-=-=-=-=-=-")
        (nntp-server-buffer (or buffer nntp-server-buffer))
        post err)
     (when e
@@ -149,7 +150,7 @@ ARTICLE is the article number of the current headline.")
        (with-current-buffer nntp-server-buffer
          (erase-buffer)
          (goto-char (point-min))
-         (insert "Mime-Version: 1.0\nContent-Type: text/html\n")
+         (insert "Mime-Version: 1.0\nContent-Type: multipart/alternative; boundary=\"" boundary "\"\n")
          (if group
              (insert "Newsgroups: " group "\n"))
          (if (nth 3 e)
@@ -160,17 +161,32 @@ ARTICLE is the article number of the current headline.")
              (insert "Date: " (nnrss-format-string (nth 5 e)) "\n"))
          (insert "Message-ID: " (format "<%d@%s.nnrss>" (car e) group) "\n")
          (insert "\n")
-         (if (nth 6 e)
-             (let ((point (point)))
-               (insert (nnrss-string-as-multibyte (nth 6 e)))
-               (goto-char point)
-               (while (re-search-forward "\n" nil t)
-                 (replace-match " "))
-               (goto-char (point-max))
-               (insert "\n\n")
-               (fill-region point (point))))
-         (if (nth 2 e)
-             (insert "<p><a href='" (nth 2 e) "'>link</a></p>\n"))
+         (let ((text (if (nth 6 e)
+                         (nnrss-string-as-multibyte (nth 6 e))))
+               (link (if (nth 2 e)
+                         (nth 2 e))))
+           (insert "\n\n--" boundary "\nContent-Type: text/plain\n\n")
+           (let ((point (point)))
+             (if text
+                 (progn (insert text)
+                        (goto-char point)
+                        (while (re-search-forward "\n" nil t)
+                          (replace-match " "))
+                        (goto-char (point-max))
+                        (insert "\n\n")))
+             (if link
+                 (insert link)))
+           (insert "\n\n--" boundary "\nContent-Type: text/html\n\n")
+           (let ((point (point)))
+             (if text
+                 (progn (insert "<html><head></head><body>\n" text "\n</body></html>")
+                        (goto-char point)
+                        (while (re-search-forward "\n" nil t)
+                          (replace-match " "))
+                        (goto-char (point-max))
+                        (insert "\n\n")))
+             (if link
+                 (insert "<p><a href=\"" link "\">link</a></p>\n"))))
          (if nnrss-content-function
              (funcall nnrss-content-function e group article)))))
     (cond
@@ -672,7 +688,7 @@ whether they are `offsite' or `onsite'."
 
 (defun nnrss-find-rss-via-syndic8 (url)
   "query syndic8 for the rss feeds it has for the url."
-  (condition-case nil
+  (if (locate-library "xml-rpc")
       (progn (require 'xml-rpc)
             (let ((feedid (xml-rpc-method-call
                            "http://www.syndic8.com/xmlrpc.php"