#ifndef __UNDO_H__
#define __UNDO_H__

extern _VOID_ record_insert _P_((Lisp_Object beg, Lisp_Object length));
extern _VOID_ record_delete _P_((int beg, int length));
extern _VOID_ record_change _P_((int beg, int length));
extern _VOID_ record_property_change _P_((int beg, int length,
					  Lisp_Object prop, Lisp_Object value,
					  Lisp_Object buffer));
extern Lisp_Object truncate_undo_list _P_((Lisp_Object list, int minsize,
					   int maxsize));
extern _VOID_ syms_of_undo _P_((void));
    
DEFUN_P(Fundo_boundary, (void));
DEFUN_P(Fprimitive_undo, (Lisp_Object n, Lisp_Object list));

#endif
