summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-25use "/bin/pwd -P" - github #36Toby Goodwin
2017-08-25add CasperToby Goodwin
2017-06-23fix for github #32 readline loses track of term sizeToby Goodwin
2017-06-23fix prefix redir precedence bug, github #33Toby Goodwin
2017-06-23add failing test for github #33 counter intuitive redirection parseToby Goodwin
2017-06-23add parse tree dumper with --enable-developToby Goodwin
2017-06-23reinstate yacc to the build processToby Goodwin
2017-05-26INSTALL is an artifact, so add to .gitignoreToby Goodwin
2017-05-26fix typosJakub Wilk
2017-05-26When running rc on the following script, rc crashes.Drazen Borkovic
fn f1 { v=x { }} fn f2 { f1 1; f1 2 } f2 whatis Valgrind stack: ==10068== Invalid read of size 8 ==10068== at 0x40EFB1: varlookup (var.c:84) ==10068== by 0x407B04: whatare_all_vars (hash.c:311) ==10068== by 0x401E60: b_whatis (builtins.c:323) ==10068== by 0x402E32: exec (exec.c:92) ==10068== by 0x40F997: walk (walk.c:39) The reason is that vp[h].p is freed in delete_var(), but the pointer is kept. Later the pointer is found to be non-null and dereferenced causing the crash.
2017-05-25remove trailing spaceToby Goodwin
2017-05-25Man page explanation of the -e option include the test in the while() statement.Drazen Borkovic
2017-05-25Fix: "rc -e" exits if condition in while statement returns false the second timeDrazen Borkovic
2017-05-25tidy up bootstrap: INSTALL is an artifactToby Goodwin
2017-04-17document readline tilde expansionToby Goodwin
2017-04-17add some tests for unquoted equalsToby Goodwin
2017-04-17update parse.[ch]Toby Goodwin
2017-04-17Parse equals sign as keywordBert Münnich
The parser treats unexpected keyword tokens (eg. if, while, ~) as literals and not as syntax errors. It does not do this for the equals sign, but it could, as it only has a special meaning at the beginning of a command, much like the keywords. Doing this allows one to write commands like this: dd if'='/dev/zero of'='data bs'='1024 count'='1 without the quotes around the equals signs. All shells from the Bourne family do this. For this to work, the lexer must not automatically terminate words at equals signs, instead it has to generate a free caret around it like for the twiddle and other such special characters. In the parser's grammar we need to get rid of the left recursion in the rules for 'simple' to turn the reduce/reduce conflict at 'first' on '=' (empty -> 'optcaret' or 'first' -> 'simple') into a shift/reduce conflict, which then can be solved with precedence/associativity so that the reduction of the empty 'optcaret' wins over shifting '='.
2017-04-17improve lshift function in man pageToby Goodwin
2017-04-17add "rc: " prefix to "cannot shift" errorToby Goodwin
2016-08-27replace problematic reldate with git describe (thanks @RamKromberg)Toby Goodwin
2016-08-27git ignore aclocal.m4Toby Goodwin
2016-08-27mention that ~ $foo () cannot be combined with other patternsToby Goodwin
2016-08-25do not return random value if sigaction fails (thanks @borkovic)Toby Goodwin
2016-08-25Merge pull request #14 from muennich/edit-sighToby Goodwin
Restore signal handlers when catching signals in edit_alloc()
2015-11-28Restore signal handlers when catching signals in edit_alloc()Bert Münnich
edit_catcher() performs a longjmp via rc_raise() to the matching setjmp in doit(). The latter does the same as before, so that edit_alloc() gets called again, but this time the installation of the signal handlers trashes the old handlers saved in the last call. Once readline() returns normally to edit_alloc() the wrong signal handlers get restored. The simplified call hierarchy looks like this: doit(); sigsetjmp(); edit_alloc(); oldint = sys_signal(SIGINT, edit_catcher); readline(); SIGINT -> edit_catcher(); siglongjmp(); sys_signal(SIGINT, oldint); Restoring the old signal handlers in edit_catcher() solves this.
2015-10-23remove chldign.c and (binary!) chldignToby Goodwin
2015-10-23Merge branch 'master' into developToby Goodwin
2015-09-03Merge pull request #8 from Pyrohh/exampleToby Goodwin
Fix man page example
2015-09-02Fix man page exampleMichael Reed
A closing brace was missing.
2015-07-15Merge pull request #7 from jwilk/spellingToby Goodwin
fix a typo
2015-07-15fix a typoJakub Wilk
2015-06-24Merge pull request #4 from rlonstein/feature/fix-gnuismToby Goodwin
use POSIX style date format in configure, not GNU date option
2015-06-23use POSIX style date format in configure, not GNU date optionRoss Lonstein
2015-05-17tidy up READMEsToby Goodwin
2015-05-17create a README.md for githubToby Goodwin
2015-05-17Revert "rename README to README.md"Toby Goodwin
This reverts commit 7d9b971e1a11080af402d65613ec870c0203dedb.
2015-05-16rename README to README.mdToby Goodwin
2015-05-16remove some old / odd filesToby Goodwin
2015-05-16remove automake artifactsToby Goodwin
2015-05-16release: rc-1.7.4Toby Goodwin
2015-05-16make mktemp more bsd friendlyToby Goodwin
2015-05-16update to plain zlib licenseToby Goodwin
2015-05-16Release: rc-1.7.3.Toby Goodwin
2015-05-16rename edit shimsToby Goodwin
2015-05-16update release time filesToby Goodwin
2015-05-16update licence to "ZlibWithAcknowledgement" (change approved by Byron)Toby Goodwin
2015-05-16remove RELDATE from ReleaseTime tooToby Goodwin
2015-05-16Revert "readline completion: now mainly working" (moved to branch)Toby Goodwin
This reverts commit 90de423084757db66041175b43a59b5ff630cb50.
2015-05-16remove obsolete RELDATEToby Goodwin