Normally an FWEB macro can be redefined at will. The example
@m PI 3.14159
@m PI (-3)
is permissible, but probably not a good idea. If you want to ensure
that a crucial macro definition is never redefined inadvertently, say
@m!, as in
@m! PI 3.14159
That is called protecting the macro.
FWEB's built-in functions and macros (beginning with $) are
protected by default; see
Protection. To override that protection, use the command-line
options -Tb (-Tb; for built-in functions) or -Tm
(-Tm; for macros).