cygwin-mount - Cygwin のパスを指定してファイルを開く

1 DESCRIPTION

Cygwin のマウント情報を解釈してファイル名を変換します。 find-file やコマンドライン引数に cygwin のパスを指定して xyzzy でファイルを開くことができます。

2 INSTALL

2.1 NetInstaller でインストール

  1. NetInstaller で cygwin-mount をインストールします。
  2. ni-autoload を利用していない場合 は、 ~/.xyzzy または $XYZZY/site-lisp/siteinit.l に以下のコードを追加します。

    ;; cygwin-mount
    (require "cygwin-mount")
    (cygwin-mount-activate)

    ※ ni-autoload を利用している場合は設定は不要です。

  3. 設定を反映させるため xyzzy を再起動してください。

    ※siteinit.l に記述した場合には再ダンプが必要です。

2.2 NetInstaller を使わずにインストール

  1. アーカイブをダウンロードします。

    <URL:http://miyamuko.s56.xrea.com/xyzzy/archives/cygwin-mount.zip>

  2. アーカイブを展開して、$XYZZY/site-lisp 配下にファイルをコピーします。
  3. ~/.xyzzy または $XYZZY/site-lisp/siteinit.l に以下のコードを追加します。

    ;; cygwin-mount
    (require "cygwin-mount")
    (cygwin-mount-activate)
  4. 設定を反映させるため xyzzy を再起動してください。

    ※siteinit.l に記述した場合には再ダンプが必要です。

3 MODULE

3.1 PACKAGE

cygwin-mount は以下のパッケージを利用しています。

3.2 VARIABLE

cygwin-mount:*cygwin-mount-reg-section*
cygwin のマウント情報が記録されているレジストリのキー名を指定します。 デフォルトは SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 です。

3.3 COMMAND

editor:cygwin-mount-activate

ファイルを開くときに cygwin のパスを自動的に Windows のパスに読み替えるように 設定します。

これで cygwin のパスを指定してファイルを開くことができます。

(詳しい説明: *before-find-file-hook* に ed::cygwin-mount-before-find-file-hook を追加します。)

editor:cygwin-mount-deactivate
ファイルを開くときに cygwin のパスを変換しないようにします。
editor:cygwin-mount-toggle
cygwin のパス変換の有効・無効を切り替えます。
editor:cygwin-mount-show-mount-point
cygwin のマウント情報を表示します。

3.4 FUNCTION

editor:cygwin-mount-active-p
ファイルを開くときに cygwin のパスを変換する場合 non-nil を返します。
cygwin-mount:cygdrive-prefix

cygdrive prefix を返します。

(cygwin-mount:cygdrive-prefix)
;;=> "/cygdrive"
cygwin-mount:cygmount-cygpath->winpath CYGPATH

Cygwin のパスを Windows のパスに変換します。

(cygwin-mount:cygmount-cygpath->winpath "/bin/cygwin1.dll")
;;=> "c:\cygwin\bin\cygwin1.dll"

(cygwin-mount:cygmount-cygpath->winpath "/cygdrive/c/Windows")
;;=> "c:\Windows"
cygwin-mount:cygmount-winpath->cygpath WINPATH

Windows のパスを Cygwin のパスに変換します。

(cygwin-mount:cygmount-winpath->cygpath "c:\\Windows")
;;=> "/cygdrive/c/Windows"

(cygwin-mount:cygmount-winpath->cygpath "c:\\Cygwin\\bin")
;;=> "/usr/bin"
cygwin-mount:cygmount-point-info &KEY TYPE PATH

Cygwin のマウント情報のリストを取得します。

(cygmount::cygmount-point-info :type :system)
;;=> (("/usr/lib" "C:\\cygwin\\lib" 10 :system)
;;    ("/usr/bin" "C:\\cygwin\\bin" 10 :system)
;;    ("/" "C:\\cygwin" 10 :system))

引数の TYPE には :system か :user を指定します。

PATH を指定するとそのパスに関連するマウント情報だけを返します。

(cygmount::cygmount-point-info :type :system :path "/usr/bin")
;;=> (("/usr/bin" "C:\\cygwin\\bin" 10 :system)
;;    ("/" "C:\\cygwin" 10 :system))
cygwin-mount:cygmount-point-cygpath MOUNT-INFO
cygmount-point-info で取得したマウント情報から Cygwin のパスを取得します。
cygwin-mount:cygmount-point-winpath MOUNT-INFO
cygmount-point-info で取得したマウント情報から Windows のパスを取得します。
cygwin-mount:cygmount-point-flags MOUNT-INFO

cygmount-point-info で取得したマウント情報からマウントフラグを取得します。

(let ((mount-table (cygwin-mount:cygmount-point-info)))
  (cygwin-mount:cygmount-point-flags (car mount-table)))
;;=> (:binmode :notexec)

マウントフラグは以下のキーワードのリストで返します。

フラグの詳細は man mount してください。

cygwin-mount:cygmount-point-type MOUNT-INFO

cygmount-point-info で取得したマウント情報からマウントタイプを取得します。

(let ((mount-table (cygwin-mount:cygmount-point-info)))
  (cygwin-mount:cygmount-point-flags (car mount-table)))
;;=> :system

マウントタイプは :system または :user を返します。

3.5 OBSOLETE FUNCTION

editor:cygwin-mount-resolve cygpath

Cygwin のパスを Windows のパスに変換します。

これは互換性のために用意されています。 代わりに cygmount-cygpath->winpath を利用してください。

4 TODO

5 KNOWN BUGS

6 AUTHOR

みやむこ かつゆき (<URL:mailto:miyamuko@gmail.com>)

7 SEE ALSO

cygwin-mount.el
<URL:http://www.emacswiki.org/elisp/cygwin-mount.el>
cygwin-mount-mw32
<URL:http://www4.kcn.ne.jp/~boochang/emacs/elisp.html>

8 COPYRIGHT

cygwin-mount は MIT/X ライセンスに従って本ソフトウェアを使用、再配布することができます。

See cygwin-mount/docs/MIT-LICENSE for full license.

9 NEWS

9.1 2008-07-12 / 1.1.0

cygwin-mount 1.1.0 リリース!

新規機能
非互換を含む変更点
バグ修正
その他

9.2 2008-05-31 / 1.0.0

cygwin-mount 1.0.0 リリース!

新規機能
非互換を含む変更点
バグ修正
その他

9.3 2005-12-02 / 0.0.1

cygwin-mount 0.0.1 リリース!