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

Re: emacs-w3m with XEmacs 21.4.15 on Windows (native, not Cygwin)



>> On Thu, 22 Apr 2004 20:20:15 +0900
>> 「土」== tsuchiya@namazu.org (TSUCHIYA Masatoshi) said as follows:

土> あらゆる所で (let ((directory-sep-char ?/)) ...) すれば 
土> [emacs-w3m:04799] は解決ってことになるのでしょうか?

土> (defmacro w3m-file-name-directory (filename)
土> `(let ((directory-sep-char ?/))
土> (file-name-directory ,filename)))

土> てな具合いに.

マクロを書くにしても,以下のようなインライン関数を使うにしても,どちら
にしても「ここで使われている file-name-* は,本当に url を対象としてい
るのか,それともローカルのファイルを対象としているのか」を一々個別に調
べないといけないので,変更はとても大変だということがはっきりしました.

(defsubst w3m-file-name-directory (file)
  (save-match-data
    (when (string-match "/\\([^/]*\\)\\'" file)
      (substring file 0 (match-beginning 1)))))

(defsubst w3m-file-name-nondirectory (file)
  (save-match-data
    (if (string-match "/\\([^/]*\\)\\'" file)
	(match-string 1 file)
      file)))

(defsubst w3m-file-name-as-directory (file)
  (if (string-match "/\\'" file)
      file
    (concat file "/")))

ちょっとやりかけたのですが,10分で嫌になりました….

  % egrep '\((file-name-((as-|non)?directory|absolute-p)|directory-file-name|expand-file-name)' *.el | wc -l
  170

さて,どーしましょ?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )