*** dist/Makefile.dist Wed Mar 5 00:05:57 2003 --- Makefile Wed Mar 5 16:27:58 2003 *************** *** 113,115 **** ! install: all install-info install-vm install-el install-pixmaps install-utils --- 113,115 ---- ! install: all install-info install-el install-vm install-pixmaps install-utils *** dist/vm-crypto.el.dist Wed Mar 5 00:05:57 2003 --- vm-crypto.el Wed Mar 5 16:21:25 2003 *************** *** 176,178 **** (defun vm-stunnel-configuration-args (host port) ! (if vm-stunnel-wants-configuration-file (nconc (vm-stunnel-random-data-args) --- 176,181 ---- (defun vm-stunnel-configuration-args (host port) ! (if (eq vm-stunnel-wants-configuration-file 'unknown) ! (setq vm-stunnel-wants-configuration-file ! (not (eq (call-process vm-stunnel-program nil nil nil "-h") 0)))) ! (if (not vm-stunnel-wants-configuration-file) (nconc (vm-stunnel-random-data-args) *************** *** 195,198 **** (defun vm-stunnel-configuration-file () ! (setq vm-stunnel-configuration-file (vm-make-tempfile)) ! (vm-register-global-garbage-files (list vm-stunnel-configuration-file)) ! vm-stunnel-configuration-file) --- 198,203 ---- (defun vm-stunnel-configuration-file () ! (if vm-stunnel-configuration-file ! vm-stunnel-configuration-file ! (setq vm-stunnel-configuration-file (vm-make-tempfile)) ! (vm-register-global-garbage-files (list vm-stunnel-configuration-file)) ! vm-stunnel-configuration-file)) *** dist/vm-misc.el.dist Mon Jun 3 23:51:12 2002 --- vm-misc.el Wed Mar 5 11:48:47 2003 *************** *** 38,40 **** ! (defun vm-parse (string regexp &optional matchn) (or matchn (setq matchn 1)) --- 38,40 ---- ! (defun vm-parse (string regexp &optional matchn matches) (or matchn (setq matchn 1)) *************** *** 42,44 **** (store-match-data nil) ! (while (string-match regexp string (match-end 0)) (if (not (consp matchn)) --- 42,46 ---- (store-match-data nil) ! (while (and (not (eq matches 0)) ! (string-match regexp string (match-end 0))) ! (and (integerp matches) (setq matches (1- matches))) (if (not (consp matchn)) *************** *** 54,56 **** (setq tem (cdr tem)))))) ! (nreverse list))) --- 56,62 ---- (setq tem (cdr tem)))))) ! (if (and (integerp matches) (match-end 0) ! (not (eq (match-end 0) (length string)))) ! (setq list (cons (substring string (match-end 0) (length string)) ! list))) ! (nreverse list))) *** dist/vm-pop.el.dist Tue Jan 22 14:28:29 2002 --- vm-pop.el Wed Mar 5 11:29:02 2003 *************** *** 371,373 **** ;; parse the maildrop ! (setq source-list (vm-parse source "\\([^:]+\\):?")) ;; remove pop or pop-ssl from beginning of list if --- 371,373 ---- ;; parse the maildrop ! (setq source-list (vm-pop-parse-spec-to-list source)) ;; remove pop or pop-ssl from beginning of list if *************** *** 1074,1080 **** ! (defun vm-pop-make-filename-for-spec (spec) ! (expand-file-name ! (concat "pop-cache-" (vm-md5-string spec)) ! (or vm-pop-folder-cache-directory ! vm-folder-directory ! (getenv "HOME")))) --- 1074,1091 ---- ! (defun vm-pop-make-filename-for-spec (spec &optional scrub-password) ! (let (md5 list) ! (if (null scrub-password) ! nil ! (setq list (vm-pop-parse-spec-to-list spec)) ! (setcar (vm-last list) "*") ! (setq spec (mapconcat (function identity) list ":"))) ! (setq md5 (vm-md5-string spec)) ! (expand-file-name (concat "pop-cache-" md5) ! (or vm-pop-folder-cache-directory ! vm-folder-directory ! (getenv "HOME"))))) ! ! (defun vm-pop-parse-spec-to-list (spec) ! (if (string-match "\\(pop\\|pop-ssh\\|pop-ssl\\)" spec) ! (vm-parse spec "\\([^:]+\\):?" 1 5) ! (vm-parse spec "\\([^:]+\\):?" 1 4))) *** dist/vm-startup.el.dist Wed Mar 5 00:05:57 2003 --- vm-startup.el Wed Mar 5 23:22:10 2003 *************** *** 58,61 **** (error "No such POP folder: %s" folder)) ! (setq folder-name folder ! folder (vm-pop-make-filename-for-spec remote-spec)))) (setq folder-buffer --- 58,83 ---- (error "No such POP folder: %s" folder)) ! (setq folder-name folder) ! ;; Prior to VM 7.11, we computed the cache filename ! ;; based on the full POP spec including the password ! ;; if it was in the spec. This meant that every ! ;; time the user changed his password, we'd start ! ;; visiting the wrong file. ! ;; ! ;; To fix this we do two things. First, migrate the ! ;; users caches to the filenames based in the POP ! ;; sepc without the password. Second, we visit the ! ;; old password based filename if it still exists ! ;; after trying to migrate it. ! (let ((f-pass (vm-pop-make-filename-for-spec remote-spec)) ! (f-nopass (vm-pop-make-filename-for-spec remote-spec t))) ! (if (or (string= f-pass f-nopass) (file-exists-p f-nopass)) ! nil ! ;; try to migrate ! (condition-case nil ! (rename-file f-pass f-nopass) ! (error nil))) ! ;; choose the one based on the password if it still exists. ! (if (file-exists-p f-pass) ! (setq folder f-pass) ! (setq folder f-nopass))))) (setq folder-buffer *************** *** 354,356 **** ! This is VM 7.10. --- 376,378 ---- ! This is VM 7.11. *** dist/vm-vars.el.dist Wed Mar 5 00:05:57 2003 --- vm-vars.el Wed Mar 5 19:57:12 2003 *************** *** 3718,3720 **** (and vm-fsfemacs-p (fboundp 'image-type-available-p) ! (stringp 'vm-uncompface-program) (eq 0 (string-match "#define" --- 3718,3720 ---- (and vm-fsfemacs-p (fboundp 'image-type-available-p) ! (stringp vm-uncompface-program) (eq 0 (string-match "#define" *************** *** 3725,3731 **** ! (defvar vm-stunnel-wants-configuration-file ! (and (stringp 'vm-stunnel-program) ! (not (string-match "client mode" ! (shell-command-to-string ! (format "%s -h" vm-stunnel-program))))) "Non-nil if stunnel is controlled by a configuration file. --- 3725,3727 ---- ! (defvar vm-stunnel-wants-configuration-file 'unknown "Non-nil if stunnel is controlled by a configuration file. *************** *** 4504,4506 **** (defvar vm-url-regexp ! "\n]+\\)>\\|\\(\\(file\\|ftp\\|gopher\\|http\\|https\\|news\\|wais\\|www\\)://[^ \t\n\f\r\"<>|()]*[^ \t\n\f\r\"<>|.!?(){}]\\)\\|\\(mailto:[^ \t\n\f\r\"<>|()]*[^ \t\n\f\r\"<>|.!?(){}]\\)\\|\\(file:/[^ \t\n\f\r\"<>|()]*[^ \t\n\f\r\"<>|.!?(){}]\\)" "Regular expression that matches an absolute URL. --- 4500,4502 ---- (defvar vm-url-regexp ! "\n]+\\)>\\|\\(\\(file\\|ftp\\|gopher\\|http\\|https\\|news\\|wais\\|www\\)://[^ \t\n\f\r\"<>|()]*[^ \t\n\f\r\"<>|.!?(){}]\\)\\|\\(mailto:[^ \t\n\f\r\"<>|()]*[^] \t\n\f\r\"<>|.!?(){}]\\)\\|\\(file:/[^ \t\n\f\r\"<>|()]*[^ \t\n\f\r\"<>|.!?(){}]\\)" "Regular expression that matches an absolute URL. *** dist/vm-version.el.dist Wed Mar 5 00:05:57 2003 --- vm-version.el Wed Mar 5 23:22:10 2003 *************** *** 4,6 **** ! (defconst vm-version "7.10" "Version number of VM.") --- 4,6 ---- ! (defconst vm-version "7.11" "Version number of VM.")