aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/gnus/nnheader.el
diff options
context:
space:
mode:
authorGlenn Morris2010-03-18 19:55:37 -0700
committerGlenn Morris2010-03-18 19:55:37 -0700
commitaa8f82773ff92abcb18aaef29359d8207c09ddcf (patch)
treeb7ac3867f6bdab08dd05527c801b261eab0ca327 /lisp/gnus/nnheader.el
parentf70b938acafe7fa3bdd69d77a03b494c5074f88a (diff)
downloademacs-aa8f82773ff92abcb18aaef29359d8207c09ddcf.tar.gz
emacs-aa8f82773ff92abcb18aaef29359d8207c09ddcf.zip
Stop message.el from loading about 40 libraries it doesn't always need.
The general approach is to autoload rather than require, and to require in the specific functions rather than the file. (Bug#5642) * url/url.el: Move mailcap require earlier in the file. * gnus/gmm-utils.el: Don't require wid-edit. (widget-create-child-value, widget-convert, widget-default-get): Autoload. * gnus/gnus-util.el: Don't require time-date, netrc. (message-fetch-field, gnus-group-name-decode): Declare rather than autoloading. (gnus-fetch-field): Require message. (gnus-decode-newsgroups): Require gnus-group. * gnus/ietf-drums.el: Don't require time-date. * gnus/message.el: Don't require hashcash, canlock, ecomplete. Do require mail-utils. Require nnheader only when compiling. (smtpmail-default-smtp-server): Remove declaration. (message-send-mail-function): Check smtpmail-default-smtp-server is bound rather than requiring smtpmail. (message-auto-save-directory, message-insert-signature): Use expand-file-name rather than nnheader-concat. (nnheader-insert-file-contents): Autoload. (hashcash-wait-async): Declare. (message-send-mail): Only call gnus-setup-posting-charset if gnus-group-posting-charset-alist is bound. Require hashcash if needed. (message-send-mail-with-sendmail): Require sendmail. (canlock-password, canlock-password-for-verify): Declare. (message-canlock-password): Require canlock. (nnheader-get-report): Autoload. (gnus-setup-posting-charset): Declare. (message-send-news): Require gnus-msg. (message-make-references, message-make-in-reply-to): Use mail-header-id rather than the alias mail-header-message-id. (ecomplete-add-item, ecomplete-save): Declare. (message-put-addresses-in-ecomplete): Require ecomplete. (ecomplete-display-matches): Autoload. * gnus/mm-decode.el: Don't require mailcap, gnus-util. (gnus-map-function, gnus-replace-in-string, gnus-read-shell-command) (message-fetch-field, mailcap-parse-mailcaps, mailcap-mime-info): Autoload. (mailcap-mime-extensions): Declare. * gnus/mm-encode.el: Don't require mailcap. (mailcap-extension-to-mime): Autoload. * gnus/mml-sec.el: Don't require password-cache. * gnus/mml.el (gnus-setup-posting-charset): Declare rather than autoload. (mailcap-parse-mimetypes, mailcap-mime-types): Declare. (mml-minibuffer-read-type): Require mailcap. (mml-preview): Require gnus-msg. * gnus/mml1991.el: Require password-cache. (password-cache-expiry): Remove declaration. * gnus/mml2015.el: Require password-cache. (password-cache-expiry): Remove declaration. * gnus/nneething.el (mailcap): Require mailcap. * gnus/nnheader.el: (declare-function): Add compatibility stub. (message-remove-header): Declare rather than autoload. (nnheader-replace-header): Require message. * gnus/nnimap.el (declare-function): Add compatibility stub. (netrc-parse, netrc-machine-user-or-password): Declare. (nnimap-open-connection): Require netrc. * gnus/nntp.el (declare-function): Add compatibility stub. (netrc-parse, netrc-machine, netrc-get): Declare. (nntp-send-authinfo): Require netrc. * gnus/rfc2047.el: Don't require qp. (quoted-printable-encode-region, quoted-printable-decode-string): Autoload. * gnus/sieve-mode.el: Don't require easymenu. (easy-menu-add-item): Autoload it. * gnus/spam-stat.el (time-to-number-of-days): Autoload it. * password-cache.el (password-cache, password-cache-expiry): Autoload.
Diffstat (limited to 'lisp/gnus/nnheader.el')
-rw-r--r--lisp/gnus/nnheader.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/gnus/nnheader.el b/lisp/gnus/nnheader.el
index f3283022db9..6a24f21efc1 100644
--- a/lisp/gnus/nnheader.el
+++ b/lisp/gnus/nnheader.el
@@ -27,6 +27,8 @@
27 27
28;;; Code: 28;;; Code:
29 29
30(eval-and-compile
31 (unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
30(eval-when-compile (require 'cl)) 32(eval-when-compile (require 'cl))
31 33
32(defvar nnmail-extra-headers) 34(defvar nnmail-extra-headers)
@@ -121,7 +123,6 @@ on your system, you could say something like:
121 123
122(autoload 'nnmail-message-id "nnmail") 124(autoload 'nnmail-message-id "nnmail")
123(autoload 'mail-position-on-field "sendmail") 125(autoload 'mail-position-on-field "sendmail")
124(autoload 'message-remove-header "message")
125(autoload 'gnus-buffer-live-p "gnus-util") 126(autoload 'gnus-buffer-live-p "gnus-util")
126 127
127;;; Header access macros. 128;;; Header access macros.
@@ -662,8 +663,12 @@ the line could be found."
662 ;; without inserting extra newline. 663 ;; without inserting extra newline.
663 (fill-region-as-paragraph begin (1+ (point)))))) 664 (fill-region-as-paragraph begin (1+ (point))))))
664 665
666(declare-function message-remove-header "message"
667 (header &optional is-regexp first reverse))
668
665(defun nnheader-replace-header (header new-value) 669(defun nnheader-replace-header (header new-value)
666 "Remove HEADER and insert the NEW-VALUE." 670 "Remove HEADER and insert the NEW-VALUE."
671 (require 'message)
667 (save-excursion 672 (save-excursion
668 (save-restriction 673 (save-restriction
669 (nnheader-narrow-to-headers) 674 (nnheader-narrow-to-headers)