無法者夜話

「どうやら最後の旅立ちの時がきたようじゃ」
 老人が焚火を見つめながらポツリとつぶやくと、老人の身の回りの世話をしていた青年は驚いた。
「ま、待ってください。マクロを使いこなせるようになるまで、いっしょにいてくれる約束じゃないですか。今日もマクロがハングアップして、大切な文書を失ってしまったんです」
「リセットしたのかね」
「ええ。ウンともスンとも言わなくなったもので」
リセットボタンを押す前に、マクロの強制中断は試したかね?
「キョウセイチュウダン?」
PC-9801なら[STOP]じゃよ。IBM系のマシンなら[Ctrl]+[Break]無限ループにおちいったり、支離滅裂な動きをするマクロを強制的にストップできる。ストップしたままでは困るから、さらに[ESC]をダメ押しする。キーを受け付けるようになったら、大切な文書をセーブして、それからVZを再起動することだ。VZの内部を破壊するような致命的なエラーが発生しているかもしれんからな」
 青年の顔に苦渋がにじんだ。
「それを知らなかったばかりに、僕は数時間をついやした文書をみすみす失ってしまったんですね……」

 しばらくの間、薪がはぜ割れる音だけが聞こえていた。岩陰につないだ二頭の馬が小さくいななく。天空を星が流れる。
「夜明けまで、たっぷり時間がある。わしに聞いておきたいことがあるなら、聞くがよい。なに、この年齢になると、長く眠る必要はない。それより、あんたのことが心配だ。わしとちがって、馬にまたがったまま居眠りはできんだろう」
「わかりました。きっとお笑いになるような馬鹿らしい質問もあると思いますが、私のような初心者にもわかるように答えていただけますか」
「いいとも。その前に、熱いコーヒーをもう一杯くれんか」

(「Vzマクロコレクション1」所収)

無法者夜話1

『町の広場でくどくどと自己弁護するのはみっともないじゃないか。
 しかし、この岩陰をたずねてくれた人間には、繰りごとを云っても許してもらえるじゃろう。
 裸のマクロロード関数「&z」の相対番号指定については、ブイゼットの取扱説明書にもマック16ドキュメントにもそれとはっきりわかる形では書かれておらん。エフ・ヴィシーの開発現場に居合わせた一部のトップクラスの者だけがその使い方を心得ている。それを一般人向けに紹介したのは無法者DEFのドキュメントが初めてじゃろう。大部分の人間は、相対番号指定が可能であることさえ知らなんだ。あのドキュメントを読んで、相対番号指定で十分だ、と思った人間は無法者DEFなど使う必要はないよ。
 ピーケーの町でいちばん論議の的となった「マクロの自動削除が働かずエラーになりやすい」については、トップクラスの人間が懐疑論を提出したのは無理もない。逆の立場だったら、わしもそうしたかもしれない。マクロバッファのフリーエリアが従来の10KB前後から30KB前後まで拡張されて、皆んながはしゃいでいる現状では、あまり実感が湧かなくても当然だ。だが、エム・ウス・ドスのメモリ640KBだって、最初の頃は「こんな広いエリアを何に使うのか」と云われていた。ブイゼットのマクロバッファもいずれ同じ状況になる、とわしは予測している。起動時インクルードでないと使えないマクロや、使用頻度がきわめて高い小物マクロなどで、フリーエリアは徐々に埋められていく。昔のニフメスDEFがそうだったように、マクロを分割して、無法者DEFのような仲介型マクロによって、オーバーレイないしはスワップせざるを得ないマクロも出てくるじゃろう。バージョン1.5時代からひきつづいて88番マクロが暗黙の了解として存在することで、ユーザーはそういったマクロを簡単に導入することができる。
 有志によって、ソースレベルで「現在実行中のマクロ以前も削除できる」仕様に改変する動きも見られるようじゃ。 しかし、シーモス氏があのような仕様を採用したのには、「内部バッファに情報を格納して、その特定のアドレスを参照するようなマクロをメモリ上で勝手に移動すると、誤動作する危険がある」というれっきとした理由がある。また、「仕様の追加はあるかもしれないが、仕様の変更はない」とも明言しておられる。シーモス氏がわざわざマクロの誤動作を誘発するような仕様変更を正式に採用する可能性はかぎりなくゼロに近い。絶対番号指定については、わしが最後まで粘った末に、却下された仕様じゃ。こっちの方はもしかすると仕様の追加で対処できるかもしれんが……。
 無法者DEFは、 現在すでに表面化している「&z」 (ロード) と「&Zd」(削除)の仕様上の制限、そして将来表面化するであろう制限を、互換性の問題もなく、安全確実にクリアしたマクロじゃ。トップクラスの人間にとっても、入門者にとっても有用であると信じる。第1世代無法者DEFは手狭なマクロバッファを使い回したいという切迫感にかられて登場したと云えるが、第2世代無法者DEFはさして切迫感がないうちから時代を先取りして登場したために受け入れられない……と云ったら自惚れが強すぎるだろうか』

(「Vzマクロコレクション2」所収)

無法者夜話2

 青年が口をはさむ。
『外部マクロロード関数「&z」が「現在実行中のマクロ以前も削除できる」様になったとしても、依然として無法者DEFが勝ってると思いますよ。もし、現在実行中のマクロ自身も削除できる究極の破壊関数「&Zz」(#80がちょっと似てますが)かなんかが出来るとすれば、負けるかも知れないのはその時ですね』
 老人は、教え子をいつくしむ教師のような微笑をたたえた。
『さよう。「&z」が「現在実行中のマクロ以前も削除できる」ようになったとしても、マクロバッファの上限が30KB前後であることに変わりはない。30KBのニフメスA.DEFから、30KBのニフメスB.DEFに連携する芸当はできなんだ。ところが、無法者DEFのような仲介型マクロを利用すれば、それができてしまう。
 これは岩登りにたとえることができるだろう。2人の登山者AとBが互いに命綱を結び合う。危険箇所ではAがしっかりとした足場に踏んばって、Bが登っていくあいだ安全を確保する。Bは自分が登りきったら、今度はAが登ってくるあいだ安全を確保する。これは、危険な岩山を越えるには欠かせない技術じゃよ。もちろん、それなりの経験と技術をもった人間なら1人でも岩を登っていくことはできる。だが、旅慣れぬ人間にとって、1人と2人の差は決定的なのじゃ。
 旅が終わるまで1度も危険な目にあわず、案内人などいてもいなくてもよかった、という気がしたなら、それはむしろ案内が役に立った証拠じゃ。わしは客の誇らしげな顔をみて内心にやりとする。と同時に、旅に出る前とくらべて客が確かに経験を積んだことも認める。
 案内人にとって幸福なことは、そうして経験を積んで1人旅ができるようになっても、わしのような老いぼれを雇ってくれる客がいることだ。こうして焚火を囲みながら、とりとめもなく話す昔話やら、言い伝えやらが、子守歌がわりにちょうどいいらしい』

(「Vzマクロコレクション2」所収)

無法者夜話3

『わしが何故「無法者」と呼ばれているか、知りたいというのかね。
 べつに町娘をかどわかしたわけでも、列車強盗をはたらいたわけでもないよ。これでも昔は、保安官助手にならないかと誘われたこともある。連発銃の扱いにかけちゃあ、あの飛行機野郎のキリタンと張り合ったものさ。今でも10ヤード離れた場所からガラガラ蛇の頭を撃ち抜くくらいは朝飯前だ。喧嘩っ早くて、命を落としそうになったこともある。敵の撃った弾が、胸ポケットの1ドル銀貨に命中して助かったのさ。その銀貨はいまも胸ポケットにはいっている。荒野で道に迷ったときには、こいつを宙にほうりなげて、右にいくか左にいくか決めるのさ。ふぉっふぉっ、わしの道案内が信用できなくなったかね? まあ、聞きなさい。わしの進む方角に道はひらける。たとえワニが棲む沼地でも、コンドルもとまらぬ絶壁でもな。
 ……えぇっと、なんの話じゃったかな』

(「Vzマクロコレクション2」所収)


戻る