about summary refs log tree commit diff
path: root/Src/builtin.c
Commit message (Collapse)AuthorAgeFilesLines
* Add errors for incorrect types of assignmentPeter Stephenson2015-06-221-0/+13
|
* Consistent use of reserved word interface for typeset.Peter Stephenson2015-06-211-1/+2
| | | | Don't try to use array type if we have an existing hash we can use.
* Fix remaining existing tests.Peter Stephenson2015-06-201-0/+22
| | | | | | | | | | | | XTRACE output for builtins with assignment arguments added. Note difference as the output is assignment-like too: 'foo=<squggle><squiggle>bar' now appears as foo='<squiggle><squiggle>bar' Remove stupid "int htok" that stopped name part of scalar being expanded. Rewrite KSH_TYPESET test to use old builtin interface where this applies.
* Fix bug with conflicting types for typeset array assignment.Peter Stephenson2015-06-191-1/+1
| | | | | | This allows typeset -A hash=(key1 val1 key2 val2)
* A couple of issues with tied arrays.Peter Stephenson2015-06-191-5/+19
|
* Update version number for wordcode incompatibility.Peter Stephenson2015-06-191-1/+1
| | | | | | | | | Fix null dereference in tie code. Add export to typeset reserved words. Note "export FOO foo=(stuff here)" still doesn't do the export: there's an ordering problem that needs fixing.
* Debug so basic typeset cases work.Peter Stephenson2015-06-191-13/+22
| | | | | | | | | | | | | zshlex() needed after ENVSTRING and ENVARRAY in typeset. WC_TYPESET needs to come before WC_CURSH as not handled by execfuncs. More care needed counting and retrieving arguments in typeset. Array assignment for new typeset variable should be more like scalar assignment.
* First compiling attempt at typeset array handling.Peter Stephenson2015-06-191-77/+157
| | | | Completely untested and undebugged.
* Add non-metafied character length handling.Peter Stephenson2015-06-121-2/+2
| | | | | | | Use this in regex module and add test using $'\ua0'. Rename mb_metacharinit() to mb_charinit() as it does not involve metafied characters.
* 35412: fix for - flag when formating strings with printfOliver Kiddle2015-06-071-1/+1
|
* 35350: extend "fc -I" to cover listing of "internal" history events onlyBarton E. Schaefer2015-06-061-10/+14
|
* 35386: expand tabs where useful in builtins outputing function.Peter Stephenson2015-06-051-13/+37
| | | | | | Also add to zed -f. Option is -x <numm>.
* 35353: print -x and print -X expand tabsPeter Stephenson2015-06-021-6/+35
|
* users/20238: add "fc -L" to operate only on the local shell historyBarton E. Schaefer2015-05-301-10/+13
| | | | Also avoid invoking the editor on empty results.
* 35318: POSIX_BUILTINS behaviour for getopts.Peter Stephenson2015-05-281-0/+4
| | | | | It needs to keep OPTIND, as well as the index within the string pointed to by OPTIND, global in this case.
* 35193: Add "unalias -a".Peter Stephenson2015-05-181-7/+35
|
* Øystein Walle: 34841 (tweaked): allow grouping of thousands in printf ↵Oliver Kiddle2015-05-141-3/+3
| | | | format string
* 35110: don't implicitly initialize restricted integers to zeroPeter Stephenson2015-05-141-1/+6
|
* users/20203: nested functions in always blocks when exit pendingPeter Stephenson2015-05-131-0/+6
|
* Fix two bugs in typeset_setbaseMikael Magnusson2015-05-041-3/+4
|
* 34992: POSIX fix for readonly variables.Peter Stephenson2015-04-291-4/+33
| | | | | With POSIXBUILTINS, variables can be marked readonly if unset. Also, variables can't have the readonly flag removed.
* 34851: fix thinko from 34093 that short-circuited some "whence -m" searchesBarton E. Schaefer2015-04-061-5/+7
|
* 34551: Avoid adding an extra "/" to the target path in cd_try_chdir() when ↵Barton E. Schaefer2015-02-151-2/+4
| | | | the current directory is "/"
* 34490: Fix leak on print -zf/-sf errorMikael Magnusson2015-02-101-1/+17
|
* 34488: Fix use-after-free for print -zf and print -sfMikael Magnusson2015-02-101-6/+12
|
* 34331: better handling of NULL in cd.Peter Stephenson2015-01-221-3/+5
| | | | | Problem was return from symbolic link expander in weird cases where there file system isn't behaving itself properly.
* 34329: add -S option to which and wherePeter Stephenson2015-01-201-2/+2
|
* 34213: in previous patch, do not change usepm if it is already setBarton E. Schaefer2015-01-101-1/+1
|
* 34212: do not change unset-ness of special parameters when exporting themBarton E. Schaefer2015-01-101-2/+6
|
* Rearrange context saving.Peter Stephenson2015-01-091-4/+4
| | | | | | | Variables are now associated with the module that declares them, being initialised and saved/restored there. However, as many variables are used for communication between modules, many of them are set in multiple places, so the assignment is ambiguous.
* Fix a typo in bin_print error messageMikael Magnusson2015-01-091-3/+3
|
* 34154/34155: reorder bin_print() to avoid leaking the output descriptor when ↵Barton E. Schaefer2015-01-071-29/+34
| | | | incorrect/incompatible options were passed
* 34112: typeset: fix leak of oldvalMikael Magnusson2015-01-061-0/+2
| | | | Found by Coverity (Issue 1255803).
* 34113: whence: use dupstring to not leak memoryMikael Magnusson2015-01-061-1/+1
| | | | | All other assignments to buf use the heap, and it's never freed. Found by Coverity (Issue 1255786).
* 34114: emulate: Handle aborting from mixed -L/-c correctlyMikael Magnusson2015-01-061-1/+2
| | | | Somehow Coverity found this (Issue 1255797, Failure to restore non-local value).
* 34093: "whence" should always return nonzero when it finds that nothing ↵Barton E. Schaefer2015-01-061-15/+17
| | | | matches its arguments
* users/19671: remove confusion with whence -a.Peter Stephenson2015-01-021-1/+1
| | | | If the argument is a full path don't try to search the path for it.
* users/19667: whence -S shows intermediate steps in symlink expansionPeter Stephenson2015-01-021-6/+6
|
* 33984: bin_dirs() should use zputs() to print metafied directory namesJun Kuriyama2014-12-161-1/+1
|
* 33876: etc.: Separate errors and keyboards interruptsPeter Stephenson2014-12-111-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Combination of 12 commits from interrupt_abort branch. Basic strategy is to introduce bits to errflag and to set and reset them separately. Remove interrupt status on return to main keymap. Turn off ERRFLAG_INT for always block. Restore bit thereafter: we probably need a new variable in order to allow user interrupts to be reset in the always block. Add TRY_BLOCK_INTERRUPT This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too. Ensure propagation of SIGINT from exited job. If received by foreground job, shell uses ERRFLAG_INT, not ERRFLAG_ERROR, to set the new state. Reset errflag before precmd() Add always block in _main_completion to fix ZLS_COLORS Ensures we get the right state of $ZLS_COLORS at the end of _main_complete even if there's an interrupt. However, the "right state" is a bit messy as it depends on styles.
* 33656: different algorithm for "whence -am" to produce results more ↵Barton E. Schaefer2014-11-131-44/+30
| | | | | | | | consistent with "whence -m" This uses the scanmatchtable routine to collect the names that match the input pattern, then uses the original -a path search loop to generate the output, to avoid duplicating test conditions and output formats.
* Handle -a option to whence in combination with -m.Peter Stephenson2014-11-081-5/+41
|
* 33429: disallow non-integer values for HISTSIZE and SAVEHIST of "fc -p", and ↵Barton E. Schaefer2014-10-101-4/+13
| | | | fix crash on zero values for same
* 33323: fix bug in removing math functions and complete -M option to functionsOliver Kiddle2014-10-021-1/+3
|
* 32918: add %. to ztrftime for use in promptsPeter Stephenson2014-07-301-1/+1
|
* unposted (see 32892): 'fc -I' is an errorBarton E. Schaefer2014-07-241-0/+4
|
* 32624: use correct scaling factor (clock ticks) for timesPeter Stephenson2014-05-291-2/+4
|
* 32479: POSIXTRAPS and implicit return values.Peter Stephenson2014-03-141-2/+9
| | | | | | With POSIXTRAPS never propagate implicit return value. In any case if not forcing a return value don't use lastval from within the trap, use the one from the surrounding code.
* 32246: option "shift -p" pops arguments from end of arrayPeter Stephenson2014-01-111-6/+25
|
* 31706: standardize handling of "test ! <x> <y> <z>"Peter Stephenson2013-09-061-3/+10
|