OSTRACISM CO.
■ 日本語エディタ「褌・エディット」−作文職人−の開発日記 巻之九

 ダイナウエアからMacWORD 3.0のアップデートが届いた。MacWORDのアップデートよりはMacVJE-γの2.0へのアップデートの方が待ち遠しかった。VJE-γは2.0になって辞書をメモリに読み込むようになった。予想通り変換はスピードアップされた。でも、他のFEPに比べてどうかはなんともいえない。あと、カタカナ変換を自動的に学習してくれるってのはヒットだな。カタカナ語をいちいち登録するのはカッタルいからねぇ。

 SAKUさんからDUCK-NETWORK (03-5709-7125)への転載の連絡があった。Berg氏のFMACPROへの登録が8/10の午前9時くらい、SAKUさんの連絡が午後2時くらい。なんでこんなに素早いんだろう。不思議だ。

 MacWORD 3.0はついにモノクロ画面で使うことを想定しない画面レイアウトになった。ワープロをカラーで使う必然性はないぞ。この点は早急に改めて欲しい。また、以前の文書を開くと、文書のレイアウトが完全にくるってしまう。ルビ実装の変更のためだそうだが、あまりにも影響が大きい。レイアウトの変化しない既存文書はない。これはなんらかのフィルタープログラムを用意すべきだ。
 まずはテンプレートの3.0化をしなくちゃだな。ああ、めんど。

褌1.2 / 1994.08.11

 FMACPROのDebug FolderでPowerBambooさんからCommand+Arrowでのスクロールの仕様変更が取説の記述と違うと指摘があった。あ〜、すっかり見落としていた。でも、ちゃんと取説を読んでる人もいるんだね。安心した。

褌1.2 / 1994.08.12

 ソフトバンクの奥村さんからマックユーザのCD-ROMへの転載の連絡がきた。また、そのメールに「褌・読まなくていいよ7」での記述に対するレスが付いていた。あんまり褒めると図にのっちまうよ(もうのってるって)。豚も木から落ちる。あれ? 弘法も木から落ちる。あれれぇ? 猫にこんばんはぁ!

褌1.2 / 1994.08.15

 ひろぽんさんからFMACPROで、そもそもまったく起動できなくなるタイミングがあると報告があった。私もごくたまに茄子Rの使用中に褌がコケることがある。いったんコケると、どんなアプリでもコケるようになる。
 たまたまコケたときにMacsBugでちょっと追ってみた。MenuCInfo($0D50)というローメモリグローバルの値が$FFFFFFFFになっている。これをポインタとして参照しようとしてコケている。ということは、この値を監視すればなんとかなるのかもしれない。
 PeepIt!という特定アドレス監視アプリを作った。普通にWaitNextEventで1秒単位でメモリを見にいくだけのアプリだ。
 $0D50の値はどうやらタスク単位でシステムが切り替えるようだ。タスクに関連したローメモリグローバルらしい。
 次にコケるときに何かを記録してくれるといいんだが、システムが切り替える値ということは、きっとそれ以前に別の原因が作用している可能性が高い。あまり当てにはできそうもない。

褌1.2 / 1994.08.23

 COCOさんからのバイナリメール(絵入りのレターファイルだった)で全置換でキャレットが残るバグが報告された。う〜ん。キャレットハンドリングを多少変更して、まだ全てのばあいを洗ってなかったんだよね。まだ幾つか残ってるんじゃないかな。

褌1.2.1 / 1994.08.26

 Mr.BusErrorを使っていてFile-Open...をキャンセルするとバスエラーが発生することがわかった。コケている場所のコードから判断して、TSM関連のようだ。環境が原因と考え、さまざまな動作確認をしていたが、どうやらインライン機能追加をはずすとコケなくなる。
 古い標準ファイルパッケージを使っているとダメなのかと考え、YooEditで同じ動作をさせたが、YooEditは新しい標準ファイルパッケージを使っているようで特に問題はない。
 新しい標準ファイルパッケージを使うように改造を入れたが、現象は変わらなかった。
 おかしい。何か変だ。
 THINK Pascalのデバッガで動作させると、バスエラーの発生しているToolBoxルーチンを特定できた! あ、ただの褌のバグではないか! DeleteTSMDocumentをNilで呼んでしまっている。インライン機能追加の入ったシステムではDeleteTSMDocumentをNilで呼び出すとNULLポインタアクセスが発生するんだ。これは結構致命的なバグだ。早急に修正バージョンをアップすることにしよう。

褌1.2.1 / 1994.08.27

 1.2.1アップデータはMenuCInfo($0D50)のチェックを入れてあったが、どうやらMenuCInfoが-1になっていても正しいシステムがあるようだ。
 PowerBambooさんと雅美さんの報告から判断すると、なんらかの異常が1.2.1で混入したらしい。
 MenuCInfo($0D50)はIM Vに載ってるとyFumiさんからの指摘があった。IM Vを見落としていたとは迂濶だった。メニューのカラー情報のハンドルのグローバルだ。ということはモノクロ専用システムではここの値が-1になっている可能性もある。う〜む。ともかくこのチェッカーはチェッカーとしての本来の用途をなさない。早急にはずす必要がある。
 1.2.2アップデータで、MenuCInfoチェッカー関連の問題は解決したが、肝心のPB180でのType1エラー(バスエラー)問題は未決だ。PowerBambooさんに協力を要請して、1.2.2aでの動作を見てもらった。
 面白いことに、32/24ビットモードやVMの有無で動いたり動かなかったりすることだ。ということは褌にNULLポインタ等のバグが入ってしまったということだ。どこだ!
 たくみさんのTextCmp 2.0をダウンロードして、1.2と1.2.2のファイルを比較した。TextCmpの内部エンジンはUnixのDiffに近いのではないかと思うがいかが? ただ単に出力が似ているというだけだが。
 1からの配列に0が入るタイミングが1.2.2で見つかった。僅かなスピードアップを目的とする部分だったが、完全には検証されていなかった。こいつか! これなら確かにバスエラーが発生する。試しに久しぶりにデバッグオプションをONにして全コンパイルをかけて動作させたら、見事にレンジチェックに引っかかった。やっぱリリース前には一回デバッグオプションで動作させる必要がある。

 マイルストーンに行って、注文したスーパードライブを受け取る。IIcxのドライブの調子が悪かったので、掃除をしたら壊してしまったのだ。\27000は痛いぞ。

褌1.2.2b / 1994.09.03

 PowerBambooさんからの再度の返事で、1.2.2bは問題がなくなったそうだ。よかった。それを1.2.3としてアップすることにしよう。

褌1.2.3 / 1994.09.04

 FMACPROのDebug Folderでの吉本さんの報告から考えて、画面表示が崩れるパターンがまだ残っているようだ。私自身の使用ではなかなか出現しないのだが、実際に問題は残っているのだろう。全ての場合を分析できていたわけではないらしい。TSMインライン対応でのレベルダウンの可能性もある。またいずれインサート処理の読み直しが必要であろう。

 今月の褌関係の動きのまとめ。
 日経マックに評価記事が掲載されるそうだが、CD-ROMに収録する可能性があるそうだ。表現が曖昧だから最終的に収録されるかどうかはまだ予断を許さないらしい? はて。
 光栄のフリーソフト紹介本の発送が遅れるというお詫びのメールが来ていた。あれから2週間経ったがまだ送られてこない。貰っても役に立たないからどうでもいいけどね。
 アダルトCD-ROMに別コーナーとして褌を収録したいというメールが来ていた。特に断る理由もないな。PUBLISHjackなどというマイナーなソフトの収録も考えているそうだ。もっと他に入れるべきものがあるでしょう。ほびっとさんが改造したanalogclockの原著者としての連絡もあった。もっと他に入れるべきものがあるでしょうに。
 牧野さんからFirstClass/岡山/インターフェイスへの1.2->1.2.3パッチ転載の連絡が来ていた。そっか。パッチの扱いを「転載自由」にすべきであった。こんなものまで「転載後メール」にする必要はなかったね。

 FMACPROのDebug Folderでの渡部さんの指摘するStripTasksのTerminateで褌が終了しない件は、本人はStripTasks作者に宛てたようだが、こちらの実装にもいくらか問題がある。
 現在の褌は必須Apple Eventに対応しているが、バックグラウンド対応でない。正しくバックグラウンドに対応するにはNotifyの実装を必要とする。というのは、Modifyされた文書がある状態でQuit要求されたら、Saveの有無をユーザに確認しなくてはいけないからだ。バックグランドでダイアログを出しても、アプリがフロントにされるまでは画面に出ない。

 最近ようやく長い間毛嫌いしていたハウスミュージックが聞けるようになった。やっと58%スイングのノリを体に慣らすことができたわけだ。そもそも取っ掛かりに「ディー・ライト」などという駄作を聴いたのが悪かったとわかった。ハウス系にも良い作品と悪い作品があるということが理解できたのだ。なんといっても「808ステイト」は良い。「テクノトロニック」も良い。「ジ・オーブ」も悪くない。なんだかこの5年間テクノに関して損をしてしまった気分だ。これからCDを漁ろう。でも「エニグマ」はつまんない。

褌1.2.3 / 1994.09.28

 木村さんからの報告でGreg's Buttonsでのコンフリクトが発見された。報告されたGreg's Buttonsのバージョンは3.4だが、3.0でやってみても同じ現象が発生した。Greg's Buttonsの作者はこの現象が発生し得ることを理解しているようで、ColorsのAlerts and Dialog Boxesをチェックするときに「バグはわかってるから報告するまでもないよ」と警告がでる。問題がわかっっているなら解消してほしいのだが、難しい問題なのだろうか?
 褌の動作を追ってみるとDialogRecordの中のportBitsのboundsRectがとんでもない値になっていると発見した。このboundsRectの値に依存した動きをDialog Boxにさせると、あさっての方向にぶっ飛んでしまうのだ。明らかにGreg's Buttonsの問題だが、ソースをよく読んでいるうちに私の実装方法にも自信が持てなくなってきた。
 とりあえずboundsRectに依存しないように変更した。以前のboundsRectに依存した実装が何のためにああなっていたかが思い出せない。何か重要な問題があるのであろうか?

褌1.2.3 / 1994.09.30

 土曜日についふらふらとWordPerfect3.0を買ってしまった。ポップ書体が欲しかったのと、ATOK8のユーザになろうと思ったからだ。これで褌はATOK8に正規に対応可能な状態になった。
 予想通りバギーなワープロだ。使い始めてイキナリバグがでた。他のエディタからテキストをカット&ペーストすると、ゴミがくっついてしまう。ほぼ必ず再現する。たぶんIIcx等のダーティーROMマシンでは動作確認をしていないに違いない。
 文字入力も非常に重い。MacWORD程度の速度だ。とてもじゃないが、快適な入力環境とはいえない。PowerCache030-50MHzが入っていなかったらとんでもない重さであろうことは予想できる。あんまりでないかい?

 渡部さんからの報告で、ことえり1.0+インライン追加機能で「メモりが足りないエラー」がでると判明。こちらでも再現した。
 追っかけてみるとメモリハントに失敗しているのではなく、FreeMem(残りメモリサイズを調べるOSルーチン)の戻り値が不当に小さいことがわかった。インライン追加機能をはずすと現象は再現しなくなる。また、インライン追加機能が入っていても、他のFEPでは現象はない。う〜む、純正品の組み合わせが最悪の環境を提供しているようだ。く〜〜!!

褌1.2.3 / 1994.10.04

 WordPerfectと一緒に買ってきたNAUTILUSのバックナンバーに、以前著作権の問題でNiftyのLibから削除された(とおぼしき)パックマンが入っていた。登録されていた当時はカラーモニタを持っていなかったので気にとめなかったが、どんなもんかと起動してみた。
 これはヤバイよ。モロじゃないか。噂ではパックマンのオリジナルコードを使っているというハナシだ(パックマンの基盤は68Kだったのかな?)。本当にそっくりだな。いやぁ、懐かしいゲームだ。
 そのNAUTILUSに、かつてダウンロードを躊躇したSystem 6.0.8が入っていた。ウチにはマトモな英語システムが6.0.3と7.0しかないので、Plusを英語System 6で動作させたかったのだが、あきらめて漢字Talk 6.0.7を使っていたのだ。これでやっとPlusの英語システムをFile Share Clientにできる。ミュージックシーケンサに日本語は不要だ。
 しかしClassic IIはSystem 6.0.8でも起動できないのね。

褌1.2.3 / 1994.10.05

 大井さんからのメールで、LFの追加、削除の機能のプラグインを作ろうとしているそうだ。デバッグがしにくい点を除けば難しさはさほどありません。頑張ってください。
 学研からネットピア11月号が送られてきた。褌の紹介部分を見ると「ソースが付属している」とある。ヲイヲイ、何考えてんだよ。どうも私の天敵が関係している(いた?)ところなのであまり良い印象を持っていなかった雑誌だが、嘘を書くのは問題外だよ。
 そういえば光栄の紹介本も届いていた。「主に使用する言語」に日本語と書くヒトが必ずいると思っていたが、まさかBasuke氏だけとは...うかつであった。
 マックユーザ10月号も届いていたな。ビデオ撮りっぱなしのQuickTime Movieなんぞ、ただの無駄だってのがわかんないのかなぁ。
 先週、勤務先に日本ワードパーフェクト社から電話がきた。バグ報告をした件だ。せっかく電話を貰ったのに、全然ハナシを理解していない相手であった。無駄なコトするんじゃないよ!システム構成も再現方法もなんにも聞かないでどうしようってんだ。
 電子メールの宛先も教えてくれなかった。時代遅れもいいところだ。直接問題のでた文書をFAXで送ることはできないんだよ! もう一回打ち込む気かい? この「褌・読まなくていいよ9」をさ。(特にこの文書でなければでないバグではないが、対応した人物は文書にこだわっている。電話で素人を教育する義理はないので、唯々呆れるばかりであった)
 しょうがないのでスナップショットを中心としたバグレポートをフロッピーで郵送した。これでまともな返事がなかったらワードパーフェクト不買運動でも起こすぞコラ。

褌1.2.3 / 1994.10.11

 引っ越しで住所変更が発生したにも関わらず、ダイナウエアからMacVJE-Deltaが届いた。宅配便の方々ご苦労さま。MacWORD 3.0のCD-ROM版の販売を主眼とする案内ではあったが、Deltaを無料送付するってんだから太っ腹だ。でもCD-ROM版なんて買わないよ。既に持っているソフトをなんで買わなくっちゃいけないの。バージョンが上がっているわけでもないのに。もっともバグフィックスくらいは少しはされてるだろうけどね。
 Deltaは非常に軽快に動作する。変換もすこぶる良い。これでATOK8に行ってしまったユーザも戻ってくるかな? ま、何でもいいけどね。それにしてもγの2.0は短命であった。4カ月しか使わなかったぞ。
 今のところワードパーフェクトからは何の返事もない。まいったなぁ。

褌1.2.3 / 1994.12.11

 さて、結構長い間日記からも遠ざかっていた。暮れから新年にかけての期間の褌関連の話をまとめる。

 日経BPの西原さんから日経マック1994/11号とCD-ROMが送られてきた。各種エディタの評価特集記事は意外にも褌に好意的な評価だった。あんまり他のエディタは知らなかったのだが、今のところ32Kの壁を突破してかつTSMインラインに対応したのはYooEditと褌しかなかったんだね。
 アスキーの石井さんからNetWorks 1995/5号が送られてきた。やはりDOSライクという言葉がついていた。いいんだけどサ。
 橋本さんから「大人のためのパソコン通信入門」というアダルトCD-ROMが送られてきた。ただ単に褌が脈絡もなく収録されているだけなんだが、もっと奇麗なムービーやピクチャーを収録してほしかったな。あんまりエグさは追及しなくていいと思うんだが。
 秀和の武内さんからは「95年度版はじめてのMacintosh」への収録の通知がきた。ま、適当にやってください。
 右翼の高校生と称する渡辺さんからの「バグ報告」は全てバグではなかった。エディタの意義を考えるように。MacWORDの縦書き印刷のハナシって高精細印刷すればいいんだから何の問題もないと思うよ。こんなくだらない部分でなくMacWORDには他に突っ込むべきところが山のようにあるんだけどね。バグを仕様という言葉で丸め込むのはサポートの仕事と理解しなくちゃだな。MIFES、VZ、RED等のDOSエディタを知っていれば、そういった動きを「あえて」マック上で作ったっのが褌だってことが一瞬で理解できるのにね。自助努力を請う。
 金城さんのレポートは文字化けが多くて、多少解読が必要だった。漢字TalkではSweetJAMはあんまり使ってほしくはないってぇことだな。
 小浜(草上)さんからはお礼状メールが届く。たくさん面白いSF作品を作ってください。
 C'Mellさんとしい坊からは年賀メール。
 上久保さんからは挨拶メール。

 まあこれといった問題もなく、こと褌・エディットには平和な年末年始であった...というのはウソ。
 COCO姉ちゃんからの「プラグイン誤認識問題」が最浮上してきたのであった。ParamBlockを使う部分で、レコードのNULLクリアを徹底させて、「プラグインでないファイルを認識してしまう」という問題はクリアしたようだ。それでも、まだ確実にはプラグインを認識できないようだ。困ったなぁ。もうアイディアはないぞ。
 ハドソンの小澤さんからPowerMac8100で起動しないとのレポート。たぶんユーザ環境の問題だろうが、もしかしたらってのがあるので詳しく聞いてみたい。

 懸念のことえりFreeMem問題に一応のケリを付けるため、久々に一部新しいロジックを入れた。Undoバッファをあらかじめ一定サイズ(1KByte)用意しておき、通常のインライン動作では新たなメモリを要求しないようにした。また、FreeMemを使わないメモリハントルーチンも用意した。かなり変なバグを仕込んでしまい、苦労したがやっと安定した。
 しかしである。漢字Talk7.5のことえり1.1はもうFreeMem問題が解消しているのであった。ああ、完全に無駄骨だったのね。はぁ〜〜。

 COCO姉ちゃんからはさらにInsert(PlugIn)のUndoがおかしいとの報告。ロジックが間違っていた。うへ〜、よくこんなの見つけるなぁ。
 ついでにUndoでの表示ロジックの怪しい部分を修正。また、PlugInのRedoを、「もう一度呼び出す」から「バッファを取っておく」にロジック変更。これでようやくPlugInも正当なUndo-Redoになった。
 そろそろテキスト共通リソース対応を考えなくてはだな。

 UNIXのLHaのソースのマックへの移植を始めてみたが、Symantec C/C++ってのはもはやClassic IIでは使えないくらい重かったのね。
 電脳曼陀羅は実に面白かった。でもあれでMS関連の状況が良くなったわけではないんだよね。困ったもんだよ。

褌1.2.3g / 1995.02.06

 ハドソンの小澤さんからのE-Mailでは、最新バージョンの褌にしたらちゃんと起動するようになったとのことだ。やっぱり1.2.3以前の1.2.xは問題が多かったのね。
 カメオインタラクティブから一方的に「Passport社製品の取扱をやめるからよろしく、最後のバージョンアップだけはとりもってあげるね」という葉書がきていたのだが、考えたすえMaster Tracks Proをバージョンアップすることにした。カメオには次の代理店を探す義務はないんだろうか。はてまたそんなにPassport社はやばいんだろうか。確かに大きくヒットした商品はあんまりないけどねえ。
 2年前から(マック・エキスポ93の会場で無駄と知りながら文句を垂れたのは私だ)要請していたバージョン5へのアップを今ごろやるはめになるとはね。そもそも円滑なバージョンアップを案内しなかったのはカメオ側だよ。代理店を無視して自力でバージョンアップしろって? 何のための代理店だい?
 結局ワードパーフェクトには無視されたようだ。ふう。もう付き合うのやめようメーカー&代理店リストは肥大化するばっかりだ。

褌1.2.3g / 1995.02.07

 'MPSR'=1005リソース対応を始めた。山田議長やBasukeさんに調べてもらったテンプレートにはウィンドウレクタングルが2つあり、それぞれ「Bounds of zoomed out window」と「Bounds of zoomed in window」となっているのだが、Symantec C/C++のエディタとBBEditでは作られる意味が逆転しているようだ。MetrowerksやMPWではどうなんだろう。
 さて、ひさびさのアップロードバージョンを繕うぢゃなくて作ろう。バージョン番号は1.2.5としようか。

褌1.2.5 / 1995.02.12

 FMACPROでMPSRの件を聞くと、Lotusさんから詳細なレスがついた。
結局はRECTの解釈には党派が存在するようで、
  1.SC++7.0.4、BBEdit3.1が互換がある。
  2.CW5、MPW、BBEdit2.1-2.3.2が互換がある。
となっている。
 褌はどちらにも互換を取れるよう、セーブ時のRECTをin/outのどちらにも入れることにする。また、ロード時のRECTは、判っているCreatorの文書に関しては適切に行うが、そうでないばあいはRECTの面積を比べて小さい方を使うことにしよう。

 COCO姉ちゃんからの指摘で、PlugInロード時のPBHGetFInfoを調べると、ASYNCで呼んでいると判明した。をを!これだ。PlugInのロードが不安定だったバグが1.0からずっとあったのだが、やっと取れた。ごくろうさま。
 くびきのマッキントッシュユーザーグループの中村さんからエキスポの入場券を貰えることになった。FMACPROの会議室でボヤいたからだと思う。さんきゅ。来週はユーコちゃんとエキスポだ。
 毎日コミュニケーションズの原さんから、限定版エディタ作成プロジェクト立ち上げのメールを受けたが、イマイチ内容が不明だ。「要詳細」の返事をすると、長文メールが返ってきたがそれでも不明だ。どこに相談したらいいもんか。

褌1.2.5 / 1995.02.19

 ま、ともかく久々のアップロードだ。

褌1.2.5 / 1995.02.22

「ホーム」へ戻る
「読まなくてもいいよ10」
OSTRACISM CO.
OSTRA / Takeshi Yoneki