Shell based on es
C++ Groff XS Shell Perl
Latest commit c9a0b29 Apr 20, 2015 @frytvm Merge pull request #6 from aredridel/fix-duplicates-in-dump-initial
Use a simple counter rather than assuming the pointer will not be reallocated in place as the identifier for dumps
Failed to load latest commit information.
xs_tests Remove return, break, add new escape function Mar 21, 2010
AUTHORS Add required autotools files May 15, 2009
CHANGES Write most changes from es to xs into CHANGES Aug 11, 2009
COPYING Fix COPYING file Jul 14, 2009
ChangeLog Add required autotools files May 15, 2009
INSTALL Try to fix instructions for building from git Jan 10, 2015
MANIFEST Add Makefile.in, install documents to code May 12, 2009
Makefile.am Build fixes for modern autoconf/automake Jan 10, 2015
NEWS Add required autotools files May 15, 2009
README Minor cleanup to README Jan 10, 2015
access.cxx Add iterate macro Oct 8, 2009
closure.cxx Miscallaneous minor changes Oct 27, 2009
config.sub Add source code, build system May 9, 2009
configure.ac Use va_copy instead of using ugly non-standard stuff Jan 5, 2010
conv.cxx Cleanup of syntax, especially for Mar 14, 2010
depcomp Add proper versions of autoconf/automake dependencies to repo Jul 14, 2009
dump.cxx Use a simple counter rather than assuming the pointer will not be rea… Apr 19, 2015
es.hxx Add a missing header <string> Dec 29, 2009
esconfig.hxx Remove volatile hack Aug 11, 2009
eval.cxx Remove return, break, add new escape function Mar 21, 2010
fd.cxx Fix broken assertions Oct 9, 2009
glob.cxx Revert to sh-like glob failure behavior Apr 2, 2010
glom.cxx Add basic support for arithmetic in :(expr) expansion Nov 2, 2009
heredoc.cxx Use stack instead of deque Oct 10, 2009
initial.xs Make alias use which instead of whatis Apr 2, 2010
input.cxx Build fixes for modern autoconf/automake Jan 10, 2015
input.hxx Reconst nw, dnw Oct 10, 2009
install-sh Add needed install script May 15, 2009
list.cxx Cleanup heredoc code a little - mainly use deque Oct 9, 2009
main.cxx Minor fix to main.cxx Mar 21, 2010
match.cxx Minor cleanup Oct 7, 2009
mksignal Fix mksignal to use correct headers Jul 17, 2009
opt.cxx Remove all old GC code, switch to boehm gc Sep 27, 2009
parse.yxx Cleanup of syntax, especially for Mar 14, 2010
prim-ctl.cxx Add iterate macro Oct 8, 2009
prim-etc.cxx Minor cleanup Oct 31, 2009
prim-io.cxx Rename Push -> Dyvar, move varpush and varpop into constructor/destru… Oct 4, 2009
prim-sys.cxx Add iterate macro Oct 8, 2009
prim.cxx Add a lot of const to List-related code, especially eval Oct 4, 2009
prim.hxx Add a lot of const to List-related code, especially eval Oct 4, 2009
print.cxx Use va_copy instead of using ugly non-standard stuff Jan 5, 2010
print.hxx Move a little more from Format to FD_Format Oct 1, 2009
proc.cxx Fix type signature of wait3 for darwin Apr 19, 2015
sigmsgs.hxx Beginning of transition to c++ Jul 17, 2009
signal.cxx Rename Push -> Dyvar, move varpush and varpop into constructor/destru… Oct 4, 2009
split.cxx Remove unused code: Buffer and related code, some old GC root stuff too Oct 2, 2009
status.cxx Add iterate macro Oct 8, 2009
stdenv.hxx Add a missing header <string> Dec 29, 2009
str.cxx Use va_copy instead of using ugly non-standard stuff Jan 5, 2010
syntax.cxx Build fixes for modern autoconf/automake Jan 10, 2015
syntax.hxx mkseq char* -> const char* Jul 23, 2009
term.cxx Miscallaneous minor changes Oct 27, 2009
term.hxx Initial c++ buildable xs Jul 17, 2009
test.xs Remove return, break, add new escape function Mar 21, 2010
token.cxx Build fixes for modern autoconf/automake Jan 10, 2015
tree.cxx Add basic support for arithmetic in :(expr) expansion Nov 2, 2009
trip.xs Cleanup of syntax, especially for Mar 14, 2010
util.cxx Use galloc instead of GC_MALLOC (different name) Oct 6, 2009
var.cxx Fix accidental duplicaton in environment Mar 6, 2010
var.hxx Remove Dict, use map for vars Oct 3, 2009
version.cxx Change version string to 1.0 Jul 31, 2009
xs.1 Remove return, break, add new escape function Mar 21, 2010
xsdebug Cleanup of syntax, especially for Mar 14, 2010
y.tab.h Build fixes for modern autoconf/automake Jan 10, 2015
ylwrap Add proper versions of autoconf/automake dependencies to repo Jul 14, 2009

README

Xs is a cleanly-designed shell with functional programming. It is based off the source-code for 
the es project, which was in the public domain. The changes in xs can also be 
considered to be in the public domain.

Xs is not source-level compatible with es. See the manpage (xs.1) for more details about it.

Most of the xs source code remains the same as es. The primary authors of that shell can be 
found in that source code, currently located at: ftp://ftp.sys.utoronto.ca/pub/es/. Modifications 
since es-0.9-beta1 are all parts of xs and have been written by Frederic Koehler.