From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6254 invoked by alias); 23 Oct 2002 02:46:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 6233 invoked by uid 71); 23 Oct 2002 02:46:02 -0000 Resent-Date: 23 Oct 2002 02:46:02 -0000 Resent-Message-ID: <20021023024602.6232.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Gyro@reasoning.com Received: (qmail 4538 invoked by uid 61); 23 Oct 2002 02:37:40 -0000 Message-Id: <20021023023740.4537.qmail@sources.redhat.com> Date: Tue, 22 Oct 2002 19:46:00 -0000 From: Gyro@reasoning.com Reply-To: Gyro@reasoning.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: optimization/8315: Bad reordering in -O3 X-SW-Source: 2002-10/txt/msg00859.txt.bz2 List-Id: >Number: 8315 >Category: optimization >Synopsis: Bad reordering in -O3 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Tue Oct 22 19:46:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Gyro@reasoning.com >Release: 3.2 >Organization: >Environment: RedHat Linux 7.3 on i686 (Pentium IV) >Description: Found this trying to build XEmacs 21.1.14. At -O3, ordering is not maintained on the two function pointer assignments near the top of `init_ralloc' (just under the assignment to `r_alloc_initialized'). The same value gets stored in both locations. >How-To-Repeat: >Fix: Back off to -O2. >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="ralloc.i" Content-Disposition: inline; filename="ralloc.i" # 1 "ralloc.c" # 1 "" # 1 "" # 1 "ralloc.c" # 31 "ralloc.c" # 1 "config.h" 1 # 533 "config.h" # 1 "s/linux.h" 1 # 69 "s/linux.h" # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 1 3 # 37 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 # 1 "/usr/include/features.h" 1 3 # 291 "/usr/include/features.h" 3 # 1 "/usr/include/sys/cdefs.h" 1 3 # 292 "/usr/include/features.h" 2 3 # 320 "/usr/include/features.h" 3 # 1 "/usr/include/gnu/stubs.h" 1 3 # 321 "/usr/include/features.h" 2 3 # 38 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 2 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 201 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 3 typedef unsigned int size_t; # 44 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 2 3 # 1 "/usr/include/bits/types.h" 1 3 # 29 "/usr/include/bits/types.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 30 "/usr/include/bits/types.h" 2 3 typedef unsigned char __u_char; typedef unsigned short __u_short; typedef unsigned int __u_int; typedef unsigned long __u_long; __extension__ typedef unsigned long long int __u_quad_t; __extension__ typedef long long int __quad_t; # 49 "/usr/include/bits/types.h" 3 typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; typedef __quad_t *__qaddr_t; typedef __u_quad_t __dev_t; typedef __u_int __uid_t; typedef __u_int __gid_t; typedef __u_long __ino_t; typedef __u_int __mode_t; typedef __u_int __nlink_t; typedef long int __off_t; typedef __quad_t __loff_t; typedef int __pid_t; typedef int __ssize_t; typedef __u_long __rlim_t; typedef __u_quad_t __rlim64_t; typedef __u_int __id_t; typedef struct { int __val[2]; } __fsid_t; typedef int __daddr_t; typedef char *__caddr_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __swblk_t; typedef long int __clock_t; typedef int __clockid_t; typedef int __timer_t; typedef int __key_t; typedef unsigned short int __ipc_pid_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef __quad_t __blkcnt64_t; typedef __u_long __fsblkcnt_t; typedef __u_quad_t __fsblkcnt64_t; typedef __u_long __fsfilcnt_t; typedef __u_quad_t __fsfilcnt64_t; typedef __u_quad_t __ino64_t; typedef __loff_t __off64_t; typedef long int __t_scalar_t; typedef unsigned long int __t_uscalar_t; typedef int __intptr_t; typedef unsigned int __socklen_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 # 23 "/usr/include/bits/pthreadtypes.h" 3 # 1 "/usr/include/bits/sched.h" 1 3 # 68 "/usr/include/bits/sched.h" 3 struct __sched_param { int __sched_priority; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 struct _pthread_fastlock { long int __status; int __spinlock; }; typedef struct _pthread_descr_struct *_pthread_descr; typedef struct __pthread_attr_s { int __detachstate; int __schedpolicy; struct __sched_param __schedparam; int __inheritsched; int __scope; size_t __guardsize; int __stackaddr_set; void *__stackaddr; size_t __stacksize; } pthread_attr_t; typedef struct { struct _pthread_fastlock __c_lock; _pthread_descr __c_waiting; } pthread_cond_t; typedef struct { int __dummy; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef struct { int __m_reserved; int __m_count; _pthread_descr __m_owner; int __m_kind; struct _pthread_fastlock __m_lock; } pthread_mutex_t; typedef struct { int __mutexkind; } pthread_mutexattr_t; typedef int pthread_once_t; typedef struct _pthread_rwlock_t { struct _pthread_fastlock __rw_lock; int __rw_readers; _pthread_descr __rw_writer; _pthread_descr __rw_read_waiting; _pthread_descr __rw_write_waiting; int __rw_kind; int __rw_pshared; } pthread_rwlock_t; typedef struct { int __lockkind; int __pshared; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef struct { struct _pthread_fastlock __ba_lock; int __ba_required; int __ba_present; _pthread_descr __ba_waiting; } pthread_barrier_t; typedef struct { int __pshared; } pthread_barrierattr_t; typedef unsigned long int pthread_t; # 144 "/usr/include/bits/types.h" 2 3 # 46 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 2 3 # 54 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 typedef struct _IO_FILE FILE; # 64 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 typedef struct _IO_FILE __FILE; # 74 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 # 1 "/usr/include/libio.h" 1 3 # 32 "/usr/include/libio.h" 3 # 1 "/usr/include/_G_config.h" 1 3 # 14 "/usr/include/_G_config.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 294 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 3 typedef long int wchar_t; # 321 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 3 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 # 24 "/usr/include/_G_config.h" 3 # 1 "/usr/include/wchar.h" 1 3 # 48 "/usr/include/wchar.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 49 "/usr/include/wchar.h" 2 3 # 1 "/usr/include/bits/wchar.h" 1 3 # 51 "/usr/include/wchar.h" 2 3 # 67 "/usr/include/wchar.h" 3 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 # 1 "/usr/include/gconv.h" 1 3 # 28 "/usr/include/gconv.h" 3 # 1 "/usr/include/wchar.h" 1 3 # 48 "/usr/include/wchar.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 49 "/usr/include/wchar.h" 2 3 # 29 "/usr/include/gconv.h" 2 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 32 "/usr/include/gconv.h" 2 3 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 # 53 "/usr/include/libio.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdarg.h" 1 3 # 43 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdarg.h" 3 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 # 160 "/usr/include/libio.h" 3 struct _IO_jump_t; struct _IO_FILE; # 170 "/usr/include/libio.h" 3 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 193 "/usr/include/libio.h" 3 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 261 "/usr/include/libio.h" 3 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _blksize; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 305 "/usr/include/libio.h" 3 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 344 "/usr/include/libio.h" 3 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern int __underflow (_IO_FILE *) ; extern int __uflow (_IO_FILE *) ; extern int __overflow (_IO_FILE *, int) ; extern wint_t __wunderflow (_IO_FILE *) ; extern wint_t __wuflow (_IO_FILE *) ; extern wint_t __woverflow (_IO_FILE *, wint_t) ; # 426 "/usr/include/libio.h" 3 extern int _IO_getc (_IO_FILE *__fp) ; extern int _IO_putc (int __c, _IO_FILE *__fp) ; extern int _IO_feof (_IO_FILE *__fp) ; extern int _IO_ferror (_IO_FILE *__fp) ; extern int _IO_peekc_locked (_IO_FILE *__fp) ; extern void _IO_flockfile (_IO_FILE *) ; extern void _IO_funlockfile (_IO_FILE *) ; extern int _IO_ftrylockfile (_IO_FILE *) ; # 456 "/usr/include/libio.h" 3 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) ; extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) ; extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; extern void _IO_free_backup_area (_IO_FILE *) ; # 75 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 2 3 typedef __gnuc_va_list __not_va_list__; # 89 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 138 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 # 1 "/usr/include/bits/stdio_lim.h" 1 3 # 139 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 2 3 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; # 153 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 extern int remove (__const char *__filename) ; extern int rename (__const char *__old, __const char *__new) ; extern FILE *tmpfile (void) ; # 169 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 extern FILE *tmpfile64 (void) ; extern char *tmpnam (char *__s) ; extern char *tmpnam_r (char *__s) ; # 189 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream) ; extern int fflush (FILE *__stream) ; extern int fflush_unlocked (FILE *__stream) ; extern int fcloseall (void) ; extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; # 233 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, __const char *__modes) ; extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) ; extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ; extern FILE *open_memstream (char **__restrict __bufloc, size_t *__restrict __sizeloc) ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ; extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) ; extern void setlinebuf (FILE *__stream) ; extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int printf (__const char *__restrict __format, ...) ; extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg) ; extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))); extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int fgetc (FILE *__stream) ; extern int getc (FILE *__stream) ; extern int getchar (void) ; extern int getc_unlocked (FILE *__stream) ; extern int getchar_unlocked (void) ; extern int fgetc_unlocked (FILE *__stream) ; extern int fputc (int __c, FILE *__stream) ; extern int putc (int __c, FILE *__stream) ; extern int putchar (int __c) ; extern int fputc_unlocked (int __c, FILE *__stream) ; extern int putc_unlocked (int __c, FILE *__stream) ; extern int putchar_unlocked (int __c) ; extern int getw (FILE *__stream) ; extern int putw (int __w, FILE *__stream) ; extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *gets (char *__s) ; # 437 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (__const char *__restrict __s, FILE *__restrict __stream) ; extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream) ; extern int puts (__const char *__s) ; extern int ungetc (int __c, FILE *__stream) ; extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern int fseek (FILE *__stream, long int __off, int __whence) ; extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream) ; # 500 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 extern int fseeko (FILE *__stream, __off_t __off, int __whence) ; extern __off_t ftello (FILE *__stream) ; extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) ; extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ; # 534 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) ; extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) ; extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) ; extern void clearerr (FILE *__stream) ; extern int feof (FILE *__stream) ; extern int ferror (FILE *__stream) ; extern void clearerr_unlocked (FILE *__stream) ; extern int feof_unlocked (FILE *__stream) ; extern int ferror_unlocked (FILE *__stream) ; extern void perror (__const char *__s) ; extern int sys_nerr; extern __const char *__const sys_errlist[]; extern int _sys_nerr; extern __const char *__const _sys_errlist[]; extern int fileno (FILE *__stream) ; extern int fileno_unlocked (FILE *__stream) ; extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream) ; extern char *ctermid (char *__s) ; extern char *cuserid (char *__s) ; struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) ; extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) ; extern void flockfile (FILE *__stream) ; extern int ftrylockfile (FILE *__stream) ; extern void funlockfile (FILE *__stream) ; # 641 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 3 # 1 "/usr/include/bits/stdio.h" 1 3 # 33 "/usr/include/bits/stdio.h" 3 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } extern __inline int getc_unlocked (FILE *__fp) { return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline int feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 642 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdio.h" 2 3 # 70 "s/linux.h" 2 # 534 "config.h" 2 # 544 "config.h" # 1 "m/intel386.h" 1 # 545 "config.h" 2 # 32 "ralloc.c" 2 # 1 "/usr/include/unistd.h" 1 3 # 28 "/usr/include/unistd.h" 3 # 175 "/usr/include/unistd.h" 3 # 1 "/usr/include/bits/posix_opt.h" 1 3 # 176 "/usr/include/unistd.h" 2 3 # 1 "/usr/include/bits/environments.h" 1 3 # 23 "/usr/include/bits/environments.h" 3 # 1 "/usr/include/bits/wordsize.h" 1 3 # 24 "/usr/include/bits/environments.h" 2 3 # 180 "/usr/include/unistd.h" 2 3 # 193 "/usr/include/unistd.h" 3 typedef __ssize_t ssize_t; # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 200 "/usr/include/unistd.h" 2 3 typedef __gid_t gid_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __useconds_t useconds_t; typedef __pid_t pid_t; typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 260 "/usr/include/unistd.h" 3 extern int access (__const char *__name, int __type) ; extern int euidaccess (__const char *__name, int __type) ; # 290 "/usr/include/unistd.h" 3 extern __off_t lseek (int __fd, __off_t __offset, int __whence) ; # 302 "/usr/include/unistd.h" 3 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ; extern int close (int __fd) ; extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) ; extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) ; # 340 "/usr/include/unistd.h" 3 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) ; extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) ; extern int pipe (int __pipedes[2]) ; # 362 "/usr/include/unistd.h" 3 extern unsigned int alarm (unsigned int __seconds) ; # 371 "/usr/include/unistd.h" 3 extern unsigned int sleep (unsigned int __seconds) ; extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) ; extern int usleep (__useconds_t __useconds) ; extern int pause (void) ; extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ; extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int chdir (__const char *__path) ; extern int fchdir (int __fd) ; # 423 "/usr/include/unistd.h" 3 extern char *getcwd (char *__buf, size_t __size) ; extern char *get_current_dir_name (void) ; extern char *getwd (char *__buf) ; extern int dup (int __fd) ; extern int dup2 (int __fd, int __fd2) ; extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) ; extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) ; extern int execv (__const char *__path, char *__const __argv[]) ; extern int execle (__const char *__path, __const char *__arg, ...) ; extern int execl (__const char *__path, __const char *__arg, ...) ; extern int execvp (__const char *__file, char *__const __argv[]) ; extern int execlp (__const char *__file, __const char *__arg, ...) ; extern int nice (int __inc) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 # 25 "/usr/include/bits/confname.h" 3 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG }; enum { _CS_PATH, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_V6_WIDTH_RESTRICTED_ENVS }; # 501 "/usr/include/unistd.h" 2 3 extern long int pathconf (__const char *__path, int __name) ; extern long int fpathconf (int __fd, int __name) ; extern long int sysconf (int __name) __attribute__ ((__const__)); extern size_t confstr (int __name, char *__buf, size_t __len) ; extern __pid_t getpid (void) ; extern __pid_t getppid (void) ; extern __pid_t getpgrp (void) ; # 536 "/usr/include/unistd.h" 3 extern __pid_t __getpgid (__pid_t __pid) ; extern __pid_t getpgid (__pid_t __pid) ; extern int setpgid (__pid_t __pid, __pid_t __pgid) ; # 562 "/usr/include/unistd.h" 3 extern int setpgrp (void) ; # 580 "/usr/include/unistd.h" 3 extern __pid_t setsid (void) ; extern __pid_t getsid (__pid_t __pid) ; extern __uid_t getuid (void) ; extern __uid_t geteuid (void) ; extern __gid_t getgid (void) ; extern __gid_t getegid (void) ; extern int getgroups (int __size, __gid_t __list[]) ; extern int group_member (__gid_t __gid) ; extern int setuid (__uid_t __uid) ; extern int setreuid (__uid_t __ruid, __uid_t __euid) ; extern int seteuid (__uid_t __uid) ; extern int setgid (__gid_t __gid) ; extern int setregid (__gid_t __rgid, __gid_t __egid) ; extern int setegid (__gid_t __gid) ; extern __pid_t fork (void) ; extern __pid_t vfork (void) ; extern char *ttyname (int __fd) ; extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ; extern int isatty (int __fd) ; extern int ttyslot (void) ; extern int link (__const char *__from, __const char *__to) ; extern int symlink (__const char *__from, __const char *__to) ; extern int readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) ; extern int unlink (__const char *__name) ; extern int rmdir (__const char *__path) ; extern __pid_t tcgetpgrp (int __fd) ; extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ; extern char *getlogin (void) ; extern int getlogin_r (char *__name, size_t __name_len) ; extern int setlogin (__const char *__name) ; # 726 "/usr/include/unistd.h" 3 # 1 "/usr/include/getopt.h" 1 3 # 47 "/usr/include/getopt.h" 3 extern char *optarg; # 61 "/usr/include/getopt.h" 3 extern int optind; extern int opterr; extern int optopt; # 145 "/usr/include/getopt.h" 3 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); # 727 "/usr/include/unistd.h" 2 3 extern int gethostname (char *__name, size_t __len) ; extern int sethostname (__const char *__name, size_t __len) ; extern int sethostid (long int __id) ; extern int getdomainname (char *__name, size_t __len) ; extern int setdomainname (__const char *__name, size_t __len) ; extern int vhangup (void) ; extern int revoke (__const char *__file) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) ; extern int acct (__const char *__name) ; extern char *getusershell (void) ; extern void endusershell (void) ; extern void setusershell (void) ; extern int daemon (int __nochdir, int __noclose) ; extern int chroot (__const char *__path) ; extern char *getpass (__const char *__prompt) ; extern int fsync (int __fd) ; extern long int gethostid (void) ; extern void sync (void) ; extern int getpagesize (void) __attribute__ ((__const__)); extern int truncate (__const char *__file, __off_t __length) ; # 836 "/usr/include/unistd.h" 3 extern int truncate64 (__const char *__file, __off64_t __length) ; extern int ftruncate (int __fd, __off_t __length) ; # 851 "/usr/include/unistd.h" 3 extern int ftruncate64 (int __fd, __off64_t __length) ; extern int getdtablesize (void) ; # 866 "/usr/include/unistd.h" 3 extern int brk (void *__addr) ; extern void *sbrk (intptr_t __delta) ; # 887 "/usr/include/unistd.h" 3 extern long int syscall (long int __sysno, ...) ; # 907 "/usr/include/unistd.h" 3 extern int lockf (int __fd, int __cmd, __off_t __len) ; # 917 "/usr/include/unistd.h" 3 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; # 938 "/usr/include/unistd.h" 3 extern int fdatasync (int __fildes) ; extern char *crypt (__const char *__key, __const char *__salt) ; extern void encrypt (char *__block, int __edflag) ; extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) ; extern char *ctermid (char *__s) ; # 983 "/usr/include/unistd.h" 3 extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) ; # 36 "ralloc.c" 2 # 1 "lisp.h" 1 # 37 "lisp.h" # 1 "/usr/include/stdlib.h" 1 3 # 33 "/usr/include/stdlib.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 34 "/usr/include/stdlib.h" 2 3 # 1 "/usr/include/bits/waitflags.h" 1 3 # 43 "/usr/include/stdlib.h" 2 3 # 1 "/usr/include/bits/waitstatus.h" 1 3 # 63 "/usr/include/bits/waitstatus.h" 3 # 1 "/usr/include/endian.h" 1 3 # 37 "/usr/include/endian.h" 3 # 1 "/usr/include/bits/endian.h" 1 3 # 38 "/usr/include/endian.h" 2 3 # 64 "/usr/include/bits/waitstatus.h" 2 3 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 44 "/usr/include/stdlib.h" 2 3 # 68 "/usr/include/stdlib.h" 3 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 94 "/usr/include/stdlib.h" 3 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 133 "/usr/include/stdlib.h" 3 extern size_t __ctype_get_mb_cur_max (void) ; extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 211 "/usr/include/stdlib.h" 3 # 1 "/usr/include/xlocale.h" 1 3 # 28 "/usr/include/xlocale.h" 3 typedef struct __locale_struct { struct locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; } *__locale_t; # 212 "/usr/include/stdlib.h" 2 3 extern long int __strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern unsigned long int __strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern long long int __strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern unsigned long long int __strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern double __strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern float __strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern long double __strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern __inline double strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } extern __inline float strtof (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtof_internal (__nptr, __endptr, 0); } extern __inline long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtold_internal (__nptr, __endptr, 0); } __extension__ extern __inline long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 384 "/usr/include/stdlib.h" 3 extern char *l64a (long int __n) ; extern long int a64l (__const char *__s) __attribute__ ((__pure__)); # 1 "/usr/include/sys/types.h" 1 3 # 28 "/usr/include/sys/types.h" 3 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; # 71 "/usr/include/sys/types.h" 3 typedef __mode_t mode_t; typedef __nlink_t nlink_t; # 104 "/usr/include/sys/types.h" 3 typedef __id_t id_t; # 115 "/usr/include/sys/types.h" 3 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 132 "/usr/include/sys/types.h" 3 # 1 "/usr/include/time.h" 1 3 # 59 "/usr/include/time.h" 3 typedef __clock_t clock_t; # 70 "/usr/include/time.h" 3 typedef __time_t time_t; # 82 "/usr/include/time.h" 3 typedef __clockid_t clockid_t; # 94 "/usr/include/time.h" 3 typedef __timer_t timer_t; # 133 "/usr/include/sys/types.h" 2 3 typedef __suseconds_t suseconds_t; # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 147 "/usr/include/sys/types.h" 2 3 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 190 "/usr/include/sys/types.h" 3 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 215 "/usr/include/sys/types.h" 3 # 1 "/usr/include/sys/select.h" 1 3 # 31 "/usr/include/sys/select.h" 3 # 1 "/usr/include/bits/select.h" 1 3 # 32 "/usr/include/sys/select.h" 2 3 # 1 "/usr/include/bits/sigset.h" 1 3 # 23 "/usr/include/bits/sigset.h" 3 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 # 106 "/usr/include/time.h" 3 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 # 1 "/usr/include/bits/time.h" 1 3 # 67 "/usr/include/bits/time.h" 3 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 # 55 "/usr/include/sys/select.h" 3 typedef long int __fd_mask; typedef struct { __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 95 "/usr/include/sys/select.h" 3 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout) ; extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask) ; # 216 "/usr/include/sys/types.h" 2 3 # 1 "/usr/include/sys/sysmacros.h" 1 3 # 219 "/usr/include/sys/types.h" 2 3 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 257 "/usr/include/sys/types.h" 3 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 391 "/usr/include/stdlib.h" 2 3 extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) ; extern char *setstate (char *__statebuf) ; struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern int rand_r (unsigned int *__seed) ; extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ; # 527 "/usr/include/stdlib.h" 3 extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; extern void cfree (void *__ptr) ; # 1 "/usr/include/alloca.h" 1 3 # 25 "/usr/include/alloca.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 26 "/usr/include/alloca.h" 2 3 extern void *alloca (size_t __size) ; # 547 "/usr/include/stdlib.h" 2 3 extern void *valloc (size_t __size) __attribute__ ((__malloc__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__malloc__)); extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) ; extern void exit (int __status) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; extern int putenv (char *__string) ; extern int setenv (__const char *__name, __const char *__value, int __replace) ; extern int unsetenv (__const char *__name) ; extern int clearenv (void) ; # 623 "/usr/include/stdlib.h" 3 extern char *mktemp (char *__template) ; extern int mkstemp (char *__template) ; # 640 "/usr/include/stdlib.h" 3 extern int mkstemp64 (char *__template) ; # 650 "/usr/include/stdlib.h" 3 extern char *mkdtemp (char *__template) ; extern int system (__const char *__command) ; extern char *canonicalize_file_name (__const char *__name) ; # 672 "/usr/include/stdlib.h" 3 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ; typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); __extension__ extern long long int llabs (long long int __x) __attribute__ ((__const__)); extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__const__)); # 728 "/usr/include/stdlib.h" 3 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *gcvt (double __value, int __ndigit, char *__buf) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ; extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ; extern int rpmatch (__const char *__response) ; # 808 "/usr/include/stdlib.h" 3 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) ; extern void setkey (__const char *__key) ; extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) ; extern int unlockpt (int __fd) ; extern char *ptsname (int __fd) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ; extern int getpt (void) ; extern int getloadavg (double __loadavg[], int __nelem) ; # 38 "lisp.h" 2 # 1 "/usr/include/string.h" 1 3 # 28 "/usr/include/string.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 34 "/usr/include/string.h" 2 3 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *memmove (void *__dest, __const void *__src, size_t __n) ; extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) ; extern void *memset (void *__s, int __c, size_t __n) ; extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__)); extern void *memrchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strcat (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; # 111 "/usr/include/string.h" 3 extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) __attribute__ ((__pure__)); extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) ; extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); extern char *strndup (__const char *__string, size_t __n) __attribute__ ((__malloc__)); # 155 "/usr/include/string.h" 3 extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__)); extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__pure__)); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strcasestr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) ; extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) __attribute__ ((__pure__)); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); extern size_t strnlen (__const char *__string, size_t __maxlen) __attribute__ ((__pure__)); extern char *strerror (int __errnum) ; extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; extern void __bzero (void *__s, size_t __n) ; extern void bcopy (__const void *__src, void *__dest, size_t __n) ; extern void bzero (void *__s, size_t __n) ; extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); extern int ffs (int __i) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int __strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) __attribute__ ((__pure__)); extern int __strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) __attribute__ ((__pure__)); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) ; extern int strverscmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern char *strsignal (int __sig) ; extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strfry (char *__string) ; extern void *memfrob (void *__s, size_t __n) ; extern char *basename (__const char *__filename) ; # 357 "/usr/include/string.h" 3 # 1 "/usr/include/bits/string.h" 1 3 # 358 "/usr/include/string.h" 2 3 # 1 "/usr/include/bits/string2.h" 1 3 # 387 "/usr/include/bits/string2.h" 3 extern void *__rawmemchr (const void *__s, int __c); # 917 "/usr/include/bits/string2.h" 3 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 974 "/usr/include/bits/string2.h" 3 extern __inline size_t __strspn_c1 (__const char *__s, int __accept); extern __inline size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1031 "/usr/include/bits/string2.h" 3 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1083 "/usr/include/bits/string2.h" 3 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } *__nextp = __s; } return __result; } # 1115 "/usr/include/bits/string2.h" 3 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1133 "/usr/include/bits/string2.h" 3 extern __inline char *__strsep_1c (char **__s, char __reject); extern __inline char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1214 "/usr/include/bits/string2.h" 3 extern char *__strdup (__const char *__string) __attribute__ ((__malloc__)); # 1233 "/usr/include/bits/string2.h" 3 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__malloc__)); # 361 "/usr/include/string.h" 2 3 # 39 "lisp.h" 2 # 1 "/usr/include/ctype.h" 1 3 # 29 "/usr/include/ctype.h" 3 # 47 "/usr/include/ctype.h" 3 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 75 "/usr/include/ctype.h" 3 extern __const unsigned short int *__ctype_b; extern __const __int32_t *__ctype_tolower; extern __const __int32_t *__ctype_toupper; # 91 "/usr/include/ctype.h" 3 extern int isalnum (int) ; extern int isalpha (int) ; extern int iscntrl (int) ; extern int isdigit (int) ; extern int islower (int) ; extern int isgraph (int) ; extern int isprint (int) ; extern int ispunct (int) ; extern int isspace (int) ; extern int isupper (int) ; extern int isxdigit (int) ; extern int isblank (int) ; extern int tolower (int __c) ; extern int toupper (int __c) ; extern int isascii (int __c) ; extern int toascii (int __c) ; extern int _toupper (int) ; extern int _tolower (int) ; # 167 "/usr/include/ctype.h" 3 extern __inline int tolower (int __c) { return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c; } extern __inline int toupper (int __c) { return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c; } # 223 "/usr/include/ctype.h" 3 extern int __isalnum_l (int, __locale_t) ; extern int __isalpha_l (int, __locale_t) ; extern int __iscntrl_l (int, __locale_t) ; extern int __isdigit_l (int, __locale_t) ; extern int __islower_l (int, __locale_t) ; extern int __isgraph_l (int, __locale_t) ; extern int __isprint_l (int, __locale_t) ; extern int __ispunct_l (int, __locale_t) ; extern int __isspace_l (int, __locale_t) ; extern int __isupper_l (int, __locale_t) ; extern int __isxdigit_l (int, __locale_t) ; extern int __isblank_l (int, __locale_t) ; extern int __tolower_l (int __c, __locale_t __l) ; extern int __toupper_l (int __c, __locale_t __l) ; # 276 "/usr/include/ctype.h" 3 # 41 "lisp.h" 2 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdarg.h" 1 3 # 110 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stdarg.h" 3 typedef __gnuc_va_list va_list; # 42 "lisp.h" 2 # 56 "lisp.h" typedef struct dynarr { void *base; int elsize; int cur; int largest; int max; } Dynarr; void *Dynarr_newf (int elsize); void Dynarr_resize (void *dy, int size); void Dynarr_insert_many (void *d, const void *el, int len, int start); void Dynarr_delete_many (void *d, int start, int len); void Dynarr_free (void *d); # 94 "lisp.h" extern int Dynarr_min_size; # 1 "symsinit.h" 1 # 28 "symsinit.h" void init_data_very_early (void); void init_floatfns_very_early (void); void init_free_hook (void); void init_intl_very_early (void); void init_process_times_very_early (void); void init_ralloc (void); void init_signals_very_early (void); void init_alloc_once_early (void); void init_symbols_once_early (void); void init_errors_once_early (void); void init_opaque_once_early (void); void syms_of_abbrev (void); void syms_of_alloc (void); void syms_of_balloon_x (void); void syms_of_buffer (void); void syms_of_bytecode (void); void syms_of_callint (void); void syms_of_callproc (void); void syms_of_casefiddle (void); void syms_of_casetab (void); void syms_of_chartab (void); void syms_of_cmdloop (void); void syms_of_cmds (void); void syms_of_console_tty (void); void syms_of_console_mswindows (void); void syms_of_console (void); void syms_of_data (void); void syms_of_database (void); void syms_of_debug (void); void syms_of_device_tty (void); void syms_of_device_mswindows (void); void syms_of_device_x (void); void syms_of_device (void); void syms_of_dialog_x (void); void syms_of_dialog (void); void syms_of_dired (void); void syms_of_dired_mswindows (void); void syms_of_dll (void); void syms_of_doc (void); void syms_of_dragdrop (void); void syms_of_editfns (void); void syms_of_elhash (void); void syms_of_emacs (void); void syms_of_eval (void); void syms_of_event_stream (void); void syms_of_event_mswindows (void); void syms_of_event_Xt (void); void syms_of_events (void); void syms_of_extents (void); void syms_of_faces (void); void syms_of_fileio (void); void syms_of_filelock (void); void syms_of_floatfns (void); void syms_of_fns (void); void syms_of_font_lock (void); void syms_of_frame (void); void syms_of_frame_mswindows (void); void syms_of_frame_x (void); void syms_of_free_hook (void); void syms_of_general (void); void syms_of_glyphs_x (void); void syms_of_glyphs_eimage (void); void syms_of_glyphs_mswindows (void); void syms_of_glyphs (void); void syms_of_gui_x (void); void syms_of_gui (void); void syms_of_indent (void); void syms_of_input_method_xlib (void); void syms_of_intl (void); void syms_of_keymap (void); void syms_of_lread (void); void syms_of_macros (void); void syms_of_marker (void); void syms_of_md5 (void); void syms_of_menubar_x (void); void syms_of_menubar (void); void syms_of_menubar_mswindows (void); void syms_of_minibuf (void); void syms_of_mule (void); void syms_of_mule_canna (void); void syms_of_mule_ccl (void); void syms_of_mule_charset (void); void syms_of_file_coding (void); void syms_of_mule_wnn (void); void syms_of_ntproc (void); void syms_of_objects_tty (void); void syms_of_objects_x (void); void syms_of_objects_mswindows (void); void syms_of_objects (void); void syms_of_print (void); void syms_of_process (void); void syms_of_process_nt (void); void syms_of_profile (void); void syms_of_ralloc (void); void syms_of_rangetab (void); void syms_of_redisplay (void); void syms_of_scrollbar (void); void syms_of_scrollbar_mswindows(void); void syms_of_search (void); void syms_of_select_mswindows (void); void syms_of_signal (void); void syms_of_sound (void); void syms_of_specifier (void); void syms_of_sunpro (void); void syms_of_symbols (void); void syms_of_syntax (void); void syms_of_toolbar (void); void syms_of_tooltalk (void); void syms_of_undo (void); void syms_of_widget (void); void syms_of_window (void); void syms_of_xselect (void); void syms_of_eldap (void); void console_type_create (void); void console_type_create_stream (void); void console_type_create_tty (void); void console_type_create_device_tty (void); void console_type_create_frame_tty (void); void console_type_create_objects_tty (void); void console_type_create_redisplay_tty (void); void console_type_create_x (void); void console_type_create_device_x (void); void console_type_create_frame_x (void); void console_type_create_glyphs_x (void); void console_type_create_menubar_x (void); void console_type_create_objects_x (void); void console_type_create_redisplay_x (void); void console_type_create_scrollbar_x (void); void console_type_create_toolbar_x (void); void console_type_create_dialog_x (void); void console_type_create_mswindows (void); void console_type_create_device_mswindows (void); void console_type_create_frame_mswindows (void); void console_type_create_menubar_mswindows (void); void console_type_create_objects_mswindows (void); void console_type_create_redisplay_mswindows (void); void console_type_create_scrollbar_mswindows (void); void console_type_create_toolbar_mswindows (void); void console_type_create_glyphs_mswindows (void); void console_type_create_dialog_mswindows (void); void specifier_type_create (void); void specifier_type_create_image (void); void specifier_type_create_objects (void); void specifier_type_create_toolbar (void); void structure_type_create (void); void structure_type_create_chartab (void); void structure_type_create_faces (void); void structure_type_create_rangetab (void); void structure_type_create_hashtable (void); void image_instantiator_format_create (void); void image_instantiator_format_create_glyphs_eimage (void); void image_instantiator_format_create_glyphs_x (void); void image_instantiator_format_create_glyphs_mswindows (void); void lstream_type_create (void); void lstream_type_create_file_coding (void); void lstream_type_create_print (void); void lstream_type_create_mswindows_selectable (void); void process_type_create_nt (void); void process_type_create_unix (void); void init_provide_once (void); void vars_of_abbrev (void); void vars_of_alloc (void); void vars_of_balloon_x (void); void vars_of_buffer (void); void vars_of_bytecode (void); void vars_of_callint (void); void vars_of_callproc (void); void vars_of_chartab (void); void vars_of_cmdloop (void); void vars_of_cmds (void); void vars_of_console (void); void vars_of_console_stream (void); void vars_of_console_mswindows (void); void vars_of_console_tty (void); void vars_of_data (void); void vars_of_database (void); void vars_of_debug (void); void vars_of_device (void); void vars_of_device_mswindows (void); void vars_of_device_x (void); void vars_of_dialog (void); void vars_of_dialog_x (void); void vars_of_dialog_mswindows (void); void vars_of_dired (void); void vars_of_dired_mswindows (void); void vars_of_doc (void); void vars_of_dragdrop (void); void vars_of_editfns (void); void vars_of_elhash (void); void vars_of_emacs (void); void vars_of_eval (void); void vars_of_event_stream (void); void vars_of_event_tty (void); void vars_of_event_mswindows (void); void vars_of_event_Xt (void); void vars_of_events (void); void vars_of_extents (void); void vars_of_faces (void); void vars_of_fileio (void); void vars_of_filelock (void); void vars_of_floatfns (void); void vars_of_font_lock (void); void vars_of_frame_tty (void); void vars_of_frame_mswindows (void); void vars_of_frame_x (void); void vars_of_frame (void); void vars_of_glyphs_x (void); void vars_of_glyphs_eimage (void); void vars_of_glyphs_mswindows (void); void vars_of_glyphs (void); void vars_of_gui_x (void); void vars_of_gui (void); void vars_of_input_method_motif (void); void vars_of_input_method_xlib (void); void vars_of_indent (void); void vars_of_insdel (void); void vars_of_intl (void); void vars_of_keymap (void); void vars_of_lread (void); void vars_of_lstream (void); void vars_of_macros (void); void vars_of_md5 (void); void vars_of_menubar_x (void); void vars_of_menubar (void); void vars_of_menubar_mswindows (void); void vars_of_minibuf (void); void vars_of_mule (void); void vars_of_mule_canna (void); void vars_of_mule_ccl(void); void vars_of_mule_charset (void); void vars_of_file_coding (void); void vars_of_mule_wnn (void); void vars_of_ntproc (void); void vars_of_objects (void); void vars_of_objects_tty (void); void vars_of_objects_mswindows (void); void vars_of_objects_x (void); void vars_of_print (void); void vars_of_process (void); void vars_of_process_nt (void); void vars_of_process_unix (void); void vars_of_profile (void); void vars_of_ralloc (void); void vars_of_redisplay (void); void vars_of_scrollbar_x (void); void vars_of_scrollbar (void); void vars_of_scrollbar_mswindows (void); void vars_of_search (void); void vars_of_select_mswindows (void); void vars_of_sound (void); void vars_of_specifier (void); void vars_of_sunpro (void); void vars_of_symbols (void); void vars_of_syntax (void); void vars_of_toolbar (void); void vars_of_tooltalk (void); void vars_of_undo (void); void vars_of_window (void); void vars_of_xselect (void); void vars_of_eldap (void); void specifier_vars_of_glyphs (void); void specifier_vars_of_menubar (void); void specifier_vars_of_redisplay (void); void specifier_vars_of_scrollbar (void); void specifier_vars_of_toolbar (void); void specifier_vars_of_window (void); void complex_vars_of_regex (void); void complex_vars_of_search (void); void complex_vars_of_event_stream (void); void complex_vars_of_extents (void); void complex_vars_of_faces (void); void complex_vars_of_mule_charset (void); void complex_vars_of_file_coding (void); void complex_vars_of_glyphs (void); void complex_vars_of_glyphs_x (void); void complex_vars_of_glyphs_mswindows (void); void complex_vars_of_alloc (void); void complex_vars_of_menubar (void); void complex_vars_of_scrollbar (void); void complex_vars_of_frame (void); void complex_vars_of_casetab (void); void complex_vars_of_syntax (void); void complex_vars_of_chartab (void); void complex_vars_of_buffer (void); void complex_vars_of_console (void); void complex_vars_of_emacs (void); void complex_vars_of_minibuf (void); void complex_vars_of_callproc (void); void complex_vars_of_filelock (void); void complex_vars_of_keymap (void); void reinit_alloc (void); void reinit_eval (void); void init_buffer (void); void init_callproc (void); void init_console_stream (void); void init_device_tty (void); void init_dosfns (void); void init_editfns (void); void init_environment (void); void init_event_Xt_late (void); void init_event_stream (void); void init_event_tty_late (void); void init_event_mswindows_late (void); void init_event_unixoid (void); void init_hpplay (void); void init_lread (void); void init_macros (void); void init_ntproc (void); void init_xemacs_process (void); void init_redisplay (void); void init_sunpro (void); # 102 "lisp.h" 2 # 115 "lisp.h" void malloc_warning (const char *); void *xmalloc (size_t size); void *xmalloc_and_zero (size_t size); void *xrealloc (void *, size_t size); char *xstrdup (const char *); # 165 "lisp.h" void xfree (void *); # 243 "lisp.h" extern void volatile assert_failed (const char *, int, const char *) __attribute__ ((noreturn)); # 274 "lisp.h" typedef unsigned char Bufbyte; typedef unsigned char Extbyte; typedef int Emchar; # 295 "lisp.h" typedef int Bufpos; typedef int Bytind; typedef int Memind; typedef int Bytecount; typedef int Charcount; typedef int Extcount; typedef struct lstream Lstream; typedef unsigned int face_index; typedef struct { struct face_cachel *base; int elsize; int cur; int largest; int max; } face_cachel_dynarr; typedef unsigned int glyph_index; typedef unsigned int USID; typedef struct { struct glyph_cachel *base; int elsize; int cur; int largest; int max; } glyph_cachel_dynarr; struct buffer; struct console; struct device; struct extent_fragment; struct extent; typedef struct extent *EXTENT; struct frame; struct window; struct Lisp_Event; struct Lisp_Face; struct Lisp_Process; struct stat; struct Lisp_Color_Instance; struct Lisp_Font_Instance; struct Lisp_Image_Instance; struct display_line; struct redisplay_info; struct window_mirror; struct scrollbar_instance; struct font_metric_info; struct face_cachel; struct console_type_entry; typedef struct { Bufbyte *base; int elsize; int cur; int largest; int max; } Bufbyte_dynarr; typedef struct { Extbyte *base; int elsize; int cur; int largest; int max; } Extbyte_dynarr; typedef struct { Emchar *base; int elsize; int cur; int largest; int max; } Emchar_dynarr; typedef struct { char *base; int elsize; int cur; int largest; int max; } char_dynarr; typedef unsigned char unsigned_char; typedef struct { unsigned char *base; int elsize; int cur; int largest; int max; } unsigned_char_dynarr; typedef unsigned long unsigned_long; typedef struct { unsigned long *base; int elsize; int cur; int largest; int max; } unsigned_long_dynarr; typedef struct { int *base; int elsize; int cur; int largest; int max; } int_dynarr; typedef struct { Bufpos *base; int elsize; int cur; int largest; int max; } Bufpos_dynarr; typedef struct { Bytind *base; int elsize; int cur; int largest; int max; } Bytind_dynarr; typedef struct { Charcount *base; int elsize; int cur; int largest; int max; } Charcount_dynarr; typedef struct { Bytecount *base; int elsize; int cur; int largest; int max; } Bytecount_dynarr; typedef struct { struct console_type_entry *base; int elsize; int cur; int largest; int max; } console_type_entry_dynarr; enum external_data_format { # 423 "lisp.h" FORMAT_BINARY, FORMAT_FILENAME, FORMAT_TERMINAL, FORMAT_KEYBOARD, FORMAT_OS, FORMAT_CTEXT }; enum run_hooks_condition { RUN_HOOKS_TO_COMPLETION, RUN_HOOKS_UNTIL_SUCCESS, RUN_HOOKS_UNTIL_FAILURE }; enum toolbar_pos { TOP_TOOLBAR, BOTTOM_TOOLBAR, LEFT_TOOLBAR, RIGHT_TOOLBAR }; typedef enum error_behavior { ERROR_ME, ERROR_ME_NOT, ERROR_ME_WARN } Error_behavior; # 501 "lisp.h" enum munge_me_out_the_door { MUNGE_ME_FUNCTION_KEY, MUNGE_ME_KEY_TRANSLATION }; # 565 "lisp.h" enum Lisp_Type { Lisp_Type_Record, Lisp_Type_Int_Even, Lisp_Type_Char, Lisp_Type_Int_Odd }; # 621 "lisp.h" # 1 "lisp-disunion.h" 1 # 108 "lisp-disunion.h" typedef int Lisp_Object; # 622 "lisp.h" 2 # 646 "lisp.h" typedef struct { Lisp_Object *base; int elsize; int cur; int largest; int max; } Lisp_Object_dynarr; # 675 "lisp.h" # 1 "lrecord.h" 1 # 60 "lrecord.h" struct lrecord_header { # 98 "lrecord.h" const struct lrecord_implementation *implementation; }; struct lrecord_implementation; int lrecord_type_index (const struct lrecord_implementation *implementation); # 117 "lrecord.h" struct lcrecord_header { struct lrecord_header lheader; # 129 "lrecord.h" struct lcrecord_header *next; unsigned int uid :31; unsigned int free :1; }; struct free_lcrecord_header { struct lcrecord_header lcheader; Lisp_Object chain; }; void this_marks_a_marked_record (void *, int); Lisp_Object this_one_is_unmarkable (Lisp_Object obj, void (*markobj) (Lisp_Object)); struct lrecord_implementation { const char *name; # 171 "lrecord.h" Lisp_Object (*marker) (Lisp_Object, void (*mark_object) (Lisp_Object)); void (*printer) (Lisp_Object, Lisp_Object printcharfun, int escapeflag); # 183 "lrecord.h" void (*finalizer) (void *header, int for_disksave); int (*equal) (Lisp_Object obj1, Lisp_Object obj2, int depth); unsigned long (*hash) (Lisp_Object, int); Lisp_Object (*getprop) (Lisp_Object obj, Lisp_Object prop); int (*putprop) (Lisp_Object obj, Lisp_Object prop, Lisp_Object val); int (*remprop) (Lisp_Object obj, Lisp_Object prop); Lisp_Object (*plist) (Lisp_Object obj); size_t static_size; size_t (*size_in_bytes_method) (const void *header); int *lrecord_type_index; int basic_p; }; # 223 "lrecord.h" extern int gc_in_progress; # 418 "lrecord.h" void *alloc_lcrecord (size_t size, const struct lrecord_implementation *); int gc_record_type_p (Lisp_Object frob, const struct lrecord_implementation *type); # 676 "lisp.h" 2 # 691 "lisp.h" struct Lisp_Cons { struct lrecord_header lheader; Lisp_Object car, cdr; }; # 713 "lisp.h" extern Lisp_Object Qconsp; extern const struct lrecord_implementation lrecord_cons[]; # 778 "lisp.h" extern Lisp_Object Qnil; extern inline int TRUE_LIST_P (Lisp_Object object); extern inline int TRUE_LIST_P (Lisp_Object object) { while (((((enum Lisp_Type) (((unsigned int)((object))) & ~(((1UL << ((4 * 8) - 2)) - 1UL) << 2))) == Lisp_Type_Record) && ((struct lrecord_header *) ((void *) ((object))))->implementation == (lrecord_cons))) object = (((struct Lisp_Cons *) ((void *) ((object))))->cdr); return ((object) == (Qnil)); } # 817 "lisp.h" struct Lisp_String { struct lrecord_header lheader; Bytecount _size; Bufbyte *_data; Lisp_Object plist; }; extern Lisp_Object Qstringp; extern const struct lrecord_implementation lrecord_string[]; # 873 "lisp.h" void resize_string (struct Lisp_String *s, Bytecount pos, Bytecount delta); # 899 "lisp.h" struct Lisp_Vector { struct lcrecord_header header; long size; Lisp_Object contents[1]; }; extern Lisp_Object Qvectorp; extern const struct lrecord_implementation lrecord_vector[]; # 958 "lisp.h" struct Lisp_Bit_Vector { struct lrecord_header lheader; Lisp_Object next; long size; unsigned long bits[1]; }; extern Lisp_Object Qbit_vectorp; extern const struct lrecord_implementation lrecord_bit_vector[]; # 990 "lisp.h" extern inline int bit_vector_bit (struct Lisp_Bit_Vector *v, int i); extern inline int bit_vector_bit (struct Lisp_Bit_Vector *v, int i) { unsigned int ui = (unsigned int) i; return (((v)->bits[ui >> 5] >> (ui & (32 - 1))) & 1); } extern inline void set_bit_vector_bit (struct Lisp_Bit_Vector *v, int i, int value); extern inline void set_bit_vector_bit (struct Lisp_Bit_Vector *v, int i, int value) { unsigned int ui = (unsigned int) i; if (value) (v)->bits[ui >> 5] |= (1UL << (ui & (32 - 1))); else (v)->bits[ui >> 5] &= ~(1UL << (ui & (32 - 1))); } # 1020 "lisp.h" struct Lisp_Symbol { struct lrecord_header lheader; struct Lisp_Symbol *next; struct Lisp_String *name; Lisp_Object value; Lisp_Object function; Lisp_Object plist; # 1048 "lisp.h" int obarray_flags; }; extern Lisp_Object Qsymbolp; extern const struct lrecord_implementation lrecord_symbol[]; # 1087 "lisp.h" typedef Lisp_Object (*lisp_fn_t) (void); struct Lisp_Subr { struct lrecord_header lheader; short min_args, max_args; const char *prompt; const char *doc; const char *name; lisp_fn_t subr_fn; }; extern Lisp_Object Qsubrp; extern const struct lrecord_implementation lrecord_subr[]; # 1112 "lisp.h" struct Lisp_Marker { struct lrecord_header lheader; struct Lisp_Marker *next, *prev; struct buffer *buffer; Memind memind; char insertion_type; }; extern Lisp_Object Qmarkerp; extern const struct lrecord_implementation lrecord_marker[]; # 1169 "lisp.h" struct Lisp_Float { struct lrecord_header lheader; union { double d; struct Lisp_Float *unused__next__; } data; }; extern Lisp_Object Qfloatp; extern const struct lrecord_implementation lrecord_float[]; # 1335 "lisp.h" typedef struct structure_keyword_entry structure_keyword_entry; struct structure_keyword_entry { Lisp_Object keyword; int (*validate) (Lisp_Object keyword, Lisp_Object value, Error_behavior errb); }; typedef struct { structure_keyword_entry *base; int elsize; int cur; int largest; int max; } structure_keyword_entry_dynarr; typedef struct structure_type structure_type; struct structure_type { Lisp_Object type; structure_keyword_entry_dynarr *keywords; int (*validate) (Lisp_Object data, Error_behavior errb); Lisp_Object (*instantiate) (Lisp_Object data); }; typedef struct { structure_type *base; int elsize; int cur; int largest; int max; } structure_type_dynarr; struct structure_type *define_structure_type (Lisp_Object type, int (*validate) (Lisp_Object data, Error_behavior errb), Lisp_Object (*instantiate) (Lisp_Object data)); void define_structure_type_keyword (struct structure_type *st, Lisp_Object keyword, int (*validate) (Lisp_Object keyword, Lisp_Object value, Error_behavior errb)); enum weak_list_type { WEAK_LIST_SIMPLE, WEAK_LIST_ASSOC, WEAK_LIST_KEY_ASSOC, WEAK_LIST_VALUE_ASSOC }; struct weak_list { struct lcrecord_header header; Lisp_Object list; enum weak_list_type type; Lisp_Object next_weak; }; extern Lisp_Object Qweak_listp; extern const struct lrecord_implementation lrecord_weak_list[]; # 1408 "lisp.h" Lisp_Object make_weak_list (enum weak_list_type type); int finish_marking_weak_lists (int (*obj_marked_p) (Lisp_Object), void (*markobj) (Lisp_Object)); void prune_weak_lists (int (*obj_marked_p) (Lisp_Object)); struct lcrecord_list { struct lcrecord_header header; Lisp_Object free; size_t size; const struct lrecord_implementation *implementation; }; extern Lisp_Object Qlcrecord_listp; extern const struct lrecord_implementation lrecord_lcrecord_list[]; # 1433 "lisp.h" Lisp_Object make_lcrecord_list (size_t size, const struct lrecord_implementation *implementation); Lisp_Object allocate_managed_lcrecord (Lisp_Object lcrecord_list); void free_managed_lcrecord (Lisp_Object lcrecord_list, Lisp_Object lcrecord); # 1525 "lisp.h" # 1 "symeval.h" 1 # 29 "symeval.h" enum symbol_value_type { SYMVAL_FIXNUM_FORWARD, SYMVAL_CONST_FIXNUM_FORWARD, SYMVAL_BOOLEAN_FORWARD, SYMVAL_CONST_BOOLEAN_FORWARD, SYMVAL_OBJECT_FORWARD, SYMVAL_CONST_OBJECT_FORWARD, SYMVAL_CONST_SPECIFIER_FORWARD, SYMVAL_DEFAULT_BUFFER_FORWARD, SYMVAL_CURRENT_BUFFER_FORWARD, SYMVAL_CONST_CURRENT_BUFFER_FORWARD, SYMVAL_DEFAULT_CONSOLE_FORWARD, SYMVAL_SELECTED_CONSOLE_FORWARD, SYMVAL_CONST_SELECTED_CONSOLE_FORWARD, SYMVAL_UNBOUND_MARKER, SYMVAL_BUFFER_LOCAL, SYMVAL_SOME_BUFFER_LOCAL, SYMVAL_LISP_MAGIC, SYMVAL_VARALIAS }; struct symbol_value_magic { struct lcrecord_header lcheader; enum symbol_value_type type; }; void print_symbol_value_magic (Lisp_Object, Lisp_Object, int); # 99 "symeval.h" struct symbol_value_forward { struct symbol_value_magic magic; # 139 "symeval.h" int (*magicfun) (Lisp_Object sym, Lisp_Object *val, Lisp_Object in_object, int flags); }; extern Lisp_Object Qsymbol_value_forwardp; extern const struct lrecord_implementation lrecord_symbol_value_forward[]; struct symbol_value_buffer_local { struct symbol_value_magic magic; # 224 "symeval.h" Lisp_Object default_value; Lisp_Object current_value; Lisp_Object current_buffer; Lisp_Object current_alist_element; }; extern Lisp_Object Qsymbol_value_buffer_localp; extern const struct lrecord_implementation lrecord_symbol_value_buffer_local[]; enum lisp_magic_handler { MAGIC_HANDLER_GET_VALUE, MAGIC_HANDLER_SET_VALUE, MAGIC_HANDLER_BOUND_PREDICATE, MAGIC_HANDLER_MAKE_UNBOUND, MAGIC_HANDLER_LOCAL_PREDICATE, MAGIC_HANDLER_MAKE_LOCAL, MAGIC_HANDLER_MAX }; struct symbol_value_lisp_magic { struct symbol_value_magic magic; Lisp_Object handler[MAGIC_HANDLER_MAX]; Lisp_Object harg[MAGIC_HANDLER_MAX]; Lisp_Object shadowed; }; extern Lisp_Object Qsymbol_value_lisp_magicp; extern const struct lrecord_implementation lrecord_symbol_value_lisp_magic[]; struct symbol_value_varalias { struct symbol_value_magic magic; Lisp_Object aliasee; Lisp_Object shadowed; }; extern Lisp_Object Qsymbol_value_varaliasp; extern const struct lrecord_implementation lrecord_symbol_value_varalias[]; # 277 "symeval.h" void defsubr (struct Lisp_Subr *); void defsymbol (Lisp_Object *location, const char *name); void defkeyword (Lisp_Object *location, const char *name); void deferror (Lisp_Object *symbol, const char *name, const char *message, Lisp_Object inherits_from); void defvar_mumble (const char *names, const void *magic, size_t sizeof_magic); # 1526 "lisp.h" 2 int specpdl_depth (void); # 1539 "lisp.h" extern volatile int something_happened; int check_what_happened (void); extern volatile int quit_check_signal_happened; extern volatile int quit_check_signal_tick_count; int check_quit (void); void signal_quit (void); # 1593 "lisp.h" unsigned long string_hash (const void *xv); unsigned long memory_hash (const void *xv, size_t size); unsigned long internal_hash (Lisp_Object obj, int depth); unsigned long internal_array_hash (Lisp_Object *arr, int size, int depth); # 1633 "lisp.h" extern int consing_since_gc; extern int gc_cons_threshold; # 1652 "lisp.h" extern struct gcpro *gcprolist; struct gcpro { struct gcpro *next; Lisp_Object *var; int nvars; }; # 1876 "lisp.h" void staticpro (Lisp_Object *); extern int initialized; # 1931 "lisp.h" # 1 "/usr/include/inttypes.h" 1 3 # 28 "/usr/include/inttypes.h" 3 # 1 "/usr/include/stdint.h" 1 3 # 28 "/usr/include/stdint.h" 3 # 1 "/usr/include/bits/wordsize.h" 1 3 # 29 "/usr/include/stdint.h" 2 3 # 49 "/usr/include/stdint.h" 3 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 129 "/usr/include/stdint.h" 3 typedef unsigned int uintptr_t; # 138 "/usr/include/stdint.h" 3 __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 29 "/usr/include/inttypes.h" 2 3 typedef long int __gwchar_t; # 274 "/usr/include/inttypes.h" 3 # 288 "/usr/include/inttypes.h" 3 typedef struct { long long int quot; long long int rem; } imaxdiv_t; extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__const__)); extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) __attribute__ ((__const__)); extern intmax_t strtoimax (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern uintmax_t strtoumax (__const char *__restrict __nptr, char ** __restrict __endptr, int __base) ; extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr, __gwchar_t **__restrict __endptr, int __base) ; extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) ; # 396 "/usr/include/inttypes.h" 3 extern __inline intmax_t strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base) { return __strtoll_internal (nptr, endptr, base, 0); } # 414 "/usr/include/inttypes.h" 3 extern __inline uintmax_t strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base) { return __strtoull_internal (nptr, endptr, base, 0); } __extension__ extern long long int __wcstoll_internal (__const __gwchar_t * __restrict __nptr, __gwchar_t **__restrict __endptr, int __base, int __group) ; extern __inline intmax_t wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) { return __wcstoll_internal (nptr, endptr, base, 0); } __extension__ extern unsigned long long int __wcstoull_internal (__const __gwchar_t * __restrict __nptr, __gwchar_t ** __restrict __endptr, int __base, int __group) ; extern __inline uintmax_t wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) { return __wcstoull_internal (nptr, endptr, base, 0); } # 1932 "lisp.h" 2 # 1948 "lisp.h" void release_breathing_space (void); Lisp_Object noseeum_cons (Lisp_Object, Lisp_Object); Lisp_Object make_vector (int, Lisp_Object); Lisp_Object vector1 (Lisp_Object); Lisp_Object vector2 (Lisp_Object, Lisp_Object); Lisp_Object vector3 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object make_bit_vector (int, Lisp_Object); Lisp_Object make_bit_vector_from_byte_vector (unsigned char *, int); Lisp_Object noseeum_make_marker (void); void garbage_collect_1 (void); Lisp_Object acons (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object cons3 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object list1 (Lisp_Object); Lisp_Object list2 (Lisp_Object, Lisp_Object); Lisp_Object list3 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object list4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object list6 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); extern void volatile memory_full (void) __attribute__ ((noreturn)); void disksave_object_finalization (void); extern int purify_flag; extern int gc_currently_forbidden; Lisp_Object restore_gc_inhibit (Lisp_Object); extern int gc_generation_number[1]; int purified (Lisp_Object); Lisp_Object build_string (const char *); Lisp_Object build_ext_string (const char *, enum external_data_format); Lisp_Object build_translated_string (const char *); Lisp_Object make_string (const Bufbyte *, Bytecount); Lisp_Object make_ext_string (const Extbyte *, int, enum external_data_format); Lisp_Object make_uninit_string (Bytecount); Lisp_Object make_float (double); size_t purespace_usage (void); void report_pure_usage (int, int); Lisp_Object make_pure_string (const Bufbyte *, Bytecount, Lisp_Object, int); Lisp_Object make_pure_pname (const Bufbyte *, Bytecount, int); Lisp_Object pure_cons (Lisp_Object, Lisp_Object); Lisp_Object pure_list (int, Lisp_Object *); Lisp_Object make_pure_vector (size_t, Lisp_Object); void free_cons (struct Lisp_Cons *); void free_list (Lisp_Object); void free_alist (Lisp_Object); void mark_conses_in_list (Lisp_Object); void free_marker (struct Lisp_Marker *); int object_dead_p (Lisp_Object); Lisp_Object make_buffer (struct buffer *); Lisp_Object get_truename_buffer (Lisp_Object); void switch_to_buffer (Lisp_Object, Lisp_Object); extern int find_file_compare_truenames; extern int find_file_use_truenames; char *egetenv (const char *); void stuff_buffered_input (Lisp_Object); extern void volatile pure_write_error (Lisp_Object) __attribute__ ((noreturn)); extern void volatile args_out_of_range (Lisp_Object, Lisp_Object) __attribute__ ((noreturn)); extern void volatile args_out_of_range_3 (Lisp_Object, Lisp_Object, Lisp_Object) __attribute__ ((noreturn)); Lisp_Object wrong_type_argument (Lisp_Object, Lisp_Object); extern void volatile dead_wrong_type_argument (Lisp_Object, Lisp_Object) __attribute__ ((noreturn)); void check_int_range (int, int, int); enum arith_comparison { arith_equal, arith_notequal, arith_less, arith_grtr, arith_less_or_equal, arith_grtr_or_equal }; Lisp_Object arithcompare (Lisp_Object, Lisp_Object, enum arith_comparison); Lisp_Object word_to_lisp (unsigned int); unsigned int lisp_to_word (Lisp_Object); Lisp_Object make_directory_hash_table (const char *); Lisp_Object wasteful_word_to_lisp (unsigned int); Lisp_Object unparesseuxify_doc_string (int, int, char *, Lisp_Object); Lisp_Object read_doc_string (Lisp_Object); Bytecount emacs_doprnt_c (Lisp_Object, const Bufbyte *, Lisp_Object, Bytecount, ...); Bytecount emacs_doprnt_va (Lisp_Object, const Bufbyte *, Lisp_Object, Bytecount, va_list); Bytecount emacs_doprnt_lisp (Lisp_Object, const Bufbyte *, Lisp_Object, Bytecount, int, const Lisp_Object *); Bytecount emacs_doprnt_lisp_2 (Lisp_Object, const Bufbyte *, Lisp_Object, Bytecount, int, ...); Lisp_Object emacs_doprnt_string_c (const Bufbyte *, Lisp_Object, Bytecount, ...); Lisp_Object emacs_doprnt_string_va (const Bufbyte *, Lisp_Object, Bytecount, va_list); Lisp_Object emacs_doprnt_string_lisp (const Bufbyte *, Lisp_Object, Bytecount, int, const Lisp_Object *); Lisp_Object emacs_doprnt_string_lisp_2 (const Bufbyte *, Lisp_Object, Bytecount, int, ...); void uncache_home_directory (void); char *get_home_directory (void); char *user_login_name (int *); Bufpos bufpos_clip_to_bounds (Bufpos, Bufpos, Bufpos); Bytind bytind_clip_to_bounds (Bytind, Bytind, Bytind); void buffer_insert1 (struct buffer *, Lisp_Object); Lisp_Object make_string_from_buffer (struct buffer *, int, int); Lisp_Object save_excursion_save (void); Lisp_Object save_restriction_save (void); Lisp_Object save_excursion_restore (Lisp_Object); Lisp_Object save_restriction_restore (Lisp_Object); Lisp_Object save_current_buffer_restore (Lisp_Object); extern void volatile fatal (const char *, ...) __attribute__ ((noreturn, format (printf, 1, 2))); int stderr_out (const char *, ...) __attribute__ ((format (printf, 1, 2))); int stdout_out (const char *, ...) __attribute__ ((format (printf, 1, 2))); void fatal_error_signal (int); Lisp_Object make_arg_list (int, char **); void make_argc_argv (Lisp_Object, int *, char ***); void free_argc_argv (char **); Lisp_Object decode_env_path (const char *, const char *); Lisp_Object decode_path (const char *); extern int noninteractive; extern int preparing_for_armageddon; extern int emacs_priority; extern int running_asynch_code; extern int suppress_early_error_handler_backtrace; extern void volatile signal_error (Lisp_Object, Lisp_Object) __attribute__ ((noreturn)); void maybe_signal_error (Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior); Lisp_Object maybe_signal_continuable_error (Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior); extern void volatile error (const char *, ...) __attribute__ ((noreturn, format (printf, 1, 2))); void maybe_error (Lisp_Object, Error_behavior, const char *, ...) __attribute__ ((format (printf, 3, 4))); Lisp_Object continuable_error (const char *, ...) __attribute__ ((format (printf, 1, 2))); Lisp_Object maybe_continuable_error (Lisp_Object, Error_behavior, const char *, ...) __attribute__ ((format (printf, 3, 4))); extern void volatile signal_simple_error (const char *, Lisp_Object) __attribute__ ((noreturn)); void maybe_signal_simple_error (const char *, Lisp_Object, Lisp_Object, Error_behavior); Lisp_Object signal_simple_continuable_error (const char *, Lisp_Object); Lisp_Object maybe_signal_simple_continuable_error (const char *, Lisp_Object, Lisp_Object, Error_behavior); extern void volatile error_with_frob (Lisp_Object, const char *, ...) __attribute__ ((noreturn, format (printf, 2, 3))); void maybe_error_with_frob (Lisp_Object, Lisp_Object, Error_behavior, const char *, ...) __attribute__ ((format (printf, 4, 5))); Lisp_Object continuable_error_with_frob (Lisp_Object, const char *, ...) __attribute__ ((format (printf, 2, 3))); Lisp_Object maybe_continuable_error_with_frob (Lisp_Object, Lisp_Object, Error_behavior, const char *, ...) __attribute__ ((format (printf, 4, 5))); extern void volatile signal_simple_error_2 (const char *, Lisp_Object, Lisp_Object) __attribute__ ((noreturn)); void maybe_signal_simple_error_2 (const char *, Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior); Lisp_Object signal_simple_continuable_error_2 (const char *, Lisp_Object, Lisp_Object); Lisp_Object maybe_signal_simple_continuable_error_2 (const char *, Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior); Lisp_Object funcall_recording_as (Lisp_Object, int, Lisp_Object *); Lisp_Object run_hook_with_args_in_buffer (struct buffer *, int, Lisp_Object *, enum run_hooks_condition); Lisp_Object run_hook_with_args (int, Lisp_Object *, enum run_hooks_condition); void va_run_hook_with_args (Lisp_Object, int, ...); void va_run_hook_with_args_in_buffer (struct buffer *, Lisp_Object, int, ...); Lisp_Object run_hook (Lisp_Object); Lisp_Object apply1 (Lisp_Object, Lisp_Object); Lisp_Object call0 (Lisp_Object); Lisp_Object call1 (Lisp_Object, Lisp_Object); Lisp_Object call2 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call6 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call7 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call8 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call0_in_buffer (struct buffer *, Lisp_Object); Lisp_Object call1_in_buffer (struct buffer *, Lisp_Object, Lisp_Object); Lisp_Object call2_in_buffer (struct buffer *, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call3_in_buffer (struct buffer *, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call4_in_buffer (struct buffer *, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call5_in_buffer (struct buffer *, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call6_in_buffer (struct buffer *, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object eval_in_buffer (struct buffer *, Lisp_Object); Lisp_Object call0_with_handler (Lisp_Object, Lisp_Object); Lisp_Object call1_with_handler (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object eval_in_buffer_trapping_errors (const char *, struct buffer *, Lisp_Object); Lisp_Object run_hook_trapping_errors (const char *, Lisp_Object); Lisp_Object safe_run_hook_trapping_errors (const char *, Lisp_Object, int); Lisp_Object call0_trapping_errors (const char *, Lisp_Object); Lisp_Object call1_trapping_errors (const char *, Lisp_Object, Lisp_Object); Lisp_Object call2_trapping_errors (const char *, Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object call_with_suspended_errors (lisp_fn_t, volatile Lisp_Object, Lisp_Object, Error_behavior, int, ...); Lisp_Object internal_catch (Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object, int * volatile); Lisp_Object condition_case_1 (Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object (*) (Lisp_Object, Lisp_Object), Lisp_Object); Lisp_Object condition_case_3 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object unbind_to (int, Lisp_Object); void specbind (Lisp_Object, Lisp_Object); void record_unwind_protect (Lisp_Object (*) (Lisp_Object), Lisp_Object); void do_autoload (Lisp_Object, Lisp_Object); Lisp_Object un_autoload (Lisp_Object); void warn_when_safe_lispobj (Lisp_Object, Lisp_Object, Lisp_Object); void warn_when_safe (Lisp_Object, Lisp_Object, const char *, ...) __attribute__ ((format (printf, 3, 4))); void wait_delaying_user_input (int (*) (void *), void *); int detect_input_pending (void); void reset_this_command_keys (Lisp_Object, int); Lisp_Object enqueue_misc_user_event (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object enqueue_misc_user_event_pos (Lisp_Object, Lisp_Object, Lisp_Object, int, int, int, int); void signal_special_Xt_user_event (Lisp_Object, Lisp_Object, Lisp_Object); void clear_event_resource (void); Lisp_Object allocate_event (void); int event_to_character (struct Lisp_Event *, int, int, int); void record_auto_save (void); void force_auto_save_soon (void); extern void volatile report_file_error (const char *, Lisp_Object) __attribute__ ((noreturn)); void maybe_report_file_error (const char *, Lisp_Object, Lisp_Object, Error_behavior); extern void volatile signal_file_error (const char *, Lisp_Object) __attribute__ ((noreturn)); void maybe_signal_file_error (const char *, Lisp_Object, Lisp_Object, Error_behavior); extern void volatile signal_double_file_error (const char *, const char *, Lisp_Object) __attribute__ ((noreturn)); void maybe_signal_double_file_error (const char *, const char *, Lisp_Object, Lisp_Object, Error_behavior); extern void volatile signal_double_file_error_2 (const char *, const char *, Lisp_Object, Lisp_Object) __attribute__ ((noreturn)); void maybe_signal_double_file_error_2 (const char *, const char *, Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior); Lisp_Object lisp_strerror (int); Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object); int read_allowing_quit (int, void *, size_t); int write_allowing_quit (int, const void *, size_t); int internal_delete_file (Lisp_Object); void lock_file (Lisp_Object); void unlock_file (Lisp_Object); void unlock_all_files (void); void unlock_buffer (struct buffer *); void filemodestring (struct stat *, char *); double extract_float (Lisp_Object); Lisp_Object list_sort (Lisp_Object, Lisp_Object, int (*) (Lisp_Object, Lisp_Object, Lisp_Object)); Lisp_Object merge (Lisp_Object, Lisp_Object, Lisp_Object); void bump_string_modiff (Lisp_Object); Lisp_Object memq_no_quit (Lisp_Object, Lisp_Object); Lisp_Object assoc_no_quit (Lisp_Object, Lisp_Object); Lisp_Object assq_no_quit (Lisp_Object, Lisp_Object); Lisp_Object rassq_no_quit (Lisp_Object, Lisp_Object); Lisp_Object delq_no_quit (Lisp_Object, Lisp_Object); Lisp_Object delq_no_quit_and_free_cons (Lisp_Object, Lisp_Object); Lisp_Object remassoc_no_quit (Lisp_Object, Lisp_Object); Lisp_Object remassq_no_quit (Lisp_Object, Lisp_Object); Lisp_Object remrassq_no_quit (Lisp_Object, Lisp_Object); void pure_put (Lisp_Object, Lisp_Object, Lisp_Object); int plists_differ (Lisp_Object, Lisp_Object, int, int, int); Lisp_Object internal_plist_get (Lisp_Object, Lisp_Object); void internal_plist_put (Lisp_Object *, Lisp_Object, Lisp_Object); int internal_remprop (Lisp_Object *, Lisp_Object); Lisp_Object external_plist_get (Lisp_Object *, Lisp_Object, int, Error_behavior); void external_plist_put (Lisp_Object *, Lisp_Object, Lisp_Object, int, Error_behavior); int external_remprop (Lisp_Object *, Lisp_Object, int, Error_behavior); int internal_equal (Lisp_Object, Lisp_Object, int); Lisp_Object concat2 (Lisp_Object, Lisp_Object); Lisp_Object concat3 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object vconcat2 (Lisp_Object, Lisp_Object); Lisp_Object vconcat3 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object nconc2 (Lisp_Object, Lisp_Object); void check_losing_bytecode (const char *, Lisp_Object); int getloadavg (double[], int); Error_behavior decode_error_behavior_flag (Lisp_Object); Lisp_Object encode_error_behavior_flag (Error_behavior); int bi_spaces_at_point (struct buffer *, Bytind); int column_at_point (struct buffer *, Bufpos, int); int current_column (struct buffer *); void invalidate_current_column (void); Bufpos vmotion (struct window *, Bufpos, int, int *); Bufpos vmotion_pixels (Lisp_Object, Bufpos, int, int, int *); void where_is_to_char (Lisp_Object, char *); void ebolify_bytecode_constants (Lisp_Object); void close_load_descs (void); int locate_file (Lisp_Object, Lisp_Object, const char *, Lisp_Object *, int); int isfloat_string (const char *); # 2329 "lisp.h" Bytind bi_marker_position (Lisp_Object); Bufpos marker_position (Lisp_Object); void set_bi_marker_position (Lisp_Object, Bytind); void set_marker_position (Lisp_Object, Bufpos); void unchain_marker (Lisp_Object); Lisp_Object noseeum_copy_marker (Lisp_Object, Lisp_Object); Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object); extern int popup_menu_up_p; extern int menubar_show_keybindings; extern int popup_menu_titles; extern int minibuf_level; Charcount scmp_1 (const Bufbyte *, const Bufbyte *, Charcount, int); extern int completion_ignore_case; int regexp_ignore_completion_p (const Bufbyte *, Lisp_Object, Bytecount, Bytecount); Lisp_Object clear_echo_area (struct frame *, Lisp_Object, int); Lisp_Object clear_echo_area_from_print (struct frame *, Lisp_Object, int); void echo_area_append (struct frame *, const Bufbyte *, Lisp_Object, Bytecount, Bytecount, Lisp_Object); void echo_area_message (struct frame *, const Bufbyte *, Lisp_Object, Bytecount, Bytecount, Lisp_Object); Lisp_Object echo_area_status (struct frame *); int echo_area_active (struct frame *); Lisp_Object echo_area_contents (struct frame *); void message_internal (const Bufbyte *, Lisp_Object, Bytecount, Bytecount); void message_append_internal (const Bufbyte *, Lisp_Object, Bytecount, Bytecount); void message (const char *, ...) __attribute__ ((format (printf, 1, 2))); void message_append (const char *, ...) __attribute__ ((format (printf, 1, 2))); void message_no_translate (const char *, ...) __attribute__ ((format (printf, 1, 2))); void clear_message (void); void write_string_to_stdio_stream (FILE *, struct console *, const Bufbyte *, Bytecount, Bytecount, enum external_data_format); void debug_print (Lisp_Object); void debug_short_backtrace (int); void temp_output_buffer_setup (const char *); void temp_output_buffer_show (Lisp_Object, Lisp_Object); void write_c_string (const char *, Lisp_Object); void write_string_1 (const Bufbyte *, Bytecount, Lisp_Object); void print_cons (Lisp_Object, Lisp_Object, int); void print_vector (Lisp_Object, Lisp_Object, int); void print_string (Lisp_Object, Lisp_Object, int); void long_to_string (char *, long); void print_internal (Lisp_Object, Lisp_Object, int); void print_symbol (Lisp_Object, Lisp_Object, int); void print_float (Lisp_Object, Lisp_Object, int); void print_compiled_function (Lisp_Object, Lisp_Object, int); extern int print_escape_newlines; extern int print_readably; Lisp_Object internal_with_output_to_temp_buffer (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object); void float_to_string (char *, double); void internal_object_printer (Lisp_Object, Lisp_Object, int); void mark_profiling_info (void (*) (Lisp_Object)); void profile_increase_call_count (Lisp_Object); extern int profiling_active; extern int profiling_redisplay_flag; void put_range_table (Lisp_Object, int, int, Lisp_Object); int unified_range_table_bytes_needed (Lisp_Object); int unified_range_table_bytes_used (void *); void unified_range_table_copy_data (Lisp_Object, void *); Lisp_Object unified_range_table_lookup (void *, int, Lisp_Object); int unified_range_table_nentries (void *); void unified_range_table_get_range (void *, int, int *, int *, Lisp_Object *); struct re_pattern_buffer; struct re_registers; Bufpos scan_buffer (struct buffer *, Emchar, Bufpos, Bufpos, int, int *, int); Bufpos find_next_newline (struct buffer *, Bufpos, int); Bufpos find_next_newline_no_quit (struct buffer *, Bufpos, int); Bytind bi_find_next_newline_no_quit (struct buffer *, Bytind, int); Bufpos find_before_next_newline (struct buffer *, Bufpos, Bufpos, int); struct re_pattern_buffer *compile_pattern (Lisp_Object, struct re_registers *, char *, int, Error_behavior); Bytecount fast_string_match (Lisp_Object, const Bufbyte *, Lisp_Object, Bytecount, Bytecount, int, Error_behavior, int); Bytecount fast_lisp_string_match (Lisp_Object, Lisp_Object); void restore_match_data (void); void init_interrupts_late (void); extern int dont_check_for_quit; void begin_dont_check_for_quit (void); void emacs_sleep (int); void init_device_sound (struct device *); Lisp_Object specifier_instance (Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior, int, int, Lisp_Object); Lisp_Object specifier_instance_no_quit (Lisp_Object, Lisp_Object, Lisp_Object, Error_behavior, int, Lisp_Object); int hash_string (const Bufbyte *, Bytecount); Lisp_Object intern (const char *); Lisp_Object oblookup (Lisp_Object, const Bufbyte *, Bytecount); void map_obarray (Lisp_Object, int (*) (Lisp_Object, void *), void *); Lisp_Object indirect_function (Lisp_Object, int); Lisp_Object symbol_value_in_buffer (Lisp_Object, Lisp_Object); void kill_buffer_local_variables (struct buffer *); int symbol_value_buffer_local_info (Lisp_Object, struct buffer *); Lisp_Object find_symbol_value (Lisp_Object); Lisp_Object find_symbol_value_quickly (Lisp_Object, int); Lisp_Object top_level_value (Lisp_Object); int scan_words (struct buffer *, int, int); Lisp_Object truncate_undo_list (Lisp_Object, int, int); void record_extent (Lisp_Object, int); void record_insert (struct buffer *, Bufpos, Charcount); void record_delete (struct buffer *, Bufpos, Charcount); void record_change (struct buffer *, Bufpos, Charcount); int unexec (char *, char *, uintptr_t, uintptr_t, uintptr_t); void memory_warnings (void *, void (*) (const char *)); Lisp_Object save_window_excursion_unwind (Lisp_Object); Lisp_Object display_buffer (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object Faccept_process_output (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fadd1 (Lisp_Object); Lisp_Object Fadd_spec_to_specifier (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fadd_timeout (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fappend (int, Lisp_Object*); Lisp_Object Fapply (int, Lisp_Object*); Lisp_Object Faref (Lisp_Object,Lisp_Object); Lisp_Object Faset (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fassoc (Lisp_Object,Lisp_Object); Lisp_Object Fassq (Lisp_Object,Lisp_Object); Lisp_Object Fbacktrace (Lisp_Object,Lisp_Object); Lisp_Object Fbeginning_of_line (Lisp_Object,Lisp_Object); Lisp_Object Fbobp (Lisp_Object); Lisp_Object Fbolp (Lisp_Object); Lisp_Object Fboundp (Lisp_Object); Lisp_Object Fbuffer_substring (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fbuilt_in_variable_type (Lisp_Object); Lisp_Object Fbyte_code (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fcall_interactively (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fcanonicalize_lax_plist (Lisp_Object,Lisp_Object); Lisp_Object Fcanonicalize_plist (Lisp_Object,Lisp_Object); Lisp_Object Fcar (Lisp_Object); Lisp_Object Fcar_safe (Lisp_Object); Lisp_Object Fcdr (Lisp_Object); Lisp_Object Fchar_after (Lisp_Object,Lisp_Object); Lisp_Object Fchar_to_string (Lisp_Object); Lisp_Object Fcheck_valid_plist (Lisp_Object); Lisp_Object Fclear_range_table (Lisp_Object); Lisp_Object Fclrhash (Lisp_Object); Lisp_Object Fcoding_category_list (void); Lisp_Object Fcoding_category_system (Lisp_Object); Lisp_Object Fcoding_priority_list (void); Lisp_Object Fcoding_system_charset (Lisp_Object,Lisp_Object); Lisp_Object Fcoding_system_doc_string (Lisp_Object); Lisp_Object Fcoding_system_list (void); Lisp_Object Fcoding_system_name (Lisp_Object); Lisp_Object Fcoding_system_p (Lisp_Object); Lisp_Object Fcoding_system_property (Lisp_Object,Lisp_Object); Lisp_Object Fcoding_system_type (Lisp_Object); Lisp_Object Fcommand_execute (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fcommandp (Lisp_Object); Lisp_Object Fcompiled_function_domain (Lisp_Object); Lisp_Object Fconcat (int, Lisp_Object*); Lisp_Object Fcons (Lisp_Object,Lisp_Object); Lisp_Object Fcopy_alist (Lisp_Object); Lisp_Object Fcopy_coding_system (Lisp_Object,Lisp_Object); Lisp_Object Fcopy_event (Lisp_Object,Lisp_Object); Lisp_Object Fcopy_marker (Lisp_Object,Lisp_Object); Lisp_Object Fcopy_sequence (Lisp_Object); Lisp_Object Fcopy_tree (Lisp_Object,Lisp_Object); Lisp_Object Fcurrent_window_configuration (Lisp_Object); Lisp_Object Fdecode_big5_char (Lisp_Object); Lisp_Object Fdecode_coding_region (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fdecode_shift_jis_char (Lisp_Object); Lisp_Object Fdefault_boundp (Lisp_Object); Lisp_Object Fdefault_value (Lisp_Object); Lisp_Object Fdefine_key (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fdelete_region (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fdelq (Lisp_Object,Lisp_Object); Lisp_Object Fdestructive_alist_to_plist (Lisp_Object); Lisp_Object Fdetect_coding_region (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fdgettext (Lisp_Object,Lisp_Object); Lisp_Object Fding (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fdirectory_file_name (Lisp_Object); Lisp_Object Fdisable_timeout (Lisp_Object); Lisp_Object Fdiscard_input (void); Lisp_Object Fdispatch_event (Lisp_Object); Lisp_Object Fdisplay_error (Lisp_Object,Lisp_Object); Lisp_Object Fdo_auto_save (Lisp_Object,Lisp_Object); Lisp_Object Fdowncase (Lisp_Object,Lisp_Object); Lisp_Object Felt (Lisp_Object,Lisp_Object); Lisp_Object Fencode_big5_char (Lisp_Object); Lisp_Object Fencode_coding_region (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fencode_shift_jis_char (Lisp_Object); Lisp_Object Fend_of_line (Lisp_Object,Lisp_Object); Lisp_Object Fenqueue_eval_event (Lisp_Object,Lisp_Object); Lisp_Object Feobp (Lisp_Object); Lisp_Object Feolp (Lisp_Object); Lisp_Object Fequal (Lisp_Object,Lisp_Object); Lisp_Object Ferror_message_string (Lisp_Object); Lisp_Object Feval (Lisp_Object); Lisp_Object Fevent_to_character (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fexecute_kbd_macro (Lisp_Object,Lisp_Object); Lisp_Object Fexpand_abbrev (void); Lisp_Object Fexpand_file_name (Lisp_Object,Lisp_Object); Lisp_Object Fextent_at (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fextent_property (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Ffboundp (Lisp_Object); Lisp_Object Ffile_accessible_directory_p (Lisp_Object); Lisp_Object Ffile_directory_p (Lisp_Object); Lisp_Object Ffile_executable_p (Lisp_Object); Lisp_Object Ffile_exists_p (Lisp_Object); Lisp_Object Ffile_name_absolute_p (Lisp_Object); Lisp_Object Ffile_name_as_directory (Lisp_Object); Lisp_Object Ffile_name_directory (Lisp_Object); Lisp_Object Ffile_name_nondirectory (Lisp_Object); Lisp_Object Ffile_readable_p (Lisp_Object); Lisp_Object Ffile_symlink_p (Lisp_Object); Lisp_Object Ffile_truename (Lisp_Object,Lisp_Object); Lisp_Object Ffind_coding_system (Lisp_Object); Lisp_Object Ffind_file_name_handler (Lisp_Object,Lisp_Object); Lisp_Object Ffollowing_char (Lisp_Object); Lisp_Object Fformat (int, Lisp_Object*); Lisp_Object Fforward_char (Lisp_Object,Lisp_Object); Lisp_Object Fforward_line (Lisp_Object,Lisp_Object); Lisp_Object Ffset (Lisp_Object,Lisp_Object); Lisp_Object Ffuncall (int, Lisp_Object*); Lisp_Object Fgeq (int, Lisp_Object*); Lisp_Object Fget (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fget_buffer_process (Lisp_Object); Lisp_Object Fget_coding_system (Lisp_Object); Lisp_Object Fget_process (Lisp_Object); Lisp_Object Fget_range_table (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fgethash (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fgettext (Lisp_Object); Lisp_Object Fgoto_char (Lisp_Object,Lisp_Object); Lisp_Object Fgtr (int, Lisp_Object*); Lisp_Object Fhashtablep (Lisp_Object); Lisp_Object Findent_to (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Findirect_function (Lisp_Object); Lisp_Object Finsert (int, Lisp_Object*); Lisp_Object Finsert_buffer_substring (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Finsert_char (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Finsert_file_contents_internal (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object, Lisp_Object,Lisp_Object); Lisp_Object Finteractive_p (void); Lisp_Object Fintern (Lisp_Object,Lisp_Object); Lisp_Object Fintern_soft (Lisp_Object,Lisp_Object); Lisp_Object Fkey_description (Lisp_Object); Lisp_Object Fkill_emacs (Lisp_Object); Lisp_Object Fkill_local_variable (Lisp_Object); Lisp_Object Flax_plist_get (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Flax_plist_remprop (Lisp_Object,Lisp_Object); Lisp_Object Flength (Lisp_Object); Lisp_Object Fleq (int, Lisp_Object*); Lisp_Object Flist (int, Lisp_Object*); Lisp_Object Flistp (Lisp_Object); Lisp_Object Flss (int, Lisp_Object*); Lisp_Object Fmake_byte_code (int, Lisp_Object*); Lisp_Object Fmake_coding_system (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fmake_glyph_internal (Lisp_Object); Lisp_Object Fmake_hashtable (Lisp_Object,Lisp_Object); Lisp_Object Fmake_list (Lisp_Object,Lisp_Object); Lisp_Object Fmake_marker (void); Lisp_Object Fmake_range_table (void); Lisp_Object Fmake_sparse_keymap (Lisp_Object); Lisp_Object Fmake_string (Lisp_Object,Lisp_Object); Lisp_Object Fmake_symbol (Lisp_Object); Lisp_Object Fmake_vector (Lisp_Object,Lisp_Object); Lisp_Object Fmapcar (Lisp_Object,Lisp_Object); Lisp_Object Fmarker_buffer (Lisp_Object); Lisp_Object Fmarker_position (Lisp_Object); Lisp_Object Fmatch_beginning (Lisp_Object); Lisp_Object Fmatch_end (Lisp_Object); Lisp_Object Fmax (int, Lisp_Object*); Lisp_Object Fmember (Lisp_Object,Lisp_Object); Lisp_Object Fmemq (Lisp_Object,Lisp_Object); Lisp_Object Fmin (int, Lisp_Object*); Lisp_Object Fminus (int, Lisp_Object*); Lisp_Object Fnarrow_to_region (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fnconc (int, Lisp_Object*); Lisp_Object Fnext_event (Lisp_Object,Lisp_Object); Lisp_Object Fnreverse (Lisp_Object); Lisp_Object Fnthcdr (Lisp_Object,Lisp_Object); Lisp_Object Fnumber_to_string (Lisp_Object); Lisp_Object Fold_assq (Lisp_Object,Lisp_Object); Lisp_Object Fold_equal (Lisp_Object,Lisp_Object); Lisp_Object Fold_member (Lisp_Object,Lisp_Object); Lisp_Object Fold_memq (Lisp_Object,Lisp_Object); Lisp_Object Fplist_get (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fplist_put (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fplus (int, Lisp_Object*); Lisp_Object Fpoint (Lisp_Object); Lisp_Object Fpoint_marker (Lisp_Object,Lisp_Object); Lisp_Object Fpoint_max (Lisp_Object); Lisp_Object Fpoint_min (Lisp_Object); Lisp_Object Fpreceding_char (Lisp_Object); Lisp_Object Fprefix_numeric_value (Lisp_Object); Lisp_Object Fprin1 (Lisp_Object,Lisp_Object); Lisp_Object Fprin1_to_string (Lisp_Object,Lisp_Object); Lisp_Object Fprinc (Lisp_Object,Lisp_Object); Lisp_Object Fprint (Lisp_Object,Lisp_Object); Lisp_Object Fprocess_status (Lisp_Object); Lisp_Object Fprogn (Lisp_Object); Lisp_Object Fprovide (Lisp_Object); Lisp_Object Fpurecopy (Lisp_Object); Lisp_Object Fput (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fput_range_table (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fput_text_property (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fputhash (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fquo (int, Lisp_Object*); Lisp_Object Frassq (Lisp_Object,Lisp_Object); Lisp_Object Fread (Lisp_Object); Lisp_Object Fread_key_sequence (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Freally_free (Lisp_Object); Lisp_Object Frem (Lisp_Object,Lisp_Object); Lisp_Object Fremassq (Lisp_Object,Lisp_Object); Lisp_Object Fselected_frame (Lisp_Object); Lisp_Object Fset (Lisp_Object,Lisp_Object); Lisp_Object Fset_coding_category_system (Lisp_Object,Lisp_Object); Lisp_Object Fset_coding_priority_list (Lisp_Object); Lisp_Object Fset_default (Lisp_Object,Lisp_Object); Lisp_Object Fset_marker (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fset_standard_case_table (Lisp_Object); Lisp_Object Fsetcar (Lisp_Object,Lisp_Object); Lisp_Object Fsetcdr (Lisp_Object,Lisp_Object); Lisp_Object Fsignal (Lisp_Object,Lisp_Object); Lisp_Object Fsit_for (Lisp_Object,Lisp_Object); Lisp_Object Fskip_chars_backward (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fskip_chars_forward (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fsleep_for (Lisp_Object); Lisp_Object Fsort (Lisp_Object,Lisp_Object); Lisp_Object Fspecifier_spec_list (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fstring_equal (Lisp_Object,Lisp_Object); Lisp_Object Fstring_lessp (Lisp_Object,Lisp_Object); Lisp_Object Fstring_match (Lisp_Object,Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fsub1 (Lisp_Object); Lisp_Object Fsubr_max_args (Lisp_Object); Lisp_Object Fsubr_min_args (Lisp_Object); Lisp_Object Fsubsidiary_coding_system (Lisp_Object,Lisp_Object); Lisp_Object Fsubstitute_command_keys (Lisp_Object); Lisp_Object Fsubstitute_in_file_name (Lisp_Object); Lisp_Object Fsubstring (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fsymbol_function (Lisp_Object); Lisp_Object Fsymbol_name (Lisp_Object); Lisp_Object Fsymbol_plist (Lisp_Object); Lisp_Object Fsymbol_value (Lisp_Object); Lisp_Object Fthrow (Lisp_Object,Lisp_Object); Lisp_Object Ftimes (int, Lisp_Object*); Lisp_Object Ftruncate (Lisp_Object); Lisp_Object Fundo_boundary (void); Lisp_Object Funhandled_file_name_directory (Lisp_Object); Lisp_Object Funlock_buffer (void); Lisp_Object Fupcase (Lisp_Object,Lisp_Object); Lisp_Object Fupcase_initials (Lisp_Object,Lisp_Object); Lisp_Object Fupcase_initials_region (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fupcase_region (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fuser_home_directory (void); Lisp_Object Fuser_login_name (Lisp_Object); Lisp_Object Fvector (int, Lisp_Object*); Lisp_Object Fverify_visited_file_modtime (Lisp_Object); Lisp_Object Fvertical_motion (Lisp_Object,Lisp_Object,Lisp_Object); Lisp_Object Fwiden (Lisp_Object); extern Lisp_Object Q_style, Qactually_requested, Qactivate_menubar_hook; extern Lisp_Object Qafter, Qall, Qand; extern Lisp_Object Qarith_error, Qarrayp, Qassoc, Qat, Qautodetect, Qautoload; extern Lisp_Object Qbackground, Qbackground_pixmap, Qbad_variable, Qbefore; extern Lisp_Object Qbeginning_of_buffer, Qbig5, Qbinary, Qbitmap, Qbitp, Qblinking; extern Lisp_Object Qboolean, Qbottom, Qbuffer, Qbuffer_file_coding_system; extern Lisp_Object Qbuffer_glyph_p, Qbuffer_live_p, Qbuffer_read_only, Qbutton; extern Lisp_Object Qbyte_code, Qcall_interactively, Qcategory; extern Lisp_Object Qcategory_designator_p, Qcategory_table_value_p, Qccl, Qcdr; extern Lisp_Object Qchannel, Qchar, Qchar_or_string_p, Qcharacter, Qcharacterp; extern Lisp_Object Qchars, Qcharset_g0, Qcharset_g1, Qcharset_g2, Qcharset_g3; extern Lisp_Object Qcircular_property_list, Qcoding_system_error; extern Lisp_Object Qcoding_system_p, Qcolor, Qcolor_pixmap_image_instance_p; extern Lisp_Object Qcolumns, Qcommand, Qcommandp, Qcompletion_ignore_case; extern Lisp_Object Qconsole, Qconsole_live_p, Qconst_specifier, Qcr, Qcritical; extern Lisp_Object Qcrlf, Qctext, Qcurrent_menubar, Qcursor; extern Lisp_Object Qcyclic_variable_indirection, Qdata, Qdead, Qdecode; extern Lisp_Object Qdefault, Qdefun, Qdelete, Qdelq, Qdevice, Qdevice_live_p; extern Lisp_Object Qdim, Qdimension, Qdisabled, Qdisplay, Qdisplay_table; extern Lisp_Object Qdoc_string, Qdomain_error, Qdynarr_overhead; extern Lisp_Object Qempty, Qencode, Qend_of_buffer, Qend_of_file, Qend_open; extern Lisp_Object Qeol_cr, Qeol_crlf, Qeol_lf, Qeol_type, Qeq, Qeql, Qequal; extern Lisp_Object Qerror, Qerror_conditions, Qerror_message, Qescape_quoted; extern Lisp_Object Qeval, Qevent_live_p, Qexit, Qextent_live_p, Qextents; extern Lisp_Object Qexternal_debugging_output, Qface, Qfeaturep, Qfile_error; extern Lisp_Object Qfont, Qforce_g0_on_output, Qforce_g1_on_output; extern Lisp_Object Qforce_g2_on_output, Qforce_g3_on_output, Qforeground; extern Lisp_Object Qformat, Qframe, Qframe_live_p, Qfunction, Qgap_overhead; extern Lisp_Object Qgeneric, Qgeometry, Qglobal, Qheight, Qhighlight, Qicon; extern Lisp_Object Qicon_glyph_p, Qid, Qidentity, Qimage, Qinfo, Qinherit; extern Lisp_Object Qinhibit_quit, Qinhibit_read_only; extern Lisp_Object Qinput_charset_conversion, Qinteger; extern Lisp_Object Qinteger_char_or_marker_p, Qinteger_or_char_p; extern Lisp_Object Qinteger_or_marker_p, Qintegerp, Qinteractive, Qinternal; extern Lisp_Object Qinvalid_function, Qinvalid_read_syntax, Qio_error; extern Lisp_Object Qiso2022, Qkey, Qkey_assoc, Qkeymap, Qlambda, Qleft, Qlf; extern Lisp_Object Qlist, Qlistp, Qload, Qlock_shift, Qmacro, Qmagic; extern Lisp_Object Qmalformed_property_list, Qmalloc_overhead, Qmark, Qmarkers; extern Lisp_Object Qmax, Qmemory, Qmessage, Qminus, Qmnemonic, Qmodifiers; extern Lisp_Object Qmono_pixmap_image_instance_p, Qmotion; extern Lisp_Object Qmouse_leave_buffer_hook, Qmswindows, Qname, Qnas, Qnatnump; extern Lisp_Object Qnil, Qno_ascii_cntl, Qno_ascii_eol, Qno_catch; extern Lisp_Object Qno_conversion, Qno_iso6429, Qnone, Qnot, Qnothing; extern Lisp_Object Qnothing_image_instance_p, Qnotice; extern Lisp_Object Qnumber_char_or_marker_p, Qnumber_or_marker_p, Qnumberp; extern Lisp_Object Qobject, Qold_assoc, Qold_delete, Qold_delq, Qold_rassoc; extern Lisp_Object Qold_rassq, Qonly, Qor, Qother, Qoutput_charset_conversion; extern Lisp_Object Qoverflow_error, Qpath, Qpoint, Qpointer, Qpointer_glyph_p; extern Lisp_Object Qpointer_image_instance_p, Qpost_read_conversion; extern Lisp_Object Qpre_write_conversion, Qprint, Qprint_length; extern Lisp_Object Qprint_string_length, Qprocess, Qprogn, Qprovide, Qquit; extern Lisp_Object Qquote, Qrange_error, Qrassoc, Qrassq, Qread_char; extern Lisp_Object Qread_from_minibuffer, Qreally_early_error_handler; extern Lisp_Object Qregion_beginning, Qregion_end, Qrequire, Qresource; extern Lisp_Object Qreturn, Qreverse, Qright, Qrun_hooks, Qsans_modifiers; extern Lisp_Object Qsave_buffers_kill_emacs, Qsearch, Qself_insert_command; extern Lisp_Object Qsequencep, Qsetting_constant, Qseven, Qshift_jis, Qshort; extern Lisp_Object Qsignal, Qsimple, Qsingularity_error, Qsize, Qspace; extern Lisp_Object Qspecifier, Qstandard_input, Qstandard_output, Qstart_open; extern Lisp_Object Qstream, Qstring, Qstring_lessp; extern Lisp_Object Qsubwindow_image_instance_p, Qsymbol, Qsyntax, Qt, Qtest; extern Lisp_Object Qtext, Qtext_image_instance_p, Qtimeout, Qtimestamp; extern Lisp_Object Qtoolbar, Qtop, Qtop_level, Qtrue_list_p, Qtty, Qtype; extern Lisp_Object Qunbound, Qundecided, Qundefined, Qunderflow_error; extern Lisp_Object Qunderline, Qunimplemented, Quser_files_and_directories; extern Lisp_Object Qvalue_assoc, Qvalues; extern Lisp_Object Qvariable_documentation, Qvariable_domain, Qvector; extern Lisp_Object Qvoid_function, Qvoid_variable, Qwarning, Qwidth, Qwindow; extern Lisp_Object Qwindow_live_p, Qwindow_system, Qwrong_number_of_arguments; extern Lisp_Object Qwrong_type_argument, Qx, Qy, Qyes_or_no_p; extern Lisp_Object Vactivate_menubar_hook, Vascii_canon_table; extern Lisp_Object Vascii_downcase_table, Vascii_eqv_table; extern Lisp_Object Vascii_upcase_table, Vautoload_queue, Vbinary_process_input; extern Lisp_Object Vbinary_process_output, Vblank_menubar; extern Lisp_Object Vcharset_ascii, Vcharset_composite, Vcharset_control_1; extern Lisp_Object Vcoding_system_for_read, Vcoding_system_for_write; extern Lisp_Object Vcoding_system_hashtable, Vcommand_history; extern Lisp_Object Vcommand_line_args, Vconfigure_info_directory; extern Lisp_Object Vconsole_list, Vcontrolling_terminal; extern Lisp_Object Vcurrent_compiled_function_annotation, Vcurrent_load_list; extern Lisp_Object Vcurrent_mouse_event, Vcurrent_prefix_arg, Vdata_directory; extern Lisp_Object Vdirectory_sep_char, Vdisabled_command_hook; extern Lisp_Object Vdoc_directory, Vinternal_doc_file_name; extern Lisp_Object Vecho_area_buffer, Vemacs_major_version; extern Lisp_Object Vemacs_minor_version, Vexec_directory, Vexec_path; extern Lisp_Object Vexecuting_macro, Vfeatures, Vfile_domain; extern Lisp_Object Vfile_name_coding_system, Vinhibit_quit; extern Lisp_Object Vinvocation_directory, Vinvocation_name; extern Lisp_Object Vkeyboard_coding_system, Vlast_command, Vlast_command_char; extern Lisp_Object Vlast_command_event, Vlast_input_event; extern Lisp_Object Vload_file_name_internal; extern Lisp_Object Vload_file_name_internal_the_purecopy, Vload_history; extern Lisp_Object Vload_path, Vmark_even_if_inactive, Vmenubar_configuration; extern Lisp_Object Vminibuf_preprompt, Vminibuf_prompt, Vminibuffer_zero; extern Lisp_Object Vmirror_ascii_canon_table, Vmirror_ascii_downcase_table; extern Lisp_Object Vmirror_ascii_eqv_table, Vmirror_ascii_upcase_table; extern Lisp_Object Vmswindows_downcase_file_names; extern Lisp_Object Vmswindows_get_true_file_attributes, Vobarray; extern Lisp_Object Vprint_length, Vprint_level, Vprocess_environment; extern Lisp_Object Vpure_uninterned_symbol_table, Vquit_flag; extern Lisp_Object Vrecent_keys_ring, Vshell_file_name, Vsite_directory; extern Lisp_Object Vstandard_input, Vstandard_output, Vstdio_str; extern Lisp_Object Vsynchronous_sounds, Vsystem_name, Vterminal_coding_system; extern Lisp_Object Vthis_command_keys, Vunread_command_event; extern Lisp_Object Vwin32_generate_fake_inodes, Vwin32_pipe_read_delay; extern Lisp_Object Vx_initial_argv_list; # 41 "ralloc.c" 2 # 54 "ralloc.c" typedef unsigned char *POINTER; typedef unsigned long SIZE; # 1 "/usr/include/malloc.h" 1 3 # 44 "/usr/include/malloc.h" 3 # 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 1 3 # 147 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/stddef.h" 3 typedef int ptrdiff_t; # 45 "/usr/include/malloc.h" 2 3 # 113 "/usr/include/malloc.h" 3 extern void * malloc (size_t __size) __attribute__ ((__malloc__)); extern void * calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void * realloc (void * __ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void * __ptr) ; extern void cfree (void * __ptr) ; extern void * memalign (size_t __alignment, size_t __size) ; extern void * valloc (size_t __size) __attribute__ ((__malloc__)); extern void * pvalloc (size_t __size) __attribute__ ((__malloc__)); extern void * (*__morecore) (ptrdiff_t __size); extern void * __default_morecore (ptrdiff_t __size) __attribute__ ((__malloc__)); struct mallinfo { int arena; int ordblks; int smblks; int hblks; int hblkhd; int usmblks; int fsmblks; int uordblks; int fordblks; int keepcost; }; extern struct mallinfo mallinfo (void) ; # 189 "/usr/include/malloc.h" 3 extern int mallopt (int __param, int __val) ; extern int malloc_trim (size_t __pad) ; extern size_t malloc_usable_size (void * __ptr) ; extern void malloc_stats (void) ; extern void * malloc_get_state (void) ; extern int malloc_set_state (void * __ptr) ; extern void (*__malloc_initialize_hook) (void); extern void (*__free_hook) (void * __ptr, __const void *); extern void * (*__malloc_hook) (size_t __size, __const void *); extern void * (*__realloc_hook) (void * __ptr, size_t __size, __const void *); extern void * (*__memalign_hook) (size_t __alignment, size_t __size, __const void *); extern void (*__after_morecore_hook) (void); extern void __malloc_check_init (void) ; # 61 "ralloc.c" 2 # 1 "getpagesize.h" 1 # 64 "ralloc.c" 2 void refill_memory_reserve (void); # 81 "ralloc.c" void init_ralloc (void); # 95 "ralloc.c" static int r_alloc_initialized = 0; static POINTER (*real_morecore) (long size); static POINTER virtual_break_value; static POINTER break_value; static int page_size; static int extra_bytes; # 143 "ralloc.c" typedef struct heap { struct heap *next; struct heap *prev; POINTER start; POINTER end; POINTER bloc_start; POINTER free; struct bp *first_bloc; struct bp *last_bloc; } *heap_ptr; static struct heap heap_base; static heap_ptr first_heap, last_heap; # 182 "ralloc.c" typedef struct bp { struct bp *next; struct bp *prev; POINTER *variable; POINTER data; SIZE size; POINTER new_data; struct heap *heap; } *bloc_ptr; static bloc_ptr first_bloc, last_bloc; static int use_relocatable_buffers; static int r_alloc_freeze_level; # 215 "ralloc.c" static heap_ptr find_heap (POINTER address) { heap_ptr heap; for (heap = last_heap; heap; heap = heap->prev) { if (heap->start <= address && address <= heap->end) return heap; } return ((heap_ptr) 0); } # 247 "ralloc.c" static POINTER obtain (POINTER address, SIZE size) { heap_ptr heap; SIZE already_available; for (heap = last_heap; heap; heap = heap->prev) { if (heap->start <= address && address <= heap->end) break; } if (! heap) (assert_failed ("ralloc.c", 261, "abort()")); while (heap && address + size > heap->end) { heap = heap->next; if (heap == ((heap_ptr) 0)) break; address = heap->bloc_start; } if (heap == ((heap_ptr) 0)) { POINTER new = (*real_morecore)(0); SIZE get; already_available = (char *)last_heap->end - (char *)address; if (new != last_heap->end) { heap_ptr new_heap = (heap_ptr) (((unsigned long int)(new) + sizeof(double) - 1) & ~(sizeof(double) - 1)); POINTER bloc_start = (POINTER) (((unsigned long int)((POINTER)(new_heap + 1)) + sizeof(double) - 1) & ~(sizeof(double) - 1)); if ((*real_morecore) (bloc_start - new) != new) return 0; new_heap->start = new; new_heap->end = bloc_start; new_heap->bloc_start = bloc_start; new_heap->free = bloc_start; new_heap->next = ((heap_ptr) 0); new_heap->prev = last_heap; new_heap->first_bloc = ((bloc_ptr) 0); new_heap->last_bloc = ((bloc_ptr) 0); last_heap->next = new_heap; last_heap = new_heap; address = bloc_start; already_available = 0; } get = size + extra_bytes - already_available; get = (char *) (((unsigned long int) ((char *)last_heap->end + get) + page_size - 1) & ~(page_size - 1)) - (char *) last_heap->end; if ((*real_morecore) (get) != last_heap->end) return 0; last_heap->end += get; } return address; } # 341 "ralloc.c" static void relinquish () { heap_ptr h; int excess = 0; for (h = last_heap; h && break_value < h->end; h = h->prev) { excess += (char *) h->end - (char *) ((break_value < h->bloc_start) ? h->bloc_start : break_value); } if (excess > extra_bytes * 2 && (*real_morecore) (0) == last_heap->end) { excess -= extra_bytes; if ((char *)last_heap->end - (char *)last_heap->bloc_start <= excess) { if (last_heap->first_bloc != ((bloc_ptr) 0) || last_heap->last_bloc != ((bloc_ptr) 0)) (assert_failed ("ralloc.c", 367, "abort()")); excess = (char *)last_heap->end - (char *)last_heap->start; last_heap = last_heap->prev; last_heap->next = ((heap_ptr) 0); } else { excess = (char *) last_heap->end - (char *) (((unsigned long int) ((char *)last_heap->end - excess) + page_size - 1) & ~(page_size - 1)); last_heap->end -= excess; } if ((*real_morecore) (- excess) == 0) (assert_failed ("ralloc.c", 382, "abort()")); } } long r_alloc_size_in_use (void); long r_alloc_size_in_use () { return break_value - virtual_break_value; } static bloc_ptr find_bloc (POINTER *ptr) { bloc_ptr p = first_bloc; while (p != ((bloc_ptr) 0)) { if (p->variable == ptr && p->data == *ptr) return p; p = p->next; } return p; } static bloc_ptr get_bloc (SIZE size) { bloc_ptr new_bloc; heap_ptr heap; if (! (new_bloc = (bloc_ptr) malloc ((sizeof (struct bp)))) || ! (new_bloc->data = obtain (break_value, size))) { if (new_bloc) free (new_bloc); return 0; } break_value = new_bloc->data + size; new_bloc->size = size; new_bloc->next = ((bloc_ptr) 0); new_bloc->variable = (POINTER *) ((POINTER) 0); new_bloc->new_data = 0; heap = find_heap (new_bloc->data); heap->free = break_value; new_bloc->heap = heap; heap->last_bloc = new_bloc; if (heap->first_bloc == ((bloc_ptr) 0)) heap->first_bloc = new_bloc; if (first_bloc) { new_bloc->prev = last_bloc; last_bloc->next = new_bloc; last_bloc = new_bloc; } else { first_bloc = last_bloc = new_bloc; new_bloc->prev = ((bloc_ptr) 0); } return new_bloc; } # 478 "ralloc.c" static int relocate_blocs (bloc_ptr bloc, heap_ptr heap, POINTER address) { bloc_ptr b = bloc; if (r_alloc_freeze_level) (assert_failed ("ralloc.c", 485, "abort()")); while (b) { while (heap && address + b->size > heap->end) { heap = heap->next; if (heap == ((heap_ptr) 0)) break; address = heap->bloc_start; } if (heap == ((heap_ptr) 0)) { bloc_ptr tb = b; SIZE s = 0; while (tb != ((bloc_ptr) 0)) { if (tb->variable) s += tb->size; tb = tb->next; } address = obtain (address, s); if (address == 0) return 0; heap = last_heap; } b->new_data = address; if (b->variable) address += b->size; b = b->next; } return 1; } # 568 "ralloc.c" static void update_heap_bloc_correspondence (bloc_ptr bloc, heap_ptr heap) { bloc_ptr b; if (bloc != ((bloc_ptr) 0) && bloc->prev != ((bloc_ptr) 0) && bloc->prev->heap == heap) { heap->last_bloc = bloc->prev; heap->free = bloc->prev->data + bloc->prev->size; } else { heap->first_bloc = ((bloc_ptr) 0); heap->last_bloc = ((bloc_ptr) 0); heap->free = heap->bloc_start; } for (b = bloc; b != ((bloc_ptr) 0); b = b->next) { while (heap) { if (heap->bloc_start <= b->data && b->data <= heap->end) break; heap = heap->next; heap->first_bloc = ((bloc_ptr) 0); heap->last_bloc = ((bloc_ptr) 0); heap->free = heap->bloc_start; } heap->free = b->data + b->size; heap->last_bloc = b; if (heap->first_bloc == ((bloc_ptr) 0)) heap->first_bloc = b; b->heap = heap; } heap = heap->next; while (heap) { heap->first_bloc = ((bloc_ptr) 0); heap->last_bloc = ((bloc_ptr) 0); heap->free = heap->bloc_start; heap = heap->next; } } static int resize_bloc (bloc_ptr bloc, SIZE size) { bloc_ptr b; heap_ptr heap; POINTER address; SIZE old_size; if (r_alloc_freeze_level) (assert_failed ("ralloc.c", 640, "abort()")); if (bloc == ((bloc_ptr) 0) || size == bloc->size) return 1; for (heap = first_heap; heap != ((heap_ptr) 0); heap = heap->next) { if (heap->bloc_start <= bloc->data && bloc->data <= heap->end) break; } if (heap == ((heap_ptr) 0)) (assert_failed ("ralloc.c", 652, "abort()")); old_size = bloc->size; bloc->size = size; address = (bloc->prev ? bloc->prev->data + bloc->prev->size : first_heap->bloc_start); while (heap) { if (heap->bloc_start <= address && address <= heap->end) break; heap = heap->prev; } if (! relocate_blocs (bloc, heap, address)) { bloc->size = old_size; return 0; } if (size > old_size) { for (b = last_bloc; b != bloc; b = b->prev) { if (!b->variable) { b->size = 0; b->data = b->new_data; } else { memmove (b->new_data, b->data, b->size); *b->variable = b->data = b->new_data; } } if (!bloc->variable) { bloc->size = 0; bloc->data = bloc->new_data; } else { memmove (bloc->new_data, bloc->data, old_size); (__extension__ (__builtin_constant_p (size - old_size) && (size - old_size) <= 16 ? ((size - old_size) == 1 ? ({ void *__s = (bloc->new_data + old_size); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (bloc->new_data + old_size); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (size - old_size)) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (bloc->new_data + old_size); __builtin_memset (__s, '\0', size - old_size); __s; }) : memset (bloc->new_data + old_size, 0, size - old_size)))); *bloc->variable = bloc->data = bloc->new_data; } } else { for (b = bloc; b != ((bloc_ptr) 0); b = b->next) { if (!b->variable) { b->size = 0; b->data = b->new_data; } else { memmove (b->new_data, b->data, b->size); *b->variable = b->data = b->new_data; } } } update_heap_bloc_correspondence (bloc, heap); break_value = (last_bloc ? last_bloc->data + last_bloc->size : first_heap->bloc_start); return 1; } static void free_bloc (bloc_ptr bloc) { heap_ptr heap = bloc->heap; if (r_alloc_freeze_level) { bloc->variable = (POINTER *) ((POINTER) 0); return; } resize_bloc (bloc, 0); if (bloc == first_bloc && bloc == last_bloc) { first_bloc = last_bloc = ((bloc_ptr) 0); } else if (bloc == last_bloc) { last_bloc = bloc->prev; last_bloc->next = ((bloc_ptr) 0); } else if (bloc == first_bloc) { first_bloc = bloc->next; first_bloc->prev = ((bloc_ptr) 0); } else { bloc->next->prev = bloc->prev; bloc->prev->next = bloc->next; } if (heap->first_bloc == bloc) { if (bloc->next != 0 && bloc->next->heap == heap) heap->first_bloc = bloc->next; else heap->first_bloc = heap->last_bloc = ((bloc_ptr) 0); } if (heap->last_bloc == bloc) { if (bloc->prev != 0 && bloc->prev->heap == heap) heap->last_bloc = bloc->prev; else heap->first_bloc = heap->last_bloc = ((bloc_ptr) 0); } relinquish (); free (bloc); } # 793 "ralloc.c" POINTER r_alloc_sbrk (long size); POINTER r_alloc_sbrk (long size) { bloc_ptr b; POINTER address; if (! r_alloc_initialized) init_ralloc (); if (! use_relocatable_buffers) return (*real_morecore) (size); if (size == 0) return virtual_break_value; if (size > 0) { POINTER new_bloc_start; heap_ptr h = first_heap; SIZE get = (((unsigned long int) (size) + page_size - 1) & ~(page_size - 1)); address = (POINTER) (((unsigned long int) (virtual_break_value) + page_size - 1) & ~(page_size - 1)); while ((char *) h->end < (char *) (((unsigned long int)((char *)address + get) + sizeof(double) - 1) & ~(sizeof(double) - 1))) { h = h->next; if (h == ((heap_ptr) 0)) break; address = (POINTER) (((unsigned long int) (h->start) + page_size - 1) & ~(page_size - 1)); } if (h == ((heap_ptr) 0)) { get += extra_bytes + page_size; if (! obtain (address, get)) return 0; if (first_heap == last_heap) address = (POINTER) (((unsigned long int) (virtual_break_value) + page_size - 1) & ~(page_size - 1)); else address = (POINTER) (((unsigned long int) (last_heap->start) + page_size - 1) & ~(page_size - 1)); h = last_heap; } new_bloc_start = (POINTER) (((unsigned long int)((char *)address + get) + sizeof(double) - 1) & ~(sizeof(double) - 1)); if (first_heap->bloc_start < new_bloc_start) { if (r_alloc_freeze_level) return ((POINTER) 0); if (! relocate_blocs (first_bloc, h, new_bloc_start)) return 0; for (b = last_bloc; b != ((bloc_ptr) 0); b = b->prev) { memmove (b->new_data, b->data, b->size); *b->variable = b->data = b->new_data; } h->bloc_start = new_bloc_start; update_heap_bloc_correspondence (first_bloc, h); } if (h != first_heap) { first_heap->prev = ((heap_ptr) 0); first_heap->next = h->next; first_heap->start = h->start; first_heap->end = h->end; first_heap->free = h->free; first_heap->first_bloc = h->first_bloc; first_heap->last_bloc = h->last_bloc; first_heap->bloc_start = h->bloc_start; if (first_heap->next) first_heap->next->prev = first_heap; else last_heap = first_heap; } (__extension__ (__builtin_constant_p (size) && (size) <= 16 ? ((size) == 1 ? ({ void *__s = (address); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (address); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (size)) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (address); __builtin_memset (__s, '\0', size); __s; }) : memset (address, 0, size)))); } else { SIZE excess = (char *)first_heap->bloc_start - ((char *)virtual_break_value + size); address = virtual_break_value; if (r_alloc_freeze_level == 0 && excess > 2 * extra_bytes) { excess -= extra_bytes; first_heap->bloc_start = (POINTER) (((unsigned long int)((char *)first_heap->bloc_start - excess) + sizeof(double) - 1) & ~(sizeof(double) - 1)); relocate_blocs (first_bloc, first_heap, first_heap->bloc_start); for (b = first_bloc; b != ((bloc_ptr) 0); b = b->next) { memmove (b->new_data, b->data, b->size); *b->variable = b->data = b->new_data; } } if ((char *)virtual_break_value + size < (char *)first_heap->start) { first_heap->start = (POINTER) ((char *)virtual_break_value + size); } } virtual_break_value = (POINTER) ((char *)address + size); break_value = (last_bloc ? last_bloc->data + last_bloc->size : first_heap->bloc_start); if (size < 0) relinquish (); return address; } # 944 "ralloc.c" POINTER r_alloc (POINTER *ptr, SIZE size); POINTER r_alloc (POINTER *ptr, SIZE size) { bloc_ptr new_bloc; if (! r_alloc_initialized) init_ralloc (); new_bloc = get_bloc (size); if (new_bloc) { new_bloc->variable = ptr; *ptr = new_bloc->data; } else *ptr = 0; return *ptr; } void r_alloc_free (POINTER *ptr); void r_alloc_free (POINTER *ptr) { bloc_ptr dead_bloc; if (! r_alloc_initialized) init_ralloc (); dead_bloc = find_bloc (ptr); if (dead_bloc == ((bloc_ptr) 0)) (assert_failed ("ralloc.c", 979, "abort()")); free_bloc (dead_bloc); *ptr = 0; refill_memory_reserve (); } # 1003 "ralloc.c" POINTER r_re_alloc (POINTER *ptr, SIZE size); POINTER r_re_alloc (POINTER *ptr, SIZE size) { bloc_ptr bloc; if (! r_alloc_initialized) init_ralloc (); if (!*ptr) return r_alloc (ptr, size); if (!size) { r_alloc_free (ptr); return r_alloc (ptr, 0); } bloc = find_bloc (ptr); if (bloc == ((bloc_ptr) 0)) (assert_failed ("ralloc.c", 1022, "abort()")); if (size < bloc->size) { if ((bloc->size - (((unsigned long int)(size) + sizeof(double) - 1) & ~(sizeof(double) - 1)) >= page_size) && r_alloc_freeze_level == 0) { resize_bloc (bloc, (((unsigned long int)(size) + sizeof(double) - 1) & ~(sizeof(double) - 1))); } } else if (size > bloc->size) { if (r_alloc_freeze_level) { bloc_ptr new_bloc; new_bloc = get_bloc ((((unsigned long int)(size) + sizeof(double) - 1) & ~(sizeof(double) - 1))); if (new_bloc) { new_bloc->variable = ptr; *ptr = new_bloc->data; bloc->variable = (POINTER *) ((POINTER) 0); } else return ((POINTER) 0); } else { if (! resize_bloc (bloc, (((unsigned long int)(size) + sizeof(double) - 1) & ~(sizeof(double) - 1)))) return ((POINTER) 0); } } return *ptr; } void r_alloc_freeze (long size); void r_alloc_freeze (long size) { if (! r_alloc_initialized) init_ralloc (); if (r_alloc_freeze_level > 0) size = 0; while (size > 0 && r_alloc_sbrk (size) == 0) size /= 2; ++r_alloc_freeze_level; if (size > 0) r_alloc_sbrk (-size); } void r_alloc_thaw (void); void r_alloc_thaw () { if (! r_alloc_initialized) init_ralloc (); if (--r_alloc_freeze_level < 0) (assert_failed ("ralloc.c", 1092, "abort()")); if (!r_alloc_freeze_level) { bloc_ptr *b = &first_bloc; while (*b) if (!(*b)->variable) free_bloc (*b); else b = &(*b)->next; } } # 1120 "ralloc.c" void init_ralloc (void) { if (r_alloc_initialized) return; r_alloc_initialized = 1; (*((void **) (&real_morecore)) = ((void *) (__morecore))); (*((void **) (&__morecore)) = ((void *) (r_alloc_sbrk))); first_heap = last_heap = &heap_base; first_heap->next = first_heap->prev = ((heap_ptr) 0); first_heap->start = first_heap->bloc_start = virtual_break_value = break_value = (*real_morecore) (0); if (break_value == ((POINTER) 0)) (assert_failed ("ralloc.c", 1135, "abort()")); page_size = (getpagesize ()); extra_bytes = (((unsigned long int) (50000) + page_size - 1) & ~(page_size - 1)); mallopt (-2, 64 * 4096); # 1150 "ralloc.c" first_heap->end = (POINTER) (((unsigned long int) (first_heap->start) + page_size - 1) & ~(page_size - 1)); (*real_morecore) (first_heap->end - first_heap->start); (__extension__ (__builtin_constant_p (first_heap->end - first_heap->start) && (first_heap->end - first_heap->start) <= 16 ? ((first_heap->end - first_heap->start) == 1 ? ({ void *__s = (first_heap->start); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (first_heap->start); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (first_heap->end - first_heap->start)) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (first_heap->start); __builtin_memset (__s, '\0', first_heap->end - first_heap->start); __s; }) : memset (first_heap->start, 0, first_heap->end - first_heap->start)))); virtual_break_value = break_value = first_heap->bloc_start = first_heap->end; use_relocatable_buffers = 1; } void r_alloc_reinit (void); void r_alloc_reinit () { if ( ((void*) __morecore) != (void *) (r_alloc_sbrk)) { (*((void **) (&real_morecore)) = ((void *) (__morecore))); (*((void **) (&__morecore)) = ((void *) (r_alloc_sbrk))); } }