comparison lisp/gnus/rfc2047.el @ 107427:ecbe0edc4f69

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.
author Glenn Morris <rgm@gnu.org>
date Thu, 18 Mar 2010 19:55:37 -0700
parents 1d1d5d9bd884
children d835100c3e8b
comparison
equal deleted inserted replaced
107426:e3c196b081c6 107427:ecbe0edc4f69
29 29
30 (eval-when-compile 30 (eval-when-compile
31 (require 'cl)) 31 (require 'cl))
32 (defvar message-posting-charset) 32 (defvar message-posting-charset)
33 33
34 (require 'qp)
35 (require 'mm-util) 34 (require 'mm-util)
36 (require 'ietf-drums) 35 (require 'ietf-drums)
37 ;; Fixme: Avoid this (used for mail-parse-charset) mm dependence on gnus. 36 ;; Fixme: Avoid this (used for mail-parse-charset) mm dependence on gnus.
38 (require 'mail-prsvr) 37 (require 'mail-prsvr)
39 (require 'rfc2045) ;; rfc2045-encode-string 38 (require 'rfc2045) ;; rfc2045-encode-string
825 824
826 (defun rfc2047-b-encode-string (string) 825 (defun rfc2047-b-encode-string (string)
827 "Base64-encode the header contained in STRING." 826 "Base64-encode the header contained in STRING."
828 (base64-encode-string string t)) 827 (base64-encode-string string t))
829 828
829 (autoload 'quoted-printable-encode-region "qp")
830
830 (defun rfc2047-q-encode-string (string) 831 (defun rfc2047-q-encode-string (string)
831 "Quoted-printable-encode the header in STRING." 832 "Quoted-printable-encode the header in STRING."
832 (mm-with-unibyte-buffer 833 (mm-with-unibyte-buffer
833 (insert string) 834 (insert string)
834 (quoted-printable-encode-region 835 (quoted-printable-encode-region
926 (memq 'gnus-unknown mail-parse-ignored-charsets)) 927 (memq 'gnus-unknown mail-parse-ignored-charsets))
927 (setq cs (mm-charset-to-coding-system mail-parse-charset)))) 928 (setq cs (mm-charset-to-coding-system mail-parse-charset))))
928 (if (eq cs 'ascii) 929 (if (eq cs 'ascii)
929 'raw-text 930 'raw-text
930 cs))) 931 cs)))
932
933 (autoload 'quoted-printable-decode-string "qp")
931 934
932 (defun rfc2047-decode-encoded-words (words) 935 (defun rfc2047-decode-encoded-words (words)
933 "Decode successive encoded-words in WORDS and return a decoded string. 936 "Decode successive encoded-words in WORDS and return a decoded string.
934 Each element of WORDS looks like (CHARSET ENCODING ENCODED-TEXT 937 Each element of WORDS looks like (CHARSET ENCODING ENCODED-TEXT
935 ENCODED-WORD)." 938 ENCODED-WORD)."