(CommandList
  children: [
    (C {(_Dbg_help_add)} {(signal)} 
      {
        (DQ ("signal SIGNAL\n") ("\n") ("Send a signal to the debugged program.\n") ("\n") 
          ("SIGNAL can be a name like ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (TERM) 
          (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" (for SIGTERM) or a positive number like \n") ("15 (which in ") 
          (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) ("nix systems is the equivalent number. On ") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) 
          ("nix systems the\n") ("command ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("kill -l") 
          (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" sometimes will give a list of signal names and numbers.\n") ("\n") 
          ("The signal is sent to process ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
          (" (which is ") ($ VSub_Dollar "$$") (" right now).\n") ("\n") ("Also similar is the ") 
          (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (kill) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" command.")
        )
      }
    )
    (FuncDef
      name: _Dbg_do_signal
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(Lit_VarLike "sig=") ($ VSub_Number "$1")})
            (C {(typeset)} {(-i)} {(signum)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$sig")}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(_Dbg_errmsg)} {(DQ ("Missing signal name or signal number."))})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 134]
                )
              ]
              spids: [-1 149]
            )
            (C {(eval)} {(DQ ($ VSub_Name "$_seteglob"))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name "$sig")}
                              right: {($ VSub_Name "$int_pat")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(eval)} {(DQ ($ VSub_Name "$_resteglob"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:signame)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(_Dbg_signum2name)} {($ VSub_Name "$sig")})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [184 188]
                              )
                            }
                          spids: [183]
                        )
                      ]
                      spids: [183]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_NEqual
                                      left: (ArithWord w:{($ VSub_QMark "$?")})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(_Dbg_msg)} {(DQ ("Bad signal number: ") ($ VSub_Name "$sig"))})
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [-1 206]
                        )
                      ]
                      spids: [-1 222]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:signum)
                          op: Equal
                          rhs: {(sig)}
                          spids: [225]
                        )
                      ]
                      spids: [225]
                    )
                  ]
                  spids: [-1 173]
                )
              ]
              else_action: [
                (C {(eval)} {(DQ ($ VSub_Name "$_resteglob"))})
                (Sentence child:(C {(typeset)} {(signum)}) terminator:<Op_Semi ";">)
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:signum)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(_Dbg_name2signum)} {($ VSub_Name "$sig")})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [246 250]
                          )
                        }
                      spids: [245]
                    )
                  ]
                  spids: [245]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_NEqual
                                  left: (ArithWord w:{($ VSub_QMark "$?")})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (C {(_Dbg_msg)} {(DQ ("Bad signal name: ") ($ VSub_Name "$sig"))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      spids: [-1 268]
                    )
                  ]
                  spids: [-1 284]
                )
              ]
              spids: [229 287]
            )
            (C {(kill)} {(-) ($ VSub_Name "$signum")} {($ VSub_Dollar "$$")})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [106]
        )
      spids: [102 105]
    )
  ]
)