jek3 at sun.com
Subject: Re: Re: [ksh93-integration-discuss] 2008/344 [ksh93 Integration Update 
 1 Amendments 1]
--------

I thought that I would provide information on two of the issues
that have been bantered about on this list for the last week
or so.

1.      What is the meaning of - and + for a release.
        I try to make major code changes at the beginning
        of a letter change.  For example, the type system
        as added to the 't' release and this includes the new
        enum builtin.  While the ksh93t- release passes all
        the ksh93s+ regression tests (plus a few new tests),
        I expect that the new features are subject to change
        based on feedback (bugs and ideas).  Once there has
        been enough feedback that I feel comfortable I remove the -
        suffix.  At this point I will only fix bugs that are either
        critical or those that are minor and I deem to be safe to fix.
        Releases subsequent to release without a suffix use a +.
        More major code changes will have to wait for the next major release.
        A major release (a new letter) typically occurs about once
        a year.

2.      The namespace issue.
        The key to handling the namespace issue is with the PATH
        and FPATH variables.  ksh is able to load and add both
        builtins and functions based on the PATH search.
        Whenever a name that is not currently known by the shell
        is found, it does a PATH search looking for executables
        and functions found on PATH.  For directories that are
        also in FPATH, the file will be loaded (dotted) and then
        a command of that name is run.
        This, if you want enum to be out of the default namespace,
        you could create a shared library with the enum code,
        and put a script named enum in a directory named by FPATH
        that contains
                built -f enum.so
        where enum.so contains the enum built-in code.

        I recommend not using full pathnames in the code or special
        characters in the name to avoid collisions. 

David Korn
dgk at research.att.com

Reply via email to