GithubHelp home page GithubHelp logo

Comments (4)

johnsonjh avatar johnsonjh commented on June 13, 2024 1

Bumping again.

from openvi.

johnsonjh avatar johnsonjh commented on June 13, 2024

Confirmed the behavior you noted, comparing OpenBSD 7.2-beta with OpenVi master.

I'll look into it and see what is happening. I'm totally not surprised that I broke this (the completion code is a bit hairy -- as you can see, almost all open issues are related to completion), but I'm not sure just how I broke it yet - sorry!

Traditional vi completion worked by calling the shell to do the expansion. This is probably the smartest thing to do - the expansion in vi will always follow the same rules as the users shell - a zsh user can use zsh globs like **/*(.), csh users can use whatever they use, etc. Because calling a new shell is an expensive operation, especially on a old VAX, nvi accelerated the most common completion case of '*' by handling it internally, avoiding the need to fork a shell.

I see if you disable the shell-based completion by setting shell="" in Nvi or OpenBSD's vi, the "default" internal tab completion still works as you expect it to, but not on OpenVi.

This seems to point towards having broken the internal completion in some way, as that is the one that's called in the default case.

It will be a bit before I'm able to investigate this further, but it's a bug for sure and I'll make a new release once it's fixed because it creates an annoying and unnecessary incompatibility between OpenVi and OpenBSD vi/nvi.

from openvi.

krsanky avatar krsanky commented on June 13, 2024

Thanks for investigating and the explanation :)
I can build from git if you get to the point you want anything tested.

PS.
my shell from OpenVi: shell="/opt/local/bin/oksh"
That's OpenBSD ksh from macports, which so far seems just like on ksh on OpenBSD.
It must get that from $SHELL (which is the same), because I didn't set it.

from openvi.

johnsonjh avatar johnsonjh commented on June 13, 2024

Just checking in.

Yes, it will use your SHELL from the environment by default for the shell to call for completions. You can override this if you desire. (In the days of slow VAXen, it was somewhat more common to use a faster minimalist shell for providing completions and/or shelling out to execute commands from buffers, and using a more featured shell for interactive logins.)

I've not had a moment to look at this issue yet, but I'm hoping to do so before the OpenBSD 7.2 release, which will bump OpenVi to 7.2.x.

from openvi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.