Mercurial > emacs
view etc/ulimit.hack @ 44604:4702b23921b4
Avoid doubly tagging parse.y when both parse.c and parse.y are given on
the command line, in either order.
* etags.c (find_entries): Delete tags previously obtained from
file xxx.c's #line directives when parsing file xxx.y. This is
generally done for automatically generated files containing
#line directives. This handles the case when xxx.y is tagged
before xxx.c, and the entries of xxx.c pointing to xxx.y should
be discarded.
(language): Added the metasource member. Initializers changed.
(invalidate_nodes): New function.
(readline): Discard lines after having found a #line
directive pointing to an already tagged file. This handles the
case when xxx.y is tagged before xxx.c, and the entries of
xxx.c pointing to xxx.y should be discarded.
(fdesc): New structure for keeping track of input files.
(fdesc): Remove `file' member (a string) and use instead a pointer
to a file description structure.
(curfile, curfiledir, curtagfname, curlang, nocharno,
forced_lang): Global variables removed in favor of fdhead and
curfdp, pointers to file description strucures.
(longopts, main, print_help): Use the CTAGS conditional to include
or exclude options that work on etags or ctags only.
(process_file, find_entries, pfnote, add_node, put_entries,
readline): Use fdhead and curfdp.
(process_file, find_entries): Do not take an arg string, all
callers changed.
* etags.c (longopts, print_help, main): Test CTAGS to disallow
options that are not right for either etags or ctags.
* etags.c (number_len, total_size_of_entries): Define them also
in CTAGS mode, because gcc does not compile all refs away.
author | Francesco Potortì <pot@gnu.org> |
---|---|
date | Mon, 15 Apr 2002 14:18:47 +0000 |
parents | e96ffe544684 |
children | 695cf19ef79e |
line wrap: on
line source
#!/bin/sh # # ulimit.hack: Create an intermediate program for use in # between kernel initialization and init startup. # This is needed on a 3b system if the standard CDLIMIT is # so small that the dumped Emacs file cannot be written. # This program causes everyone to get a bigger CDLIMIT value # so that the dumped Emacs can be written out. # # Users of V.3.1 and later should not use this; see etc/MACHINES # and reconfig your kernel's CDLIMIT parameter instead. # # Caveat: Heaven help you if you screw this up. This puts # a new program in as /etc/init, which then execs the real init. # cat > ulimit.init.c << \EOF main(argc, argv) int argc; char *argv[]; { ulimit(2, 262144L); /* "2" is the "set" command. */ /* 262,144 allows for 128Mb files to be written. */ /* If that value isn't suitable, roll your own. */ execv("/etc/real.init", argv); } EOF # # Compile it and put it in place of the usual init program. # cc ulimit.init.c -o ulimit.init mv /etc/init /etc/real.init mv ulimit.init /etc/ulimit.init ln /etc/ulimit.init /etc/init mv ulimit.init.c /etc/ulimit.init.c # to keep src for this hack nearby. chmod 0754 /etc/init exit 0 # # Upon system reboot, all processes will inherit the new large ulimit.