Makeing the subshell reliable

Pavel Tsekov ptsekov at gmx.net
Thu Jul 13 13:29:35 UTC 2006


Hello,

The MC subshell while being a nice feature has been the source of many 
problems as well. I've been following this list and the MC development for
a while and I can tell that the problems caused by the subshell are the
hardest to track down and eliminate. Trough the years many fixes were
applied and it still remains unreliable and its behaviour is somewhat 
undefined.

This post is inspired by a recent discussion I had with Pavel Shirshov 
regarding a subshell misbehaviour on FreeBSD. While tracing the problem
and trying to find a solution I realized several things:

  * the subshell behaviour is not clearly defined for that specific
    case thus fixing the problem would most likely case more undefined
    behaviour

  * there is no good way to solve the problem

I also realized that the shell is too complicated and it tries to do more
things that it really should do. Well, I was aware of this already but I 
kind of hoped that it just won't hit us. So, I think that instead of 
spending time in continuosly fixing the subshell we should spent some time
in simplifying it and making it rock-solid.

There are several features which are consistent source of problems:

   * the subshell prompt retrieval - this one is widely known to be
     unreliable.

   * execution of commands typed at MC's prompt widget trough the
     subshell

My opinion is that we should remove both features from the subshell. 
Without those features the subshell shall have a single simple task. 
Interactive command execution when the panels are off. The current 
directory retrieval remains but it has not been a major source of 
problems though improvements won't harm. Especially if the directory
retrieval could be made independent of the shell type.

Please, feel free to share your opinion on this matter. I hope that
at the end of this discussion we would have a better subshell.

Thanks!



More information about the mc-devel mailing list