#11790: `sage --sh -c ...` shouldn't print [that many] messages
-----------------------+----------------------------------------------------
   Reporter:  leif     |          Owner:                                        
                   
       Type:  defect   |         Status:  needs_review                          
                   
   Priority:  minor    |      Milestone:  sage-4.7.2                            
                   
  Component:  scripts  |       Keywords:  subshell commands sage-sage 
environment batch mode stdout
Work_issues:           |       Upstream:  N/A                                   
                   
   Reviewer:           |         Author:  John Palmieri                         
                   
     Merged:           |   Dependencies:  #11866                                
                   
-----------------------+----------------------------------------------------

Comment(by jhpalmieri):

 Replying to [comment:3 leif]:
 > Looks ok, but I cannot tell (or test right now) whether all prompts, and
 shell options regarding not executing rc files are correct.

 On my Mac, I was able to run "chsh" and then open up new terminal windows
 and run "sage -sh" to test the prompts.

 > The code testing for `-c` could be moved up, since everything else (in
 the `case ... esac`) is useless in this case .

 Well, if you're running "sage --sh CMD", it should matter whether you're
 running "bash" or "bash --norc", right?  The `case ... esac` stuff sets
 shell options like `--norc` in addition to the prompt, and I think we want
 this.

 > Also, if `exec` returns, this means an error, so we could print some
 according message in this case (although ''hopefully''^TM^ the shell
 itself did).

 So are you suggesting not checking the status at all? Like this:
 {{{
 #!diff
 diff --git a/sage-sage b/sage-sage
 --- a/sage-sage
 +++ b/sage-sage
 @@ -518,8 +518,8 @@ PS1="SAGE_ROOT=${SAGE_ROOT}
      esac
      if [ "$1" = '-c' ]; then
         exec $SHELL_NAME $SHELL_OPTS "$@"
 -       status=$?
 -       exit $status
 +       echo "An error seems to occurred." 1>&2
 +       exit 1
      fi
      # -c is not the first option, so print informative messages...
      echo "" 1>&2
 }}}
 I could probably come up with a more cryptic message, though.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11790#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to