is a global variable which, if set, is applied to the name and context of each new symbol that the Wolfram Language creates.


  • The name and context of the symbol are given as strings.
  • $NewSymbol is applied before the symbol is actually created. If the action of $NewSymbol causes the symbol to be created, perhaps in a different context, then the symbol as created will be the one used.
  • $NewSymbol is applied even if a symbol has already been created with a Stub attribute by DeclarePackage.
  • $NewSymbol is not applied to symbols automatically created by scoping constructs such as Module.


Basic Examples  (1)

Set $NewSymbol to a function that prints the name and context when a new symbol is created:

Restore $NewSymbol to its default:

Introduced in 1991