Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/bin/sh



Module Name:    src
Committed By:   kre
Date:           Mon Dec  3 06:40:26 UTC 2018

Modified Files:
        src/bin/sh: alias.c alias.h eval.c input.c parser.c parser.h syntax.c
            syntax.h

Log Message:
Revamp aliases - as dumb an idea as they are, if we're going
to have them, they should work as documented, not cause core
dumps, reference after free, incorrect replacements, failing
to implement alias after alias, ...

The big comment that ended:
          This is a good idea ------- ***NOT***
and the hack it was describing are gone.

Note that most of this was from original CVS version 1.1
code (ie: came from the original import, even before 4.4-Lite
was merged.   That is, May 1994.  And no-one in 24.5 years
noticed (or at least complained about)  all the bugs (or at
least, most of them)).

With these changes, aliases ought to work (if you can call it
that) as they are expected to by POSIX.   Now if only we could
get POSIX to delete them (or make them optional)...

Changes partly inspired by similar changes made by FreeBSD,
(as was the previous change to alias.c, forgot ack in commit
log for that one, apologies) but done a little differently,
and perhaps with a slightly better outcome.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/bin/sh/alias.c
cvs rdiff -u -r1.8 -r1.9 src/bin/sh/alias.h
cvs rdiff -u -r1.165 -r1.166 src/bin/sh/eval.c
cvs rdiff -u -r1.63 -r1.64 src/bin/sh/input.c
cvs rdiff -u -r1.155 -r1.156 src/bin/sh/parser.c
cvs rdiff -u -r1.25 -r1.26 src/bin/sh/parser.h
cvs rdiff -u -r1.6 -r1.7 src/bin/sh/syntax.c
cvs rdiff -u -r1.10 -r1.11 src/bin/sh/syntax.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index