* gnus-util.el (gnus-float-time): Alias to float-time if it exists.
* ecomplete.el (with-no-warnings): Define it for old Emacsen.
(ecomplete-add-item): Don't use (featurep 'xemacs) to check if
float-time is available; suppress compile warning for time-to-seconds.
2009-09-07 Katsumi Yamaoka <yamaoka@jpl.org>
* mm-encode.el (mm-encode-buffer): Don't force 7bit encoding since MTA
may break data. Suggested by Dmitri Paduchikh <dpaduch@k66.ru>.
Add the optional argument `encoding' that overrides the default.
* mml.el (mml-generate-mime-1): Pass encoding defined by a user to
mm-encode-buffer.
2009-09-02 Karl Kleinpaste <karl@kleinpaste.org>
* gnus-art.el (gnus-article-read-summary-keys):
Fix gnus-buffer-configuration's value temporarily used.
+2009-09-09 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-util.el (gnus-float-time): Alias to float-time if it exists.
+
+ * ecomplete.el (with-no-warnings): Define it for old Emacsen.
+ (ecomplete-add-item): Don't use (featurep 'xemacs) to check if
+ float-time is available; suppress compile warning for time-to-seconds.
+
+2009-09-07 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mm-encode.el (mm-encode-buffer): Don't force 7bit encoding since MTA
+ may break data. Suggested by Dmitri Paduchikh <dpaduch@k66.ru>.
+ Add the optional argument `encoding' that overrides the default.
+
+ * mml.el (mml-generate-mime-1): Pass encoding defined by a user to
+ mm-encode-buffer.
+
2009-09-04 Glenn Morris <rgm@gnu.org>
* qp.el (quoted-printable-encode-string): Use mm-enable-multibyte, or
* rfc2047.el (rfc2047-encode-message-header): Use default-value rather
than default-enable-multibyte-characters.
+2009-09-02 Karl Kleinpaste <karl@kleinpaste.org>
+
+ * gnus-art.el (gnus-article-read-summary-keys):
+ Fix gnus-buffer-configuration's value temporarily used.
+
2009-09-02 Glenn Morris <rgm@gnu.org>
* gnus-util.el (gnus-float-time): New function.
(eval-when-compile
(require 'cl))
+(eval-when-compile
+ (unless (fboundp 'with-no-warnings)
+ (defmacro with-no-warnings (&rest body)
+ `(progn ,@body))))
+
(defgroup ecomplete nil
"Electric completion of email addresses and the like."
:group 'mail)
(defun ecomplete-add-item (type key text)
(let ((elems (assq type ecomplete-database))
(now (string-to-number
- (format "%.0f" (if (featurep 'xemacs)
- (time-to-seconds (current-time))
- (float-time)))))
+ (format "%.0f" (if (and (fboundp 'float-time)
+ (subrp (symbol-function 'float-time)))
+ (float-time)
+ (with-no-warnings
+ (time-to-seconds (current-time)))))))
entry)
(unless elems
(push (setq elems (list type)) ecomplete-database))
(gnus-configure-windows 'article)
(unless (setq win (get-buffer-window summary-buffer 'visible))
(let ((gnus-buffer-configuration
- '(article ((vertical 1.0
- (summary 0.25 point)
- (article 1.0))))))
+ '((article ((vertical 1.0
+ (summary 0.25 point)
+ (article 1.0)))))))
(gnus-configure-windows 'article))
(setq win (get-buffer-window summary-buffer 'visible)))
(gnus-select-frame-set-input-focus (window-frame win))
(and (= (car fdate) (car date))
(> (nth 1 fdate) (nth 1 date))))))
-(defun gnus-float-time (&optional time)
- "Convert time value TIME to a floating point number.
+(eval-and-compile
+ (if (and (fboundp 'float-time)
+ (subrp (symbol-function 'float-time)))
+ (defalias 'gnus-float-time 'float-time)
+ (defun gnus-float-time (&optional time)
+ "Convert time value TIME to a floating point number.
TIME defaults to the current time."
- (if (featurep 'xemacs)
- (time-to-seconds (or time (current-time)))
- (float-time time)))
+ (with-no-warnings (time-to-seconds (or time (current-time)))))))
;;; Keymap macros.
(t
(error "Unknown encoding %s" encoding))))
-(defun mm-encode-buffer (type)
- "Encode the buffer which contains data of MIME type TYPE.
+(defun mm-encode-buffer (type &optional encoding)
+ "Encode the buffer which contains data of MIME type TYPE by ENCODING.
TYPE is a string or a list of the components.
+The optional ENCODING overrides the encoding determined according to
+TYPE and `mm-content-transfer-encoding-defaults'.
The encoding used is returned."
- (let* ((mime-type (if (stringp type) type (car type)))
- (encoding
- (or (and (listp type)
- (cadr (assq 'encoding type)))
- (mm-content-transfer-encoding mime-type)))
- (bits (mm-body-7-or-8)))
- ;; We force buffers that are 7bit to be unencoded, no matter
- ;; what the preferred encoding is.
- ;; Only if the buffers don't contain lone lines.
- (when (and (eq bits '7bit) (not (mm-long-lines-p 76)))
- (setq encoding bits))
- (mm-encode-content-transfer-encoding encoding mime-type)
+ (let ((mime-type (if (stringp type) type (car type))))
+ (mm-encode-content-transfer-encoding
+ (or encoding
+ (setq encoding (or (and (listp type)
+ (cadr (assq 'encoding type)))
+ (mm-content-transfer-encoding mime-type))))
+ mime-type)
encoding))
(defun mm-insert-headers (type encoding &optional file)
(unless raw
(setq charset (mm-encode-body charset))))
(insert contents)))))
- (setq encoding (mm-encode-buffer type)
+ (if (setq encoding (cdr (assq 'encoding cont)))
+ (setq encoding (intern (downcase encoding))))
+ (setq encoding (mm-encode-buffer type encoding)
coded (mm-string-as-multibyte (buffer-string))))
(mml-insert-mime-headers cont type charset encoding nil)
(insert "\n" coded))))