1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 22:40:51 -08:00
Commit graph

253 commits

Author SHA1 Message Date
Miles Bader
ae8e81224e (Fmake_byte_code, Fvector, Flist): Add usage: string to doc string. 2001-10-21 09:51:56 +00:00
Pavel Janík
a6266d23cb Reindent DEFUNs with doc: keywords. 2001-10-21 08:48:26 +00:00
Miles Bader
7ee72033eb Change doc-string comments to new style' [w/doc:' keyword]. 2001-10-17 03:16:12 +00:00
Ken Raeburn
f3fbd15535 Avoid (most) uses of XCAR/XCDR as lvalues, for flexibility in experimenting
with lisp system changes.
2001-10-16 09:09:51 +00:00
Gerd Moellmann
228299fa71 Put doc strings in comments. 2001-10-14 10:36:32 +00:00
Stefan Monnier
1e934989ca (mark_interval_tree): Use traverse_intervals_noorder. 2001-10-12 22:19:11 +00:00
Gerd Moellmann
32c82ac0a1 Don't define min/max. 2001-10-08 08:08:08 +00:00
Gerd Moellmann
78e985eb6b (inhibit_garbage_collection): Simplify.
(Fmemory_use_counts): Ditto.
2001-10-06 23:32:01 +00:00
Gerd Moellmann
9e71371586 (purebeg, pure_size, pure_bytes_used_before_overflow):
New variables.
(init_alloc_once): Initialize new variables.
(PURE_POINTER_P): Use new variables.
(pure_alloc): If pure storage overflows, allocate from the heap.
(check_pure_size): New function.
(Fgarbage_collect): Don't GC if pure storage has overflowed.

(Vpost_gc_hook, Qpost_gc_hook): New variables.
(syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize
Qpost_gc_hook.
(Fgarbage_collect): Run post-gc-hook.

(Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2001-10-05 09:42:02 +00:00
Eli Zaretskii
966533c9c7 Fix a typo in a comment. From Pavel Janik. 2001-09-15 08:00:07 +00:00
Gerd Moellmann
11d8165033 allocate_buffer): Call VALIDATE_LISP_STORAGE. 2001-09-10 13:41:21 +00:00
Gerd Moellmann
339607b4a2 Remove init_stack static declaration. 2001-08-06 10:03:40 +00:00
Gerd Moellmann
176bc84713 (live_string_p, live_cons_p, live_symbol_p)
(live_float_p, live_misc_p): Return 1 only if the offset of the
pointer in its block is >= 0.
2001-03-29 10:35:51 +00:00
Eli Zaretskii
2fe50224b8 (mark_maybe_pointer): Fix a typo in a comment. 2001-03-02 17:25:49 +00:00
Gerd Moellmann
ece93c0291 (toplevel): Include process.h.
(enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
(allocate_vectorlike): Make it a static function.  Add parameter TYPE.
(allocate_vector, allocate_hash_table, allocate_window)
(allocate_frame, allocate_process, allocate_other_vector): New
functions.
(Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
(mark_maybe_pointer): New function.
(mark_memory): Also mark Lisp data to which only pointers
remain and not Lisp_Objects.
(min_heap_address, max_heap_address): New variables.
(mem_find): Return MEM_NIL if START is below min_heap_address or
above max_heap_address.
(mem_insert): Compute min_heap_address and max_heap_address.
2001-02-28 13:30:02 +00:00
Gerd Moellmann
ce070307f0 (Fmake_list): Add a QUIT in the loop; unroll the loop. 2001-01-31 12:22:58 +00:00
Andrew Choi
83a96b4d54 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
only if current_sblock has been initialized.

* frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
terminal frame even if it is the only visible frame.

* src/macfns.c (QCconversion): Replaces QCalgorithm.

* src/macfns.c (image_ascent, lookup_image): Adapt to change of
image margins.

* src/macterm.c (x_produce_image_glyph, x_draw_image_foreground)
(x_draw_image_relief, x_draw_image_foreground_1)
(x_draw_image_glyph_string): Adapt to change of image margins.

* src/macterm.c (mac_to_x_fontname): Change charset name of
Simplify Chinese fonts from gb2312 to gb2312.1980 and Korean fonts
from ksc5601 to ksc5601.1989.
2001-01-28 11:23:07 +00:00
Gerd Moellmann
676a72518a (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
(check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
(check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
(allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
the current sblock.
(mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
(gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
after sweeping strings, and at the end.
(GC_CHECK_STRING_BYTES): Moved to lisp.h.
2001-01-09 20:10:50 +00:00
Gerd Moellmann
98edb5ff5f (Fgarbage_collect): Use a record_unwind_protect to
ensure that pop_message is called.
2001-01-09 13:43:43 +00:00
Stefan Monnier
2003532193 (gc_sweep): Add comment. 2000-12-07 12:00:51 +00:00
Gerd Moellmann
d285b37395 (gc_sweep): Prevent symbols read during loadup
from being freed.
2000-12-06 21:05:09 +00:00
Gerd Moellmann
96117bc7fb (Fgarbage_collect): Dox fix. Return a list as
advertized by the function documentation.
2000-12-06 14:22:15 +00:00
Kenichi Handa
d942b71c34 (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of hard coded `4'. 2000-11-23 04:48:08 +00:00
Gerd Moellmann
e2c556b4f7 (mark_object) <frame>: Mark tool bar items differently. 2000-11-22 16:32:36 +00:00
Kenichi Handa
495a6df36d (make_string): Fix previous change. Be sure to make
unibyte string correctly.
2000-11-20 01:06:33 +00:00
Gerd Moellmann
a83fee2c56 (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
null.
2000-10-23 15:03:55 +00:00
Gerd Moellmann
13c844fb71 (toplevel): Conditionalize compilation of mem_*
functions differently.
2000-10-20 19:14:07 +00:00
Jason Rumney
8b30ba1a4d Move #ifdef GC_MARK_STACK back above mem_init where it used to be. mem_z etc not defined
otherwise.
2000-10-20 18:45:17 +00:00
Gerd Moellmann
877935b1f5 (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
GC_MALLOC_CHECK.
(toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
structure definition and related variabled to the top of the file.
Include this code when GC_MALLOC_CHECK is defined.
(lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
register/unregister allocated region.
(emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
which isn't allocated.
(emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
something which is already in use.
(emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
(mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
(mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
(init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
2000-10-20 15:55:14 +00:00
Gerd Moellmann
a42943e93e (allocate_string) [GC_CHECK_STRING_BYTES]: Call
check_string_bytes only if not noninteractive, increase count to 50.
2000-10-18 11:59:20 +00:00
Gerd Moellmann
1f0b3fd207 (pure_bytes_used): Renamed from pureptr.
(ALIGN): New macro.
(pure_alloc): New function.
(make_pure_string, pure_cons, make_pure_float, make_pure_vector):
Use it.
(Fpurecopy): Use PURE_POINTER_P.
2000-10-17 19:39:17 +00:00
Gerd Moellmann
361b097f3a (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
string's size_byte.
(check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
(check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
(allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
string allocated.
2000-10-17 15:38:30 +00:00
Andreas Schwab
c70bbf0690 (mark_object): Remove all workarounds installed on
1993-08-08.
2000-10-10 11:10:58 +00:00
Eli Zaretskii
1efc2bb9c8 (Fgarbage_collect): Prevent compiler warning for a call
to `mark_object'.
2000-10-03 12:47:31 +00:00
Gerd Moellmann
31d929e56d (GC_CHECK_STRING_BYTES): Temporarily define, for bug
hunting.
(struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
size in the sdata structure.
(SDATA_NBYTES, SDATA_DATA): New macros.
(SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
differently for the different layout of the sdata structure.
(allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
in sdata.
(sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
Check that size recorded in the string size and size recorded in
the sdata structure agree.
2000-09-26 11:12:19 +00:00
Dave Love
3e60b029bc (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
(__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
size_t.
(__malloc_extra_blocks): Declare as __malloc_size_t.
2000-09-25 21:09:14 +00:00
Gerd Moellmann
755a2ccd6e (mark_image): Use GC_NILP instead of NILP. 2000-09-25 18:38:44 +00:00
Gerd Moellmann
6bbd7a2959 Avoid some more compiler warnings. 2000-09-21 20:54:57 +00:00
Gerd Moellmann
f860896845 Add some comments about DOUG_LEA_MALLOC's use of mmap
and allocation of Lisp data.
2000-09-13 09:19:05 +00:00
Andrew Innes
2538fae4f8 Include keyboard.h before frame.h. 2000-08-22 22:41:00 +00:00
Dave Love
b3303f7468 (lisp_malloc): Declare with POINTER_TYPE.
[SYSTEM_MALLOC]: Make decls in malloc.h conditional on
DOUG_LEA_MALLOC.
2000-08-17 14:01:09 +00:00
Gerd Moellmann
a2407477ea (compact_small_strings): Use safe_bcopy, add an
assertion.
2000-08-15 19:24:42 +00:00
Dave Love
bf952fb644 [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
[!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
(lisp_free): Declare and make static.
2000-08-14 14:15:44 +00:00
Gerd Moellmann
675d513090 (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
(xrealloc, xmalloc): Use size_t.
2000-08-02 20:15:51 +00:00
Gerd Moellmann
00c9c33c29 (allocate_string_data): Don't copy old string contents. 2000-07-19 11:05:32 +00:00
Gerd Moellmann
5c5fecb38d (allocate_string_data): If string had already data
assigned, copy old contents to new string data.
2000-07-18 14:38:20 +00:00
Dave Love
c971ff9a0b (xmalloc, xrealloc, xfree): Define using POINTER_TYPE. 2000-06-20 13:15:58 +00:00
Gerd Moellmann
4f5c137609 (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
bogus objects are marked.  This slows down GC by ~80 percent, but
it might be worth trying when debugging GC-related problems.
This feature requires conservative stack marking to be enabled.
2000-06-19 15:58:43 +00:00
Kenichi Handa
9eac9d597c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
convert it to unibyte.
(make_string): Use parse_str_as_multibyte, not chars_in_text.
2000-05-19 23:49:35 +00:00
Ken Raeburn
cc2d8c6b3d * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand non-union-type
versions of XMARK and friends here, because XMARK and friends won't work on an
integer field if NO_UNION_TYPE is not defined.
(make_number): Define as a function if it's not defined as a macro.
2000-04-02 01:52:58 +00:00