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

Projects
None yet
2 participants
@mklement0

mklement0 commented Oct 5, 2018

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

This comment has been minimized.

Show comment
Hide comment
@hoelzro

hoelzro Oct 6, 2018

Owner

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?

Owner

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

This comment has been minimized.

Show comment
Hide comment
@hoelzro

hoelzro Oct 6, 2018

Owner

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

Owner

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

This comment has been minimized.

Show comment
Hide comment
@mklement0

mklement0 Oct 7, 2018

@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.

mklement0 commented Oct 7, 2018

@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

This comment has been minimized.

Show comment
Hide comment
@hoelzro

hoelzro Oct 8, 2018

Owner

@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!

Owner

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

This comment has been minimized.

Show comment
Hide comment
@mklement0

mklement0 Oct 8, 2018

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

mklement0 commented Oct 8, 2018

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

@mklement0 mklement0 closed this Oct 8, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment