[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bep]ファイルを結合するマクロ(learning lisp)



井上@なぜかMew@自宅のノートなのですが、

From: Reiko TAKAHASHI <HFC03614@...>
Subject: Re: [bep] ファイルを結合するマクロ(learning lisp)
Date: Tue, 26 Jun 2001 10:08:30 +0900

> (defun append-buffer-to-file ()
>   (interactive)
>   (let 
>       ((coding-system-for-write 'shift_jis-dos)  
>        (filename (read-file-name "append buffer to: " default-directory))
> )
>     (if (or (not (file-exists-p filename))
> 	    (and (file-writable-p filename) 
> 		 (file-regular-p filename)))
> 	(append-to-file (point-min) (point-max) filename) 
>       (append-buffer-to-file))))
> ;;; ここまで

条件の部分は私がこうじゃないかと思ったのとは同じなのですが、これでい
いんですよね??

>  ファイル名として入力された文字列をチェックする方法が難しかったです。
> 実は、なぜ file-writable-p と file-regular-p が両方必要なのかがまだよくわ
> かっていません。でもでも、たしかにどちらかだけだとうまくいかない……。

(私の最初の想定としては)
file-regular-p: 指定したファイルがディレクトリでない。ディレクトリにはア
ペンドできないので。
file-writable-p: 書き込み可能である。
ということをチェックする必要があると思って書いたのですが、さらにファイル
の存在チェックも必要なことが後からわかりました。
もしかして大嘘の可能性もあるのですが。

defun第2回お疲れさまでした。

--
                                        Koichi Inoue, ARGV
                                        E-Mail: inoue@...