Function: undo-boundary

undo-boundary is a function defined in undo.c.

Signature

(undo-boundary)

Documentation

Mark a boundary between units of undo.

An undo command will stop at this point, but another undo command will undo to the previous boundary.

View in manual

Probably introduced at or before Emacs version 25.1.

Source Code

// Defined in /usr/src/emacs/src/undo.c
{
  Lisp_Object tem;
  if (EQ (BVAR (current_buffer, undo_list), Qt))
    return Qnil;
  tem = Fcar (BVAR (current_buffer, undo_list));
  if (!NILP (tem))
    {
      /* One way or another, cons nil onto the front of the undo list.  */
      if (!NILP (pending_boundary))
	{
	  /* If we have preallocated the cons cell to use here,
	     use that one.  */
	  XSETCDR (pending_boundary, BVAR (current_buffer, undo_list));
	  bset_undo_list (current_buffer, pending_boundary);
	  pending_boundary = Qnil;
	}
      else
	bset_undo_list (current_buffer,
			Fcons (Qnil, BVAR (current_buffer, undo_list)));
    }

  Fset (Qundo_auto__last_boundary_cause, Qexplicit);
  point_before_last_command_or_undo = PT;
  buffer_before_last_command_or_undo = current_buffer;

  return Qnil;
}