[Macemacsjp-users 70] Re: Mac 標準のファイルオープンダイアログ

Back to archive index

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)))))




Macemacsjp-users メーリングリストの案内
Back to archive index