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

Crash for bind with or #9051

Closed
FWest98 opened this issue Jul 1, 2022 · 4 comments
Closed

Crash for bind with or #9051

FWest98 opened this issue Jul 1, 2022 · 4 comments
Labels
bug Something that's not working as intended
Milestone

Comments

@FWest98
Copy link

FWest98 commented Jul 1, 2022

When I try to set the following keybind:

bind " " expand-abbr or self-insert

(with the intention to disable adding a space directly after expanding an abbreviation), fish crashes when there is nothing to expand. So expanding works fine, but the "or" case causes the following crash:

error: /build/fish-lfQFzD/fish-3.5.0/src/reader.cpp:4069: failed assertion: should have been handled by inputter_t::readch
<E> fish: Backtrace:
0   fish(+0xb64cf) [0x7f24e7f714cf]
1   fish(+0xba8e1) [0x7f24e7f758e1]
2   fish(+0xbaf00) [0x7f24e7f75f00]
3   fish(+0x1618e) [0x7f24e7ed118e]
4   __libc_start_main + 243
5   fish(+0x17b4e) [0x7f24e7ed2b4e]

I am running fish 3.5.0 on Ubuntu 20.04 in WSL.

@faho faho closed this as completed in d920610 Jul 2, 2022
@faho faho added the bug Something that's not working as intended label Jul 2, 2022
@faho faho added this to the fish 3.6.0 milestone Jul 2, 2022
@zanchey zanchey modified the milestones: fish 3.6.0, fish 3.5.1 Jul 13, 2022
@zanchey
Copy link
Member

zanchey commented Jul 13, 2022

Bravely taking this for 3.5.1

zanchey pushed a commit that referenced this issue Jul 14, 2022
Here we needed to handle self-insert immediately, but we ended up
returning it.

Fixes #9051

(cherry picked from commit d920610)
@lotsofthoughts
Copy link

Did this strip the functionality for II and && operators from scripts? Cause I'm getting a bunch of errors on Fisher, Fundle, OMF, and all sorts of other scripts using those operators now in 3.5.1 that did not occur in 3.5.0.

@faho
Copy link
Member

faho commented Sep 8, 2022

It did not. It has absolutely nothing to do with anything in proper scripts, only the arguments to bind.

The or here isn't ; or. It's not a script operator. It's a string that is passed to bind, and means something inside the binding system.

@lotsofthoughts
Copy link

lotsofthoughts commented Sep 8, 2022

Nevermind, it's being caused by a conflict from the other side of my code. I just pulled a 3.5.1 codebase into CentOS and your Dockerfile is throwing a resource error on the EPEL repo though. I removed the epel release installation line from your main Dockerfile and ran it on an amazonlinux image without incident. So you might want to update that. (or if you want I can submit a PR)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something that's not working as intended
Projects
None yet
Development

No branches or pull requests

4 participants