display2d:maxima;
変数display2dの値をmaximaに変更する。
display2d:imaxima;
戻し。
MacをCatalinaへアップグレードした。
そうしたらMacBook Airの挙動がおかしくなった。
Documentsフォルダに権限がなくてアクセスできないなんてありえないだろ。
あわててバックアップから戻そうとしたらローカルバックアップがうまく取れてなくて1週間前の状態にもどす羽目に——しかもネットワークにあるバックアップにアクセスできなくなるし。すったもんだでなんとか、元にもどしてゼーハー。
それでカッとなって「brew upgrade」をしてしまった1。
で、気づくと、maximaが動かない。
maximaはアップグレードされてないのに、SBCLがアップグレートされたためだ2。
うーん、としばらく考えて。
brew reinstall --build-from-source maxima
buildしなおす。
ところが今度はimaximaがおかしい。Ghostscriptが問題のようなメッセージがでた。ghostscriptはちゃんとインストールされているんだけどなぁ。古いバージョンでないと、動かないのかなぁ。いろいろやっていてふと気づく。
あれ?
gs -h
で表示されるバージョンと、
brew info Ghostscript
で表示されるバージョンがちがう。
見ると、「/usr/local/bin/gs」はbrewとはちがうものだった。
どこでどうやってまぎれこんだのか、さっぱり覚えがない。rootでインストールされているから「basictex」をインストールしたときがあやしいが、完全に置きかえてしまうのは不安だ。
なのでimaximaが使う「gs」を直接、変更した。
(setq imaxima-gs-program "/usr/local/Cellar/ghostscript/9.50/bin/gs")
うん、動くようになった。
まったく意味不明な衝動的な行動。
きっかけはガルパンだった。
Wikipediaを見ていたらスピンオフしたコミック——「リボンの武者」を読んでみたくなったのだ。でもなぁ、東日本大震災以来、あまり本を所有したくない。命にかかわる。
けれど電子書籍には抵抗がまだ、ある。
自炊しているけど、まったくといっていいほど、読んでいない。あれは本を持たないようにするための方便だ。
買いにいくにしてもこのところ、リアル書店へ行ったことがない。
結局、Amazonの電子書籍を購入することにした。
あっという間に既刊十数冊すべてと、ほかのコミカライズ作品も買いまくってしまった。さらにノベライズまで。一気読んだ。目が痛くなる。馴れなのかもしれないけれど、iPadでの長時間の読書はやはりきびしい。目がかすむ。
kindleの端末ならだいじょうぶかもしれない、とちょっと調べてみたけれど、どうやらマンガには向いていないらしい。
ガルパンの手に入るだけの作品を手に入れると——ドラマCDも買った——、しばらくのあいだはおとなしくしていた。時々、期間限定と銘打って無料提供されているコミックを読んだりする程度だった。
ふと思い出したのは、3巻まで追いかけていた、ひじかた憂峰/たなか亜希夫「リバースエッジ大川端探偵社」のこと。あれ、どうなったんだろう。チェックしてみたら10巻まででていた。えっ、そうなの。それを読み出したのが運の尽き——数巻、購入したところで、「リバースエッジ」はKindle Unlimitedになっていることに気づいた。
脊髄反射で登録してしまった。
あとは読みまくる。ひたすら読みまくる。子どものころに読んでいたマンガも、押川雲太朗の麻雀マンガも、読んでなかった「進撃の巨人」の25巻から29巻を買い、期間限定で読んではまった「美女で野獣」「デストロ256」、「謎の彼女X」を最終巻まで、「ハナカク」「科学的に存在しうるクリーチャー娘の観察日誌」を最新巻まで……。
何をやっておるのか。
やばい。えらい出費だ。
けれど子どものころに読んでまた、読んでみたいと思っていた桑田次郎の諸作品や、真崎守「ホモ・ウォラント」とも出会えた。新しいバージョンの「青の6号」も読めたし。ま、いっか。
dom.elがあるならもしかしてsvg.elも……、と思ったら。
(require 'svg) svg
——あった。
というか、Emacsでsvgを表示できるとは。知らなかった。ビルドのオプション次第らしいけれど。
しかもshr.elの
shr-insert-document is an autoloaded Lisp function in ‘shr.el’.
(shr-insert-document DOM)
Render the parsed document DOM into the current buffer.
DOM should be a parse tree as generated by
‘libxml-parse-html-region’ or similar.
を使ってバッファに流しこめるじゃないか。image-modeを使って表示するだけではなく。
そのうえ、昔は「libxml-parse-html-region」「libxml-parse-xml-region」でlistにしたものを元にhtmlやxmlに戻す関数は見当たらなかったのだけど。
svg.elの中にまさにそのような関数があった。
svg-print is a compiled Lisp function in ‘svg.el’.
(svg-print DOM)
Convert DOM into a string containing the xml representation.
いや、Emacs最高。
GPXのファイルのデータをいじったり、競馬のデータを取りこむために、「libxml-parse-html-region」や「libxml-parse-xml-region」を使っているのだけれど、さすがにlistに変換してくれるとはいえ、それを舐めて必要なデータに取り出すのは少々、面倒くさい。
手間だ。
domとか、あれば、いいのに。
(require 'dom) dom
ってあるじゃん。(dom-by-id DOM MATCH)とか、(dom-by-class DOM MATCH)とか。ここで引数でわたすDOMは「libxml-parse-xml-region」で変換したlistだと見当をつけて試してみたところ、ビンゴだった。
ああ、今までつくったツールをこれに置き換えたい。