next up previous
Next: 5.4 ファイルブラウザの例 Up: 5 Emacslisp Previous: 5.2 家計簿計算

5.3 ディレクトリ表示

与えられたディレクトリの ファイルやディレクトリをバッファに表示する プログラムを作ると次のようになる.
(defun dir-browser (dir)
  "ディレクトリブラウザ"
  (interactive "fディレクトリ: ")
  (if
      (null (file-directory-p dir))
      (error "存在するディレクトリを指定してください"))
  (let
      ((filelist (directory-files dir)) f)
    (switch-to-buffer "*file headings*")
    (cd dir)
    (erase-buffer)
    (while filelist
      (setq f (car filelist))
      (insert f)
      (insert "\n")
      (setq filelist (cdr filelist)))))
ファイルの読み込みは,insert-file-contentsで行い, たとえば,
(insert-file-contents filename nil 0 500)
は,ファイルの最初の500文字を挿入する. 引数replaceがnil以外だとバッファの内容を置き換える. 引数visitがnil以外だと,バッファを未変更とし,filenameを訪問している バッファとなるような設定を行う.find-file-noselect, basic-save-bufferなどでそれを使う.

generated through LaTeX2HTML. M.Inaba 平成18年5月7日