02 - 監獄からの脱出
「夢の中でさあ,」体調を取り戻した私がチュートリアルの下読みをしながら言う。「町田康先生が『ふりがなが無くても読めるようにしろ』って言ってたんだよ」
それを聞いた EeePC が問う。「夢の中でか?」「うん」「夢の中でか」「そう」「夢の中でか…」「なに?なんなの?」
あまりにくだらないので EeePC があきれている。「それで,夢の中の町田康先生はどうしてそう言ってたんだ?」「わかんないよ,夢だもん」「…だろうな」「わかりやすい文章を常に心がけろってことかな?」「知るか」
「ところで君は読者にお詫びするべきだと思うんだが」EeePC が言った。
「何を」「君は前回の最後で寝ただろう」「うん」「今回のタイトルは?」「監獄からの脱出」「ふつうの読者ならそこで異世界にだな」
私は席から身体を離す。「あー,うちそういうのやってないんですよ」「のれんに偽りありだ」「はい,ほんとうに Emacs のチュートリアルをプレイするだけなので」
「それなのにどうして監獄からの脱出なんて仰々しいタイトルにしたんだ?」「先生がプログラミングできないのは両手を縛られているようなものって言ってたから」「お,おう…意外とちゃんとしてるのだな」「でもこれを読んでプログラミングができるようになるわけでもないです」「おい」
私が準備をしていると,EeePC が「ところで君はいきなり Emacs のチュートリアルから始めるのか?」と口をはさんだ。「どういうこと?」「チュートリアルというからには,Emacs のインストール方法くらい説明するべきだと思うが」
「インストールか…」私は顔を上げ,遠くを見る。EeePC が何度か呼びかけるが,まるで聞いていない。「…」
Emacs のコマンドを入力するには、一般にコ
「おい,話を聞け」
チュートリアルを進めようとする私を EeePC があわてて止める。「インストール方法を紹介しろと言っているんだ」
私は口を台形にし,嫌悪の感情を込めた目で EeePC を見る。「なんだその目は」「…」「まためんどくさいとか言うつもりか」「言ってません」「目で言ってるだろう。まったく。嫌がってもだめだ」「…」「雰囲気だけでも入門らしく,それが礼儀だ。わかるな?」「…」
私の目が潤み,EeePC がうろたえる。「おい,そんなに嫌なのか」私が何度もうなずく。「うーむ。しょうがないな」「!」「画像は用意しなくてもいいから,できる範囲で説明しろ。いいな?」
「はぁ!?」思わず大声が出る。「当たり前だろう。省略できるとでも思ったか」「…君と一緒に海に入ろうか」「考えが極端すぎるぞ。はじめは多少雑でも,後から直せるんだから。さあ」
「…」しぶしぶ私は EeePC に従い,画面に向かった。
1. たくさん失敗する
私は Emacs の scratch バッファで次の文字を入力した。
(1 1 +)
C-j で評価すると,即座にエラーが表示される。
Debugger entered--Lisp error: (invalid-function 1)
(1 1 +)
eval((1 1 +) nil)
elisp--eval-last-sexp(t)
eval-last-sexp(t)
eval-print-last-sexp(nil)
funcall-interactively(eval-print-last-sexp nil)
call-interactively(eval-print-last-sexp nil nil)
command-execute(eval-print-last-sexp)
「なんだこれは」EeePC がたずねる。「エラーが出てる」「それぐらい見ればわかる。どうしてそんなことを?」
私は eww で検索をしながら続ける。「コンピュータが出すエラーをこわがる人が結構いるから」「それと入門に何の関係があるのかわからんのだが」「エラーが出るのが普通,ってくらいに気楽に思っていてほしいんだ」「ふむ」「そうしないとインストールだけで力つきると思う」
私は再び scratch バッファに入力する。
(+ 1 1)
2
「エラーが出ないな」「計算の順番変えたからね」「順番?」「Emacs の電卓 (M-x calc
) と Emacs のプログラムは符号の場所が違うんだ。私は最初,電卓の気分で入力したからエラーが出た」「ふむ」「エラーが出ても故障するわけじゃないし,失敗しても平気なのがコンピュータで遊ぶ良いところだと思うから」「プログラムのミスを見つけると賞金をくれる会社もあるくらいだしな」「そうそう。だからどんどん失敗しよう」
2. Windows
「公式サイトでも配布してるけど,日本語がうまく打てなかったような気がする」「最初からゲームオーバーじゃないか」「幸いなことに日本語を打てるよう修正して配布されている方がおられます (→ gnupack)」「ありがたいことだ」「gnupack と yatex と TeX インストーラ にお世話になっている方も多いのではないでしょうか」
「君の場合はどうなんだ?」「MSYS2でビルドしてます」「手間じゃないのか」「だってなんかかっこいいじゃん」「…君は前からそういうやつだったな」
3. Mac
「私は Mac で Emacs 使ってない」「最初からゲームオーバーじゃないか」「こっちも brew でインストールできるやつにはいくつか問題があったような」「厄介だな」「幸いなことに問題を修正して配布されている方がおられます (→ Emacs Mac Port)」「ありがたいことだ」「MacTeXにお世話になっている方も多いのではないでしょうか」
「君は Mac で何を使っているんだ」「miとか IDE に入ってるやつとか」「Emacs は使わないのか?」「私の邪気に汚染されるから使わない」「邪気か」「瘴気といってもいい」「おっかない。君には今後薦めるのはよそう」
4. Linux
「Linux では大抵コマンド一発でインストールしてくれます ($ sudo apt install emacs
等)」「最初からゲームクリアじゃないか」「emacs-mozc を入れると日本語入力の問題もありません」「ありがたいことだ」「もし Emacs に興味を持ったら,VirtualBox とかに Ubuntu 入れて遊んでみてからでいいんじゃないかと思う」
ところで
ひととおり説明が済んだところで EeePC が言った。「まだチュートリアル一行も進んでないな」
私はその言い様にカッとなって叫ぶ。「だっ,誰のせいだと思ってるんだよ!」「すまん。だがこれくらい助走をつけていればすんなりと本丸に入っていけると思ってな」「…」私は歯をかみしめ,EeePC をにらみつける。EeePC は続ける。「退屈になるかもしれない。軽い気持ちで君も進めていきたいだろう」「…そりゃあ,そうだけどさ」「私は疲れないのがとりえだ。これからは君の思うように進めてかまわない。いつでもいい。最後まで付き合おう」
「ほんと?」「ああ」その言葉に私は嬉々としてキーボードを叩く。
ものです。これらの方々に深く感謝します。
「いきなり最後まで飛ばすな!」EeePC が吠えた。
(c) 2018 jamcha (jamcha.aa@gmail.com). (c) 1985, 1996, 1998, 2001-2018 Free Software Foundation, Inc.