(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: {($ VSub_Number "$0")}
                      right: 
                        {
                          (BracedVarSub
                            token: <VSub_Name BASH_SOURCE>
                            bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                            spids: [66 71]
                          )
                        }
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(source)} 
              {
                (BracedVarSub
                  token: <VSub_Name BASH_SOURCE>
                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                  suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")})
                  spids: [83 91]
                ) (/../../lib/help.sh)
              }
            )
          ]
          spids: [-1 77]
        )
      ]
      spids: [-1 94]
    )
    (C {(_Dbg_help_add_sub)} {(show)} {(commands)} 
      {
        (SQ <"show commands [+NUM]\n"> <"\n"> <"Show the history of commands you typed.\n"> 
          <"You can supply a command number to start with, or a \"+\" to start after\n"> <"the previous command number shown.">
        )
      } {(1)}
    )
    (C {(_Dbg_show_nolist) (Lit_Other "[") (commands) (Lit_Other "]") (Lit_Other "=") (1)})
    (FuncDef
      name: _Dbg_do_show_commands
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(-i)} {(Lit_VarLike "default_hi_start=") (_Dbg_hi-1)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithVarRef name:default_hi_start)
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:default_hi_start)
                              op: Equal
                              rhs: {(0)}
                              spids: [153]
                            )
                          ]
                          spids: [153]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [-1 151]
                )
              ]
              spids: [-1 158]
            )
            (C {(typeset)} 
              {(Lit_VarLike "hi_start=") 
                (BracedVarSub
                  token: <VSub_Number 2>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {($ VSub_Name "$default_hi_start")}
                    )
                  spids: [164 168]
                )
              }
            )
            (C {(eval)} {(DQ ($ VSub_Name "$_seteglob"))})
            (Case
              to_match: {($ VSub_Name "$hi_start")}
              arms: [
                (case_arm
                  pat_list: [{(DQ ("+"))}]
                  action: [
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:hi_start)
                          right: 
                            (ArithBinary
                              op_id: Arith_Minus
                              left: (ArithVarRef name:_Dbg_hi_last_stop)
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                        )
                    )
                  ]
                  spids: [188 191 204 -1]
                )
                (case_arm
                  pat_list: [{($ VSub_Name "$int_pat")} {(-) ($ VSub_Name "$int_pat")}]
                  action: [(C {(Lit_Other ":")})]
                  spids: [207 213 219 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(_Dbg_msg)} 
                      {
                        (DQ ("Invalid parameter ") ($ VSub_Name "$hi_start") 
                          (". Need an integer or '+'")
                        )
                      }
                    )
                  ]
                  spids: [222 224 -1 236]
                )
              ]
              spids: [180 184 236]
            )
            (C {(eval)} {(DQ ($ VSub_Name "$_resteglob"))})
            (C {(typeset)} {(-i)} {(Lit_VarLike "hi_stop=") (hi_start-10)})
            (C {(_Dbg_do_history_list)} {($ VSub_Name "$hi_start")} {($ VSub_Name "$hi_stop")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_hi_last_stop)
                  op: Equal
                  rhs: {($ VSub_Name "$hi_stop")}
                  spids: [263]
                )
              ]
              spids: [263]
            )
          ]
          spids: [127]
        )
      spids: [123 126]
    )
  ]
)