#ifndef __EDITFNS_P_H__
#define __EDITFNS_P_H__

extern _VOID_ init_editfns _P_((void));
extern int clip_to_bounds _P_((int lower, int num, int upper));
extern Lisp_Object save_excursion_save _P_((void));
extern Lisp_Object save_excursion_restore _P_((register Lisp_Object info));
extern _VOID_ insert1 _P_((Lisp_Object arg));
extern Lisp_Object make_buffer_string _P_((int start, int end));
extern Lisp_Object save_restriction_save _P_((void));
extern Lisp_Object save_restriction_restore _P_((Lisp_Object data));
extern Lisp_Object _VARARGS_ format1 _P_((char *string1, ...));
extern _VOID_ syms_of_editfns _P_((void));

DEFUN_P(Fchar_to_string, (Lisp_Object n));
DEFUN_P(Fstring_to_char, (Lisp_Object str));
DEFUN_P(Fpoint, (void));
DEFUN_P(Fpoint_marker, (void));
DEFUN_P(Fgoto_char, (register Lisp_Object n));
DEFUN_P(Fregion_beginning, (void));
DEFUN_P(Fregion_end, (void));
DEFUN_P(Fmark_marker, (void));
DEFUN_P(Fsave_excursion, (Lisp_Object args));
DEFUN_P(Fbufsize, (void));
DEFUN_P(Fpoint_min, (void));
DEFUN_P(Fpoint_min_marker, (void));
DEFUN_P(Fpoint_max, (void));
DEFUN_P(Fpoint_max_marker, (void));
DEFUN_P(Ffollowing_char, (void));
DEFUN_P(Fprevious_char, (void));
DEFUN_P(Fbobp, (void));
DEFUN_P(Feobp, (void));
DEFUN_P(Fbolp, (void));
DEFUN_P(Feolp, (void));
DEFUN_P(Fchar_after, (Lisp_Object pos));
DEFUN_P(Fuser_login_name, (void));
DEFUN_P(Fuser_real_login_name, (void));
DEFUN_P(Fuser_uid, (void));
DEFUN_P(Fuser_real_uid, (void));
DEFUN_P(Fuser_full_name, (void));
DEFUN_P(Fsystem_name, (void));
DEFUN_P(Fcurrent_time, (void));
DEFUN_P(Fcurrent_time_string, (Lisp_Object specified_time));
DEFUN_P(Fcurrent_time_zone, (Lisp_Object specified_time));
DEFUN_P(Finsert, (int nargs, register Lisp_Object *args));
DEFUN_P(Finsert_before_markers, (int nargs, register Lisp_Object *args));
DEFUN_P(Finsert_char, (Lisp_Object chr, Lisp_Object count));
DEFUN_P(Fbuffer_substring, (Lisp_Object b, Lisp_Object e));
DEFUN_P(Fbuffer_string, (void));
DEFUN_P(Finsert_buffer_substring, (Lisp_Object buf, Lisp_Object b,
                                     Lisp_Object e));
DEFUN_P(Fcompare_buffer_substrings, (Lisp_Object buffer1, Lisp_Object start1,
                                       Lisp_Object end1, Lisp_Object buffer2,
                                       Lisp_Object start2, Lisp_Object end2));
DEFUN_P(Fsubst_char_in_region, (Lisp_Object start, Lisp_Object end,
                                  Lisp_Object fromchar, Lisp_Object tochar,
                                  Lisp_Object noundo));
DEFUN_P(Ftranslate_region, (Lisp_Object start, Lisp_Object end,
                              register Lisp_Object table));
DEFUN_P(Fdelete_region, (Lisp_Object b, Lisp_Object e));
DEFUN_P(Fwiden, (void));
DEFUN_P(Fnarrow_to_region, (register Lisp_Object b, register Lisp_Object e));
DEFUN_P(Fsave_restriction, (Lisp_Object body));
DEFUN_P(Fmessage, (int nargs, Lisp_Object *args));
DEFUN_P(Fformat, (int nargs, register Lisp_Object *args));
DEFUN_P(Fchar_equal, (register Lisp_Object c1, register Lisp_Object c2));
    
#endif
