### 5.66 NewMac

• NewMac( <name>, <body> [, param1, $\dots$, paramN]).
• Description: that function create a macro called <name> whose containt is <body>. The two arguments are interpreted as strings. the optional parameters are variable names, the variable name <param1> is replaced in macro’s expression with the parameter %1, the name <param2> is replaced with %2 $\dots$ etc. this function returns Nil. If it already exist a macro with the same name, then the old one is destroyed unless it is a predefined macro. If the name is invalid, or there is already a predefined macro with that name, or if the expression <body> is not correct, then the function has no effect.