Seiji Zenitani
zenit****@tkg*****
2004年 3月 18日 (木) 00:52:28 JST
藤本さん、sakitoさん、 ありがとうございます。 類似品の「ファイルをFinderでセレクト表示する」にも 同様の(逆)変換を入れてみたところ、 「表示.txt」で使えるようになりました。 http://home.att.ne.jp/alpha/z123/elisp-j.html#mac-finder 銭谷 On 2004/03/17, at 20:25, FUJIMOTO Hisakuni wrote: > これは、AppleScript の文字列がバックスラッシュ「\」をエスケープ文字 > として扱うからっぽいですね。SJIS で「示」の 1 バイト目は ASCIIの > 「\」と同じ値なので、「\\」と連続したパックスラッシュにしてるのでしょ > う。おそらく。ということで > > (defun applescript-unescape-string (str) > "文字列からエスケーブ文字の'\'を取り除く" > (replace-regexp-in-string "\\\\\\(.\\)" "\\1" str)) > > みたいにすれば解決します。 > > ;; > ;; mac-open-file (単純バージョン) > ;; > (defun mac-open-file () > (interactive) > (let ((path (do-applescript "try\nPOSIX path of (choose file)\nend > try"))) > (when (> (length path) 3) > (setq path (substring path 1 (- (length path) 1))) > (setq path (decode-coding-string path 'sjis-mac)) > (find-file (replace-regexp-in-string "\\\\\\(.\\)" "\\1" > path)))))