Ble.sh: カーソルが関数の上にある場合に,手引きを開こうとすると正常でないコマンドが実行される

Created on 18 Sep 2018  ·  5Comments  ·  Source: akinomyoga/ble.sh

Commit ID: 6129766
Bash version: 4.4.12

$ function somefunc() { echo "foo"; }
$ somefun@

この状態で,手引き閲覧キー(既定ではK)を押下すると

-bash: UTF-8: コマンドが見つかりません
-bash: UTF-8: コマンドが見つかりません

という警告が表示され,コマンドラインに戻されます。
本来は(というか以前のコミット; 早くとも 9e68058 の段階では)somefuncの内容が表示されます。

question

All 5 comments

うーん。再現しません。またグロブ関係の shopt が怪しいのでないかと思って試してみましたが、やはり再現しませんでした。command-help 周りのソースコードを見ましたが、やはりどうやったら UTF-8 がコマンドとして実行される事態になるのか見当が付きません。

お手数をおかけしてすみませんが、またそちらで色々試していただかなければならなくなりそうです。

  • Q1. 挿入モード (imap) における f1 でも手引き閲覧ができますが、そちらでも同様に問題が再現するでしょうか。また set -o emacs で Emacs モードに移った時も f1 で手引き閲覧ができるのですが、それでも同様に問題は再現するでしょうか。
  • Q2. 以下のコマンドの実行結果を教えて頂ければ幸いです (以下の出力内容は正しく動作しているこちらでの内容です)。
$ function somefunc() { echo "foo"; }
$ ble/widget/command-help/.type/.resolve-alias somefunc somefunc
bash: alias: somefunc: 見つかりません
bash: unalias: somefunc: 見つかりません
type='function'
literal='somefunc'
command='somefunc'
$ ble/widget/command-help/.type/.resolve-alias somefunc somefunc 2>/dev/null
type='function'
literal='somefunc'
command='somefunc'
$ ble/util/type type somefunc; echo $type
function

こちらはその後いかがでしょうか。

すみません、恐らく以前 ble.sh/blerc にあったバグがそちらの設定ファイルに混入してしまっていますね…。お手数をおかけします。以下を同様に修正して頂いて様子を見ていただけないでしょうか。

@akinomyoga
ありがとうございます!
修正したところ,正常な動作に戻りました。また,不具合ではなくて気になっていた,Bashの内部コマンドに対してcommand-helpを実行したときに,単にBashのmanページが表示されるだけで目的の場所に移動しないという状態も,直りました。
細かいことですいません……。

直ったようで良かったです! 閉じますね!

Was this page helpful?
0 / 5 - 0 ratings