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

On macOS, after invoking PowerShell Core / with PowerShell Core as the default shell, Perl6's command-line editing is broken #27

Closed
mklement0 opened this issue Oct 5, 2018 · 5 comments

Comments

@mklement0
Copy link

Note: Apologies if this isn't the right place to post this; my assumption is that Linenoise is what is being used for command-line editing in Perl 6 on macOS; this post is a modified version of one first posted in the PowerShell repo, PowerShell/PowerShell#7920


Observed in both Terminal.app and iTerm2.

Once you invoke PowerShell in a given Bash session, using the arrow keys in a subsequent invocation of the Perl6 REPL stops working, which prevents navigation inside a line and recall of commands from the history.

Even just invoking PowerShell with -command, without entering an interactive session, produces the symptom.

With PowerShell defined as the default shell, using the arrow keys in the Perl6 REPL is unavailable altogether.

By contrast, the command-line editing features of POSIX-like shells is unaffected.

Steps to reproduce

On macOS:

Prerequisites:

  • Install PowerShell Core via Homebrew with brew tap caskroom/cask; brew cask install powershell

  • Install Perl6 with brew install perl6.

  • Run perl6 to enter the Perl6 REPL and submit a command such as 'hi' - verify that it can be recalled by pressing the up-arrow.

  • Exit the REPL with exit

  • Run a PowerShell command such as pwsh -noprofile -command get-date

  • Enter the Perl6 REPL again with perl6

  • Try to recall the previous command by pressing the up-arrow.

Expected behavior

The most recently submitted command should be recalled from the command history.

Actual behavior

Nothing happens.

None of the arrow keys are working.

Environment data

PowerShell Core v6.1.0 on macOS 10.13.6
Rakudo Star version 2018.06 built on MoarVM version 2018.06
implementing Perl 6.c
@hoelzro
Copy link
Collaborator

hoelzro commented Oct 6, 2018

Thanks for the very thorough report, @mklement0! This is going to be a little tricky since I don't have a macOS machine to develop on, but maybe we can figure this out. Does perl6 print any warning messages or anything when you invoke it after powershell? And, just to make sure I'm understanding you correctly - this is running perl6 from bash itself after powershell has exited, and not running perl6 from powershell, right?

@hoelzro
Copy link
Collaborator

hoelzro commented Oct 6, 2018

Also, I'm curious to see if this happens with the example program from https://github.com/antirez/linenoise

@mklement0
Copy link
Author

@hoelzro:

Does perl6 print any warning messages or anything when you invoke it after powershell?

No warning or messages are printed.

this is running perl6 from bash itself after powershell has exited, and not running perl6 from powershell, right?

It happens in both cases.

I'm curious to see if this happens with the example program

Yes, it also happens with the example program.

@hoelzro
Copy link
Collaborator

hoelzro commented Oct 8, 2018

@mklement0 Thanks for the follow-up! If it happens with the example program distributed with Antirez' linenoise, it's a linenoise issue, not a Perl 6 issue. Sorry to keep redirecting you, but it should probably be handled upstream!

@mklement0
Copy link
Author

No worries at all, @hoelzro - I appreciate the guidance; new issue opened at antirez/linenoise#165

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants