;;; mm-url.el --- a wrapper of url functions/commands for Gnus
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
(require 'mm-util)
(require 'gnus)
-(eval-when-compile
- (if (featurep 'xemacs)
- (require 'timer-funcs)
- (require 'timer)))
-
(defvar url-current-object)
(defvar url-package-name)
(defvar url-package-version)
'((wget "wget" "--user-agent=mm-url" "-q" "-O" "-")
(w3m "w3m" "-dump_source")
(lynx "lynx" "-source")
- (curl "curl" "--silent")))
+ (curl "curl" "--silent" "--user-agent mm-url" "--location")))
(defcustom mm-url-program
(cond
(defun mm-url-load-url ()
"Load `url-insert-file-contents'."
(unless (condition-case ()
- (require 'url-handlers)
+ (progn
+ (require 'url-handlers)
+ (require 'url-parse)
+ (require 'url-vars))
(error nil))
;; w3-4.0pre0.46 or earlier version.
(require 'w3-vars)
(list url (buffer-size)))
(mm-url-load-url)
(let ((name buffer-file-name)
- (url-request-extra-headers (list (cons "Connection" "Close")))
+ (url-request-extra-headers
+ ;; ISTM setting a Connection header was a workaround for
+ ;; older versions of url included with w3, but it does more
+ ;; harm than good with the one shipped with Emacs. --ansel
+ (if (not (and (boundp 'url-version)
+ (equal url-version "Emacs")))
+ (list (cons "Connection" "Close"))))
(url-package-name (or mm-url-package-name
url-package-name))
(url-package-version (or mm-url-package-version