summaryrefslogtreecommitdiff
path: root/Src
AgeCommit message (Collapse)AuthorFilesLines
2017-09-2941789: Don't save fd if -1.Peter Stephenson1-8/+11
We try to move an fd which isn't opend but it will feel. This needs handling specially in the new code for marking saved fd's.
2017-09-2841772: fix bug in handling of long options with _arguments' -A optionOliver Kiddle1-1/+1
2017-09-2741767: preserve nonzero exit status on interruptBarton E. Schaefer1-1/+2
2017-09-2741764 (test tweaked): allow [key]+=value when modifying arraysPeter Stephenson3-12/+48
2017-09-2641761: Ensure status from interrupt is propagated by builtinPeter Stephenson1-2/+9
2017-09-2541747: Don't create hash entry if just checking existence.Peter Stephenson4-9/+18
Pass a flag in indicating this case.
2017-09-24Updates for ksh array element syntax.Peter Stephenson5-147/+224
Move detection of key/value pairs down into prefork(). Detect normal array assignment and [key]=val array assignemnt separately. Mark key / value pairs with Marker and pass up flag. Deal with marked triads specially later on.
2017-09-21unposted (cf. 41672): checkrmall: Record the 41672 bug in a TODO.Daniel Shahaf1-0/+3
2017-09-21unposted (cf. 41707): internal: Document the count==0 case of checkrmall().Daniel Shahaf1-1/+3
2017-09-2041736: NO_INTERACTIVE_COMMENTS in $(...)Barton E. Schaefer1-1/+6
2017-09-1841723: one more case of 41627 in "while" loops.Barton E. Schaefer1-1/+1
2017-09-14More [key]=value tweaksPeter Stephenson1-3/+5
Some rephrasings. Update typeset -p for associative arrays to use new syntax.
2017-09-13First go at var=([key]=value) syntax.Peter Stephenson4-33/+206
Works for both normal and typeset case, also var+=... Still to do: allow to be mixed with straight array assignment, improve typeset -p, implement [key]+=value.
2017-09-1341688: builtin wait for all jobs should ignore STAT_NOPRINTPeter Stephenson1-1/+2
2017-09-11unposted: internal: Document zreaddir().Daniel Shahaf1-0/+10
2017-09-1141666: zpty compatibility for OpenBSDThierry Ghelew1-1/+6
2017-09-1141668: New --emulate option on invocation.Peter Stephenson3-35/+107
This sets the shell emulation mode similarly to ARGV0=... which doesn't work from other shells. Note that this gives more comprehensive emulation than running emulate within the shell.
2017-09-1041662: exec -a arguments weren't sanitisedPeter Stephenson1-0/+3
2017-09-1041661: Need to remove tokens before using bufferwords() for (z)Peter Stephenson1-2/+6
2017-09-0541641: Some math operations shouldn't be lvalues.Peter Stephenson1-8/+2
This includes pre- and post- increment and decrement. Simply mark all values after operations as rvalues.
2017-09-0441633: Fix problem backgrounding function definitions.Peter Stephenson1-1/+6
Owing to being marked as simple sublists the instruction to background was ignored. This applied to anonymous functions.
2017-08-31Fix problem with ERR_RETURN.Peter Stephenson1-4/+3
It wasn't suppressed properly in the code following an if in some circumstances, in particular in initialsation scripts and also in a nested function where the caller had suppressed it.
2017-08-2941608 (plus tests): restore ERR_EXIT before function.Peter Stephenson1-1/+1
There was an exception to the usual ERR_EXIT pattern that causes problems when executing a function in an else branch. It seems the exception is no longer needed as the regression tests pass without it.
2017-08-2441590 modified as 41595: make ERR_RETURN more logical.Peter Stephenson5-19/+48
It now operates separately at each function depth. To keep ERR_EXIT global, make the noerrexit variable usd bit flags. Extend tests.
2017-08-15posted but has not shown up: fix fd problem in subshell.Peter Stephenson2-3/+27
Record fd's that have been saved in fdtable and if the shell forks close them as they will never be restored.
2017-08-1441542: Fix pcre logic for extracting matched parentheses.Peter Stephenson1-25/+43
When we went off the end of the array but measured the length implicitly, we got lucky before. After 41308 we were looking up lengths in stale memory. Rename some variables, clean up the logic, be easier to understand. Add tests.
2017-08-1141527 (tweaked for heap memory): fix [[ -<cond> ]] from modulesPhil Pennock1-2/+13
2017-08-0941504: make empty strings work in case patterns with no leading parenthesisPeter Stephenson2-13/+41
2017-08-08Revert "41499 (with one further tweak): POSIX_STRINGS behaviour."Peter Stephenson1-18/+2
This reverts commit 2eacbef91913fe967335812900d43cf2edfa54d9. Conflicts: ChangeLog
2017-08-0741499 (with one further tweak): POSIX_STRINGS behaviour.Peter Stephenson1-2/+18
Ignore a terminating delimiter when splitting as separators despite being called separators are terminators.
2017-08-0341484: Make ${(q+)...} quote backsleshes.Martijn Dekker1-1/+5
2017-07-2741464, 41466: With POSIX_BUILTINS, exec only executes sexternal commands.Peter Stephenson1-2/+12
Document the default behaviour and add a test.
2017-07-1341420: "{.." wasn't check for brace expansion properlyPeter Stephenson1-0/+2
2017-07-0941402: Delay has_tokens() in ecstrcode as may not be neededSebastian Gniazdowski1-1/+5
2017-07-0941402: Add hasher to ecstrcode to reduce string comparisonsSebastian Gniazdowski2-1/+6
2017-07-04Delay processing "disown" for superjob.Peter Stephenson2-0/+9
This is a job forked from the current shell when a job partly running from the current shell was suspended. When all associated processes started from the main shell are finished the job is continued and at this point the disown can complete.
2017-07-04Avoid invalid access with isearch in completion listMaxime de Roucy1-5/+7
2017-07-0341375: GDBM interface bug fixesSebastian Gniazdowski1-63/+93
2017-07-0241386: when backgrounding a STAT_CURSH job, remove the flag.Peter Stephenson1-1/+3
This typical applies to a STAT_SUPERJOB. It prevents it from getting copied interrupts as a foreground process.
2017-07-0222760: fix partial string length reports with NO_MULTIBYTEPeter Stephenson1-1/+1
2017-06-2741368: Add missing unqueue_signals() to compctl.Peter Stephenson1-0/+2
2017-06-2241308 (tweaked): behaviour of PCRE with NUL bytesPhil Pennock1-11/+26
2017-06-1941319: dupstring a possibly readonly string before modifyingMikael Magnusson1-1/+1
2017-06-1941322: reduce number of changes in signal queuing/blocking state during ↵Barton E. Schaefer1-3/+5
shingetline() to improve read speed
2017-06-1941317: use heap allocation in getoutputfile() to plug memory leakBarton E. Schaefer1-2/+2
Heap is usable ever since addfilelist() of workers/31528 (commit 3c573222).
2017-06-1741242: zstrbcmp(...) removed in favor of zstrcmp(..., ↵Barton E. Schaefer2-48/+3
SORTIT_IGNORING_BACKSLASHES) This should make sorting consistent in completion listings vs. elsewhere.
2017-06-1341275: Leave stdin open when executing widgetsStephane Chazelas1-0/+7
2017-06-1341284: Fix NULL dereference in cd.Peter Stephenson1-1/+10
This happened in sh compatiblity mode if HOME was not set and cd was used with no argument.
2017-06-1241244: Add zmodload -s option.Peter Stephenson4-9/+9
Doesn't complain if module is unavailable, but prints more obscure errors. Use existing low-level silent flag by passing through intermediate module loading hierarchy.
2017-06-0741239: Save and restore default history event on context stack.Peter Stephenson2-0/+3
This ensures that the default event set by an expansion in ZLE doesn't propagate to the command line expansion.