s4_atrim(string, …)

Removes leading and trailing whitespace from each string:

⇐ {s4_atrim([
⇐     String
⇐     ],[
⇐     Another string
⇐     ])}
⇒ {String,Another string}

Inner whitespace remains intact:

⇐ {s4_atrim([S  t  r
⇐     ing],[Another s  t  r
⇐     ing])}
⇒ {S  t  r
⇒     ing,Another s  t  r
⇒     ing}

Calling the macro with no arguments is allowed:

⇐ {s4_atrim()}
⇒ {}

Result is quoted:

⇐ {s4_atrim([m4_toupper([String])],[m4_tolower([String])])}
⇒ {m4_toupper([String]),m4_tolower([String])}

(Note: m4_toupper and m4_tolower macros are not expanded.)