code: def use_coil_def(fname):
      """Use a custom coil definition file.
  
      Parameters
      ----------
      fname : path-like
          The filename of the coil definition file.
  
      Returns
      -------
      context : contextmanager
          The context for using the coil definition.
  
      Notes
      -----
      This is meant to be used a context manager such as:
  
      >>> with use_coil_def(my_fname):  # doctest:+SKIP
      ...     make_forward_solution(...)
  
      This allows using custom coil definitions with functions that require
      forward modeling.
      """
      global _extra_coil_def_fname
      _extra_coil_def_fname = fname
      try:
          yield
      finally:
          _extra_coil_def_fname = None
  
imports: import os
  import os.path
  from contextlib import contextmanager
  from copy import deepcopy
  from pathlib import Path
  import numpy
  from .._fiff.compensator import get_current_comp, make_compensator
  from .._fiff.constants import FIFF, FWD
  from .._fiff.meas_info import Info, read_info
  from .._fiff.pick import _has_kit_refs, pick_info, pick_types
  from .._fiff.tag import _loc_to_coil_trans, _loc_to_eeg_loc
  from ..bem import ConductorModel, _bem_find_surface, read_bem_solution
  from ..source_estimate import VolSourceEstimate
  from ..source_space._source_space import _complete_vol_src, _ensure_src, _filter_source_spaces, _make_discrete_source_space
  from ..surface import _CheckInside, _normalize_vectors
  from ..transforms import Transform, _coord_frame_name, _ensure_trans, _get_trans, _print_coord_trans, apply_trans, invert_transform, transform_surface_to
  from ..utils import _check_fname, _pl, _validate_type, logger, verbose, warn
  from ._compute_forward import _compute_forwards
  from .forward import _FWD_ORDER, Forward, _merge_fwds, convert_forward_solution
label_desc: Use image node_id 15 for calling a global function with example usage: use_coil_def(fname) without return types