Function: lread--substitute-object-in-subtree

lread--substitute-object-in-subtree is a function defined in lread.c.

Signature

(lread--substitute-object-in-subtree OBJECT PLACEHOLDER COMPLETED)

Documentation

In OBJECT, replace every occurrence of PLACEHOLDER with OBJECT.

COMPLETED is a hash table of objects that might be circular, or is t if any object might be circular.

Source Code

// Defined in /usr/src/emacs/src/lread.c
{
  struct subst subst = { object, placeholder, completed, Qnil };
  Lisp_Object check_object = substitute_object_recurse (&subst, object);

  /* The returned object here is expected to always eq the
     original.  */
  if (!EQ (check_object, object))
    error ("Unexpected mutation error in reader");
  return Qnil;
}