2023年5月19日金曜日

最新版neovimでも残っているふたつのbug(lua5.1と/0000/0000/0000^G)

ubuntu22.04LTSではaptで入るneovimはv0.61だ。かなり古い。githubの本家では安定板として0.9が、実験版としては0.10が公開されている。そこで安定板の0.9を入れたいと思い、githubから拾ってきたsourceをビルドしたのだが、bugがあってはまってしまった。bugはコンパイル時と実行時のふたつある。bugはversion 0.8/0.9/0.10すべてに同じものが存在する。

[コンパイル時のbug]
cmakeで作られるluaの必要バージョンが5.1だ。make中にこれを拾いに行くスクリプトが走るのだが、拾いに行った先のurlがアクセスできない。luaの本家では今は5.4が公開されている。もう5.1は使うなということなのか。

sourceの5.1を指定している箇所を編集して5.1を5.2や5.3に変えても5.1を拾いに行こうとする。私のcmakeの環境のせいかもしれない。

しかたないので、やりたくなかったが実行ファイルをgithubから拾ってきてそれを配置して済ませた。このことがふたつめのbugを取りにくくしている。

[実行時のbug]
nvimを起動すると最下段のコマンド部に/0000/0000/0000^Gと挿入されて、ファイルの1行めをたまに書き換えてしまう。このbugは0.5の頃から存在していて、terminalのbackground色を取得して設定する部分が誤動作して起きている。使っているterminalの種類によってはbugが出ない場合もある。これをfixするpatchは公開されているのだが、patchを当てるにはsourceからビルドできてないといけない。私は前記の理由でそれができない。

しかたないので.vimrcに以下のキー登録設定を入れてお茶を濁す方法を採用した。

cnoremap 3636  <c-u>undo<CR>

この設定があると、nvim起動直後にコントール-uをたたくと/0000/0000/0000^Gが消える。面倒だが他にもっと効率的な方法がない。

mac os ventura に brew install neovim で入れたnvimは0.9でこのような問題が出ない。ubuntu 22.04LTSの自動的に入るnvimが早く0.9に上がるといいと思っている。

0 件のコメント:

コメントを投稿