From 387de08a4889ea0d05877cd94f52c8242ea02aca Mon Sep 17 00:00:00 2001 From: teranisi Date: Wed, 19 Dec 2001 08:17:00 +0000 Subject: [PATCH] * elmo-util.el (elmo-file-field-primitive-condition-match): Fixed unmatch condition checking. * elmo-localdir.el (elmo-folder-search): Don't short cut if unmatch condition. * elmo-pop3.el (elmo-pop3-parse-list-response): Allow multiple space delimiter for list response. (2001-11-30 Tatsuya Kinoshita ) --- elmo/ChangeLog | 13 +++++++++++++ elmo/elmo-localdir.el | 2 ++ elmo/elmo-pop3.el | 2 +- elmo/elmo-util.el | 10 ++++++---- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/elmo/ChangeLog b/elmo/ChangeLog index 14bdda1..290478b 100644 --- a/elmo/ChangeLog +++ b/elmo/ChangeLog @@ -1,3 +1,16 @@ +2001-12-19 Yuuichi Teranishi + + * elmo-util.el (elmo-file-field-primitive-condition-match): Fixed + unmatch condition checking. + + * elmo-localdir.el (elmo-folder-search): Don't short cut if unmatch + condition. + +2001-11-30 Tatsuya Kinoshita + + * elmo-pop3.el (elmo-pop3-parse-list-response): Allow multiple + space delimiter for list response. + 2001-12-02 Yuuichi Teranishi * 2.6.1 is released. diff --git a/elmo/elmo-localdir.el b/elmo/elmo-localdir.el index 46b7ebe..451b6e6 100644 --- a/elmo/elmo-localdir.el +++ b/elmo/elmo-localdir.el @@ -412,12 +412,14 @@ (cond ;; short cut. ((and (vectorp condition) + (not (eq (elmo-filter-type condition) 'unmatch)) (string= (elmo-filter-key condition) "last")) (nthcdr (max (- (length msgs) (string-to-int (elmo-filter-value condition))) 0) msgs)) ((and (vectorp condition) + (not (eq (elmo-filter-type condition) 'unmatch)) (string= (elmo-filter-key condition) "first")) (let ((rest (nthcdr (string-to-int (elmo-filter-value condition) ) msgs))) diff --git a/elmo/elmo-pop3.el b/elmo/elmo-pop3.el index 2339711..29ad744 100644 --- a/elmo/elmo-pop3.el +++ b/elmo/elmo-pop3.el @@ -398,7 +398,7 @@ Debug information is inserted in the buffer \"*POP3 DEBUG*\"") (with-temp-buffer (insert string) (goto-char (point-min)) - (while (re-search-forward "^\\([0-9]+\\)[\t ]\\([0-9]+\\)$" nil t) + (while (re-search-forward "^\\([0-9]+\\)[\t ]+\\([0-9]+\\)$" nil t) (setq alist (cons (cons (elmo-match-buffer 1) diff --git a/elmo/elmo-util.el b/elmo/elmo-util.el index 57f8277..ca290f7 100644 --- a/elmo/elmo-util.el +++ b/elmo/elmo-util.el @@ -1385,11 +1385,15 @@ Otherwise treat \\ in NEWTEXT string as special: (cond ((string= (elmo-filter-key condition) "last") (setq result (<= (length (memq number number-list)) - (string-to-int (elmo-filter-value condition))))) + (string-to-int (elmo-filter-value condition)))) + (if (eq (elmo-filter-type condition) 'unmatch) + (setq result (not result)))) ((string= (elmo-filter-key condition) "first") (setq result (< (- (length number-list) (length (memq number number-list))) - (string-to-int (elmo-filter-value condition))))) + (string-to-int (elmo-filter-value condition)))) + (if (eq (elmo-filter-type condition) 'unmatch) + (setq result (not result)))) (t (elmo-set-work-buf (as-binary-input-file (insert-file-contents file)) @@ -1399,8 +1403,6 @@ Otherwise treat \\ in NEWTEXT string as special: (setq result (elmo-buffer-field-primitive-condition-match condition number number-list))))) - (if (eq (elmo-filter-type condition) 'unmatch) - (setq result (not result))) result)) (defun elmo-file-field-condition-match (file condition number number-list) -- 1.7.10.4