endGroup() {
    if (this.undefStack.length === 0)
      throw new G("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");
    var e = this.undefStack.pop();
    for (var t in e)
      e.hasOwnProperty(t) && (e[t] == null ? delete this.current[t] : this.current[t] = e[t]);
  }
Get the current value of a name, or `undefined` if there is no value.

Note: Do not use `if (namespace.get(...))` to detect whether a macro
is defined, as the definition may be the empty string which evaluates
to `false` in JavaScript.  Use `if (namespace.get(...) != null)` or
`if (namespace.has(...))`.