annotate etc/emacs.csh @ 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 e96ffe544684
children 695cf19ef79e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
1 # This defines a csh command named `edit' which resumes an
Dave Love <fx@gnu.org>
parents:
diff changeset
2 # existing Emacs or starts a new one if none exists.
Dave Love <fx@gnu.org>
parents:
diff changeset
3 # One way or another, any arguments are passed to Emacs to specify files
Dave Love <fx@gnu.org>
parents:
diff changeset
4 # (provided you have loaded `resume.el').
Dave Love <fx@gnu.org>
parents:
diff changeset
5 # - Michael DeCorte
Dave Love <fx@gnu.org>
parents:
diff changeset
6
Dave Love <fx@gnu.org>
parents:
diff changeset
7 # These are the possible values of $whichjob
Dave Love <fx@gnu.org>
parents:
diff changeset
8 # 1 = new ordinary emacs (the -nw is so that it doesn't try to do X)
Dave Love <fx@gnu.org>
parents:
diff changeset
9 # 2 = resume emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
10 # 3 = new emacs under X (-i is so that you get a reasonable icon)
Dave Love <fx@gnu.org>
parents:
diff changeset
11 # 4 = resume emacs under X
Dave Love <fx@gnu.org>
parents:
diff changeset
12 # 5 = new emacs under suntools
Dave Love <fx@gnu.org>
parents:
diff changeset
13 # 6 = resume emacs under suntools
Dave Love <fx@gnu.org>
parents:
diff changeset
14 # 7 = new emacs under X and suntools - doesn't make any sense, so use X
Dave Love <fx@gnu.org>
parents:
diff changeset
15 # 8 = resume emacs under X and suntools - doesn't make any sense, so use X
Dave Love <fx@gnu.org>
parents:
diff changeset
16 set EMACS_PATTERN="^\[[0-9]\] . Stopped ............ $EMACS"
Dave Love <fx@gnu.org>
parents:
diff changeset
17
Dave Love <fx@gnu.org>
parents:
diff changeset
18 alias edit 'set emacs_command=("emacs -nw \!*" "fg %emacs" "emacs -i \!* &"\
Dave Love <fx@gnu.org>
parents:
diff changeset
19 "emacsclient \!* &" "emacstool \!* &" "emacsclient \!* &" "emacs -i \!* &"\
Dave Love <fx@gnu.org>
parents:
diff changeset
20 "emacsclient \!* &") ; \
Dave Love <fx@gnu.org>
parents:
diff changeset
21 jobs >! $HOME/.jobs; grep "$EMACS_PATTERN" < $HOME/.jobs >& /dev/null; \
Dave Love <fx@gnu.org>
parents:
diff changeset
22 @ isjob = ! $status; \
Dave Love <fx@gnu.org>
parents:
diff changeset
23 @ whichjob = 1 + $isjob + $?DISPLAY * 2 + $?WINDOW_PARENT * 4; \
Dave Love <fx@gnu.org>
parents:
diff changeset
24 test -S ~/.emacs_server && emacsclient \!* \
Dave Love <fx@gnu.org>
parents:
diff changeset
25 || echo `pwd` \!* >! ~/.emacs_args && eval $emacs_command[$whichjob]'