From 9702a8a6792ce93fbb075ffadff0c5e3a2fef34d Mon Sep 17 00:00:00 2001 From: teranisi Date: Thu, 30 Nov 2000 01:59:27 +0000 Subject: [PATCH] Sync up with 2.4.0. Version number is incremented to 2.5.4. --- ChangeLog | 4 ++++ doc/wl-ja.texi | 2 +- doc/wl.texi | 2 +- elmo/ChangeLog | 18 ++++++++++++++++ elmo/elmo-dop.el | 25 ++++++++++++++++++++-- elmo/elmo-imap4.el | 23 +++++++++++---------- elmo/elmo-util.el | 10 +++++++++ elmo/elmo-version.el | 2 +- wl/ChangeLog | 19 +++++++++++++++++ wl/wl-folder.el | 56 ++++++++++++++++++++++++++++++++++---------------- wl/wl-summary.el | 49 ++++++++++++++++++++++--------------------- wl/wl-vars.el | 4 ++-- 12 files changed, 153 insertions(+), 61 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4255522..51d9cb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,10 @@ * utils/sasl/sasl-digest.el: New file. * utils/sasl/digest-md5.el: Delete. +2000-11-30 Yuuichi Teranishi + + * 2.4.0 - "Rio" + 2000-10-31 Tetsuo Tsukamoto * WL-MK: Require "backquote" before dealing with the custom issue. diff --git a/doc/wl-ja.texi b/doc/wl-ja.texi index 7e3c17a..5d6e261 100644 --- a/doc/wl-ja.texi +++ b/doc/wl-ja.texi @@ -5,7 +5,7 @@ @c %**end of header @documentlanguage ja @documentencoding iso-2022-jp -@set VERSION 2.5.3 +@set VERSION 2.5.4 @synindex pg cp @finalout diff --git a/doc/wl.texi b/doc/wl.texi index 3ee247f..331d83a 100644 --- a/doc/wl.texi +++ b/doc/wl.texi @@ -5,7 +5,7 @@ @c %**end of header @documentlanguage en @documentencoding us-ascii -@set VERSION 2.5.3 +@set VERSION 2.5.4 @synindex pg cp @finalout diff --git a/elmo/ChangeLog b/elmo/ChangeLog index bd18055..2d56620 100644 --- a/elmo/ChangeLog +++ b/elmo/ChangeLog @@ -1,3 +1,7 @@ +2000-11-30 Yuuichi Teranishi + + * elmo-version.el (elmo-version): Up to 2.5.4. + 2000-11-26 Kenichi OKADA * elmo-nntp.el (elmo-network-initialize-session): Accept response 20[01]. @@ -11,6 +15,20 @@ * elmo-nntp.el (elmo-network-initialize-session): Skip garbage output before greeting. +2000-11-28 Yuuichi Teranishi + + * elmo-imap4.el (elmo-imap4-delete-folder): + Send "close" before "delete" (Use commented out line). + (elmo-imap4-rename-folder): Ditto. + + * elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get + folder string itself. + (elmo-dop-list-deleted): New function. + (elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as + killed. + + * elmo-util.el (elmo-string-rassoc-all): New function. + 2000-11-22 Yuuichi Teranishi * elmo-version.el (elmo-version): Up to 2.5.3. diff --git a/elmo/elmo-dop.el b/elmo/elmo-dop.el index 3d6fc06..0ff603c 100644 --- a/elmo/elmo-dop.el +++ b/elmo/elmo-dop.el @@ -42,7 +42,7 @@ Automatically loaded/saved.") (defun elmo-dop-queue-append (folder function argument) - (let ((operation (list (format "%s" folder) function argument))) + (let ((operation (list (elmo-string folder) function argument))) (elmo-dop-queue-load) (unless (member operation elmo-dop-queue) ;; don't append same operation (setq elmo-dop-queue @@ -241,6 +241,25 @@ even an operation concerns the unplugged folder." (setq numbers (cdr numbers))) (cons appended deleting-msgids))) +(defun elmo-dop-list-deleted (folder number-alist) + "List message numbers to be deleted on FOLDER from NUMBER-ALIST." + (elmo-dop-queue-load) + (let ((queue elmo-dop-queue) + numbers matches nalist) + (while queue + (if (and (string= (nth 0 (car queue)) folder) + (string= (nth 1 (car queue)) "delete-msgids")) + (setq numbers + (nconc numbers + (delq nil (mapcar + (lambda (x) + (mapcar 'car + (elmo-string-rassoc-all + x number-alist))) + (nth 2 (car queue))))))) + (setq queue (cdr queue))) + (elmo-uniq-list (elmo-flatten numbers)))) + (defun elmo-dop-delete-msgs (folder msgs msgdb) (save-match-data (let ((folder-numbers (elmo-make-folder-numbers-list folder msgs)) @@ -287,6 +306,8 @@ even an operation concerns the unplugged folder." alreadies max-num (i 0)) + (setq killed (nconc (elmo-dop-list-deleted folder number-alist) + killed)) (while append-list (if (rassoc (car append-list) number-alist) (setq alreadies (append alreadies @@ -332,7 +353,7 @@ even an operation concerns the unplugged folder." (if (eq (elmo-folder-get-type folder) 'imap4) (if elmo-enable-disconnected-operation (let* ((number-alist (elmo-msgdb-number-load - (elmo-msgdb-expand-path folder))) + (elmo-msgdb-expand-path folder))) (number-list (mapcar 'car number-alist)) (append-list (elmo-dop-append-list-load folder)) (append-num (length append-list)) diff --git a/elmo/elmo-imap4.el b/elmo/elmo-imap4.el index f60dba8..537e951 100644 --- a/elmo/elmo-imap4.el +++ b/elmo/elmo-imap4.el @@ -621,23 +621,24 @@ BUFFER must be a single-byte buffer." (when (elmo-imap4-spec-mailbox spec) (when (setq msgs (elmo-imap4-list-folder spec)) (elmo-imap4-delete-msgs spec msgs)) - ;; (elmo-imap4-send-command-wait session "close") + (elmo-imap4-send-command-wait session "close") (elmo-imap4-send-command-wait session (list "delete " (elmo-imap4-mailbox (elmo-imap4-spec-mailbox spec))))))) (defun elmo-imap4-rename-folder (old-spec new-spec) -;;;(elmo-imap4-send-command-wait session "close") - (elmo-imap4-send-command-wait - (elmo-imap4-get-session old-spec) - (list "rename " - (elmo-imap4-mailbox - (elmo-imap4-spec-mailbox old-spec)) - " " - (elmo-imap4-mailbox - (elmo-imap4-spec-mailbox new-spec))))) - + (let ((session (elmo-imap4-get-session old-spec))) + (elmo-imap4-send-command-wait session "close") + (elmo-imap4-send-command-wait + session + (list "rename " + (elmo-imap4-mailbox + (elmo-imap4-spec-mailbox old-spec)) + " " + (elmo-imap4-mailbox + (elmo-imap4-spec-mailbox new-spec)))))) + (defun elmo-imap4-max-of-folder (spec) (let ((session (elmo-imap4-get-session spec)) (killed (and elmo-use-killed-list diff --git a/elmo/elmo-util.el b/elmo/elmo-util.el index 713601a..0f29e83 100644 --- a/elmo/elmo-util.el +++ b/elmo/elmo-util.el @@ -1673,6 +1673,16 @@ But if optional argument AUTO is non-nil, DEFAULT is returned." (throw 'loop a)) (setq alist (cdr alist)))))) +(defun elmo-string-rassoc-all (key alist) + (let (matches) + (while alist + (if (string= key (cdr (car alist))) + (setq matches + (cons (car alist) + matches))) + (setq alist (cdr alist))) + matches)) + ;;; Number set defined by OKAZAKI Tetsurou ;; ;; number ::= [0-9]+ diff --git a/elmo/elmo-version.el b/elmo/elmo-version.el index 68f1e8c..6b63e2e 100644 --- a/elmo/elmo-version.el +++ b/elmo/elmo-version.el @@ -35,7 +35,7 @@ ;; product-define in the first place (product-provide 'elmo-version - (product-define "ELMO" nil '(2 5 3))) + (product-define "ELMO" nil '(2 5 4))) ;; For APEL 10.2 or earlier. (defun-maybe product-version-as-string (product) diff --git a/wl/ChangeLog b/wl/ChangeLog index 016e4c2..50414c6 100644 --- a/wl/ChangeLog +++ b/wl/ChangeLog @@ -1,8 +1,27 @@ +2000-11-30 Yuuichi Teranishi + + * Version number is increased to 2.5.4. + 2000-11-27 Kenichi OKADA * wl.el (wl-check-environment): Additional check for 'wl-local-domain' and `wl-message-id-domain'. +2000-11-28 Yuuichi Teranishi + + * wl-folder.el (wl-folder-sync-entity): Bind name of summary/message + buffer as command specific. + (wl-folder-mark-as-read-all-entity): Ditto. + (wl-folder-prefetch-entity): Ditto. + (wl-folder-drop-unsync-entity): Ditto. + + * wl-vars.el (wl-prog-uudecode-arg): Changed default to nil. + (wl-prog-uudecode-no-stdout-option): Changed default to t. + (Advised by YAMASHITA Junji ) + + * wl-summary.el (wl-summary-toggle-disp-folder): Removed needless + save-excursion. + 2000-11-22 Yuuichi Teranishi * Version number is increased to 2.5.3. diff --git a/wl/wl-folder.el b/wl/wl-folder.el index f2b20e7..b85818d 100644 --- a/wl/wl-folder.el +++ b/wl/wl-folder.el @@ -983,10 +983,15 @@ If current line is group folder, check all sub entries." (or (< 0 new) (< 0 unread))) (save-window-excursion (save-excursion - (wl-summary-goto-folder-subr entity - (wl-summary-get-sync-range entity) - nil nil nil t) - (wl-summary-exit)))))))) + (let ((wl-summary-buffer-name (concat + wl-summary-buffer-name + (symbol-name this-command))) + (wl-message-buf-name (concat wl-message-buf-name + (symbol-name this-command)))) + (wl-summary-goto-folder-subr entity + (wl-summary-get-sync-range entity) + nil nil nil t) + (wl-summary-exit))))))))) (defun wl-folder-sync-current-entity (&optional unread-only) "Synchronize the folder at position. @@ -1025,11 +1030,16 @@ If current line is group folder, check all subfolders." (if (or (< 0 new) (< 0 unread)) (save-window-excursion (save-excursion - (wl-summary-goto-folder-subr entity - (wl-summary-get-sync-range entity) - nil) - (wl-summary-mark-as-read-all) - (wl-summary-exit))) + (let ((wl-summary-buffer-name (concat + wl-summary-buffer-name + (symbol-name this-command))) + (wl-message-buf-name (concat wl-message-buf-name + (symbol-name this-command)))) + (wl-summary-goto-folder-subr entity + (wl-summary-get-sync-range entity) + nil) + (wl-summary-mark-as-read-all) + (wl-summary-exit)))) (sit-for 0)))))) (defun wl-folder-mark-as-read-all-current-entity () @@ -2610,12 +2620,17 @@ Use `wl-subscribed-mailing-list'." (< 0 count)) (save-window-excursion (save-excursion - (wl-summary-goto-folder-subr entity - (wl-summary-get-sync-range entity) - nil) - (setq ret-val (wl-summary-incorporate)) - (wl-summary-exit) - ret-val)) + (let ((wl-summary-buffer-name (concat + wl-summary-buffer-name + (symbol-name this-command))) + (wl-message-buf-name (concat wl-message-buf-name + (symbol-name this-command)))) + (wl-summary-goto-folder-subr entity + (wl-summary-get-sync-range entity) + nil) + (setq ret-val (wl-summary-incorporate)) + (wl-summary-exit) + ret-val))) (cons 0 0)))))) (defun wl-folder-count-incorporates (folder) @@ -2662,9 +2677,14 @@ If current line is group folder, all subfolders are prefetched." (if (< 0 new) (save-window-excursion (save-excursion - (wl-summary-goto-folder-subr entity 'no-sync nil) - (wl-summary-drop-unsync) - (wl-summary-exit)))))))) + (let ((wl-summary-buffer-name (concat + wl-summary-buffer-name + (symbol-name this-command))) + (wl-message-buf-name (concat wl-message-buf-name + (symbol-name this-command)))) + (wl-summary-goto-folder-subr entity 'no-sync nil) + (wl-summary-drop-unsync) + (wl-summary-exit))))))))) (defun wl-folder-drop-unsync-current-entity (&optional force-check) "Drop all unsync messages in the folder at position. diff --git a/wl/wl-summary.el b/wl/wl-summary.el index 8087742..8782598 100644 --- a/wl/wl-summary.el +++ b/wl/wl-summary.el @@ -4706,31 +4706,30 @@ If ARG, exit virtual folder." (run-hooks 'wl-summary-toggle-disp-folder-message-resumed-hook) (select-window (get-buffer-window cur-buf))) ) - (save-excursion - ;; hide message window - (let ((mes-win (get-buffer-window view-message-buffer)) - (wl-stay-folder-window t)) - (if mes-win (delete-window mes-win)) - (select-window (get-buffer-window cur-buf)) - ;; display wl-folder window!! - (if (setq fld-buf (get-buffer wl-folder-buffer-name)) - (if (setq fld-win (get-buffer-window fld-buf)) - ;; folder win is already displayed. - (select-window fld-win) - ;; folder win is not displayed...occupy all. - (switch-to-buffer fld-buf)) - ;; no folder buf - (wl-folder)) - (split-window-horizontally wl-folder-window-width) - (other-window 1) - (switch-to-buffer cur-buf) - ;; resume message window. - (run-hooks 'wl-summary-toggle-disp-folder-on-hook) - (when mes-win - (wl-select-buffer view-message-buffer) - (run-hooks 'wl-summary-toggle-disp-folder-message-resumed-hook) - (select-window (get-buffer-window cur-buf)))) - ))))) + ;; hide message window + (let ((mes-win (get-buffer-window view-message-buffer)) + (wl-stay-folder-window t)) + (if mes-win (delete-window mes-win)) + (select-window (get-buffer-window cur-buf)) + ;; display wl-folder window!! + (if (setq fld-buf (get-buffer wl-folder-buffer-name)) + (if (setq fld-win (get-buffer-window fld-buf)) + ;; folder win is already displayed. + (select-window fld-win) + ;; folder win is not displayed...occupy all. + (switch-to-buffer fld-buf)) + ;; no folder buf + (wl-folder)) + (split-window-horizontally wl-folder-window-width) + (other-window 1) + (switch-to-buffer cur-buf) + ;; resume message window. + (run-hooks 'wl-summary-toggle-disp-folder-on-hook) + (when mes-win + (wl-select-buffer view-message-buffer) + (run-hooks 'wl-summary-toggle-disp-folder-message-resumed-hook) + (select-window (get-buffer-window cur-buf)))) + )))) (run-hooks 'wl-summary-toggle-disp-folder-hook)) (defun wl-summary-toggle-disp-msg (&optional arg) diff --git a/wl/wl-vars.el b/wl/wl-vars.el index f815d2b..8e59516 100644 --- a/wl/wl-vars.el +++ b/wl/wl-vars.el @@ -2175,9 +2175,9 @@ XBM even if XPM can be shown." "*Icon file for no mail existed state.") (defvar wl-prog-uudecode "uudecode" "*uudecode program name.") -(defvar wl-prog-uudecode-arg '("-p") ;; outout is stdout. +(defvar wl-prog-uudecode-arg nil "*Arguments for uudecode program.") -(defvar wl-prog-uudecode-no-stdout-option nil +(defvar wl-prog-uudecode-no-stdout-option t "*If non-nil, uudecode program don't have option for output to stdout.") ;; Obsolete variables. for compatibility. -- 1.7.10.4