X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=wl%2Fwl-folder.el;h=90c7f7ffb57786d5e87e541d8dacbc55c4e886a1;hb=bc2119676091ece4bbacec3e0fa184c245674b41;hp=d5e0d540628fe38856128f92b6dc6862b0b21634;hpb=10a95fa561ec82f555499e359e703a69eaecbad5;p=elisp%2Fwanderlust.git diff --git a/wl/wl-folder.el b/wl/wl-folder.el index d5e0d54..90c7f7f 100644 --- a/wl/wl-folder.el +++ b/wl/wl-folder.el @@ -1,10 +1,10 @@ ;;; wl-folder.el -- Folder mode for Wanderlust. -;; Copyright 1998,1999,2000 Yuuichi Teranishi -;; Masahiro MURATA +;; Copyright (C) 1998,1999,2000 Yuuichi Teranishi +;; Copyright (C) 1998,1999,2000 Masahiro MURATA ;; Author: Yuuichi Teranishi -;; Masahiro MURATA +;; Masahiro MURATA ;; Keywords: mail, net news ;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen). @@ -148,7 +148,7 @@ (define-key wl-folder-mode-map "g" 'wl-folder-goto-folder) (define-key wl-folder-mode-map "j" 'wl-folder-jump-to-current-entity) (define-key wl-folder-mode-map "w" 'wl-draft) - (define-key wl-folder-mode-map "W" 'wl-folder-write-current-newsgroup) + (define-key wl-folder-mode-map "W" 'wl-folder-write-current-folder) (define-key wl-folder-mode-map "\C-c\C-o" 'wl-jump-to-draft-buffer) (define-key wl-folder-mode-map "rS" 'wl-folder-sync-region) (define-key wl-folder-mode-map "S" 'wl-folder-sync-current-entity) @@ -1952,9 +1952,6 @@ Entering Folder mode calls the value of `wl-folder-mode-hook'." wl-nntp-posting-server elmo-default-nntp-port nil nil "nntp" add)) - ;; This hook may contain the functions `wl-plugged-init-icons' and - ;; `wl-biff-init-icons' for reasons of system internal to accord - ;; facilities for the Emacs variants. (run-hooks 'wl-make-plugged-hook))) (defvar wl-folder-init-func 'wl-local-folder-init) @@ -2005,6 +2002,51 @@ Entering Folder mode calls the value of `wl-folder-mode-hook'." (setq alist (cdr alist))) hashtb)) +(defun wl-folder-get-newsgroups (folder) + "Return Newsgroups field value string for FOLDER newsgroup. +If FOLDER is multi, return comma separated string (cross post)." + (let ((flist (elmo-folder-get-primitive-folder-list folder)) ; multi + newsgroups fld ret) + (while (setq fld (car flist)) + (if (setq ret + (cond ((eq 'nntp (elmo-folder-get-type fld)) + (nth 1 (elmo-folder-get-spec fld))) + ((eq 'localnews (elmo-folder-get-type fld)) + (elmo-replace-in-string + (nth 1 (elmo-folder-get-spec fld)) "/" "\\.")))) + ;; append newsgroup + (setq newsgroups (if (stringp newsgroups) + (concat newsgroups "," ret) + ret))) + (setq flist (cdr flist))) + (list nil nil newsgroups))) + +(defun wl-folder-guess-mailing-list-by-refile-rule (folder) + "Return ML address guess by FOLDER. +Use `wl-subscribed-mailing-list' and `wl-refile-rule-alist'. +Don't care multi." + (setq folder (car (elmo-folder-get-primitive-folder-list folder))) + (unless (memq (elmo-folder-get-type folder) + '(localnews nntp)) + (let ((rules wl-refile-rule-alist) + mladdress tokey toalist histkey) + (while rules + (if (or (and (stringp (car (car rules))) + (string-match "[Tt]o" (car (car rules)))) + (and (listp (car (car rules))) + (elmo-string-matched-member "to" (car (car rules)) + 'case-ignore))) + (setq toalist (append toalist (cdr (car rules))))) + (setq rules (cdr rules))) + (setq tokey (car (rassoc folder toalist))) +;;; (setq histkey (car (rassoc folder wl-refile-alist))) + ;; case-ignore search `wl-subscribed-mailing-list' + (if (stringp tokey) + (list + (elmo-string-matched-member tokey wl-subscribed-mailing-list t) + nil nil) + nil)))) + (defun wl-folder-update-diff-line (diffs) (let ((inhibit-read-only t) (buffer-read-only nil) @@ -2630,10 +2672,11 @@ If optional arg exists, don't check any folders." (wl-folder-drop-unsync-entity entity) (message "All unsync messages in %s are dropped!" entity-name))))) -(defun wl-folder-write-current-newsgroup () +(defun wl-folder-write-current-folder () "" (interactive) - (wl-summary-write-current-newsgroup (wl-folder-entity-name))) + (unless (wl-folder-buffer-group-p) + (wl-summary-write-current-folder (wl-folder-entity-name)))) (defun wl-folder-mimic-kill-buffer () "Kill the current (Folder) buffer with query."