(CommandList
  children: [
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_different) op:Equal rhs:{(0)} spids:[72])]
      spids: [68]
    )
    (C {(_Dbg_help_add)} {(step)} 
      {
        (DQ ('step [COUNT]\n') ('\n') 
          ("Single step an statement. This is sometimes called 'step into'.\n") ('\n') ('\n') ('If COUNT is given, stepping occurs that many times before\n') 
          ('stopping. Otherwise COUNT is one. COUNT an be an arithmetic\n') ('expression.\n') ('\n') ('In contrast to ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (next) 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (", functions and source'd files are stepped\n") ('into. See also ') 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (skip) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (.)
        )
      }
    )
    (C {(_Dbg_help_add)} {(SQ <'step+'>)} 
      {
        (DQ ('step+ -- Single step a statement ensuring a different line after the step.\n') ('\n') 
          ('In contrast to ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (step) 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (', we ensure that the file and line position is\n') 
          ('different from the last one just stopped at.\n') ('\n') ('See also ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (step-) 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' and ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('set force') 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (.)
        )
      }
    )
    (C {(_Dbg_help_add)} {(SQ <step->)} 
      {
        (DQ ('step- -- Single step a statement without the ') 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("step force' setting.\n") ('\n') 
          ('Set step force may have been set on. step- ensures we turn that off for\n') ('this command.\n') ('\n') ('See also ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (step) 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' and ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('set force') 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (.)
        )
      }
    )
    (FuncDef
      name: _Dbg_do_step
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(_Dbg_not_running)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(3)})
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_last_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$_Dbg_cmd'))}
                  spids: [187]
                )
              ]
              spids: [187]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_last_next_step_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$_Dbg_cmd'))}
                  spids: [193]
                )
              ]
              spids: [193]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_last_next_step_args)
                  op: Equal
                  rhs: {(DQ ($ VSub_At '$@'))}
                  spids: [199]
                )
              ]
              spids: [199]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:count)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(1)})
                        spids: [209 213]
                      )
                    }
                  spids: [208]
                )
              ]
              spids: [206]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:suffix) op:Equal spids:[218])]
              spids: [216]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suffix)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name _Dbg_last_next_step_cmd>
                        suffix_op: 
                          (Slice
                            begin: 
                              (ArithBinary
                                op_id: Arith_Minus
                                left: 
                                  (ArithWord
                                    w: 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name _Dbg_last_step_next_cmd>
                                          prefix_op: VSub_Pound
                                          spids: [225 228]
                                        )
                                      }
                                  )
                                right: (ArithWord w:{(Lit_Digits 1)})
                              )
                            length: (ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [222 233]
                      )
                    }
                  spids: [221]
                )
              ]
              spids: [221]
            )
            (Case
              to_match: {(DQ (suffix))}
              arms: [
                (case_arm
                  pat_list: [{(SQ <'+'>)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_step_force)
                          op: Equal
                          rhs: {(1)}
                          spids: [252]
                        )
                      ]
                      spids: [252]
                    )
                  ]
                  spids: [247 250 255 16777215]
                )
                (case_arm
                  pat_list: [{(SQ <->)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_step_force)
                          op: Equal
                          rhs: {(0)}
                          spids: [264]
                        )
                      ]
                      spids: [264]
                    )
                  ]
                  spids: [259 262 267 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_step_force)
                          op: Equal
                          rhs: {($ VSub_Name '$_Dbg_set_different')}
                          spids: [274]
                        )
                      ]
                      spids: [274]
                    )
                  ]
                  spids: [270 272 277 16777215]
                )
              ]
              spids: [237 243 280]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$count')}
                              right: {(Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '*')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_step_ignore)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name count>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(1)})
                                spids: [305 309]
                              )
                            }
                          spids: [304]
                        )
                      ]
                      spids: [304]
                    )
                  ]
                  spids: [16777215 301]
                )
              ]
              else_action: [
                (C {(_Dbg_errmsg)} 
                  {(DQ ('Argument (') ($ VSub_Name '$count') (') should be a number or nothing.'))}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_Dbg_step_ignore)
                      op: Equal
                      rhs: {(-1)}
                      spids: [324]
                    )
                  ]
                  spids: [324]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)})
              ]
              spids: [312 333]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_old_set_opts)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$_Dbg_old_set_opts') (' -o functrace'))}
                  spids: [336]
                )
              ]
              spids: [336]
            )
            (C {(_Dbg_write_journal)} {(DQ ('_Dbg_step_ignore=') ($ VSub_Name '$_Dbg_step_ignore'))})
            (C {(_Dbg_write_journal)} {(DQ ('_Dbg_step_force=') ($ VSub_Name '$_Dbg_step_force'))})
            (C {(_Dbg_write_journal)} 
              {(DQ ("_Dbg_old_set_opts='") ($ VSub_Name '$_Dbg_old_set_opts') ("'"))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_inside_skip)
                  op: Equal
                  rhs: {(0)}
                  spids: [369]
                )
              ]
              spids: [369]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_continue_rc)
                  op: Equal
                  rhs: {(0)}
                  spids: [373]
                )
              ]
              spids: [373]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [173]
        )
      spids: [169 172]
    )
    (C {(_Dbg_alias_add)} {(SQ <s>)} {(SQ <step>)})
    (C {(_Dbg_alias_add)} {(SQ <'s+'>)} {(SQ <'step+'>)})
    (C {(_Dbg_alias_add)} {(SQ <s->)} {(SQ <step->)})
  ]
)