/* Prototypes for functions defined in
print.c
 */

extern int Vstandard_output;

extern int Qstandard_output;

extern int print_depth;

extern int being_printed[200];

extern int Vprint_length;

extern int Vprint_level;

extern int print_escape_newlines;

extern int Qprint_escape_newlines;

extern int printbufidx;

void printchar(int ch,
               int fun);

void strout(char * ptr,
            int size,
            int printcharfun);

int print_string(int string,
                 int printcharfun);

extern struct Lisp_Subr Swrite_char;

int Fwrite_char(int , int );

int write_string(char * data,
                 int size);

int write_string_1(char * data,
                   int size,
                   int printcharfun);

void temp_output_buffer_setup(char * bufname);

int internal_with_output_to_temp_buf(char * bufname,
                                     int (* function)(),
                                     int args);

extern struct Lisp_Subr Swith_output_to_temp_buffer;

int Fwith_output_to_temp_buffer(int );

extern struct Lisp_Subr Sterpri;

int Fterpri(int );

extern struct Lisp_Subr Sprin1;

int Fprin1(int , int );

extern int Vprin1_to_string_buffer;

extern struct Lisp_Subr Sprin1_to_string;

int Fprin1_to_string(int , int );

extern struct Lisp_Subr Sprinc;

int Fprinc(int , int );

extern struct Lisp_Subr Sprint;

int Fprint(int , int );

extern int Qexternal_debugging_output;

extern struct Lisp_Subr Sexternal_debugging_output;

int Fexternal_debugging_output(int );

void debug_print(int arg);

void print(int obj,
           register int printcharfun,
           int escapeflag);

void syms_of_print(void);

