*** dist/vm-imap.el.dist Tue Dec 12 00:11:09 2000 --- vm-imap.el Thu Mar 1 11:16:29 2001 *************** *** 135,139 **** n mailbox-count imapdrop) ! (vm-imap-send-command process ! (format "FETCH %d (BODY.PEEK[])" n)) ! (vm-imap-retrieve-to-crashbox process destination statblob) (vm-increment retrieved) --- 135,152 ---- n mailbox-count imapdrop) ! (condition-case data ! (progn ! (vm-imap-send-command process ! (format "FETCH %d (BODY.PEEK[])" ! n)) ! (vm-imap-retrieve-to-crashbox process destination ! statblob t)) ! (vm-imap-protocol-error ! (message "FETCH %d (BODY.PEEK[]) failed, trying RFC822.PEEK" ! n) ! (vm-imap-send-command process ! (format ! "FETCH %d (RFC822.PEEK)" n)) ! (vm-imap-retrieve-to-crashbox process destination ! statblob nil))) ! (vm-increment retrieved) *************** *** 711,713 **** ! (defun vm-imap-retrieve-to-crashbox (process crash statblob) (let ((start vm-imap-read-point) --- 724,726 ---- ! (defun vm-imap-retrieve-to-crashbox (process crash statblob bodypeek) (let ((start vm-imap-read-point) *************** *** 746,751 **** (setq list (cdr (nth 3 fetch-response))) ! (if (not (vm-imap-response-matches list 'BODY '(vector) 'string)) ! (vm-imap-protocol-error "expected (BODY[] string) in FETCH response")) ! (setq p (nth 2 list) ! start (nth 1 p)) (goto-char (nth 2 p)) --- 759,773 ---- (setq list (cdr (nth 3 fetch-response))) ! (cond ! (bodypeek ! (if (not (vm-imap-response-matches list 'BODY '(vector) 'string)) ! (vm-imap-protocol-error ! "expected (BODY[] string) in FETCH response")) ! (setq p (nth 2 list) ! start (nth 1 p))) ! (t ! (if (not (vm-imap-response-matches list 'RFC822 'string)) ! (vm-imap-protocol-error ! "expected (RFC822 string) in FETCH response")) ! (setq p (nth 1 list) ! start (nth 1 p)))) (goto-char (nth 2 p)) *** dist/vm-mime.el.dist Tue Jan 9 22:51:32 2001 --- vm-mime.el Thu Mar 1 17:49:32 2001 *************** *** 254,256 **** ;; there's no point running it. ! (subrp (symbol-function 'base64-decode-region))) (condition-case data --- 254,260 ---- ;; there's no point running it. ! (subrp (symbol-function 'base64-decode-region)) ! ;; The FSF Emacs version of this is unforgiving ! ;; of errors, which is not in the spirit of the ! ;; MIME spec, so avoid using it. ! (not vm-fsfemacs-p)) (condition-case data *************** *** 342,343 **** --- 346,358 ---- (base64-encode-region start end B-encoding) + (wrong-number-of-arguments + ;; call with two args and then strip out the + ;; newlines if we're doing B encoding. + (condition-case data + (base64-encode-region start end) + (error (vm-mime-error "%S" data))) + (if B-encoding + (save-excursion + (goto-char start) + (while (search-forward "\n" end t) + (delete-char -1))))) (error (vm-mime-error "%S" data)))) *************** *** 981,983 **** (message "%s" (car (cdr error-data))) ! (sleep-for 2) (let ((header (if (and m (not passing-message-only)) --- 996,999 ---- (message "%s" (car (cdr error-data))) ! ;;; don't sleep, no one cares about MIME syntax errors ! ;;; (sleep-for 2) (let ((header (if (and m (not passing-message-only)) *************** *** 1243,1245 **** ;; for w3-region even if W3 isn't installed. ! (fboundp 'w3-about))) ((vm-mime-types-match "text" type) --- 1259,1264 ---- ;; for w3-region even if W3 isn't installed. ! (fboundp 'w3-about) ! (let ((charset (or (vm-mime-get-parameter layout "charset") ! "us-ascii"))) ! (vm-mime-charset-internally-displayable-p charset)))) ((vm-mime-types-match "text" type) *************** *** 1291,1294 **** (nth 1 ooo)) ! (vector (list (nth 1 ooo)) ! (list (nth 1 ooo)) "binary" --- 1310,1313 ---- (nth 1 ooo)) ! (vector (append (list (nth 1 ooo)) (cdr (vm-mm-layout-type layout))) ! (append (list (nth 1 ooo)) (cdr (vm-mm-layout-type layout))) "binary" *************** *** 2998,3000 **** (t ! (if (equal (vm-mm-layout-id layout "id") id) (throw 'done layout))))))) --- 3017,3019 ---- (t ! (if (equal (vm-mm-layout-id layout) id) (throw 'done layout))))))) *************** *** 3439,3441 **** (goto-char beg) ! (re-search-forward "^\\.\\n" nil t))))) (cond ((string-match "^binary$" encoding) --- 3458,3460 ---- (goto-char beg) ! (re-search-forward "^\\.\n" nil t))))) (cond ((string-match "^binary$" encoding) *** dist/vm-save.el.dist Thu Nov 23 16:16:54 2000 --- vm-save.el Mon Jan 15 10:27:15 2001 *************** *** 139,141 **** auto-folder))) ! (let ((vm-delete-after-saving vm-delete-after-archiving)) (vm-save-message auto-folder) --- 139,142 ---- auto-folder))) ! (let ((vm-delete-after-saving vm-delete-after-archiving) ! (last-command 'vm-auto-archive-messages)) (vm-save-message auto-folder) *** dist/vm-sort.el.dist Tue Dec 12 00:11:10 2000 --- vm-sort.el Thu Mar 1 17:22:23 2001 *************** *** 215,222 **** (condition-case nil ! (timezone-make-date-sortable (or (vm-get-header-contents m "Date:") (vm-grok-From_-date m) ! "Thu, 1 Jan 1970 00:00:00 GMT") ! "GMT" "GMT") ! (error "1970010100:00:00"))) (vm-sortable-datestring-of m)))) --- 215,221 ---- (condition-case nil ! (vm-timezone-make-date-sortable (or (vm-get-header-contents m "Date:") (vm-grok-From_-date m) ! "Thu, 1 Jan 1970 00:00:00 GMT")) ! (x-error "1970010100:00:00"))) (vm-sortable-datestring-of m)))) *** dist/vm-startup.el.dist Tue Jan 9 22:51:32 2001 --- vm-startup.el Thu Mar 1 20:08:21 2001 *************** *** 341,343 **** ! This is VM 6.90. --- 341,343 ---- ! This is VM 6.91. *** dist/vm-summary.el.dist Fri Dec 22 16:40:18 2000 --- vm-summary.el Fri Feb 16 13:29:20 2001 *************** *** 997,999 **** (car list))) ! ;; If double quoted are around the full name, fish the name out. (if (string-match "\\`\"\\([^\"]+\\)\"\\'" full-name) --- 997,999 ---- (car list))) ! ;; If double quotes are around the full name, fish the name out. (if (string-match "\\`\"\\([^\"]+\\)\"\\'" full-name) *** dist/vm-vars.el.dist Tue Jan 9 22:51:33 2001 --- vm-vars.el Thu Feb 22 12:20:00 2001 *************** *** 384,386 **** ! Note that mail if new mail is found, it is not retrieved. The buffer local variable `vm-spooled-mail-waiting' is set non-nil in --- 384,386 ---- ! Note that if new mail is found, it is not retrieved. The buffer local variable `vm-spooled-mail-waiting' is set non-nil in *************** *** 1072,1074 **** --- 1072,1077 ---- ("\\.mpe?g$" . "video/mpeg") + ("\\.mov$" . "video/quicktime") ("\\.ps$" . "application/postscript") + ("\\.pdf$" . "application/pdf") + ("\\.xls$" . "application/vnd.ms-excel") ) *************** *** 1082,1090 **** ! When a non-MIME file is attached to a MIME composition buffer, ! this list will be scanned until a REGEXP matches the file's name. ! The corresponding TYPE will be offered as a default when you are ! prompted for the file's type. ! The value of this variable is also used to guess MIME types if ! the value of `vm-infer-mime-types' is non-nil.") --- 1085,1095 ---- ! When a file is attached to a MIME composition buffer using ! `vm-mime-attach-file', this list will be scanned until a REGEXP ! matches the file's name. The corresponding TYPE will be ! offered as a default when you are prompted for the file's ! type. ! The value of this variable is also used to guess the MIME type of ! application/octet-stream objects for display purposes if the ! value of `vm-infer-mime-types' is non-nil.") *************** *** 3637,3639 **** "VM comes with ABSOLUTELY NO WARRANTY; type \\[vm-show-no-warranty] for full details" ! "In Stereo (where available)")) (defconst vm-startup-message-displayed nil) --- 3642,3644 ---- "VM comes with ABSOLUTELY NO WARRANTY; type \\[vm-show-no-warranty] for full details" ! "ALL YOUR BASE ARE BELONG TO US")) (defconst vm-startup-message-displayed nil) *** dist/vm-version.el.dist Tue Jan 9 22:51:33 2001 --- vm-version.el Thu Mar 1 20:08:21 2001 *************** *** 4,6 **** ! (defconst vm-version "6.90" "Version number of VM.") --- 4,6 ---- ! (defconst vm-version "6.91" "Version number of VM.")