(command.CommandList
  children: [
    (C {<_Dbg_help_add_sub>} {<set>} {<editing>} 
      {
        (SQ <'**set editing** [**on**|**off**|**emacs**|**vi**]\n'> <'\n'> 
          <'Readline editing of command lines\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**show editing**\n'>
        )
      }
    )
    (C {<Id.Lit_ArrayLhsOpen '_Dbg_next_complete['> <set>} 
      {<editing> <Id.Lit_ArrayLhsClose ']='> (SQ <_Dbg_complete_edit>)}
    )
    (command.ShFunction
      name: _Dbg_complete_edit
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{<on>} {<off>} {<vi>} {<emacs>}]
                      )
                    }
                  spids: [94]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _Dbg_do_set_editing
      body: 
        (BraceGroup
          children: [
            (C {<typeset>} 
              {<Id.Lit_VarLike 'onoff='> 
                (braced_var_sub
                  token: <Id.VSub_Number 1>
                  suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{(SQ <on>)})
                )
              }
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$onoff')}
              arms: [
                (case_arm
                  pat_list: [{<e>} {<em>} {<ema>} {<emac>} {<emacs>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_edit)
                          op: assign_op.Equal
                          rhs: {(SQ <-e>)}
                          spids: [155]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_edit_style)
                          op: assign_op.Equal
                          rhs: {(SQ <emacs>)}
                          spids: [161]
                        )
                      ]
                    )
                  ]
                  spids: [134 152 167 -1]
                )
                (case_arm
                  pat_list: [{<on>} {<1>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_edit)
                          op: assign_op.Equal
                          rhs: {(SQ <-e>)}
                          spids: [179]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_edit_style)
                          op: assign_op.Equal
                          rhs: {(SQ <emacs>)}
                          spids: [185]
                        )
                      ]
                    )
                  ]
                  spids: [170 176 191 -1]
                )
                (case_arm
                  pat_list: [{<off>} {<0>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_edit)
                          op: assign_op.Equal
                          rhs: {(SQ )}
                          spids: [203]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [194 200 213 -1]
                )
                (case_arm
                  pat_list: [{<v>} {<vi>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_edit)
                          op: assign_op.Equal
                          rhs: {(SQ <-e>)}
                          spids: [225]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_edit_style)
                          op: assign_op.Equal
                          rhs: {(SQ <vi>)}
                          spids: [231]
                        )
                      ]
                    )
                  ]
                  spids: [216 222 237 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (C {<_Dbg_errmsg>} {(SQ <'"on", "off", "vi", or "emacs" expected.'>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [240 242 -1 257]
                )
              ]
            )
            (C {<set>} {<-o>} {($ Id.VSub_DollarName '$_Dbg_edit_style')})
            (C {<_Dbg_do_show_editing>})
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
  ]
)