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

Re: file:/// -> find-file and dired



>> On Sun, 06 May 2001 03:31:51 +0900 (JST)
>> 「大和」== masata-y@is.aist-nara.ac.jp (Masatake Yamato) said as follows:

大和> 私は任意のコマンドのhtml出力をemacsの機能を結び付けることが
大和> できることがemacs-w3mのすばらしさの一つだと考えています.

どうも。で、これを容易に行うための枠組みとして about: という URI を用
意しています。


大和> それを示す例として,ローカルのファイルシステムのツリー構造を
大和> html出力するプログラムを書き,さらにそのプログラムの出力を
大和> ファイルに落してM-x w3mするプログラムを書いてみました.

例えば、以下のような関数を書くと更に密接に w3m.el に組み込むことが出来
ます。


(defun w3m-dtree (allfiles path)
  (interactive "P\nDDirectory: ")
  (w3m-goto-url (format "about://dtree%s%s"
			(file-name-as-directory (expand-file-name path))
			(if allfiles "?allfiles=true" ""))))
    
(defun w3m-about-dtree (url &rest args)
  (let (path flag)
    (if (string-match "\\?allfiles=\\(\\(true\\)\\|false\\)$" url)
	(setq flag (if (match-beginning 2) '("-f" "-d"))
	      path (substring url 14 (match-beginning 0)))
      (setq path (substring url 13)))
    (w3m-with-work-buffer
      (set-buffer-multibyte t)
      (erase-buffer)
      (apply 'call-process
	     "htree" nil t nil 
	     (if flag (append flag (list path)) (list path)))
      "text/html")))


w3m-dtree コマンドを呼び出しても良いですし、直接 about://dtree/foo/ と
いうように指定して呼び出すことも出来ます。

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/