Annotation of coherent/b/bin/sh.420/Changes2, revision 1.1

1.1     ! root        1: Fri Jul 10 22:45:42 1992 PDT
        !             2:                V3.3.3: extensive changes to implement shell functions,
        !             3:                as per specification provided by hal.
        !             4: sh.h
        !             5:                Added tokens NFUNC, NRET and shell function type SHFUNC.
        !             6:                Added declarations for globals sh_fnp, in_sh_fn, ret_done.
        !             7: sh.y
        !             8:                Added tokens _PARENS and _RET and syntax for return
        !             9:                and shell functions.
        !            10: lex.c
        !            11:                Added "return" (_RET) and "()" (_PARENS).
        !            12: extern.c
        !            13:                Added globals sh_fnp, in_sh_fn, ret_done.
        !            14: exec1.c
        !            15:                In command(), added cases NFUNC (shell function definitions)
        !            16:                and NRET (return) and ret_done references to change control
        !            17:                flow after return.  Added call to sh_fn() to look for shell
        !            18:                function calls.
        !            19: exec2.c
        !            20:                In clone(), reset global sh_fnp to NULL in child so that
        !            21:                forked processes do not inherit shell functions.
        !            22: exec3.c
        !            23:                Added code to implement shell function definition and execution.
        !            24:                lookup_sh_fn() looks up a shell function name,
        !            25:                def_sh_fn() defines a shell function, and
        !            26:                sh_fn() executes a shell function if appropriate.
        !            27:                Auxilliary routines copy_node() and free_node() do
        !            28:                the messiest part of the job.
        !            29: 
        !            30: Tue Jul 14 15:06:56 1992 PDT
        !            31: sh.h
        !            32:                Redefined NODE so that -VSINU compilation is no longer required.
        !            33: lex.c
        !            34:                Added hashing to keyword lookup.
        !            35: 
        !            36: Mon Mar 22 11:25:47 1993 PST
        !            37: exec1.c
        !            38:                Integrated changes from non-function version, cf. sh/Changes.
        !            39: 
        !            40: Fri May  7 05:34:29 1993 PDT
        !            41: exec3.c
        !            42:                V4.0.5: In sh_fn, added code to save and restore sesp->s_con.
        !            43:                michael discovered that a shell function called from ANDAND
        !            44:                within a while-loop caused the old version to core dump.
        !            45:                The modified version essentially runs the shell function
        !            46:                in its own "break/continue" context, then restores the previous
        !            47:                "break/continue" context.

unix.superglobalmegacorp.com

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