CannaInput input; char *line=input.getline();と書けば line に入力した一行が入ります。ヒストリについても、 オブジェクト(CannaInput型変数)ごとに記憶されています。 Vz/bash互換ヒストリ、ファイル名補完などはまだ出来てませんが、 tcsh型ヒストリ、かんなは対応済みです。 将来的には、REXX から使えるようにしたいですね。 完成したら公開しますので、おたのしみに。
さて、これは何の為にやっているかというと、eff の為つーたら嘘くさいかな? その eff ですけど、ようやく重い腰を上げて作り始めました。 現在のところ、ただの
カレントディレクトリビューア
みたいなものしか出来とりません。画面イメージは ell より、むしろ emacs に近くなるでしょう。基本的に全画面占有型で、1ファイルを1行で扱います。 ell みたいに画面を必要最小限だけ使うというのは結構手間がかかるので止めました。 その代わり、画面を縦にn分割して、 n個のディレクトリを同時に画面に表示できるようにするつもりです。しかし、まだ出来ていないものを、こんな風に発表するなんで、
まるでマイワ口ンフトみたいだ。
( 一応伏せ字にしました;-) )
やぁ、これは邪悪だ
塩沢兼人さんの声で、お願いします。≡★
ベルセルクの単行本 10,12,13,15巻がどこにも置いてないよ〜ん。 深夜の放送が終わって以来、急にどこの本屋からも姿を消してやがんの。 何とか見付けたところでも、3,11,14と中途半端な巻しか置いていない。 いい加減、注文した方が早いかなぁ…≡★
先週の「あの DOS へ向って撃て」ですけど、 対象として当然ながら WIN-OS/2 も含んでいます。 まぁ、Windows 3.1 は基本的に DOS Extender なんで、 DOS といえば含まれるもんだと思っていたもんで… それと、あといくつか補足すべきことがあったような気がするんですが、鳥頭なもんで、忘れてしまった…
いや、ほんとマジで。どうも、若いうちからプログラムを組んでいると、
一度に念頭に置かねばならない事が少なくて済むように
コーディングした方がよい
↓
本質的なことさえ覚えればよいのだ!
↓
本質的な事以外を覚えようという努力をしなくなる
↓
本質的な事以外覚えられなくなる
↓
本質的な事さえ覚えられなくなる(笑)
↓
さらに何をやっても印象に残らなくなる(やばい)
↓
あれ? 今、何を考えていたんだっけ…(末期症状)
≡★
尋ね人:最寄り(多分大阪市内)のナショナル=パナソニックのお店に、「山地 治」という名前の見習従業員を見付けた方は、その場所を御一報ください (本人が必死になって秘密にすることって、暴きたくなるもんですよね:-)。みなさん、キーボードには僕と同様のこだわりをお持ちのようで、 結構、御自分のキーボードについての意見を添えられていました。 Ctrl キーは Shift キーの下に欲しいと述べた事については、 MyKBD を使ってはどうかという意見もいただきましたし、 やはり自分は「A」の左の方がいいなとおっしゃる方もいました。 こういう話って燃えますねぇ。
≡★
現在、OS/2 ユーザは DOS を必要としているんでしょうか? かつて、DOSユーザに NativeDOS より優れた DOS として受け入れられた VDM。 しかし、VDM の最大の欠点は longname が見れないということなんですよね。 それゆえ、最近は emx系UNIXソフトに頼って、OS/2 ネイティブの世界へ みなさん移行してきてられます。しかし、なんとか DOS で longname さえ見れたら、DOS の資産も活きてくる というものです。実は今週、松村 興さんとそれに関してメイルでおしゃべりしました(おしゃべりっていうわけでもないか...)。 松村さんの許可をいただけたので、ちょっと引用し…、あ、 メイルのコピーが入ったフロッピー壊れとるやんけ。
ということで、簡単に要約すると、最初は VDM にファイルアクセスを供給する VFAT.SYS (FAT.SYSのVDM版ですよ、注意)を解析、改造すれば、 VDM から長いファイル名を読めるではないかという話だったんです。 でも、これは日本のOS/2人口では難しい(ハッカー率は人口に比例!?)。 VFAT.IFS(95のVFAT用IFSですよ、ややこし)を作ったり、 ハッキーなことをするのはみんな米国人だし、 これでは DBCS対応はあてにならない。
それより、95フリーウェアのVFATアダプタみたいに、 DOS側にopen/findfirst システムコールを横取りさせる デバイスドライバ(常駐プログラム!?)を作り、 OS/2側のプロセスと通信させて、Longname⇔Shortname変換させた方が いいのではないかという感じで話は進みました。
まぁ、だから俺がやるなどとは申しませんが、せっかくのアイデアを 埋もれさせるのはもったいないし、ということで、どなたかやりませんか? やるまでとはいかないでも、何か意見がありましたら、お待ちしております (何を!?)
≡★
この文書にも時折登場する松下さんちの山地(やまじ)君ですが、 最近、この文書を引用して僕をイヂめます (飲みに行ってそんなに悪いかぁー)。 だからイヂめ返してあげます(100倍返し!?)。まぁ、冗談はともかく、この人、 whypic なる画期的な画像圧縮ソフトの開発者です。 この whypic。その特徴は、圧縮率が PI形式をも上回り、 可逆圧縮としては世界一なのです(多分)。 そして、もう一つの特徴。それはモノスゴクオソイこと。 普通のソフトは、その速度はビット数に比例しますけど、whypic は色数に 比例するそうです。つまり、16色はまぁ耐えられる。256色…お、おそい。 65535色…人類が滅ぶ速度だそうです(誰もそんなことは言っていない)。 彼はこのフォーマットへのコンバーターと、Susie へのプラグインだけを作り、 ベクターに投稿したそうなんですが…
(ハンカチの端をくわえながら)
きぃぃぃぃぃぃ、くやしぃ
NYAOSよりダウンロード数多いやんけ!
≡★
さて、近況。実は前まで仕事でデータベース関係をやることになっていたのですが、 発注が延期になり、仕事が無くなってしまったので、忙しい部署へ本当に痛くなるもんなんですねぇ
まぁ、半分はカフェインのとりすぎとプレッシャーによるもんなんでしょうが…。 そういうわけで、この連休は勉強です。トホホ。別に職場でトラブルを起こした訳ではない
ので誤解せぬように。ただ、単に誘われると、断ることが不可能
なだけです、はい。でも、だからといって
E-Mail で酒に誘わないように
(よく考えたら、両方とも E-Mailだなぁ)
≡★
窓キーって邪魔ですねぇ。 ALTキーやCTRLキーが押しにくくて仕方が無い。 会社では Windows95 しか使っていないんですけど、 キーボードが 109キー という奴なんですよ。最初、窓キーを見た時、
おお、Microsoft もメタキー/コマンドキーを新たに用意するとは
なかなかやるな
単にStartボタンを押すだけのキーとは…
俺が悪かった
≡★
最近、僕は OS/2 に関してやや悲観的な見方しかしていなかったのですけど、 ここんとこ、思ったよりもポコポコ、フリーソフトが出ていますね。 ありがたいこってす。 これで OS/2 本体が安かったら...3万円代では、ちょっと普通の人は ためらうでしょう。昔、Win3.1 のころの DOS からの upgrade で 1万円代で買えたことを思うと...本当に Freeにならないかな OS/2。 「FreeOS2」なんてね。VZFなる ファイラーが現れたとの報を受け(って、宇野さんのページ拝見しただけだけど)、 さっそく試してみました。ふむ、これは確かに Vz ライクだ。なかなかよろし。 ただ、やっぱりCtrl+? でカーソルが移動できない。これはPMプログラムだったら 仕方ないのかしら。FWE とかは、もしかして、かなりアクロバットなことしてるんでしょうかねぇ。NyaosPMへの道は遠し!?。
宇野さん、応援ありがとうございます。しかし、どうも、ここんところ、 うちに帰るのが遅くて、なかなか OS/2 と戯れることができません。 この休みも先程書いたようにアルコールの後遺症で×だし (しかし Web はしっかり書いている)。 ちょっと、ファイラー作るとか、エディター作るとか、一行NYAOS作るとか、 大言壮語しすぎちゃったかなぁ。ああ、一ヶ月ほど、休みが欲しいわ。 連休よ、早く来てくれぇー!
≡★
某U氏より(ばればれ?)、WinSetTitle という隠しAPIの存在を教えて いただきました。これを使えば、以前よりの課題であった 「CMD.EXE みたいに、ウインドウのタイトルに現在実行しているプログラムの 名前を設定する」を実現できるのでは?というわけです。いろいろと苦労しつつも、何とかインポートライブラリを作って呼び出すことに成功 しました。しかし、「start nyaos.exe」と実行した時しか、ウインドウタイトルが 変わりません。どうやら『タイトル文字列が未設定で代わりに「NYAOS.EXE」という タイトルが表示されるような場合』に限って、 タイトルを変更できるというもののようです。う〜む、残念。 でも、CMD.EXE だって、プログラムオブジェクトで実行ファイル名を「*」で はなく「CMD.EXE」にすると同様の挙動になるんだし、 それに、16bit API のemxからの呼び方が分かったからよしとしよう。 というわけで、せっかくだから、
APIRET16 APIENTRY16 WinSetTitle ( PSZ szTitle ) ;
のemx よりの呼び出し方を以下に示します。
詳しくは emx のマニュアル見てください(日本語版もあったはず)。
呼び出しルーチン:
extern "C" { /* extern は C++ の為、C なら次の行だけでよい */
void _THUNK_C_FUNCTION (WinSetTitle) (PSZ szTITLE);
}
void set_win_title( const char *title )
{
_THUNK_C_PROLOG ( 4 ); /* 全引数のバイト数 */
_THUNK_C_FLAT ( title ); /* 32bitポインタの第一引数 */
_THUNK_C_CALL ( WinSetTitle ); /* さぁて、コール */
}
Makefile:
wstitle93.a : wstitle.imp
emximp -o wstitle93.a wstitle.imp
wstitle.imp:
_WinSetTitle pmshapi 93 F
さて、他のバグとしては、かんなのインストールされているドライブ以外から
NYAOSを起動すると、/usr/local/canna/lib/default.canna が認識されない
というのがあります。一つの対策として、コンパイルオプションに -Zmtd
を加えるというのがあります。これ、マルチスレッド化するオプションなん
ですけど、そもそも、なぜ、そんなことをして直るのかが謎っす。
とりあえず、今、初期化の際に/usr/local/canna/lib がありそうなドライブに
一時的に移動するという方向で fix しています。
この修正版は多分来週くらいに公開します。(週刊NYAOS敗れたり?)
≡★
某所よりPM版一行 NYAOS 作っとくれー
という要請が届いています。とりあえず、今、Charles Petzold著「プログラミング OS/2PM」を買って読んでいます。でも、もし、どうしてもできそうも なかったら、PM部分だけ、人に頼もうかと思ってます。さて、誰に頼むか...
それは貴方かもしれない...(不動 明調で)
まぁ、今は現在のテキストベースNYAOSのメンテ他の課題が山積みになってますから、 当分後になることでしょうが、油断しないように(何を)≡★
この週末は結構ハードスケジュールでした。 金曜16:00ごろ、大学の友達よりメイル。「今晩、18:00 より、プロセス設計 (化学工学教室内の発表)の打ち上げがあるけど、来れへんよね」当然、いきます
というわけで、大阪江坂から 17:30 定時に会社を脱出。そのまま、京都まで 急行してしまいました。ははは。しかし、卒業して3ヶ月くらいなのに、 すでに研究室の飲み会には2回も参加している。もう、窓際になったのかと心配されてしまった。
で、翌日の土曜は、吹田の体育館で、会社の友達とバトミントンを楽しみました。前の晩、あれだけ飲めば、普通、二日酔いで動けないはずなのだが…
今、筋肉痛で死んでます。≡★
では、魂の叫びを連発します(ゴッドハンド現れるかな)。