简体   繁体   中英

Ruby Gem Collapse Fish Shell

whenever I use a command related to gem that is not in history it will break the terminal. in this example I was going to write 'gem check', it was the first time so this is waht happened:

Miguel@MacBook-Pro ~> 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'

This output repeats again and again in an infinite loop.

This also happen if I wrote something else after a prevoius used command. ie: gem update -s, the -s part will get the same behavior

The issue here is that you have an alias called which that calls type . Since type is a function that in some paths (when called with "-a") calls which , this results in an "infinite" loop.

In the next fish version, this will be fixed by calling command which in the type function. For now, the solution is to remove the alias or call it something else.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM