標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

nyagos 4.4.5_3~4 を公開しました。

ちょっと、立て続けですが、4.4.5_3~4 を公開しています(4.4.5_3 でちょっと失敗したので、_4 をすぐリリースした的な)

一番、すぐ直したかったのはコレ

  • echo $(gawk "BEGIN{ print \"\x22\x22\" }") で二重引用符が出ない不具合を修正

プロセスの出力結果の中の機能文字はそのまま機能文字として解釈されないように、基本 %U+nnnn% 形式にエスケープしているんですが、その中で二重引用符が漏れていました。それを直しただけ(本体の EXE ではなく nyagos.d/backquote.lua レベルの話)

で、これに巻き込んで入れてしまったのが、コレ

  • github.com/BixData/gluabit32 が 404 になって、Lua関数 bit32.* が利用できなくなった。

それなのに、なぜリリースしてしまうかな、俺。というわけで、続く 4.4.5_4 で次のようなフォロー入れています。

  • github.com/BixData/gluabit32 が消えて C-xC-r C-xC-h , C-xC-g が動かなくなった問題を修正
  • (#319) 自前版 bit32.band , bor , bxor を再び追加

あと、ちょっと誤解されたのは、コレ

  • サブコマンド補完(complete_for)では拡張子は無視してコマンドのマッチングを行うようにした

補完フックには二種類がありまして、

  • 昔からある nyagos.complete_hook
    • 何でもできるが、その分 Lua でガッツリ書かないといけない
    • nyagos.d/スクリプトがあるのは、こっち向け 最近、試験的に追加した nyagos.complete_for
    • コマンドごとに特化していて、Luaコード少なめでよいが、そのかわり自由度が少ない *(bash の complete 文程度にコマンド特化の補完コードを楽に書けないかという試作品

で、compete_hook の方は相変わらず、拡張子は無視せずにコマンドのマッチングをしていました。これについても 4.4.5_4 でフォローしました。

  • (#378) nyagos.d/catalog/subcomplete.lua: こちらのサブコマンド補完でも拡張子なし・英大文字・小文字は区別しないでコマンドを照合する動作を標準にした

あと、これは気づいたのは僕だけだったんじゃないかなと思うんですが、

  • (#377) scoop でインストールされた git で git gui を実行すると、エスケープシーケンスが効かなくなる問題に対応

そもそも git gui なんていうコマンドを知っている人は少ないと思いますが、これ GUI で git を操作するという文字どおりのサブコマンドです。が、これ非同期に動作してコンソールのモード変えちゃうんですよね。だから、コマンドが終わった時にコンソールのモードを元に戻しても、その後に非同期プロセスがそれを上書きしてしまう。

ということで、プロンプトが表示されるたびにいちいちコンソールを操作してエスケープシーケンスを有効にするようにしています。

今回の修正はこんなもんでしょうか。2回ダウンロードしてインストールした方には申し訳ないことでした。