Mercurial > hg > xemacs-beta
view src/s/freebsd.h @ 5038:9410323e4b0d
major dynarr fixes
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-20 Ben Wing <ben@xemacs.org>
* device-x.c (Fx_get_resource):
* dynarr.c:
* dynarr.c (Dynarr_realloc):
* dynarr.c (Dynarr_newf):
* dynarr.c (Dynarr_lisp_realloc):
* dynarr.c (Dynarr_lisp_newf):
* dynarr.c (Dynarr_resize):
* dynarr.c (Dynarr_insert_many):
* dynarr.c (Dynarr_delete_many):
* dynarr.c (Dynarr_memory_usage):
* dynarr.c (stack_like_free):
* file-coding.c (coding_reader):
* file-coding.c (gzip_convert):
* gutter.c (output_gutter):
* lisp.h:
* lisp.h (Dynarr_declare):
* lisp.h (DYNARR_SET_LISP_IMP):
* lisp.h (CHECK_NATNUM):
* profile.c (create_timing_profile_table):
* redisplay-output.c (sync_rune_structs):
* redisplay-output.c (sync_display_line_structs):
* redisplay-output.c (redisplay_output_window):
* redisplay.c:
* redisplay.c (get_display_block_from_line):
* redisplay.c (add_ichar_rune_1):
* redisplay.c (ensure_modeline_generated):
* redisplay.c (generate_displayable_area):
* redisplay.c (regenerate_window):
* redisplay.c (update_line_start_cache):
* signal.c:
* signal.c (check_quit):
Lots of rewriting of dynarr code.
(1) Lots of documentation added. Also fix places that
referenced a now-bogus internals node concerning redisplay
critical sections.
(2) Rename:
Dynarr_add_lisp_string -> Dynarr_add_ext_lisp_string
Dynarr_set_length -> Dynarr_set_lengthr ("restricted")
Dynarr_increment -> Dynarr_incrementr
Dynarr_resize_if -> Dynarr_resize_to_add
(3) New functions:
Dynarr_elsize = dy->elsize_
Dynarr_set_length(): Set length, resizing as necessary
Dynarr_set_length_and_zero(): Set length, resizing as necessary,
zeroing out new elements
Dynarr_increase_length(), Dynarr_increase_length_and_zero():
Optimization of Dynarr_set_length(), Dynarr_set_length_and_zero()
when size is known to increase
Dynarr_resize_to_fit(): Resize as necessary to fit a given length.
Dynarr_set(): Set element at a given position, increasing length
as necessary and setting any newly created positions to 0
(4) Use Elemcount, Bytecount.
(5) Rewrite many macros as inline functions.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 20 Feb 2010 03:46:22 -0600 |
parents | 22858d5a5a7f |
children | 861f2601a38b |
line wrap: on
line source
/* Synched up with: FSF 19.31. */ /* s/ file for freebsd system. */ /* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up. Earlier versions do not have shared libraries, so inhibit them. You can inhibit them on newer systems if you wish by defining NO_SHARED_LIBS. */ #ifndef __FreeBSD__ #define NO_SHARED_LIBS #endif /* Get most of the stuff from bsd4.3 */ #include "bsd4-3.h" /* For mem-limits.h. */ #define BSD4_2 /* These aren't needed, since we have getloadavg. */ #undef KERNEL_FILE #undef LDAV_SYMBOL #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) #define INTERRUPTIBLE_OPEN #define LIBS_DEBUG /* FreeBSD 2.2 or later */ #ifndef __FreeBSD_version #include <osreldate.h> #endif #if __FreeBSD_version >= 199701 && __FreeBSD_version < 600006 #define LIBS_SYSTEM "-lutil -lxpg4" #else #define LIBS_SYSTEM "-lutil" #endif #ifndef NOT_C_CODE #ifdef BSD /* fixing BSD define */ #undef BSD #endif #include <sys/param.h> /* Kludge to work around setlocale(LC_ALL,...) not working after 01/1997 */ #if __FreeBSD_version >= 199701 && __FreeBSD_version < 226000 #ifdef HAVE_X_WINDOWS #include <X11/Xlocale.h> #define setlocale(locale_category, locale_spec) setlocale(LC_CTYPE, locale_spec) #endif /* HAVE X */ #endif /* FreeBSD >= 199701 && < 226000 */ #endif /* C code */ #define LIBS_TERMCAP "-ltermcap" #ifdef __ELF__ /* since from 3.0-CURRENT(maybe 19980831 or later) */ #ifndef NOT_C_CODE #include <stddef.h> #endif #define LD_SWITCH_SYSTEM #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o #define UNEXEC "unexelf.o" #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o #define LINKER "$(CC) -nostdlib" #undef LIB_GCC #define LIB_GCC #else /* not __ELF__ */ #ifndef NO_SHARED_LIBS #if 0 /* mrb */ #define LIB_GCC "-lgcc" #define LD_SWITCH_SYSTEM "-dc -dp -e start" #define START_FILES "pre-crt0.o /usr/lib/crt0.o" #else /* mrb */ #define ORDINARY_LINK #undef LIB_GCC #undef LD_SWITCH_SYSTEM #undef START_FILES #endif /* mrb */ #define HAVE_TEXT_START /* No need to define `start_of_text'. */ #define UNEXEC "unexfreebsd.o" #define RUN_TIME_REMAP #ifndef N_TRELOFF #define N_PAGSIZ(x) __LDPGSZ #define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data)) #define N_TRELOFF(x) N_RELOFF(x) #endif #else /* NO_SHARED_LIBS */ #ifdef __FreeBSD__ /* shared libs are available, but the user prefers not to use them. */ #define LD_SWITCH_SYSTEM "-Bstatic" #define A_TEXT_OFFSET(x) (sizeof (struct exec)) #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr)) #endif /* __FreeBSD__ */ #endif /* NO_SHARED_LIBS */ #endif /* not __ELF__ */ /* #define NO_TERMIO */ /* detected in configure */ #define DECLARE_GETPWUID_WITH_UID_T /* freebsd uses OXTABS instead of the expected TAB3. */ #define TABDLY OXTABS #define TAB3 OXTABS