This patch is based on "prom-mew 2.20NG". (http://jaguar.eng.shizuoka.ac.jp/etc/prom-mew.html) This file is freely redistributable under the term of GPL. Takuya SHIOZAKI --- prom-mew-2.00/prom-mew.el 2003-06-01 01:15:38.000000000 +0900 +++ prom-mew-3.2-am-01/prom-mew.el 2003-06-01 02:12:01.000000000 +0900 @@ -3,7 +3,7 @@ ;;; $Id: prom-mew.el,v 2.52 2001/09/08 06:48:53 murata Exp $ ;;; by Masahiro MURATA -(defconst prom-version "Prom-Mew 2.20NG") +(defconst prom-version "Prom-Mew 3.2am01") ;; !!! this version is required Mew version 2.00 or later !!! @@ -777,7 +777,7 @@ (setq folder (or fld (mew-input-folder (mew-inbox-folder case))) dir (mew-expand-folder folder)) (cond - ((mew-folder-newsp folder) + ((mew-folder-nntpp folder) (prom-summary-goto-folder-subr folder range goend)) ((mew-folder-imapp folder) (when (mew-folder-check folder) @@ -794,6 +794,10 @@ (setq new-folder (mew-summary-switch-to-folder folder)) (prom-summary-ls folder range (or goend new-folder) t))) +(defun mew-range-erase-p (range) + (or (char-equal (aref range 0) (aref mew-range-all 0)) + (string-match ":" range))) + (defun prom-summary-ls (&optional prom-folder range jump stay) (let ((folder (or prom-folder (buffer-name))) scanp lines oldformatp) @@ -801,7 +805,7 @@ (save-excursion (goto-char (point-min)) (if (and (not (eobp)) - (not (looking-at mew-regex-thread)) + (not (looking-at mew-regex-summary)) (y-or-n-p "The format of this scan cache is old. Type 'y' when ready. ")) (setq oldformatp t))) (if oldformatp @@ -809,7 +813,7 @@ (setq range mew-range-all) (setq lines (mew-summary-mark-collect mew-mark-collect)) (mew-erase-buffer) - (mew-scan (mew-scan-mewls-src folder range) lines)) + (mew-summary-ls)) ;; check scanp before (mew-mark-clean) (cond (range @@ -833,7 +837,7 @@ (if (string= range mew-range-all) (setq lines (mew-summary-mark-collect mew-mark-collect))) (mew-erase-buffer)) - (mew-scan (mew-scan-mewls-src folder range) lines)) + (mew-summary-ls)) (t (or stay (goto-char (point-max))) (run-hooks 'mew-summary-ls-no-scan-hook)))))) @@ -889,7 +893,7 @@ (save-excursion (beginning-of-line) (if (looking-at mew-regex-msg) - (mew-match 1) + (mew-match-string 1) "0"))))))) (defun prom-unread-count (folder &optional disp) @@ -1079,7 +1083,7 @@ (save-excursion (beginning-of-line) (if (looking-at prom-folder-name-regexp) - (mew-match 1)))) + (mew-match-string 1)))) (defun prom-read-folder (folder &optional no-message arg) (let* ((folder-info (prom-get-promrc folder promrc-log-assoc)) @@ -1138,7 +1142,7 @@ (defun prom-adj-range (folder range) (string-match "\\(.*\\)-\\(.*\\)" range) - (let ((end-num (mew-match 2 range)) + (let ((end-num (mew-match-string 2 range)) ret) (cond ((get-buffer folder) @@ -1274,10 +1278,10 @@ (save-excursion (goto-char (point-min)) (while (re-search-forward "^ Folder: \\(.+\\)" nil t) - (let ((folder-body (mew-match 1))) + (let ((folder-body (mew-match-string 1))) (if (string-match "^\\(.+\\)/\\([0-9]+\\)" folder-body) - (let ((path (mew-match 1 folder-body)) - (num (mew-match 2 folder-body))) + (let ((path (mew-match-string 1 folder-body)) + (num (mew-match-string 2 folder-body))) (setq msg (string-to-int num)) (cond ((string-match "^[+=]" path) (setq folder path)) @@ -1300,7 +1304,7 @@ (beginning-of-line) (if (looking-at "^ Subject: \\(.+\\)") (progn - (setq subject (mew-match 1)) + (setq subject (mew-match-string 1)) (setq subject (or (mew-cs-decode-string subject mew-cs-m17n) "")) @@ -1308,7 +1312,7 @@ (beginning-of-line)) (setq subject "")) (if (looking-at "^From \\([^ \t\n]+\\) +") - (setq from (mew-match 1)) + (setq from (mew-match-string 1)) (setq from ""))) ;; (prom-add-promrc-log folder msg from subject)))))))) @@ -1490,9 +1494,9 @@ ;;(setq str (mew-cs-decode-string str mew-cs-m17n)) nil (while (string-match mew-header-decode-regex str) - (let* ((charset (mew-match 1 str)) - (encode (mew-match 2 str)) - (enstr (mew-match 3 str)) + (let* ((charset (mew-match-string 1 str)) + (encode (mew-match-string 2 str)) + (enstr (mew-match-string 3 str)) (head (substring str 0 (match-beginning 0))) (tail (substring str (match-end 0) (length str))) ;;(func (cdr (mew-assoc-match encode mew-header-decode-switch 0)))