From 326bcc3e2e1f568857af693a4ee72fa44339b9bb Mon Sep 17 00:00:00 2001 From: teranisi Date: Wed, 26 Dec 2001 02:00:48 +0000 Subject: [PATCH] * elmo.el (elmo-folder-synchronize): Delete important messages too. * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed `since'; Fix timezone. * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Ditto. * elmo-nntp.el (elmo-nntp-search-primitive): Likewise. * NEWS, NEWS.ja: Added description about `elmo-enable-disconnected-operation'. * WL-MK (update-version): New function. * Makefile (update-version): Added. --- ChangeLog | 9 +++++++++ Makefile | 3 +++ NEWS | 4 ++++ NEWS.ja | 4 ++++ WL-MK | 20 ++++++++++++++++++++ elmo/ChangeLog | 11 +++++++++++ elmo/elmo-msgdb.el | 18 ++++++++++++------ elmo/elmo-nntp.el | 26 +++++++++++++------------- elmo/elmo-util.el | 30 +++++++++++++++++++----------- elmo/elmo.el | 11 +---------- 10 files changed, 96 insertions(+), 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index dd581cf..488dbf3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-12-26 Yuuichi Teranishi + + * NEWS, NEWS.ja: Added description about + `elmo-enable-disconnected-operation'. + + * WL-MK (update-version): New function. + + * Makefile (update-version): Added. + 2001-12-18 Yuuichi Teranishi * samples/ja/dot.wl,samples/en/dot.wl (my-wl-summary-subject-func-ml): diff --git a/Makefile b/Makefile index 57c1aef..68e7a7a 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,9 @@ check: test: $(EMACS) $(FLAGS) -l WL-MK -f test-wl $(LISPDIR) $(PIXMAPDIR) +update-version: + $(EMACS) $(FLAGS) -l WL-MK -f update-version $(LISPDIR) $(PIXMAPDIR) + install-elc: $(EMACS) $(FLAGS) -l WL-MK -f install-wl-package $(LISPDIR) $(PIXMAPDIR) diff --git a/NEWS b/NEWS index f8b1f96..d5328ec 100644 --- a/NEWS +++ b/NEWS @@ -77,6 +77,10 @@ Wanderlust NEWS -- User-visible changes in Wanderlust. elmo-cache-directory (e.g. for whom put symbolic link for ~/.elmo/cache on NFS environment). +** Default value of elmo-enable-disconnected-operation is now `t'. + When the relevant messages are cached, you can do some operations + even in the off-line state. + * Version 2.6.1 is basically a bug fix version of 2.6.0. ** Fixed a problem that Emacs 21 causes `Recursive load...' error. diff --git a/NEWS.ja b/NEWS.ja index 306920b..a1e8493 100644 --- a/NEWS.ja +++ b/NEWS.ja @@ -78,6 +78,10 @@ Wanderlust NEWS (日本語版) -- User-visible changes in Wanderlust. 方は、elmo-cache-directory を設定することによってキャッシュだけ を全く別のディレクトリにできます。 +** elmo-enable-disconnected-operation のデフォルト値が t になりました。 + オフライン状態でもメッセージがキャッシュされていれば、ある程度の + メッセージ操作が可能です。 + * 2.6.1 は 2.6.0 の修正版です。 ** Emacs 21 で Recursive load... と出る不具合が修正されました。 diff --git a/WL-MK b/WL-MK index c4f181c..008697e 100644 --- a/WL-MK +++ b/WL-MK @@ -141,6 +141,26 @@ (config-wl-pixmap-dir) (princ "\n")) +(defun update-version () + "Update version number of documents." + (config-wl-package) + (load-file "elmo/elmo-version.el") + (let ((version (mapconcat + 'number-to-string + (product-version (product-find 'elmo-version)) + "."))) + (princ (concat "Update version number to " version "\n")) + ;; generate version.tex + (with-temp-buffer + (insert "\\def\\versionnumber{" version "}\n") + (write-region (point-min) (point-max) (expand-file-name + "version.tex" "doc"))) + ;; generate version.texi + (with-temp-buffer + (insert "@set VERSION " version "\n") + (write-region (point-min) (point-max) (expand-file-name + "version.texi" "doc"))))) + (defun test-wl () "Run test suite for developer." (config-wl-package) diff --git a/elmo/ChangeLog b/elmo/ChangeLog index c88d65b..19395ba 100644 --- a/elmo/ChangeLog +++ b/elmo/ChangeLog @@ -1,3 +1,14 @@ +2001-12-26 Yuuichi Teranishi + + * elmo.el (elmo-folder-synchronize): Delete important messages too. + + * elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed + `since'; Fix timezone. + + * elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Ditto. + + * elmo-nntp.el (elmo-nntp-search-primitive): Likewise. + 2001-12-25 Hiroya Murata * elmo.el (elmo-message-fetch-with-cache-process): Rewrite. diff --git a/elmo/elmo-msgdb.el b/elmo/elmo-msgdb.el index 0ca535d..a7d2ffc 100644 --- a/elmo/elmo-msgdb.el +++ b/elmo/elmo-msgdb.el @@ -309,12 +309,18 @@ header separator." (elmo-msgdb-overview-entity-get-cc entity)))) ((or (string= key "since") (string= key "before")) - (let ((res (string< (timezone-make-date-sortable - (elmo-msgdb-overview-entity-get-date entity)) - (elmo-date-make-sortable-string - (elmo-date-get-datevec - (elmo-filter-value condition)))))) - (setq result (if (string= key "before") res (not res))))) + (let ((field-date (timezone-make-date-sortable + (timezone-fix-time + (elmo-msgdb-overview-entity-get-date entity) + (current-time-zone) nil))) + (specified-date + (elmo-date-make-sortable-string + (elmo-date-get-datevec + (elmo-filter-value condition))))) + (setq result (if (string= key "since") + (or (string= specified-date field-date) + (string< specified-date field-date)) + (string< field-date specified-date))))) ((member key elmo-msgdb-extra-fields) (let ((extval (elmo-msgdb-overview-entity-get-extra-field entity key))) (if (stringp extval) diff --git a/elmo/elmo-nntp.el b/elmo/elmo-nntp.el index 102b94c..33a4991 100644 --- a/elmo/elmo-nntp.el +++ b/elmo/elmo-nntp.el @@ -1127,27 +1127,27 @@ Returns a list of cons cells like (NUMBER . VALUE)" numbers)) ((or (string= "since" search-key) (string= "before" search-key)) - (let* ((key-date (elmo-date-get-datevec (elmo-filter-value condition))) - (key-datestr (elmo-date-make-sortable-string key-date)) + (let* ((specified-date (elmo-date-make-sortable-string + (elmo-date-get-datevec (elmo-filter-value + condition)))) (since (string= "since" search-key)) - result) + field-date result) (if (eq (elmo-filter-type condition) 'unmatch) (setq since (not since))) (setq result (delq nil (mapcar (lambda (pair) + (setq field-date + (elmo-date-make-sortable-string + (timezone-fix-time + (cdr pair) + (current-time-zone) nil))) (if (if since - (string< key-datestr - (elmo-date-make-sortable-string - (timezone-fix-time - (cdr pair) - (current-time-zone) nil))) - (not (string< key-datestr - (elmo-date-make-sortable-string - (timezone-fix-time - (cdr pair) - (current-time-zone) nil))))) + (or (string= specified-date field-date) + (string< specified-date field-date)) + (string< field-date + specified-date)) (car pair))) (elmo-nntp-retrieve-field spec "date" from-msgs)))) (if from-msgs diff --git a/elmo/elmo-util.el b/elmo/elmo-util.el index be810a9..4e50f19 100644 --- a/elmo/elmo-util.el +++ b/elmo/elmo-util.el @@ -816,22 +816,30 @@ Return value is a cons cell of (STRUCTURE . REST)" (length (memq number number-list))) (string-to-int (elmo-filter-value condition))))) ((string= (elmo-filter-key condition) "since") - (let ((date (elmo-date-get-datevec (elmo-filter-value condition)))) + (let* ((date (elmo-date-get-datevec (elmo-filter-value condition))) + (field-date (timezone-make-date-sortable + (timezone-fix-time + (std11-field-body "date") + (current-time-zone) nil))) + (specified-date (timezone-make-sortable-date + (aref date 0) + (aref date 1) + (aref date 2) + (timezone-make-time-string + (aref date 3) + (aref date 4) + (aref date 5))))) (setq result - (string< - (timezone-make-sortable-date (aref date 0) - (aref date 1) - (aref date 2) - (timezone-make-time-string - (aref date 3) - (aref date 4) - (aref date 5))) - (timezone-make-date-sortable (std11-field-body "date")))))) + (or (string= field-date specified-date) + (string< specified-date field-date))))) ((string= (elmo-filter-key condition) "before") (let ((date (elmo-date-get-datevec (elmo-filter-value condition)))) (setq result (string< - (timezone-make-date-sortable (std11-field-body "date")) + (timezone-make-date-sortable + (timezone-fix-time + (std11-field-body "date") + (current-time-zone) nil)) (timezone-make-sortable-date (aref date 0) (aref date 1) (aref date 2) diff --git a/elmo/elmo.el b/elmo/elmo.el index 49a8794..642834e 100644 --- a/elmo/elmo.el +++ b/elmo/elmo.el @@ -1278,16 +1278,7 @@ If update process is interrupted, return nil." (length new-list))) (setq diff-2 (elmo-list-diff (car diff) new-list))) (elmo-msgdb-append-to-killed-list folder (car diff-2))) - ;; Don't delete important marked messages. - (setq delete-list - (if (eq (elmo-folder-type-internal folder) 'mark) - (cadr diff) - (elmo-delete-if - (lambda (x) - (and (setq mark (cadr (assq x mark-alist))) - (string= mark important-mark))) - ;; delete message list - (cadr diff)))) + (setq delete-list (cadr diff)) (if (or (equal diff '(nil nil)) (equal diff '(nil)) (and (eq (length (car diff)) 0) -- 1.7.10.4