The System III "tolower" is a subroutine, not a macro, so it doesn't evaluate its argument twice. The manual page for the System V "tolower" is the same, so I suspect it is also a subroutine. Guy Harris RLG Corporation {seismo,mcnc,we13,brl-bmd,allegra}!rlgvax!guy