"HA" == Hans Aberg writes:

 HA>   Let me illustrate the problem: I use to write
 HA> \newcommand\foo{...}  but the LaTeX syntax is (I think)
 HA> \newcommand{\foo}{...}  A spellchecker I use would expect the
 HA> latter, and stop spellchecking entirely if it encounters the
 HA> former. Now, if the syntax is official, this is correct behavior,
 HA> but if it is unofficial (that is, something just used internally
 HA> by the LaTeX design team), it is incorrect.

 HA>   In other words, the problem shows up in the interface between
 HA> LaTeX and other programs.

There is a possibility to make TeX itself to `force' the users
to insert `{' before the first argument of a macro:
if the macro definition contains a `#' sign as a last character
of parameter list, then TeX will insert `{' after a substitution list.
E.g., the following (simplified) definition of \newcommand:


will force to use the following syntax:

and will generate an error message if one writes

It should be possible to control the presence of {} brackets
for other macro arguments as well (not only for the first one).

With best regards,