Sync up with 2.4.0.
authorteranisi <teranisi>
Thu, 30 Nov 2000 01:59:27 +0000 (01:59 +0000)
committerteranisi <teranisi>
Thu, 30 Nov 2000 01:59:27 +0000 (01:59 +0000)
Version number is incremented to 2.5.4.

12 files changed:
ChangeLog
doc/wl-ja.texi
doc/wl.texi
elmo/ChangeLog
elmo/elmo-dop.el
elmo/elmo-imap4.el
elmo/elmo-util.el
elmo/elmo-version.el
wl/ChangeLog
wl/wl-folder.el
wl/wl-summary.el
wl/wl-vars.el

index 4255522..51d9cb3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        * utils/sasl/sasl-digest.el: New file.
        * utils/sasl/digest-md5.el: Delete.
 
+2000-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * 2.4.0 - "Rio"
+
 2000-10-31  Tetsuo Tsukamoto <czkmt@remus.dti.ne.jp>
 
        * WL-MK: Require "backquote" before dealing with the custom issue.
index 7e3c17a..5d6e261 100644 (file)
@@ -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
 
index 3ee247f..331d83a 100644 (file)
@@ -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
 
index bd18055..2d56620 100644 (file)
@@ -1,3 +1,7 @@
+2000-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-version.el (elmo-version): Up to 2.5.4.
+
 2000-11-26  Kenichi OKADA  <okada@opaopa.org>
 
        * elmo-nntp.el (elmo-network-initialize-session): Accept response 20[01].
        * elmo-nntp.el (elmo-network-initialize-session): Skip garbage output
        before greeting.
 
+2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * 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  <teranisi@gohome.org>
 
        * elmo-version.el (elmo-version): Up to 2.5.3.
index 3d6fc06..0ff603c 100644 (file)
@@ -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))
index f60dba8..537e951 100644 (file)
@@ -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
index 713601a..0f29e83 100644 (file)
@@ -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 <okazaki@be.to>
 ;; 
 ;; number          ::= [0-9]+
index 68f1e8c..6b63e2e 100644 (file)
@@ -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)
index 016e4c2..50414c6 100644 (file)
@@ -1,8 +1,27 @@
+2000-11-30  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * Version number is increased to 2.5.4.
+
 2000-11-27  Kenichi OKADA  <okada@opaopa.org>
 
        * wl.el (wl-check-environment): Additional check for
        'wl-local-domain' and `wl-message-id-domain'.
 
+2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * 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 <ysjj@unixuser.org>)
+
+       * wl-summary.el (wl-summary-toggle-disp-folder): Removed needless
+       save-excursion.
+
 2000-11-22  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * Version number is increased to 2.5.3.
index f2b20e7..b85818d 100644 (file)
@@ -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.
index 8087742..8782598 100644 (file)
@@ -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)
index f815d2b..8e59516 100644 (file)
@@ -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.