Mercurial > hg > xemacs-beta
diff src/lisp.h @ 801:2b676dc88c66
[xemacs-hg @ 2002-04-01 03:58:02 by ben]
bug fixes (e.g. ballooning on X windows)
Makefile.in.in: Try to make the Makefile notice if its source Makefile.in.in is
changed, and regenerate and run itself.
Use a bigger default SHEAP_ADJUSTMENT on Cygwin; otherwise you
can't compile under Mule if a Lisp file has changed. (can't run
temacs)
TODO.ben-mule-21-5: update.
mule/mule-cmds.el: Hash the result of mswindows-get-language-environment-from-locale,
since it's very expensive (and causes huge ballooning of memory
under X Windows, since it's called from x-get-resource).
cl-extra.el, code-files.el, files.el, simple.el, subr.el, x-faces.el: Create new string-equal-ignore-case, based on built-in
compare-strings -- compare strings ignoring case without the need
to generate garbage by calling downcase. Use it in equalp and
elsewhere.
alloc.c, bytecode.c, chartab.c, data.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-unixoid.c, extents.c, file-coding.c, fileio.c, fns.c, glyphs.c, gutter.c, lisp-union.h, lisp.h, mule-charset.c, nt.c, process-unix.c, process.c, specifier.c, symbols.c, sysdep.c, sysdep.h, text.c, toolbar.c: Try to implement GC triggering based on percentage of total memory
usage. Not currently activated (percentage set to 0) because not
quite working. Add `memory-usage' primitive to return XEmacs'
idea of its memory usage.
Add primitive compare-strings, compatible with FSF 21.1 -- can
compare any part of two strings, optionally ignoring case.
Improve qxe() functions in text.c for text comparison.
Use RETURN_NOT_REACHED to try to avoid warnings about unreachable
code.
Add volatile_make_int() to fix warning in unix_send_process().
author | ben |
---|---|
date | Mon, 01 Apr 2002 03:59:04 +0000 |
parents | a5954632b187 |
children | 19dfb459d51a |
line wrap: on
line diff
--- a/src/lisp.h Sun Mar 31 08:30:17 2002 +0000 +++ b/src/lisp.h Mon Apr 01 03:59:04 2002 +0000 @@ -201,6 +201,7 @@ #ifndef DOESNT_RETURN # if defined __GNUC__ # if ((__GNUC__ > 2) || (__GNUC__ == 2) && (__GNUC_MINOR__ >= 5)) +# define RETURN_NOT_REACHED(value) # define DOESNT_RETURN void # define DECLARE_DOESNT_RETURN(decl) \ extern void decl __attribute__ ((noreturn)) @@ -229,9 +230,14 @@ #if defined __SUNPRO_C || defined __USLC__ #define RETURN_SANS_WARNINGS if (1) return #define RETURN_NOT_REACHED(value) -#else +#endif + +#ifndef RETURN_NOT_REACHED +#define RETURN_NOT_REACHED(value) return value; +#endif + +#ifndef RETURN_SANS_WARNINGS #define RETURN_SANS_WARNINGS return -#define RETURN_NOT_REACHED(value) return value; #endif #ifndef DO_NOTHING @@ -2301,14 +2307,6 @@ /* Garbage collection / GC-protection */ /************************************************************************/ -/* number of bytes of structure consed since last GC */ - -extern EMACS_INT consing_since_gc; - -/* threshold for doing another gc */ - -extern Fixnum gc_cons_threshold; - /* Structure for recording stack slots that need marking */ /* This is a chain of structures, each of which points at a Lisp_Object @@ -2698,6 +2696,7 @@ int object_dead_p (Lisp_Object); void mark_object (Lisp_Object obj); int marked_p (Lisp_Object obj); +int need_to_garbage_collect (void); #ifdef MEMORY_USAGE_STATS Bytecount malloced_storage_size (void *, Bytecount, struct overhead_stats *); @@ -3207,6 +3206,7 @@ Lisp_Object, int, Error_Behavior); int external_remprop (Lisp_Object *, Lisp_Object, int, Error_Behavior); int internal_equal (Lisp_Object, Lisp_Object, int); +int internal_equalp (Lisp_Object obj1, Lisp_Object obj2, int depth); Lisp_Object concat2 (Lisp_Object, Lisp_Object); Lisp_Object concat3 (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object vconcat2 (Lisp_Object, Lisp_Object); @@ -3759,8 +3759,21 @@ int ascii_strncasecmp (const Char_ASCII *s1, const Char_ASCII *s2, Bytecount len); int qxememcmp (const Intbyte *s1, const Intbyte *s2, Bytecount len); +int qxememcmp4 (const Intbyte *s1, Bytecount len1, + const Intbyte *s2, Bytecount len2); int qxememcasecmp (const Intbyte *s1, const Intbyte *s2, Bytecount len); -int qxememcasecmp_i18n (const Intbyte *s1, const Intbyte *s2, Bytecount len); +int qxememcasecmp4 (const Intbyte *s1, Bytecount len1, + const Intbyte *s2, Bytecount len2); +int qxetextcmp (const Intbyte *s1, Bytecount len1, + const Intbyte *s2, Bytecount len2); +int qxetextcmp_matching (const Intbyte *s1, Bytecount len1, + const Intbyte *s2, Bytecount len2, + Charcount *matching); +int qxetextcasecmp (const Intbyte *s1, Bytecount len1, + const Intbyte *s2, Bytecount len2); +int qxetextcasecmp_matching (const Intbyte *s1, Bytecount len1, + const Intbyte *s2, Bytecount len2, + Charcount *matching); void buffer_mule_signal_inserted_region (struct buffer *buf, Charbpos start, Bytecount bytelength,