[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bep] ファイルを結合するマクロ <Re: ミューをダウンロードしましたが・・・。
- To: bep@argv.org
- Subject: Re: [bep] ファイルを結合するマクロ <Re: ミューをダウンロードしましたが・・・。
- From: Reiko TAKAHASHI <HFC03614@nifty.ne.jp> (高橋玲子)
- Date: Thu, 21 Jun 2001 20:31:13 +0900
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
r高橋です。
今いるバッファ全体をディスク上のファイルにappendするコマンド、作って動
かしてみました。
Reply Koichi INOUE <inoue@...>'s message:
} (append-to-file START END FILENAME)
} という呼び出し形式が理解できると思うので、
} defunで引数filenameを持つ関数をつくって、
} (interactive "Fappend file name: ")
} としてユーザにファイル名入力を求めて、
} (append-to-file (point-min) (point-max) filename)
} とするだけのような気がします。
} これですが、おそらく、append-to-fileする部分を
} (let ((coding-system-for-write 'shift_jis-dos))
} ....)
} で囲んだ方がいいと思います。
} そうでないと、場合によってShift_JISとJISの混じったファイルを作ってしまっ
} たりしそうです。
教えていただいたことをほとんど写した感じなのですが、
;;; バッファ全体をファイルに追加(shift jis)
(defun append-buffer-to-file (filename)
(interactive "Ffilename: ")
(save-excursion)
(let
((coding-system-for-write 'shift_jis-dos))
(append-to-file
(point-min)
(point-max)
filename)))
;;;ここまで
*scratch*で遊んでみたり、無謀にも_emacsや.emacsにまで入れてみたりしまし
たが、どのやり方でも元気に動いてくれています(と思う)。ちょっとうれしい
……(^_^)。ただ、BEPだと"filename: "のプロンプトはしゃべってくれない……
ですよね? これをしゃべらせるようにする裏技ってあるでしょうか?
coding-system-for-write と shift_jis-dos は、両方とも「変数」ですよね?
coding-system-for-write に shift_jis-dos というシンボルを束縛している……
と考えていいですか?
それで、なぜいきなりファイルの保存形式がshift_jisになるのでしょう?(Ema
csの変数にはなかったので、なぜいきなり shift_jis-dos を、意味のある変数と
して使えるのかな……と不思議です)。
で、もしかしたら過去メールにも coding-system-for-write とか shift_jis-
dos があるかも!と思って、自分のパソコンの中だけだけれど検索してみたら、
n高橋さんや井上さんや坂本さんの「learning lisp」を発見! どれも、以前は
わからなくて読んでいなかったメールだったのに、今読むとなんとなくわかるの
がうれしかったです。
それで、調子に乗って、_emacsと.emacsの、上のLispの後に、以前n高橋さんが書
いてくださっていた
(global-set-key [f12] 'append-buffer-to-file)
を付けてみたら、ちゃんとf12でコマンドが起動(?)しました! おもしろいです
……。
**-***-***-***-***-***-***-***-***-***-***-***-**
Reiko TAKAHASHI (高橋玲子)
E-mail: HFC03614@...
ICQ UIN: 85924121 (Twinkle)
**-***-***-***-***-***-***-***-***-***-***-***-**