Issue #37 on hold

USB 起動設定時でも xyzzy.ini の絶対パスを取得したい

xyzzy_17_638
created an issue

USB 起動設定時でも xyzzy.ini の絶対パスを取得したい

0.2.2.x では以下のようなコードで必ず xyzzy.ini の絶対パスが取得できますが、

{{{ (merge-pathnames "xyzzy.ini" (user-config-path)) }}}

#追記:必ず取得できるわけではありません。{{{%XYZZYINIFILE%}}}で指定されている場合など、上記のコードでは取得できないケースがあります。

マルチフレーム版の USB 起動設定時の場合、上記のコードでは xyzzy.ini の絶対パスが取得できません。 また、代替方法も無いように見えます。

このため、{{{chini.l}}} のような {{{xyzzy.ini}}} の絶対パスを使用するコードがうまく動作しない場合があります。

シンボリックリンクで…というわけにもいかないと思うので、 何らかの方法で安全に {{{xyzzy.ini}}} の絶対パスを取得する方法が欲しいです。

Comments (7)

  1. xyzzy_17_638 reporter

    xyzzy/xyzzy.ini には

    [USBInit]
    usbHomeDir=data\home
    usbConfigDir=data\config
    

    のみを書き、xyzzy/data/config/xyzzy.ini に従来どおりの xyzzy.ini の内容を書く、というのではダメでしょうか?

    この場合、user-config-pathはこれまで通りxyzzy/data/config/の絶対パスを返すこととします。

  2. southly

    INIファイルの場所を取得する関数を追加の方がいいと思います。

    0.2.2.235でも INI ファイルの場所はコマンドラインオプションや環境変数で指定可能で、 必ずしもconfig-directoryにあるとは限りませんので。

  3. mumurik repo owner

    USB起動のiniファイル回りは素直じゃないなぁ、とは思っていますが、コマンドライン引数回りはもともとあまり整合的で無い振る舞いなので、USB起動だけ頑張っても仕方ないか、と思ってそのままになっとります。 変数か関数追加、ダミー作る人の小回りの効きやすさを考えるとsouthly氏の言うように関数追加ですかね。

  4. xyzzy_17_638 reporter

    わあーそうでした… %XYZZYINIFILE%とか色々ありましたね。この前やったのにもはや何も覚えてませんでした ^_^;;;

    関数追加に一票です。

  5. mumurik repo owner

    (xyzzy-ini-path) という関数を追加しました。 ちなみにdev channelにalphaとか流して欲しいタイミングがあったら言ってくれれば作りますよ。

  6. Log in to comment