m4: Improved exch

1 
1 17.1 Solution for 'exch'
1 ========================
1 
1 The 'exch' macro (⇒Arguments) as presented requires clients to
1 double quote their arguments.  A nicer definition, which lets clients
1 follow the rule of thumb of one level of quoting per level of
1 parentheses, involves adding quotes in the definition of 'exch', as
1 follows:
1 
1      define(`exch', ``$2', `$1'')
1      =>
1      define(exch(`expansion text', `macro'))
1      =>
1      macro
1      =>expansion text
1