Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Shell based on es
C++ Groff XS Shell Perl
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
xs_tests Remove return, break, add new escape function
AUTHORS Add required autotools files
CHANGES Write most changes from es to xs into CHANGES
COPYING Fix COPYING file
ChangeLog Add required autotools files
INSTALL Try to fix instructions for building from git
MANIFEST Add Makefile.in, install documents to code
Makefile.am Build fixes for modern autoconf/automake
NEWS Add required autotools files
README Minor cleanup to README
access.cxx Add iterate macro
closure.cxx Miscallaneous minor changes
config.sub Add source code, build system
configure.ac Use va_copy instead of using ugly non-standard stuff
conv.cxx Cleanup of syntax, especially for
depcomp Add proper versions of autoconf/automake dependencies to repo
dump.cxx Use a simple counter rather than assuming the pointer will not be rea…
es.hxx
esconfig.hxx Remove volatile hack
eval.cxx Remove return, break, add new escape function
fd.cxx Fix broken assertions
glob.cxx
glom.cxx Add basic support for arithmetic in :(expr) expansion
heredoc.cxx Use stack instead of deque
initial.xs Make alias use which instead of whatis
input.cxx Build fixes for modern autoconf/automake
input.hxx Reconst nw, dnw
install-sh Add needed install script
list.cxx Cleanup heredoc code a little - mainly use deque
main.cxx Minor fix to main.cxx
match.cxx Minor cleanup
mksignal Fix mksignal to use correct headers
opt.cxx Remove all old GC code, switch to boehm gc
parse.yxx Cleanup of syntax, especially for
prim-ctl.cxx Add iterate macro
prim-etc.cxx Minor cleanup
prim-io.cxx Rename Push -> Dyvar, move varpush and varpop into constructor/destru…
prim-sys.cxx Add iterate macro
prim.cxx
prim.hxx Add a lot of const to List-related code, especially eval
print.cxx Use va_copy instead of using ugly non-standard stuff
print.hxx Move a little more from Format to FD_Format
proc.cxx Fix type signature of wait3 for darwin
sigmsgs.hxx Beginning of transition to c++
signal.cxx Rename Push -> Dyvar, move varpush and varpop into constructor/destru…
split.cxx Remove unused code: Buffer and related code, some old GC root stuff too
status.cxx Add iterate macro
stdenv.hxx Add a missing header <string>
str.cxx Use va_copy instead of using ugly non-standard stuff
syntax.cxx Build fixes for modern autoconf/automake
syntax.hxx mkseq char* -> const char*
term.cxx Miscallaneous minor changes
term.hxx Initial c++ buildable xs
test.xs Remove return, break, add new escape function
token.cxx
tree.cxx Add basic support for arithmetic in :(expr) expansion
trip.xs Cleanup of syntax, especially for
util.cxx Use galloc instead of GC_MALLOC (different name)
var.cxx Fix accidental duplicaton in environment
var.hxx Remove Dict, use map for vars
version.cxx Change version string to 1.0
xs.1 Remove return, break, add new escape function
xsdebug Cleanup of syntax, especially for
y.tab.h Build fixes for modern autoconf/automake
ylwrap Add proper versions of autoconf/automake dependencies to repo

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.
Something went wrong with that request. Please try again.