Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fish 2.6.0 #519

Closed
rrosson opened this issue Jun 5, 2017 · 7 comments
Closed

Fish 2.6.0 #519

rrosson opened this issue Jun 5, 2017 · 7 comments

Comments

@rrosson
Copy link

rrosson commented Jun 5, 2017

OS: macOS 10.12.5
Shell: fish, version 2.6.0 (via brew)
Current pkg/themes:
Oh My Fish is up to date.
You are now using Oh My Fish version 5.
Updating https://github.com/oh-my-fish/packages-main master... Done!
argu is already up-to-date.
bak is already up-to-date.
brew is already up-to-date.
config is already up-to-date.
expand is already up-to-date.
extract is already up-to-date.
getopts is already up-to-date.
grc is already up-to-date.
hash is already up-to-date.
homebrew-command-not-found is already up-to-date.
osx is already up-to-date.
peco is already up-to-date.
rbenv is already up-to-date.
ssh-config.d is already up-to-date.
ssh-term-helper is already up-to-date.
sudope is already up-to-date.
thefuck is already up-to-date.
title is already up-to-date.
vundle is already up-to-date.
bobthefish is already up-to-date.
default is already up-to-date.

Just updated to fish 2.6.0 and restarted my shell and now I am seeing this:

"setenv: Too many arguments"

Anyone else seeing this?
TIA

@sagebind
Copy link
Member

sagebind commented Jun 5, 2017

I do see this in the release notes:

export and setenv now understand colon-separated PATH, CDPATH and MANPATH variables.

Could be a classic backwards-compatibility break.

@oranja
Copy link
Contributor

oranja commented Jun 6, 2017

There is an undocumented change to setenv that's relevant here.
Previously setenv would take multiple arguments, but in 2.6, it tries to stick as much as possible to csh's behaviour (as was originally intended). So now when given more than two arguments, you get an error just like csh would supposedly return.

Now the call to setenv doesn't seem like it's coming from any of the plugins you have,
so maybe you use setenv somewhere in your config.fish or custom functions?

Basically fish's setenv is a wrapper to set -gx. See if you can avoid setenv and use set directly.

@x4121
Copy link

x4121 commented Jun 7, 2017

Basically fish's setenv is a wrapper to set -gx.

Not anymore, but it was up until 2.5

@rrosson maybe you have rbenv installed. If yes, see rbenv/rbenv#1004 (comment) or fish-shell/fish-shell#4103 (comment)

@oranja
Copy link
Contributor

oranja commented Jun 7, 2017

When I said basically, I meant simplicitly. It's not literally set -gx, but that it is what it does in effect in the most simple cases. In other words, my speculation is that whatever was @rrosson's goal with setenv, it can be acheived easily with set -gx or with an educated use of setenv in its 2.6 form.

Looking at the list of packages from omf update, rbenv seems out of the question, but it's really good that you link it here. Others might find this helpful.

@rrosson
Copy link
Author

rrosson commented Jun 7, 2017

Just grep'd (-R) through ~/.config and ~/.local and I have no "setenv" statements anywhere is my dotfiles.

Scratching my head.

@lnxg33k
Copy link

lnxg33k commented Jun 9, 2017

The same issue in here -- Fixed by rbenv/rbenv#1004 (comment)

@scorphus
Copy link
Member

scorphus commented Dec 7, 2020

Closing this one, as that's setenv default behaviour for quite some time.

@scorphus scorphus closed this as completed Dec 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants