Skip to content
This repository

Shell based on es

branch: master

Revert to sh-like glob failure behavior

   Though the method of returning empty string (old method) or empty list make more sense
   in practice they are more confusing, since commands give back confusing error messges
   This also allows the somewhat strange use of test as /usr/bin/[;
   for example if {[ -z ''} {echo empty}
   turns out to work
latest commit 9c19777c56
Frederic Koehler authored April 01, 2010
Octocat-spinner-32 xs_tests Remove return, break, add new escape function March 21, 2010
Octocat-spinner-32 AUTHORS Add required autotools files May 15, 2009
Octocat-spinner-32 CHANGES Write most changes from es to xs into CHANGES August 10, 2009
Octocat-spinner-32 COPYING Fix COPYING file July 14, 2009
Octocat-spinner-32 ChangeLog Add required autotools files May 15, 2009
Octocat-spinner-32 INSTALL Add Makefile.in, install documents to code May 11, 2009
Octocat-spinner-32 MANIFEST Add Makefile.in, install documents to code May 11, 2009
Octocat-spinner-32 Makefile.am Remove except.cxx, throwE - move other functions elsewhere October 04, 2009
Octocat-spinner-32 NEWS Add required autotools files May 15, 2009
Octocat-spinner-32 README Update README July 14, 2009
Octocat-spinner-32 access.cxx Add iterate macro October 07, 2009
Octocat-spinner-32 closure.cxx Miscallaneous minor changes October 27, 2009
Octocat-spinner-32 config.guess ADd config.guess May 15, 2009
Octocat-spinner-32 config.sub Add source code, build system May 09, 2009
Octocat-spinner-32 configure.ac Use va_copy instead of using ugly non-standard stuff January 05, 2010
Octocat-spinner-32 conv.cxx Cleanup of syntax, especially for March 14, 2010
Octocat-spinner-32 depcomp Add proper versions of autoconf/automake dependencies to repo July 14, 2009
Octocat-spinner-32 dump.cxx Allow usage of arithmetic in initial.xs March 21, 2010
Octocat-spinner-32 es.hxx Add a missing header <string> December 29, 2009
Octocat-spinner-32 esconfig.hxx Remove volatile hack August 11, 2009
Octocat-spinner-32 eval.cxx Remove return, break, add new escape function March 21, 2010
Octocat-spinner-32 fd.cxx Fix broken assertions October 09, 2009
Octocat-spinner-32 glob.cxx Revert to sh-like glob failure behavior April 01, 2010
Octocat-spinner-32 glom.cxx Add basic support for arithmetic in :(expr) expansion November 02, 2009
Octocat-spinner-32 heredoc.cxx Use stack instead of deque October 09, 2009
Octocat-spinner-32 initial.xs Make alias use which instead of whatis April 01, 2010
Octocat-spinner-32 input.cxx Cleanup of syntax, especially for March 14, 2010
Octocat-spinner-32 input.hxx Reconst nw, dnw October 10, 2009
Octocat-spinner-32 install-sh Add needed install script May 15, 2009
Octocat-spinner-32 list.cxx Cleanup heredoc code a little - mainly use deque October 09, 2009
Octocat-spinner-32 main.cxx Minor fix to main.cxx March 21, 2010
Octocat-spinner-32 match.cxx Minor cleanup October 06, 2009
Octocat-spinner-32 missing Add proper versions of autoconf/automake dependencies to repo July 14, 2009
Octocat-spinner-32 mksignal Fix mksignal to use correct headers July 17, 2009
Octocat-spinner-32 opt.cxx Remove all old GC code, switch to boehm gc September 27, 2009
Octocat-spinner-32 parse.yxx Cleanup of syntax, especially for March 14, 2010
Octocat-spinner-32 prim-ctl.cxx Add iterate macro October 07, 2009
Octocat-spinner-32 prim-etc.cxx Minor cleanup October 30, 2009
Octocat-spinner-32 prim-io.cxx Rename Push -> Dyvar, move varpush and varpop into constructor/destru… October 04, 2009
Octocat-spinner-32 prim-sys.cxx Add iterate macro October 07, 2009
Octocat-spinner-32 prim.cxx Add a lot of const to List-related code, especially eval October 04, 2009
Octocat-spinner-32 prim.hxx Add a lot of const to List-related code, especially eval October 04, 2009
Octocat-spinner-32 print.cxx Use va_copy instead of using ugly non-standard stuff January 05, 2010
Octocat-spinner-32 print.hxx Move a little more from Format to FD_Format October 01, 2009
Octocat-spinner-32 proc.cxx Use std::list in proc.cxx October 04, 2009
Octocat-spinner-32 sigmsgs.hxx Beginning of transition to c++ July 16, 2009
Octocat-spinner-32 signal.cxx Rename Push -> Dyvar, move varpush and varpop into constructor/destru… October 04, 2009
Octocat-spinner-32 split.cxx Remove unused code: Buffer and related code, some old GC root stuff too October 01, 2009
Octocat-spinner-32 status.cxx Add iterate macro October 07, 2009
Octocat-spinner-32 stdenv.hxx Add a missing header <string> December 29, 2009
Octocat-spinner-32 str.cxx Use va_copy instead of using ugly non-standard stuff January 05, 2010
Octocat-spinner-32 syntax.cxx Remove all old GC code, switch to boehm gc September 27, 2009
Octocat-spinner-32 syntax.hxx mkseq char* -> const char* July 23, 2009
Octocat-spinner-32 term.cxx Miscallaneous minor changes October 27, 2009
Octocat-spinner-32 term.hxx Initial c++ buildable xs July 17, 2009
Octocat-spinner-32 test.xs Remove return, break, add new escape function March 21, 2010
Octocat-spinner-32 token.cxx Cleanup of syntax, especially for March 14, 2010
Octocat-spinner-32 tree.cxx Add basic support for arithmetic in :(expr) expansion November 02, 2009
Octocat-spinner-32 trip.xs Cleanup of syntax, especially for March 14, 2010
Octocat-spinner-32 util.cxx Use galloc instead of GC_MALLOC (different name) October 05, 2009
Octocat-spinner-32 var.cxx Fix accidental duplicaton in environment March 05, 2010
Octocat-spinner-32 var.hxx Remove Dict, use map for vars October 03, 2009
Octocat-spinner-32 version.cxx Change version string to 1.0 July 31, 2009
Octocat-spinner-32 xs.1 Remove return, break, add new escape function March 21, 2010
Octocat-spinner-32 xsdebug Cleanup of syntax, especially for March 14, 2010
Octocat-spinner-32 y.tab.h Add hack to deal with broken-ish yacc's December 25, 2009
Octocat-spinner-32 ylwrap Add proper versions of autoconf/automake dependencies to repo July 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. Currently, the changes in xs can also be 
considered to be in the public domain, although this will probably change soon. 

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 untouched from 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.