#ifndef __FNS_P_H__
#define __FNS_P_H__

extern Lisp_Object concat2 _P_((Lisp_Object s1, Lisp_Object s2));
extern Lisp_Object assq_no_quit _P_((register Lisp_Object key,
                                     Lisp_Object list));
extern Lisp_Object merge _P_((Lisp_Object org_l1, Lisp_Object org_l2,
                              Lisp_Object pred));
extern Lisp_Object nconc2 _P_((Lisp_Object s1, Lisp_Object s2));
extern Lisp_Object do_yes_or_no_p _P_((Lisp_Object prompt));
extern _VOID_ syms_of_fns _P_((void));
    
DEFUN_P(Fidentity, (Lisp_Object arg));
DEFUN_P(Frandom, (Lisp_Object limit));
DEFUN_P(Flength, (Lisp_Object obj));
DEFUN_P(Fstring_equal, (register Lisp_Object s1, register Lisp_Object s2));
DEFUN_P(Fstring_lessp, (register Lisp_Object s1, register Lisp_Object s2));
DEFUN_P(Fappend, (int nargs, Lisp_Object *args));
DEFUN_P(Fconcat, (int nargs, Lisp_Object *args));
DEFUN_P(Fvconcat, (int nargs, Lisp_Object *args));
DEFUN_P(Fcopy_sequence, (Lisp_Object arg));
DEFUN_P(Fcopy_alist, (Lisp_Object alist));
DEFUN_P(Fsubstring, (Lisp_Object string, register Lisp_Object from,
                       register Lisp_Object to));
DEFUN_P(Fnthcdr, (Lisp_Object n, register Lisp_Object list));
DEFUN_P(Fnth, (Lisp_Object n, Lisp_Object list));
DEFUN_P(Felt, (register Lisp_Object list, register Lisp_Object n));
DEFUN_P(Fmember, (register Lisp_Object elt, Lisp_Object list));
DEFUN_P(Fmemq, (register Lisp_Object elt, Lisp_Object list));
DEFUN_P(Fassq, (register Lisp_Object key, Lisp_Object list));
DEFUN_P(Fassoc, (register Lisp_Object key, Lisp_Object list));
DEFUN_P(Frassq, (register Lisp_Object key, Lisp_Object list));
DEFUN_P(Fdelq, (register Lisp_Object key, Lisp_Object list));
DEFUN_P(Fdelete, (register Lisp_Object key, Lisp_Object list));
DEFUN_P(Fnreverse, (Lisp_Object list));
DEFUN_P(Freverse, (Lisp_Object list));
DEFUN_P(Fsort, (Lisp_Object list, Lisp_Object pred));
DEFUN_P(Fget, (Lisp_Object sym, register Lisp_Object prop));
DEFUN_P(Fput, (Lisp_Object sym, register Lisp_Object prop,
                 Lisp_Object val));
DEFUN_P(Fequal, (register Lisp_Object o1, register Lisp_Object o2));
DEFUN_P(Ffillarray, (Lisp_Object array, Lisp_Object item));
DEFUN_P(Fnconc, (int nargs, Lisp_Object *args));
DEFUN_P(Fmapconcat, (Lisp_Object fn, Lisp_Object seq, Lisp_Object sep));
DEFUN_P(Fmapcar, (Lisp_Object fn, Lisp_Object seq));
DEFUN_P(Fy_or_n_p, (Lisp_Object prompt));
DEFUN_P(Fyes_or_no_p, (Lisp_Object prompt));
DEFUN_P(Fload_average, (void));
DEFUN_P(Ffeaturep, (Lisp_Object feature));
DEFUN_P(Fprovide, (Lisp_Object feature));
DEFUN_P(Frequire, (Lisp_Object feature, Lisp_Object require));

#endif
