comparison src/lisp-union.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 6728e641994e
comparison
equal deleted inserted replaced
800:a5954632b187 801:2b676dc88c66
92 obj.s.bits = 1; 92 obj.s.bits = 1;
93 obj.s.val = val; 93 obj.s.val = val;
94 return obj; 94 return obj;
95 } 95 }
96 96
97
98 #ifdef __cplusplus
99
100 #define volatile_make_int(val) make_int (val)
101
102 #else
103
97 /* Ugh, need different definition to avoid compiler complaint in 104 /* Ugh, need different definition to avoid compiler complaint in
98 unix_send_process() */ 105 unix_send_process(). Furthermore, there's no way under C++, it seems,
106 to declare something volatile and then return it. Perhaps I'd have to
107 assign to something else instead? But in any case, the warnings about
108 volatile clobbering doesn't occur in C++. I bet the thing is that C++
109 already has a built-in system for dealing with non-local exits and such,
110 in a smart way that doesn't clobber registers, and incorporates
111 longjmp() into that. */
99 INLINE_HEADER Lisp_Object volatile_make_int (EMACS_INT val); 112 INLINE_HEADER Lisp_Object volatile_make_int (EMACS_INT val);
100 INLINE_HEADER Lisp_Object 113 INLINE_HEADER Lisp_Object
101 volatile_make_int (EMACS_INT val) 114 volatile_make_int (EMACS_INT val)
102 { 115 {
103 volatile Lisp_Object obj; 116 volatile Lisp_Object obj;
104 obj.s.bits = 1; 117 obj.s.bits = 1;
105 obj.s.val = val; 118 obj.s.val = val;
106 return obj; 119 return obj;
107 } 120 }
121
122 #endif /* __cplusplus */
123
108 124
109 INLINE_HEADER Lisp_Object make_char (Emchar val); 125 INLINE_HEADER Lisp_Object make_char (Emchar val);
110 INLINE_HEADER Lisp_Object 126 INLINE_HEADER Lisp_Object
111 make_char (Emchar val) 127 make_char (Emchar val)
112 { 128 {