(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$EMACS'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:EMACS) op:Equal rhs:{(emacs)} spids:[59])]
              spids: [59]
            )
          ]
          spids: [16777215 56]
        )
      ]
      spids: [16777215 62]
    )
    (AndOr
      children: [
        (C {($ VSub_Name '$EMACS')} {(--batch)})
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('You must set EMACS to a program that runs emacs.'))})
            (C {(exit)} {(1)})
          ]
          spids: [71]
        )
      ]
      op_id: Op_DPipe
    )
    (Sentence
      child: 
        (AndOr
          children: [
            (C 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (SimpleCommand
                          words: [{($ VSub_Name '$EMACS')} {(-batch)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [94]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [98]
                            )
                          ]
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [88 101]
                )
              }
            )
            (BraceGroup
              children: [
                (C {(echo)} 
                  {(DQ ('Your emacs command (') ($ VSub_Name '$EMACS') (') does not run properly.'))}
                )
                (C {(exit)} {(2)})
              ]
              spids: [105]
            )
          ]
          op_id: Op_DPipe
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (AndOr
          children: [
            (C 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (SimpleCommand
                          words: [{($ VSub_Name '$EMACS')} {(-batch)} {(--eval)} {(DQ ("(require 'ert)"))}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [137]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [141]
                            )
                          ]
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [125 144]
                )
              }
            )
            (BraceGroup
              children: [
                (C {(echo)} {(SQ <'You must install the `ert` dependency; see README.md'>)})
                (C {(exit)} {(3)})
              ]
              spids: [148]
            )
          ]
          op_id: Op_DPipe
        )
      terminator: <Op_Semi ';'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:warnings)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (SimpleCommand
                              words: [
                                {($ VSub_Name '$EMACS')}
                                {(-Q)}
                                {(-batch)}
                                {(-f)}
                                {(batch-byte-compile)}
                                {(rust-mode.el)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 2
                                  arg_word: {(1)}
                                  spids: [182]
                                )
                              ]
                            )
                            (C {(grep)} {(-v)} {(SQ <'^Wrote '>)})
                          ]
                          negated: False
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [168 195]
                )
              )
            }
          spids: [166]
        )
      ]
      spids: [166]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$warnings'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Byte-compilation failed:'))})
            (C {(echo)} {(DQ ($ VSub_Name '$warnings'))})
            (C {(exit)} {(4)})
          ]
          spids: [16777215 211]
        )
      ]
      else_action: [(C {(echo)} {(DQ ('Byte-compilation passed.'))})]
      spids: [232 241]
    )
    (C {($ VSub_Name '$EMACS')} {(-batch)} {(-l)} {(rust-mode.el)} {(-l)} {(rust-mode-tests.el)} {(-f)} 
      {(ert-run-tests-batch-and-exit)}
    )
  ]
)