(CommandList children: [ (C {(_Dbg_help_add)} {(export)} { (SQ <"**export** *var1* [**var2** ...]\n"> <"\n"> <"Marks **var1**, **var2***, to get reassigned with their current values after on\n"> <"subshell exit. The values are set by the debugger only after it\n"> <"notices that the current shell is left.\n"> <"\n"> <"Nothing is done if you aren not in a subshell.\n"> ) } ) (FuncDef name: _Dbg_do_export body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Pound "$#")}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ("Expecting at least one variable name; got none."))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [-1 91] ) ] spids: [-1 106] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{(Lit_Digits 0)}) right: (ArithVarRef name:BASH_SUBSHELL) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ("You are not in a subshell, so no value(s) need saving."))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [-1 125] ) ] spids: [-1 140] ) (C {(typeset)} {(var_name)}) (ForEach iter_name: var_name iter_words: [{($ VSub_At "$@")}] do_arg_iter: False body: (DoGroup children: [ (C {(_Dbg_defined)} {($ VSub_Name "$var_name")}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_QMark "$?")}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(typeset)} {(val)}) (C {(typeset)} {(Lit_VarLike "val_cmd=") (DQ ("val=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") ($ VSub_Name "$var_name") ("}") ) } ) (C {(eval)} {(DQ ($ VSub_Name "$val_cmd"))}) (C {(_Dbg_write_journal)} {(DQ (${ VSub_Name var_name) ("=") (${ VSub_Name val))} ) ] spids: [-1 182] ) ] else_action: [ (C {(_Dbg_errmsg)} { (DQ ("name: ") ($ VSub_Name "$var_name") (" is not known to be a variable.") ) } ) ] spids: [222 234] ) ] spids: [159 237] ) spids: [154 157] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [72] ) spids: [68 71] ) ] )