Annotation of 42BSD/ucb/ex/makeoptions, revision 1.1

1.1     ! root        1: #
        !             2: # remake options -- this isn't necessary unless you add/delete options
        !             3: #
        !             4: onintr ifintr
        !             5: cp ex_data.c /tmp/$$.c
        !             6: ex - /tmp/$$.c <<'%'
        !             7:        g/^#include/d
        !             8:        w
        !             9:        q
        !            10: '%'
        !            11: cc -E $* /tmp/$$.c >/tmp/foo.c
        !            12: ex - /tmp/foo.c <<'X'
        !            13:        " delete all preprocessor output (# line, etc)
        !            14:        g/^# /d
        !            15:        set sh=/bin/csh
        !            16:        " delete junk (all but data lines)
        !            17:        g/^[    ]*$/d
        !            18:        1,/option options/d
        !            19:        /}/-1,$d
        !            20:        " get rid of all of line but option name
        !            21:        1,$s/   "//
        !            22:        1,$s/".*//
        !            23:        1m$     " kludge since options start at 0 but num at 1
        !            24:        %!num
        !            25:        $t0     " unkludge
        !            26:        1s/......../     0  /   " unkludge
        !            27:        " make #define lines
        !            28:        1,$s/\(......\)\(.*\)/#define   \U\2\L  \1/
        !            29:        " get rid of extra blanks, turning into (single) tabs.
        !            30:        1,$s/    */     /g
        !            31:        g/  */s//       /g
        !            32:        " filter through expand to make it line up nice
        !            33:        %!expand -8\,24
        !            34:        " blank line and number of options.
        !            35:        $i
        !            36: 
        !            37: .
        !            38:        $s/e[   ].*[    ]/e     NOPTS   /
        !            39:        0a
        !            40:        /*  sccs id   @(#)  ex_vars.h  @(#)makeoptions  6.1 10/19/80  */
        !            41: .
        !            42:        w! ex_vars.h
        !            43:        q
        !            44: 'X'
        !            45: ifintr:
        !            46: rm /tmp/foo.c

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.