[Mew-dist 10397] about mew-guess.el
Ninomiya Hideyuki
nin at example.com
1999年 8月 24日 (火) 18:41:40 JST
こんにちは 二宮 @ お四国 です。
Shun-ichi GOTO <gotoh at example.com> は
Wed, 18 Aug 1999 18:30:12 +0900 頃に
Subject: [Mew-dist 10196] <snip> JLA Doc-CDへの収録許可のお願いの件
Message-ID: <19990818182914S.GOTOH at example.com>
に於いて、以下のようにおっしゃっていました。
※都合により手を加えさせて頂く事があります。御了承下さいマセマセ....
gotoh> 後藤@太陽計測です
gotoh>
gotoh> >>>>> at Wed, 18 Aug 1999 18:07:44 +0900
gotoh> >>>>> nin <nin at example.com> said,
gotoh>
gotoh> nin> # さてこれから、チョー(はよせ)スマートな定型文挿入の
gotoh> nin> # 開発に入ります(うそ、うそ、c-sig 流用するだけー)
c-sig を流用して、 template いれる方法は一応出来ました。
けどっ、送り先によって書き換えるのはなかなか大変そうなので
gotoh> 最近話題に出ている mew-guess.el のテンプレート挿入機能は
gotoh> いかがでしょうか。
mew-guess.el ってのが有るのは知ってましたが、ヘッダ置換だけかと思って
ました。試してみるとなかなか良さげなので、乗り換えます(^^)
gotoh> またそれでは十分でない点などがあるようでしたら、提案して
gotoh> みるというのも手ですよ。
ちょっと自分なりに下手な elisp コード 追加してみましたが、狙った
通りになかなか動いてくれません。やっぱ付け焼き刃じゃダメですねっ
一応人に見せるのも恥ずかしいパッチを付けときます。っがっ、これを
そのまま当てるのはお勧めしませんf^^;; 動きが変なとこ有ります。
見てもらったらだいたい解ると思いますが、template ファイルに
|<special-item>|を書いとくとその処理をするつもりのモノです。
special-item としては、ファイルを読み込む include:ファイルパス と
引用の挿入位置を指定する citation-point ってのを用意してみました。
include: の方は 一応使えます。
citation-point の方は、変です。自分じゃこれで良いと思ってコード
書いてみたのですが、全然変なとこを指してます。それに、ほんとに
挿入位置を指定する為には、mew-draft.el mew-draft-cite.el も変更
しないといけないし.....
point の動きを全然理解できてないのだろうきっと....
コードはほとんど、コピー&ペーストで入れてますので、ダサダサで
独自性も全く有りません。興味無いしとは出来ればみないで下さい。f^^;;
こんな事してるのは、template で署名も全て用意できればっと思った
からです。あと、最初から自動で template が用意できれば完璧じゃんと
思ってますが、、、いかがなもんでしょか ?
---
二宮 秀幸@愛媛 鬼北 広見町
PGP-Fingerprint: 6C59 EC08 5B23 6490 44D0 7CD3 DA40 219F 7114 8553
mailto:nin at example.com
http://user.shikoku.ne.jp/nin/index.html
-------------- next part --------------
*** mew-guess.el.org Mon Aug 23 23:24:29 1999
--- mew-guess.el Tue Aug 24 17:22:51 1999
***************
*** 274,280 ****
(if (not (file-exists-p efile))
(message "No template file %s" efile)
(progn
! (forward-char
(mew-draft-insert-file-and-replace
efile 'top (list kwlist mew-draft-replace-alist)))))))))
--- 274,280 ----
(if (not (file-exists-p efile))
(message "No template file %s" efile)
(progn
! (goto-char
(mew-draft-insert-file-and-replace
efile 'top (list kwlist mew-draft-replace-alist)))))))))
***************
*** 313,327 ****
(forward-line -1)
(end-of-line)
(insert "\n"))))
! (let (bytes)
! (save-restriction
(narrow-to-region
(point) (+ (point) (car (cdr (insert-file-contents file)))))
! (while alists
(mew-draft-replace-by-alist (car alists))
(setq alists (cdr alists)))
! (mew-fib-delete-frame)
! (setq bytes (- (point-max) (point-min))))))
(defun mew-draft-replace-by-alist (alist)
"Fill |>item<| by alist."
--- 313,346 ----
(forward-line -1)
(end-of-line)
(insert "\n"))))
! (make-local-variable 'citation-point) ;これはほんとは mew-draft.el で
! (save-restriction ;初期化しとくべきやねっ 本番じゃ
(narrow-to-region
(point) (+ (point) (car (cdr (insert-file-contents file)))))
! (let (begin end str file) ;ここから
! (goto-char (point-min))
! (while (re-search-forward "|<\\([^>]+\\)>|" nil t)
! (setq begin (match-beginning 1)
! end (match-end 1)
! str (buffer-substring begin end))
! (delete-region (- begin 2) (+ end 3)) ;ここがいい加減
! (cond ((string-match "include:*" str) ;こんなんいかがでしょ?
! (if (not (file-exists-p
! (setq file (expand-file-name (substring str 8)))))
! (message "No include file %s" file)
! (insert-file-contents file)))
! ((string= str "citation-point") ;ここ怪しいですが
! (progn ;現在意味無しです。
! (beginning-of-line)
! (message "citation point is : %d"
! (setq citation-point (point))))
! )
! (t (insert str))))) ;ここまで どっかでみた事有るのと
! (while alists ;そっくりなのをいれてみました。
(mew-draft-replace-by-alist (car alists))
(setq alists (cdr alists)))
! (mew-fib-delete-frame))
! citation-point)
(defun mew-draft-replace-by-alist (alist)
"Fill |>item<| by alist."
***************
*** 345,352 ****
(if (and (boundp obj)
(stringp (symbol-value obj)))
(symbol-value obj))))
! (t str))))))))
!
! (provide 'mew-guess)
;;; mew-guess.el ends here
--- 364,373 ----
(if (and (boundp obj)
(stringp (symbol-value obj)))
(symbol-value obj))))
! ((listp obj)
! (nth (random (length obj)) obj)) ;こんなんも追加して
! (t str)))))))) ;みました。テストして
! ;ないけど
! (provide 'mew-guess)
;;; mew-guess.el ends here
Mew-dist メーリングリストの案内