aboutsummaryrefslogtreecommitdiff
path: root/toys/pending/sh.c
AgeCommit message (Collapse)Author
2020-01-01Factor out array_add(), replace argxtend().Rob Landley
2020-01-01If allocation update is done in blocks, initial allocation has to populateRob Landley
a full block.
2019-12-31toysh: start of <(echo hello) support.Rob Landley
2019-12-29Implement single command env assignments (abc=def command) and make debugRob Landley
output #definable.
2019-12-29Debug basic pipe support and I/O flush for builtins.Rob Landley
2019-12-28Next round of sh plumbing: more work on redirect and pipe, use CLOEXEC.Rob Landley
2019-12-23Toysh passes two tests now! Woo! (Otherwise, does not remotely work right now.)Rob Landley
2019-12-12Next round of toysh work, with associated lib plumbing.Rob Landley
2019-09-08make "for i in" work.Rob Landley
2019-08-29Fix sh handling nested if/else/elif statements alaRob Landley
if true; then if false; then echo one; elif echo two; then echo three; else echo four; fi; fi
2019-08-18Next round of shell plumbing.Rob Landley
You can now run: echo hello; if true; then echo hello; fi; while true; do echo hello; done It's got the start of for loops but needs environment variable resolver to do much with them.
2019-08-09Split out run_function() and free_function(), add start of _TOYSH_LOCALSRob Landley
marshalling for vforked subshells, fix rc returned from run_pipeline for variable assignment. (Well, sort of: X=$(false) still needs rc = 1.)
2019-08-04Make "if true; then echo hello; fi" work. More work on redirection.Rob Landley
2019-08-02Next round of infrastructure. Start of redirect logic and runtime flow control.Rob Landley
2019-07-22Next round of plumbing evolution. Left in the todo and debug code this time.Rob Landley
2019-07-11Next sh checkpoint. Not remotely load bearing yet.Rob Landley
2019-06-29More toysh flow control plumbing.Rob Landley
2019-06-25Start over on toysh.Rob Landley
Basic line continuation logic (to prompt with $PS2). Doesn't use result yet.
2019-01-22Fix sigjmp_buf/jmp_buf mismatches.Elliott Hughes
Broke the bionic build: external/toybox/toys/net/netcat.c:188:37: error: incompatible pointer types assigning to 'sigjmp_buf *' (aka 'long (*)[33]') from 'jmp_buf *' (aka 'long (*)[32]') [-Werror,-Wincompatible-pointer-types] if (toys.optflags&FLAG_L) NOEXIT(child = XVFORK()); ^~~~~~~~~~~~~~~~~~~~~~~~ external/toybox/lib/lib.h:375:19: note: expanded from macro 'NOEXIT' #define NOEXIT(x) WOULD_EXIT(_noexit_res, x) ^~~~~~~~~~~~~~~~~~~~~~~~~~ external/toybox/lib/lib.h:367:16: note: expanded from macro 'WOULD_EXIT' toys.rebound = &_noexit; \ ^ ~~~~~~~~ 1 error generated.
2017-05-26Be more consistent about periods in help text.Elliott Hughes
2016-04-17Dust off toysh, remove ancient config debris, add start of prompt logic.Rob Landley
2015-09-29xvfork went away.Rob Landley
2015-09-23Add xvfork() as a static inline and use it from various places.Rob Landley
Note: vfork(), like fork(), can return -1 if too many processes, and we should notice and fail loudly.
2015-02-28Minor toysh cleanup: remove another unnecessary option.Rob Landley
2014-12-31Redo option parsing infrastructure so #define FORCE_FLAGS can unzero flag ↵Rob Landley
macros for a disabled command (needed when multiple commands share infrastructure with a common set of flags). This means the flag space is no longer packed, but leaves gaps where the zeroes go. (Actual flag bit positions are the same for all configs.) Since the option parsing needs to know where the holes are, the OPTSTR values are now generated as part of flags.h with ascii 1 values for the disabled values. (So generated/oldflags.h went away.) This also means that the option string argument for OLDTOY() went away, it now uses the same arguments as the NEWTOY() it references.
2014-05-26Brush the dust off toysh.Rob Landley
Simplify the config micromanagement tangle to just a single "interactive" option. Fix an unused variable and wrong variable type.
2013-02-22Move some unfinished commands to the "pending" directory.Rob Landley