[Mew-dist 2340] From complete
H.Shirai/ 白井秀行
Shirai at example.com
1997年 10月 2日 (木) 20:46:20 JST
白井です。
Config:のcompleteを真似して、From:のcompleteを作ってみました。
From:のあとのスペースの処理がなんだなぁとは思っているのですが、
とりあえず動いているので、どなたかもっと素敵にして下さるとありが
たいです。
# これ以上のelispの知識は、私にはないもので。f(^^)
.emacsに
(setq mew-froms
(cons mew-from
'("Hideyuki.Shirai <Shirai at example.com>"
"秀 <hide at example.com>"
"ほげほげ <hoge at example.com>"
)))
と書いて使います。
1.92b1からのdiffをつけます。
-------------- next part --------------
*** mew-1.92/mew-complete.el Wed Aug 6 15:09:24 1997
--- mew-1.92+shirai//mew-complete.el Thu Oct 2 20:16:13 1997
***************
*** 30,36 ****
("Dcc:" . mew-complete-address)
("Bcc:" . mew-complete-address)
("Reply-To:" . mew-complete-address)
! ("From:" . mew-complete-address)
("Fcc:" . mew-complete-folder)
("Config:" . mew-complete-config))
"*Completion function alist concerned with the key"
--- 30,37 ----
("Dcc:" . mew-complete-address)
("Bcc:" . mew-complete-address)
("Reply-To:" . mew-complete-address)
! ;; ("From:" . mew-complete-address)
! ("From:" . mew-complete-from)
("Fcc:" . mew-complete-folder)
("Config:" . mew-complete-config))
"*Completion function alist concerned with the key"
***************
*** 106,111 ****
--- 107,150 ----
(display-completion-list all))
)
+ ;; complete-from's
+ (defun mew-complete-from ()
+ (interactive)
+ (let ((word (mew-delete-field-content)))
+ (if (null word)
+ (if mew-from (insert mew-from))
+ (mew-complete
+ word
+ (mew-slide-pair mew-froms)
+ "from"
+ t) ;; use cdr
+ )))
+
+ (defun mew-delete-field-content ()
+ (end-of-line)
+ (let ((end (point)))
+ (beginning-of-line)
+ (if (eq (re-search-forward "^[A-Za-z][-A-Za-z0-9]*\: +" end t) nil)
+ (if (eq (re-search-forward "^[A-Za-z][-A-Za-z0-9]*\:" end t) nil)
+ nil
+ (let ((start (point)))
+ (if (= start end)
+ (insert " ")
+ (prog1
+ (mew-buffer-substring start end)
+ (delete-region start end)
+ (insert " ")
+ (end-of-line)
+ ))))
+ (let ((start (point)))
+ (if (= start end)
+ nil
+ (prog1
+ (mew-buffer-substring start end)
+ (delete-region start end)
+ (end-of-line)
+ ))))))
+
;;
;; Completion function
;;
Mew-dist メーリングリストの案内