+2005-04-11 Lute Kamstra <lute@gnu.org>
+
+ * nnimap.el (nnimap-date-days-ago): Handle byte-compiler warnings
+ differently.
+
+2005-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mm-util.el (mm-detect-coding-region): Typo.
+
2005-04-11 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-article-read-summary-keys): Fix misplaced parens.
(replace-regexp-in-string regexp rep string nil literal)))
(string-as-unibyte . identity)
(string-make-unibyte . identity)
+ ;; string-as-multibyte often doesn't really do what you think it does.
+ ;; Example:
+ ;; (aref (string-as-multibyte "\201") 0) -> 129 (aka ?\201)
+ ;; (aref (string-as-multibyte "\300") 0) -> 192 (aka ?\300)
+ ;; (aref (string-as-multibyte "\300\201") 0) -> 192 (aka ?\300)
+ ;; (aref (string-as-multibyte "\300\201") 1) -> 129 (aka ?\201)
+ ;; but
+ ;; (aref (string-as-multibyte "\201\300") 0) -> 2240
+ ;; (aref (string-as-multibyte "\201\300") 1) -> <error>
+ ;; Better use string-to-multibyte or encode-coding-string.
+ ;; If you really need string-as-multibyte somewhere it's usually
+ ;; because you're using the internal emacs-mule representation (maybe
+ ;; because you're using string-as-unibyte somewhere), which is
+ ;; generally a problem in itself.
+ ;; Here is an approximate equivalence table to help think about it:
+ ;; (string-as-multibyte s) ~= (decode-coding-string s 'emacs-mule)
+ ;; (string-to-multibyte s) ~= (decode-coding-string s 'binary)
+ ;; (string-make-multibyte s) ~= (decode-coding-string s locale-coding-system)
(string-as-multibyte . identity)
(string-to-multibyte
. (lambda (string)
(defun mm-detect-coding-region (start end)
"Like `detect-coding-region' except returning the best one."
(let ((coding-systems
- (detect-coding-region (point) (point-max))))
+ (detect-coding-region start end)))
(or (car-safe coding-systems)
coding-systems)))
(defun mm-detect-coding-region (start end)
(list (- ms 1) (+ (expt 2 16) ls))
(list ms ls))))
+(eval-when-compile (require 'parse-time))
(defun nnimap-date-days-ago (daysago)
"Return date, in format \"3-Aug-1998\", for DAYSAGO days ago."
(require 'parse-time)
- (defvar parse-time-months)
(let* ((time (nnimap-time-substract (current-time) (days-to-time daysago)))
(date (format-time-string
(format "%%d-%s-%%Y"