Synch up with main trunk, and prepare the release 2.12.0.
[elisp/wanderlust.git] / wl / wl-news.el.in
index 86bc4eb..4ca7839 100644 (file)
@@ -44,7 +44,8 @@
   (if (and (boundp 'current-language-environment)
           (string-equal "Japanese"
                         (symbol-value 'current-language-environment)))
-      '("ja" "en") '("en" "ja")))
+      '("ja" "en") '("en" "ja"))
+       "The list of languages to show NEWS. (order sensitive)")
 
 (defun wl-news-check ()
   (let* ((updated (not (wl-news-already-current-p))))
@@ -92,7 +93,8 @@
     (let ((filename (expand-file-name
                     wl-news-version-file-name
                     elmo-msgdb-directory))
-         (tmp-buffer (get-buffer-create " *wl-news-version-tmp*")))
+         (tmp-buffer (get-buffer-create " *wl-news-version-tmp*"))
+         print-length print-level)
       (set-buffer tmp-buffer)
       (erase-buffer)
       (prin1 (cons current-version previous-version) tmp-buffer)
         (product-version (product-find 'wl-version))
         (car (wl-news-previous-version-load)))))
 
-(defun wl-news-send-news (version news-lang)
+(defun wl-news-send-news (version news-lang folder)
   (require 'wl-draft)
   (let ((lang (if (listp wl-news-lang)
                  wl-news-lang
       (wl-draft-get-header-delimiter t)
       (setq ret
            (and (elmo-folder-writable-p
-                 (wl-folder-get-elmo-folder wl-default-folder))
+                 (wl-folder-get-elmo-folder folder))
                 (elmo-folder-append-buffer
-                 (wl-folder-get-elmo-folder wl-default-folder) t)))
+                 (wl-folder-get-elmo-folder folder))))
       (wl-draft-hide send-buffer)
       (wl-draft-delete send-buffer))
     ret))
 (defvar wl-news-buf-name "NEWS")
 (defvar wl-news-mode-map nil)
 (defvar wl-news-winconf nil)
+(defvar wl-news-buffer-oldest-version nil)
+(make-variable-buffer-local 'wl-news-buffer-oldest-version)
 
 (unless wl-news-mode-map
   (setq wl-news-mode-map (make-sparse-keymap))
                  (setq wl-news-winconf (current-window-configuration))
                  (set-buffer (get-buffer-create wl-news-buf-name))
                  (wl-news-mode)
+                 (setq wl-news-buffer-oldest-version previous-version)
                  (buffer-disable-undo (current-buffer))
                  ;; insert news
                  (let ((buffer-read-only nil))
 
 (defun wl-news-append-to-folder ()
   (interactive)
-  (let* ((oldest-version (cdr (wl-news-previous-version-load)))
-        (current-version (product-version (product-find 'wl-version)))
+  (let* ((current-version (product-version (product-find 'wl-version)))
         (new-old-version current-version)
         (folder wl-default-folder))
     (if (or (and (elmo-folder-writable-p
                            wl-default-folder)))
            (setq folder
                  (wl-summary-read-folder wl-default-folder "to append ")))
-       (or (wl-news-send-news oldest-version wl-news-lang)
-           (error
-            (format "Cannot append NEWS mail to %s" wl-default-folder))))))
+       (or (wl-news-send-news wl-news-buffer-oldest-version wl-news-lang folder)
+           (error "Cannot append NEWS mail to %s" folder)))))
 
 (defun wl-news-force-exit ()
   (interactive)
 (require 'product)
 (product-provide (provide 'wl-news) (require 'wl-version))
 
-;;; wl-news.el ends here
\ No newline at end of file
+;;; wl-news.el ends here