X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=wl%2Fwl-news.el.in;h=d3803cb00dfa8dce611fac5fe859a2259540268b;hb=1a911aa2a44cbc5ee8f876887be2966e7b9b2812;hp=7dd853ec768973703785f443d6adb5a2137a70d7;hpb=2e2b143e8c1b543e866e007a18f4e49164defad3;p=elisp%2Fwanderlust.git diff --git a/wl/wl-news.el.in b/wl/wl-news.el.in index 7dd853e..d3803cb 100644 --- a/wl/wl-news.el.in +++ b/wl/wl-news.el.in @@ -68,42 +68,33 @@ ;;; -*- news-list-end -*- (defun wl-news-previous-version-load () - (save-excursion + (with-temp-buffer (let ((filename (expand-file-name wl-news-version-file-name elmo-msgdb-directory)) - (tmp-buffer (get-buffer-create " *wl-news-version-tmp*")) insert-file-contents-pre-hook insert-file-contents-post-hook ret-val) (if (not (file-readable-p filename)) (cons wl-news-default-previous-version wl-news-default-previous-version) - (set-buffer tmp-buffer) (insert-file-contents filename) - (setq ret-val - (condition-case nil - (read (current-buffer)) - (error nil nil))) - (kill-buffer tmp-buffer) - ret-val)))) + (condition-case nil + (read (current-buffer)) + (error nil nil)))))) (defun wl-news-previous-version-save (current-version previous-version) - (save-excursion + (with-temp-buffer (let ((filename (expand-file-name wl-news-version-file-name elmo-msgdb-directory)) - (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) - (princ "\n" tmp-buffer) + (prin1 (cons current-version previous-version) (current-buffer)) + (princ "\n" (current-buffer)) (if (file-writable-p filename) (write-region (point-min) (point-max) filename nil 'no-msg) - (message "%s is not writable." filename)) - (kill-buffer tmp-buffer)))) + (message "%s is not writable." filename))))) (defun wl-news-append-news (lang previous-version &optional no-mime-tag) (require 'wl-mime) @@ -173,7 +164,7 @@ (and (elmo-folder-writable-p (wl-folder-get-elmo-folder folder)) (elmo-folder-append-buffer - (wl-folder-get-elmo-folder folder) t))) + (wl-folder-get-elmo-folder folder)))) (wl-draft-hide send-buffer) (wl-draft-delete send-buffer)) ret)) @@ -194,15 +185,18 @@ (define-key wl-news-mode-map "a" 'wl-news-show-all) (define-key wl-news-mode-map "m" 'wl-news-append-to-folder) (define-key wl-news-mode-map "\C-m" 'wl-news-next-line) - (define-key wl-news-mode-map " " 'wl-news-next-page)) - -(defun wl-news-mode () + (define-key wl-news-mode-map " " 'wl-news-next-page) + (define-key wl-news-mode-map "\177" 'wl-news-previous-page) + ;; re-bind commands of outline-mode + (define-key wl-news-mode-map "n" 'outline-next-visible-heading) + (define-key wl-news-mode-map "p" 'outline-previous-visible-heading) + (define-key wl-news-mode-map "u" 'outline-up-heading) + (define-key wl-news-mode-map "N" 'outline-forward-same-level) + (define-key wl-news-mode-map "P" 'outline-backward-same-level)) + +(require 'derived) +(define-derived-mode wl-news-mode outline-mode "NEWS" "Mode for Wanderlust NEWS(.ja)." - (interactive) - (kill-all-local-variables) - (use-local-map wl-news-mode-map) - (setq major-mode 'wl-news-mode) - (setq mode-name "NEWS") (setq buffer-read-only t)) (defun wl-news (&optional arg) @@ -246,6 +240,10 @@ (interactive) (scroll-up)) +(defun wl-news-previous-page () + (interactive) + (scroll-down)) + (defun wl-news-show-all () (interactive) (when (eq major-mode 'wl-news-mode) @@ -303,4 +301,8 @@ (require 'product) (product-provide (provide 'wl-news) (require 'wl-version)) + +;; Local Variables: +;; no-byte-compile: t +;; End: ;;; wl-news.el ends here