Mercurial > emacs
annotate mkinstalldirs @ 27142:f742c86fcc15
(Fgarbage_collect): Return number of live and free
strings.
(mark_buffer): Remove code in #if 0.
(gc_sweep): Ditto.
(UNMARK_BALANCE_INTERVALS): Give the macro statement form.
(strings_consed): New variable.
(allocate_string): Set it.
(syms_of_alloc): Add DEFVAR_INT for strings_consed.
(Fmemory_use_counts): Return strings_consed. Use Flist.
General cleanup in comments etc. Remove conditional
compilation for `standalone'.
(MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
(GC_STRING_BYTES, GC_STRING_CHARS): New macros.
(DONT_COPY_FLAG): Removed.
(SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
(struct sdata, struct sblock): New
(struct string_block): Rewritten.
(STRINGS_IN_STRING_BLOCK): New macro.
(oldest_sblock, current_sblock, total_strings, total_free_strings)
(large_sblocks, string_blocks, string_free_list): New variables.
(NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
(init_strings): Rewritten.
(allocate_string, allocate_string_data, compact_small_strings)
(free_large_strings, sweep_strings): New functions.
(STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
(struct string_block_head, current_string_block)
(first_string_block, large_string_blocks, STRING_FULLSIZE)
(STRING_PAD): Removed.
(make_uninit_multibyte_string, make_pure_string): Rewritten.
(Fgarbage_collect): Don't set mark bit in large strings.
(mark_object): Mark strings differently. Mark symbol names
differently.
(survives_gc_p): Test marked strings differently.
(gc_sweep): Sweep strings differently, unmark strings in
symbol names.
(compact_strings): Removed.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 04 Jan 2000 12:22:13 +0000 |
parents | 4fe4a165a116 |
children | 774df19dd335 |
rev | line source |
---|---|
25880 | 1 #! /bin/sh |
2 # mkinstalldirs --- make directory hierarchy | |
3 # Author: Noah Friedman <friedman@prep.ai.mit.edu> | |
4 # Created: 1993-05-16 | |
5 # Public domain | |
6 | |
7 # $Id: mkinstalldirs,v 1.11 1998/05/19 07:05:25 drepper dead $ | |
8 | |
9 errstatus=0 | |
10 | |
11 for file | |
12 do | |
13 set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` | |
14 shift | |
15 | |
16 pathcomp= | |
17 for d | |
18 do | |
19 pathcomp="$pathcomp$d" | |
20 case "$pathcomp" in | |
21 -* ) pathcomp=./$pathcomp ;; | |
22 esac | |
23 | |
24 if test ! -d "$pathcomp"; then | |
25 echo "mkdir $pathcomp" 1>&2 | |
26 | |
27 mkdir "$pathcomp" || lasterr=$? | |
28 | |
29 if test ! -d "$pathcomp"; then | |
30 errstatus=$lasterr | |
31 fi | |
32 fi | |
33 | |
34 pathcomp="$pathcomp/" | |
35 done | |
36 done | |
37 | |
38 exit $errstatus | |
39 | |
40 # mkinstalldirs ends here |