Ticket #213 (closed defect: fixed)
[mc-ru-fork] patch for fix bug 'The shell is already running a command'
Reported by: | slavazanko | Owned by: | slavazanko |
---|---|---|---|
Priority: | blocker | Milestone: | 4.7.0-pre4 |
Component: | mc-core | Version: | 4.6.1 |
Keywords: | Cc: | r0polach@…, mantas@…, midenok@… | |
Blocked By: | Blocking: | ||
Branch state: | merged | Votes for changeset: | committed-master |
Description
Test case:
- run mc
- press CTRL+o (hide panels)
- press 'space' key
- press 'backspace' key
- press CTRL+o (show panels)
- type 'ls' and press 'enter' key
Attachments
Change History
comment:1 Changed 16 years ago by slavazanko
- Keywords review added
- Owner set to slavazanko
- Status changed from new to accepted
- Milestone changed from 4.7 to 4.6.2
comment:2 Changed 16 years ago by slavazanko
This not good fix, I know. But at this time no better variants... therefore this patch I propose for fix issue with 'busy shell'.
comment:4 Changed 16 years ago by winnie
- Keywords rework added; review vote-styx removed
Sorry no vote from me.. this patch should be reworked as it's a hack. We should try to fix this issue really and do not try to fix it in a hackish way.
Please rework it.
comment:5 Changed 16 years ago by styx
- Priority changed from major to blocker
- Milestone changed from 4.6.2 to 4.6.3
moved to 4.6.3 to release 4.6.2 faster
this is a blocking bug
comment:8 Changed 16 years ago by slyfox
Moving to 4.6.3 as 4.6.2.1 is a primarily build fix release
Changed 15 years ago by midenok
- Attachment mc_poc.diff added
Busy shell and stacked prompt glitches fix (proof of concept)
comment:13 Changed 15 years ago by midenok
- severity set to no branch
mc_poc.diff fixes busy shell glitch, but is not ready for production merging because:
- it is only for bash;
- subshell state names, pipe names are not good;
- probably state logic should be reworked, states count reduced and variable subshell_ready removed;
- there is no need to send $BASH_COMMAND on pipe, it was used for debugging;
- quick hack for 'stacked prompts bug' use direct ANSI codes. Probably should use ncurses or slang (slang is a bit clumsy for this);
- wrong style (uses spaces instead of tabs);
But this patch works good at least in my tests and my serve as a base to a nicer fix.
comment:15 Changed 15 years ago by slavazanko
- Milestone changed from 4.7 to 4.7.0-pre4
I think, time to close this epic bug :)
comment:17 Changed 15 years ago by slavazanko
recreated branch 213_busy_shell
initial changeset:4db3447eedb1e362376b9a09d8a903c55bef0b14
Fix issue: Now 'busy shell' status toggle on if user will press 'Enter' key.
Old behavior: User was press any key into subshell and 'busy shell' status toggle on.
Also, patch will enter new behavior:
- run mc
- press ctrl+o (hide panels)
- type 'cat ' and don't press 'Enter' key
- press ctrl+o (show panels)
- type 'ls' and press enter
You'll see:
cat: ls: File not found.
Review, please.
comment:19 Changed 15 years ago by andrew_b
- Votes for changeset set to andrew_b
changeset:4db3447eedb1e362376b9a09d8a903c55bef0b14
Cool! It really works! My vote here.
comment:20 Changed 15 years ago by iNode
- Votes for changeset changed from andrew_b to andrew_b iNode
- severity changed from on review to approved
Interesting idea... Thanks!
comment:21 Changed 15 years ago by slavazanko
- Status changed from accepted to testing
- Votes for changeset changed from andrew_b iNode to commited-master
- Resolution set to fixed
- severity changed from approved to merged
Created branch '213_busy_shell'; parent branch: mc-4.6
Also, patch 213_busy_shell.001.patch attached.
Review, please.