class_docstr: The environment in which the ReST files are translated.
  Stores an inventory of cross-file targets and provides doctree
  transformations to resolve links to them.
class_docstr_tok: ["The","environment","in","which","the","ReST","files","are","translated",".","Stores","an","inventory","of","cross-file","targets","and","provides","doctree","transformations","to","resolve","links","to","them","."]
docstr: Update configurations by new one.
code: def _update_config(self, config: Config) -> None:
      """Update configurations by new one."""
      self.config_status = CONFIG_OK
      self.config_status_extra = ""
      if self.config is None:
          self.config_status = CONFIG_NEW
      elif self.config.extensions != config.extensions:
          self.config_status = CONFIG_EXTENSIONS_CHANGED
          extensions = sorted(
              set(self.config.extensions) ^ set(config.extensions)
          )
          if len(extensions) == 1:
              extension = extensions[0]
          else:
              extension = "%d" % (len(extensions),)
          self.config_status_extra = f" ({extension!r})"
      else:
          # check if a config value was changed that affects how
          # doctrees are read
          for item in config.filter(frozenset({"env"})):
              if self.config[item.name] != item.value:
                  self.config_status = CONFIG_CHANGED
                  self.config_status_extra = f" ({item.name!r})"
                  break
  
      self.config = config
  
imports: from __future__ import annotations
  import functools
  import os
  import pickle
  import time
  from collections import defaultdict
  from copy import copy
  from os import path
  from typing import TYPE_CHECKING, Any, Callable, NoReturn
  from sphinx import addnodes
  from sphinx.environment.adapters import toctree
  from sphinx.errors import BuildEnvironmentError, DocumentError, ExtensionError, SphinxError
  from sphinx.locale import __
  from sphinx.transforms import SphinxTransformer
  from sphinx.util import DownloadFiles, FilenameUniqDict, logging
  from sphinx.util.docutils import LoggingReporter
  from sphinx.util.i18n import CatalogRepository, docname_to_domain
  from sphinx.util.nodes import is_translatable
  from sphinx.util.osutil import canon_path, os_path
label_desc: Use image node_id 5 for calling the BuildEnvironment obj's underlying member method code with example usage: obj._update_config(config) without return types