2016-04-16 21 views
0

私は履歴にないgemに関するコマンドを使用するたびに、端末を破壊します。Ruby Gem Collapse Fish Shell

[email protected] ~> gem ch 
The function call stack limit has been exceeded. do you have an accidental infinite loop? 
    - (line 1): type -all $argv; 
       ^
in function 'which' 
    called on line 4 of file /usr/local/Cellar/fish/2.2.0/share/fish/functions/type.fish 
    with parameter list '-a -- -all' 

in command substitution 
    called on line 2 of file /usr/local/Cellar/fish/2.2.0/share/fish/functions/type.fish 

in function 'type' 
    called on line 1 of file - 
    with parameter list '-all -a -- -all' 

この出力を繰り返し、何度も何度も無限ループに:これが起こっWAHTであるように、この例では、私は「宝石のチェック」を書くつもりだった、それが初めてでした。

これは、私がprevoiusコマンドを使用した後に何か他のものを書いた場合にも起こります。すなわち、gem update -sの-s部分は同じ動作をします

+0

'gem'を上書きするエイリアスやカスタム関数はありますか? –

+0

私はあなたに悪い魚のシェルのテーマがインストールされていると思います。私は魚2.2.0で 'gem check'を実行する問題はありません。 – max

答えて

2

typeを呼び出す別名whichがあります。 typeは、一部のパス( "-a"で呼び出されたとき)でwhichが呼び出されるため、 "無限ループ"となります。次の魚版で

、これはtype機能でcommand whichを呼び出すことによって修正されます。今のところ解決策はエイリアスを削除するか、別のものを呼び出すことです。

+0

あなたの答えをありがとう、本当に私はエイリアスを削除し、すべてがいつものように働いています。 PD:あなた[または同じユーザー名とアバターを持つ人]がFishのgithubにパッチを提案していますが、それを使用するとよいでしょうか、または次のリリースまで待つ必要がありますか? – Miguelopezv

+1

ええ、それは適用するのが簡単です。あなたは 'funced type'でそれを行うこともできます(変更を持続させる' funcsave type')。 '' which''を '' which''に置き換えるだけです。 – faho