;;; mail-utils.el --- utility functions used both by rmail and rnews
-;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2016 Free Software Foundation, Inc.
-;; Maintainer: FSF
+;; Maintainer: emacs-devel@gnu.org
;; Keywords: mail, news
;; This file is part of GNU Emacs.
;;;###autoload
(defun mail-file-babyl-p (file)
"Return non-nil if FILE is a Babyl file."
- (with-temp-buffer
- (insert-file-contents file nil 0 100)
- (looking-at "BABYL OPTIONS:")))
+ (let ((epa-inhibit t))
+ (with-temp-buffer
+ (insert-file-contents file nil 0 100)
+ (looking-at "BABYL OPTIONS:"))))
(defun mail-string-delete (string start end)
"Returns a string containing all of STRING except the part
;;;###autoload
(defun mail-quote-printable (string &optional wrapper)
- "Convert a string to the \"quoted printable\" Q encoding.
+ "Convert a string to the \"quoted printable\" Q encoding if necessary.
+If the string contains only ASCII characters and no troublesome ones,
+we return it unconverted.
+
If the optional argument WRAPPER is non-nil,
we add the wrapper characters =?ISO-8859-1?Q?....?=."
(let ((i 0) (result ""))
(save-match-data
- (while (string-match "[?=\"\200-\377]" string i)
+ (while (or (string-match "[?=\"]" string i)
+ (string-match "[^\000-\177]" string i))
(setq result
(concat result (substring string i (match-beginning 0))
(upcase (format "=%02x"
(error "Malformed MIME quoted-printable message"))))
(not failed))))))
-(eval-when-compile (require 'rfc822))
+(autoload 'rfc822-addresses "rfc822")
(defun mail-strip-quoted-names (address)
"Delete comments and quoted strings in an address list ADDRESS.
Also delete leading/trailing whitespace and replace FOO <BAR> with just BAR.
Return a modified address list."
- (if (null address)
- nil
+ (when address
(if mail-use-rfc822
- (progn (require 'rfc822)
- (mapconcat 'identity (rfc822-addresses address) ", "))
+ (mapconcat 'identity (rfc822-addresses address) ", ")
(let (pos)
;; Strip comments.