*** dist/vm-imap.el.dist Fri Jan 29 00:13:36 1999 --- vm-imap.el Thu Feb 18 18:27:08 1999 *************** *** 450,452 **** (vm-imap-send-command process ! (format "LOGIN %s %s" user pass)) (and (null (vm-imap-read-ok-response process)) --- 450,454 ---- (vm-imap-send-command process ! (format "LOGIN %s %s" ! (vm-imap-quote-string user) ! (vm-imap-quote-string pass))) (and (null (vm-imap-read-ok-response process)) *************** *** 762,764 **** ;; HP Openmail seems to have this problem. ! (if (and (not (eq ?\n (char-before (point)))) (memq vm-folder-type '(From_-with-Content-Length BellFrom_))) --- 764,766 ---- ;; HP Openmail seems to have this problem. ! (if (and (not (eq ?\n (char-after (1- (point))))) (memq vm-folder-type '(From_-with-Content-Length BellFrom_))) *************** *** 1058 **** --- 1060,1073 ---- retrieved )) + + (defun vm-imap-quote-string (string) + (vm-with-string-as-temp-buffer string 'vm-imap-quote-buffer)) + + (defun vm-imap-quote-buffer () + (goto-char (point-min)) + (insert "\"") + (while (re-search-forward "[\"\\]" nil t) + (forward-char -1) + (insert "\\") + (forward-char 1)) + (goto-char (point-max)) + (insert "\"")) *** dist/vm-macro.el.dist Fri Feb 5 01:41:59 1999 --- vm-macro.el Thu Feb 18 14:53:27 1999 *************** *** 98 **** --- 98,108 ---- body)) + + (defmacro vm-with-multibyte-buffer (&rest body) + (nconc + (list 'if 'vm-fsfemacs-mule-p + (list 'let '((xzx enable-multibyte-characters)) + (list 'unwind-protect + (nconc (list 'let nil '(set-buffer-multibyte t)) + body) + '(set-buffer-multibyte xzx)))) + body)) *** dist/vm-mime.el.dist Sun Feb 7 18:11:48 1999 --- vm-mime.el Thu Feb 25 22:53:17 1999 *************** *** 61,67 **** (or (vm-mime-layout-of m) ! (progn (vm-set-mime-layout-of ! m ! (condition-case data ! (vm-mime-parse-entity m) ! (vm-mime-error (message "%s" (car (cdr data)))))) (vm-mime-layout-of m)))) --- 61,63 ---- (or (vm-mime-layout-of m) ! (progn (vm-set-mime-layout-of m (vm-mime-parse-entity-safe m)) (vm-mime-layout-of m)))) *************** *** 465,469 **** (vm-increment cols)) ! ((or (< char 33) (> char 126) (= char 61) ! (and quote-from (= cols 0) (let ((case-fold-search nil)) ! (looking-at "From "))) (and (= cols 0) (= char ?.) --- 461,472 ---- (vm-increment cols)) ! ((or (< char 33) (> char 126) ! ;; = ! (= char 61) ! ;; ? ! (and Q-encoding (= char 63)) ! ;; _ ! (and Q-encoding (= char 95)) ! (and quote-from (= cols 0) ! (let ((case-fold-search nil)) ! (looking-at "From "))) (and (= cols 0) (= char ?.) *************** *** 471,473 **** (vm-insert-char ?= 1 nil work-buffer) ! (vm-insert-char (car (rassq (lsh char -4) hex-digit-alist)) 1 nil work-buffer) --- 474,477 ---- (vm-insert-char ?= 1 nil work-buffer) ! (vm-insert-char (car (rassq (lsh char -4) ! hex-digit-alist)) 1 nil work-buffer) *************** *** 884,885 **** --- 888,891 ---- (vm-mime-error + (message "%s" (car (cdr error-data))) + (sleep-for 2) (let ((header (if (and m (not passing-message-only)) *************** *** 896,898 **** (vm-marker (point-max))))) ! (vector c-t c-t (vm-determine-proper-content-transfer-encoding text text-end) --- 902,904 ---- (vm-marker (point-max))))) ! (vector '("error/error") '("error/error") (vm-determine-proper-content-transfer-encoding text text-end) *************** *** 1060,1083 **** (narrow-to-region beg end) ! (catch 'done ! (goto-char (point-min)) ! (if (or vm-xemacs-mule-p vm-fsfemacs-mule-p) ! (let ((charsets (delq 'ascii (vm-charsets-in-region beg end)))) ! (cond ((null charsets) ! "us-ascii") ! ((cdr charsets) ! (or (car (cdr ! (assq (coding-system-name ! buffer-file-coding-system) ! vm-mime-mule-coding-to-charset-alist))) ! "iso-2022-jp")) ! (t ! (or (car (cdr ! (assoc ! (car charsets) ! vm-mime-mule-charset-to-charset-alist))) ! "unknown")))) ! (and (re-search-forward "[^\000-\177]" nil t) ! (throw 'done (or vm-mime-8bit-composition-charset ! "iso-8859-1"))) ! (throw 'done vm-mime-7bit-composition-charset)))))) --- 1066,1091 ---- (narrow-to-region beg end) ! (vm-with-multibyte-buffer ! (catch 'done ! (goto-char (point-min)) ! (if (or vm-xemacs-mule-p vm-fsfemacs-mule-p) ! (let ((charsets (delq 'ascii (vm-charsets-in-region ! (point-min) (point-max))))) ! (cond ((null charsets) ! "us-ascii") ! ((cdr charsets) ! (or (car (cdr ! (assq (vm-coding-system-name ! buffer-file-coding-system) ! vm-mime-mule-coding-to-charset-alist))) ! "iso-2022-jp")) ! (t ! (or (car (cdr ! (assoc ! (car charsets) ! vm-mime-mule-charset-to-charset-alist))) ! "unknown")))) ! (and (re-search-forward "[^\000-\177]" nil t) ! (throw 'done (or vm-mime-8bit-composition-charset ! "iso-8859-1"))) ! (throw 'done vm-mime-7bit-composition-charset))))))) *************** *** 1393,1396 **** (setq file ! (vm-mime-get-disposition-parameter layout ! "filename")) (setq type2 (vm-mime-default-type-from-filename file)) --- 1401,1406 ---- (setq file ! (or ! (vm-mime-get-disposition-parameter layout ! "filename") ! (vm-mime-get-parameter layout "name"))) (setq type2 (vm-mime-default-type-from-filename file)) *************** *** 2241,2243 **** (error "Aborted")) ! (write-region (point-min) (point-max) file nil nil)) (and work-buffer (kill-buffer work-buffer)))))) --- 2251,2266 ---- (error "Aborted")) ! ;; Bind the function jka-compr-get-compression-info to ! ;; somethign that will return nil so that jka-compr ! ;; won't compress already compressed data. This is a ! ;; crock, but I'm tired of hearing about this. ! (let ((jk-func (and (fboundp 'jka-compr-get-compression-info) ! (symbol-function ! 'jka-compr-get-compression-info)))) ! (unwind-protect ! (progn ! (fset 'jka-compr-get-compression-info 'ignore) ! (write-region (point-min) (point-max) file nil nil)) ! (if jk-func ! (fset 'jka-compr-get-compression-info jk-func) ! (fmakunbound 'jka-compr-get-compression-info))))) (and work-buffer (kill-buffer work-buffer)))))) *** dist/vm-misc.el.dist Fri Feb 5 01:42:00 1999 --- vm-misc.el Thu Feb 18 15:10:18 1999 *************** *** 719,720 **** --- 719,725 ---- + (cond ((fboundp 'coding-system-name) + (fset 'vm-coding-system-name 'coding-system-name)) + (t + (fset 'vm-coding-system-name 'symbol-name))) + (defun vm-collapse-whitespace () *** dist/vm-mouse.el.dist Fri Jan 29 00:13:37 1999 --- vm-mouse.el Tue Feb 9 01:17:54 1999 *************** *** 207,213 **** (append vm-netscape-program-switches (list url))) ! (or (equal 0 (apply 'vm-run-command vm-netscape-program "-remote" ! (append (list (concat "openURL(" url (if new-window ",new-window" "") ! ")")) ! vm-netscape-program-switches))) (vm-mouse-send-url-to-netscape url t new-window))) --- 207,214 ---- (append vm-netscape-program-switches (list url))) ! (or (equal 0 (apply 'vm-run-command vm-netscape-program ! (append vm-netscape-program-switches ! (list "-remote" ! (concat "openURL(" url (if new-window ",new-window" "") ! ")"))))) (vm-mouse-send-url-to-netscape url t new-window))) *** dist/vm-reply.el.dist Fri Feb 5 01:42:00 1999 --- vm-reply.el Mon Feb 22 16:45:39 1999 *************** *** 48,50 **** (let ((case-fold-search t)) - (and (not --- 48,49 ---- *************** *** 53,61 **** subject) ! 0)) ! (or ! (not (stringp vm-subject-ignored-prefix)) ! (not ! (equal ! (string-match vm-subject-ignored-prefix subject) ! 0))))) (setq subject (concat vm-reply-subject-prefix subject)))) --- 52,54 ---- subject) ! 0))) (setq subject (concat vm-reply-subject-prefix subject)))) *** dist/vm-startup.el.dist Sun Feb 7 18:11:51 1999 --- vm-startup.el Thu Feb 25 23:25:54 1999 *************** *** 317,319 **** ! This is VM 6.67. --- 317,319 ---- ! This is VM 6.68. *************** *** 1169,1171 **** (< emacs-minor-version 4)) ! (error "VM must be run on Emacs 20.3 or a later v20 version.")))) --- 1169,1171 ---- (< emacs-minor-version 4)) ! (error "VM must be run on Emacs 20.4 or a later v20 version.")))) *** dist/vm-vars.el.dist Fri Feb 5 01:42:02 1999 --- vm-vars.el Thu Feb 25 22:25:18 1999 *************** *** 843,845 **** ("image" . "%-35.35(%d%) [%k to %a]") ! ("application/octet-stream" . "%-35.35(%d, %f%) [%k to %a]")) "*List of types and formats for MIME buttons. --- 843,847 ---- ("image" . "%-35.35(%d%) [%k to %a]") ! ("application/octet-stream" . "%-35.35(%d, %f%) [%k to %a]") ! ;; for parse errors ! ("error/error" . "%d")) "*List of types and formats for MIME buttons. *************** *** 879,882 **** f - the suggested file name to save the object into, as ! specified either in the Content-DIsposition header, or the ! \"name\" parameter for objects of type \"appliciation\". k - how to activate the button. Usually \"Press RETURN\" or --- 881,884 ---- f - the suggested file name to save the object into, as ! specified either in the Content-Disposition header, or the ! \"name\" parameter for objects of type \"application\". k - how to activate the button. Usually \"Press RETURN\" or *** dist/vm-version.el.dist Sun Feb 7 18:11:54 1999 --- vm-version.el Thu Feb 25 23:25:54 1999 *************** *** 4,6 **** ! (defconst vm-version "6.67" "Version number of VM.") --- 4,6 ---- ! (defconst vm-version "6.68" "Version number of VM.")