†Sibylのお部屋†

WDSibly

作成開始日 2022.03.03
最終更新日 2022.03.04

WDSibylはSibyl後継のフリーの開発環境。私の把握している特徴は以下の通り; と言うことで、実はあまり魅力的なシロモノとは言い難いのだが、とりあえず、最新版が動く状況は確保しておきたい。少なくとも、2021年も情報更新はされているようだし。

インストールが最大の難関

そこで、インストールが問題になる。私がインストールファイルを入手したのは、以下の3つのサイトからだが、それぞれに事情が少し異なる。

サイト最新版インストールの可否
OS/2 Site WDSibyl20080217(ver.3.09) 69%で止まる
netlabsInstall_20070127(ver.3.03)正常インストール可能
WDSibyl Install_20100117(ver.3.13)69%で止まる

この「69%で止まる」というのが難物で、インストーラが起動して、途中までは順調にファイルを展開してくれるのだが、リソースのコンパイルの段階でダンマリを決め込む。ハングアップしているわけではないが、全く前に進まなくなる。

ただし、netlabsから取得したインストールファイルでは、この現象は起きない。OS/2 siteにも20070127版はあるのだが、こちらはやっぱり途中で止まる。この辺りがナゾなのだが、netlabsはWDSibylサイトのファイルを転載しているのではなく、自前で再コンパイルしているのかも知れない(単なる想像だが)。

と言うことで、2007年版でガマンするのなら、netlabsからダウンロードしてくれば済むのだが、2010年版が使いたいなら、この問題を解決しなくてはならない。で、この問題、解決してくれた方が居た!それによると、要するにWDSibylのコンパイラは日本語環境では動作しない、というのが根本原因らしい。

インストーラ自体はCHCP 437でコードページを切り替えれば済むのだが、インストーラが呼び出す子プロセスのコンパイラが問題になる。なので、インストーラがダンマリしたら、別途OS/2ウィンドウを起動してCHCP 437をした上で、子プロセスに相当するプログラムを手作業で起動してやれば良いらしい。詳しくは上記のサイトを参照。インストーラのソースを探し出して、解析でもしないと解決しないかと思っていたので、たいへんに助かった。

ちなみに、私は次のようなバッチを作っておいた(WDSibylはF:\WDSibylにインストール)。インストーラが止まる度にEnterキーを押せば、次に進むようになる。

CHCP 437

F:\WDSibyl\Tools\Output\OS2\CompileAllRC F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source\RC\ F:\WDSibyl\OS\OS2\Lib -OS2 -INSTALL
pause

F:\WDSibyl\Tools\Output\OS2\CompileAllPas F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source F:\WDSibyl\OS\OS2\Lib -OS2 -INSTALL
pause

F:\WDSibyl\Tools\Output\OS2\CompileAllRC F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source\RC\ F:\WDSibyl\OS\Win32\Lib -W32 -INSTALL
pause

F:\WDSibyl\Tools\Output\OS2\CompileAllPas F:\WDSibyl\Bin\OS2\ F:\WDSibyl\Library\Source F:\WDSibyl\OS\Win32\Lib -W32 -INSTALL

もう1つのインストールの可能性

この方法を知る前に、何とか手作業でインストールできないか、試行錯誤をしたことがある。インストールファイルの「WDSibyl.dat」というファイルがWDSibylの本体であり、かつ単純なzipファイルである事がわかったので、まずはこれをunzipする。すると、19本のzipファイルが現れるので、これらを更に「unzip *.zip」すれば、カレントに「WDSibyl」ディレクトリが作成され、システムのイメージが展開される。

実は、これだけでSibyl IDEの起動までは可能(\WDSibyl\BIN\OS2\wdsibyl.exeを実行)。ただし、当然のことだがそれでまともに使えるわけでなない。パス設定が正常にされていないために、単純なプログラムもfile not foundでコンパイルが通らない。そこで、[Project|Settings]や「\WDSibyl\BIN\OS2\sibyl.ini」や、各プロジェクトのsprファイルを弄って、ライブラリのソースやインクルードやら何やらを変更してやらなくてはならない。

正常インストール可能なver.3.03の「sibyl.ini」や「*.spr」が流用できるかと思ったが、どうもそう単純なハナシでもなさそうだ。

で、そうした設定をしていけば、正常に動作するの?と言われると、これも微妙で、エラーが出る度にパス設定を変更してけば、単純なプログラムのコンパイルくらいまでは通る。んが、そんな状態で使い物になるかと言われると…やはり、前記の方法でインストールする方が賢明でしょう。

実は、netlabsで入手した20070121(ver.3.03)のインストールファイルの「WDSibyl.dat」を、ver.3.13のものと差し替えると、インストーラが通るようになる(^^ゞ で、3.13のIDEが起動するようにはなるが、やはりパス通しで問題が出てきた。邪道は所詮邪道か。

エディタのキーアサインの問題

これはFipPak 4のところで述べたが、要するに、更の状態だとCtrl+MがMDI切替に、NPSWPSの入力変換を使うとCtrl+HがUndoになってしまう、と言う問題。Ctrl+M/Ctrl+Hが両方まともに動作する環境が作れない。

が、この問題も、少し目処が立っている。まず、Ctrl+MがMDI切替になってしまうのは「\WDSibyl\IDE\Source\sib_editor.pas」で定義されているようなので、「kbCtrlM」を検索して、当該行をすべてレムってしまえば無効化できるはず。そのあと、IDEを再コンパイルすれば、素の状態ではCtrl+M/Ctrl+Hが正常動作する(と思う)。

ただし、個人的にはむしろNPSWPSの入力変換を有効にした状態でCtrl+Hを正常に戻したい。しかし、これは「sib_editor.pas」では該当する設定が見つからなかった。IDEのエディタもSPCCの「Editors」ユニットを使用しているので、こちらに手を付けることになる。ちなみに、WordStar準拠等のキーアサインもここで行っているので、Ctrl+H問題だけでなく、キーアサイン全般のカスタマイズをしたいときも、このファイルを弄れば良いようだ。

ともあれ「\WDSibyl\Library\Source\SPCC\editors.pas」を覗いてみると、確かに「kbCtrlH」と「kbBkSP」の定義がされているのだが、その定義は「cmBackSpace」で、特に問題はなさそうだ。ひょっとして、併用キーの誤認識みたいな問題かとも思ったが、ちょっと弄った程度では解決しなかった。仕方ないので、「bkAltBkSP」(=Undo)を「cmBackSpace」に変更したら、「Ctrl+H」が[BackSpace]となった!(SamplesのEditorで確認)

当然、Alt+BackSpaceのUndoは無効になってしまったのだが、これはCtrl+Uあたりに割り付ければ良いのでは?でもって、Ctrl+Uはブックマーク機能に割り付けられているので、これをCtrl+Bに…と玉突き的に設定を変えていくしかないのかな?

あとは、この状態でIDEを再コンパイルすれば解決するハズ…ではあるが、ちょっと先は長そうだ。それに、そこまでする価値がある処理系なのか、まだ値踏みをしている段階。


【Sibylのお部屋目次】 【ホーム】