[Mew-dist 05950] Re: about Aliases file
Murata Takashi
Takashi.Murata at example.com
1998年 8月 18日 (火) 12:23:40 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com>
Subject: [Mew-dist 05945] Re: about Aliases file
Date: Tue, 18 Aug 1998 04:53:26 +0900
> \t も入れて、
>
> (re-search-forward "^[ \t]*\\([^ \t\n:]+\\): ?\\(.*\\)$" nil t)
>
> でしょうね。
直前に "[ \t]+" を " " に正規化しているので、 " ?" でいいようです。
さらに、正規化によって "\t" は無くなっていること、 ":" の前にも " " が
入る可能性があることを反映すると、
(re-search-forward "^ ?\\([^ \n:]+\\) ?: ?\\(.*\\)$" nil t)
とするのがいいと思います。
> > あと、 SiteConfig と ~/.im/Config の両方が見れるようになれば、
> > さらに嬉しいですが、実現して戴けないでしょうか?
>
> impath が AliasFile を返す際に SiteConfig は参照しています。imali と同
> じ機能を実現するなら、SiteConfig に関しては今のコードで十分なはずです。
現状では impath の AliasFile は SiteConfig か ~/.im/Config の二者択一
のようです。 ~/.im/Config に設定されていれば SiteConfig は無視し、設定
されていなければ SiteConfig の設定が有効になります。
しかし、管理者として考えると、まずユーザ個人の設定が優先で、その中に
無いものについてはサイト全体の設定が有効になる、というのが嬉しいのです。
どちらにせよ、 impath が対応さえすれば、 mew も(おそらく imali も)
そのまま対応出来ると思われますので、とりあえず mew 側のパッチを添付
しておきます。
# cd しなくても expand-file-name で default directory が指定出来ることを
# 理解しました(^_^;。
┌───────────── 村田 隆 / Takashi.Murata at example.com ┐
└ 日本システム技術(株) 技術部 Tel:03-3503-8736 Fax:03-3580-7806 ┘
*** mew.el.old Tue Aug 18 10:38:05 1998
--- mew.el Tue Aug 18 11:33:52 1998
***************
*** 241,259 ****
(defun mew-alias-make-alist ()
"Make alias alist with association of (alias . expantion).
Currently, only \"user: user at example.com\" syntax is supported."
! (if (and mew-alias-file (file-readable-p mew-alias-file))
(save-excursion
(let ((case-fold-search t)
(alias nil)
(expn nil)
(alist nil)
! (files (list mew-alias-file)))
(mew-set-buffer-tmp)
! (insert-file-contents mew-alias-file)
;; include alias files
(goto-char (point-min))
(while (re-search-forward "^\<[ \t]*\\([^ \t\n]+\\).*$" nil t)
! (let ((file (expand-file-name (mew-match 1))))
(delete-region (match-beginning 0) (match-end 0))
(if (and (file-readable-p file)
(not (mew-member file files)))
--- 241,262 ----
(defun mew-alias-make-alist ()
"Make alias alist with association of (alias . expantion).
Currently, only \"user: user at example.com\" syntax is supported."
! ;; (if t (and mew-alias-file (file-readable-p mew-alias-file))
(save-excursion
(let ((case-fold-search t)
(alias nil)
(expn nil)
(alist nil)
! (files (mapcar (lambda (x) (expand-file-name x "~/.im/"))
! (mew-split mew-alias-file ?,))))
(mew-set-buffer-tmp)
! (mapcar (lambda (x) (if (file-readable-p x)
! (insert-file-contents x)))
! files)
;; include alias files
(goto-char (point-min))
(while (re-search-forward "^\<[ \t]*\\([^ \t\n]+\\).*$" nil t)
! (let ((file (expand-file-name (mew-match 1) "~/.im/")))
(delete-region (match-beginning 0) (match-end 0))
(if (and (file-readable-p file)
(not (mew-member file files)))
***************
*** 280,286 ****
(replace-match " "))
;;
(goto-char (point-min))
! (while (re-search-forward "^\\([^ \t\n:]+\\): ?\\(.*\\)$" nil t)
(setq alias (mew-match 1)
expn (mew-match 2))
;; append for first assoc comes first
--- 283,289 ----
(replace-match " "))
;;
(goto-char (point-min))
! (while (re-search-forward "^ ?\\([^ \n:]+\\) ?: ?\\(.*\\)$" nil t)
(setq alias (mew-match 1)
expn (mew-match 2))
;; append for first assoc comes first
***************
*** 287,293 ****
(setq alist (cons (cons alias expn) alist)))
;; load from mew-refile-from-alist
(setq alist (mew-refile-alist-append-alias alist))
! (nreverse alist))))) ;; return value
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
--- 290,296 ----
(setq alist (cons (cons alias expn) alist)))
;; load from mew-refile-from-alist
(setq alist (mew-refile-alist-append-alias alist))
! (nreverse alist)))) ;; return value
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
Mew-dist メーリングリストの案内