(CommandList
  children: [
    (C {(_Dbg_help_add_sub)} {(set)} {(history)} 
      {
        (SQ <"**set history save** [**on**|**off**]\n"> <"\n"> <"**set history size** *num*\n"> <"\n"> 
          <"**set history filename** *path*\n"> <"\n"> <"In the first form, set whether to save history.\n"> <"\n"> 
          <"In the second form, how many history lines to save is indicated.\n"> <"\n"> <"In the third form, the place to store the history file is given.\n">
        )
      }
    )
    (C {(_Dbg_next_complete) (Lit_Other "[") (set)} 
      {(history) (Lit_Other "]") (Lit_Other "=") (SQ <_Dbg_complete_history>)}
    )
    (FuncDef
      name: _Dbg_complete_history
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPREPLY)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(save)}{(size)}])}
                  spids: [99]
                )
              ]
              spids: [99]
            )
          ]
          spids: [96]
        )
      spids: [92 95]
    )
    (FuncDef
      name: _Dbg_do_set_history
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Number "$1"))}
              arms: [
                (case_arm
                  pat_list: [{(sa)} {(sav)} {(save)}]
                  action: [
                    (C {(typeset)} 
                      {(Lit_VarLike "onoff=") 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ <on>)})
                          spids: [141 147]
                        )
                      }
                    )
                    (Case
                      to_match: {($ VSub_Name "$onoff")}
                      arms: [
                        (case_arm
                          pat_list: [{(on)} {(1)}]
                          action: [(C {(_Dbg_write_journal_eval)} {(DQ ("_Dbg_set_history=1"))})]
                          spids: [157 163 173 -1]
                        )
                        (case_arm
                          pat_list: [{(off)} {(0)}]
                          action: [(C {(_Dbg_write_journal_eval)} {(DQ ("_Dbg_set_history=0"))})]
                          spids: [176 182 192 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(_Dbg_errmsg)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (on) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\\"">
                                  ) (" or ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (off) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\\"">
                                  ) (" expected.")
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [195 197 219 -1]
                        )
                      ]
                      spids: [150 154 222]
                    )
                  ]
                  spids: [125 135 225 -1]
                )
                (case_arm
                  pat_list: [{(si)} {(siz)} {(size)}]
                  action: [
                    (C {(eval)} {(DQ ($ VSub_Name "$_seteglob"))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Number "$2")})
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(_Dbg_errmsg)} {(DQ ("Argument required (integer to set it to.)."))})
                          ]
                          spids: [-1 260]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {($ VSub_Number "$2")}
                                      right: {($ VSub_Name "$int_pat")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(_Dbg_errmsg)} 
                              {(DQ ("Integer argument expected; got: ") ($ VSub_Number "$2"))}
                            )
                            (C {(eval)} {(DQ ($ VSub_Name "$_resteglob"))})
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [270 284]
                        )
                      ]
                      spids: [-1 307]
                    )
                    (C {(eval)} {(DQ ($ VSub_Name "$_resteglob"))})
                    (C {(_Dbg_write_journal_eval)} {(DQ ("_Dbg_history_length=") ($ VSub_Number "$2"))})
                  ]
                  spids: [228 238 325 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(_Dbg_errmsg)} 
                      {
                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (save) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (", or ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (size) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" expected.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [328 329 351 -1]
                )
              ]
              spids: [116 122 354]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [113]
        )
      spids: [109 112]
    )
  ]
)