summary refs log tree commit diff
path: root/Src/builtin.c
Commit message (Collapse)AuthorAgeFilesLines
* 43077: Fix shift builtin status.Peter Stephenson2018-06-201-1/+6
| | | | | If the math evaulation to get the shift count failed the status wasn't passed back from the builtin.
* 42785: Allow redefining math function to work silently.Peter Stephenson2018-05-171-9/+4
| | | | | | Previously it failed with an error message that the function was already defined. This is inconsistent with most other aspects of shell usage.
* 42488: test cases for 42369 and address some issues in the codeOliver Kiddle2018-05-131-2/+8
|
* 42601: tidy up code for set -A/+A to not increment a NULL pointer and to be ↵Oliver Kiddle2018-04-071-6/+4
| | | | more efficient
* 42332: Special case unsigned printf formats.Peter Stephenson2018-01-311-1/+4
| | | | | For constants we can avoid a conversion to signed by examining the expression before passing to math eval.
* 42156: new CHECK_RUNNING_JOBS option demanded by bash groupiesPeter Stephenson2017-12-221-1/+2
| | | | | | | Also new job options. Also suppress debug error if rows or columns are reported as zero as this is normal without a physical terminal.
* 42063: getopts errors now report "+" in front of option where appropriatedana2017-12-011-2/+3
|
* 41866: No error unsetting nonexistent function for POSIXBUILTINSMartijn Dekker2017-11-021-1/+5
|
* Add typeset -p1, like typeset -p with newlinesPeter Stephenson2017-10-011-7/+20
|
* First go at var=([key]=value) syntax.Peter Stephenson2017-09-131-22/+48
| | | | | | | 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.
* 41668: New --emulate option on invocation.Peter Stephenson2017-09-111-1/+1
| | | | | | | | 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.
* 41284: Fix NULL dereference in cd.Peter Stephenson2017-06-131-1/+10
| | | | | This happened in sh compatiblity mode if HOME was not set and cd was used with no argument.
* 41244: Add zmodload -s option.Peter Stephenson2017-06-121-1/+1
| | | | | | | | 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.
* 41012: Fix premature exit from nested function in EXIT trap.Peter Stephenson2017-04-271-7/+16
| | | | | | Also add check so we don't delay an exit if we were already in an EXIT trap for the main shell, as we should in that case leave immediately.
* 40622 with typos fixed: functions -Ms.Peter Stephenson2017-03-011-3/+20
| | | | | | This adds the capability for mathematical functions based on shell functions to have a string argument. Module functions have had this for a long time.
* 40536: Prepend directory to $fpath.Peter Stephenson2017-02-131-0/+36
| | | | | | Used if parent function is autoloaded by absolute path so as to find functions in the same suite without shell code modification.
* 40453: signal handler safety for callers of patcompile(PAT_STATIC), which is ↵Barton E. Schaefer2017-01-291-17/+20
| | | | not re-entrant.
* 40404: Only quote command in whence output with -v.Peter Stephenson2017-01-241-4/+8
|
* 40391: Add WARN_NESTED_VAR option and functions -W.Peter Stephenson2017-01-231-4/+8
| | | | | These are companions to WARN_CREATED_GLOBAL, warning when a variable from an enclosing scope is altered.
* 40375: autoload with explicit path mustn't trash already loaded function.Peter Stephenson2017-01-181-0/+25
| | | | | Also remove unnecessary dupstring() on already duplicated string when expanding =cmd.
* 40369: code should have been committed with 0a2d92f98Peter Stephenson2017-01-171-2/+2
|
* 40342: Add directory name cache for autoload file paths.Peter Stephenson2017-01-121-6/+6
| | | | | This renders "autoload /blah/blah/*" as efficient as use of fpath.
* 40335: More care with autoload function path.Peter Stephenson2017-01-121-3/+8
| | | | | | If doing "autoload -X", the path present might actually be location of file containing the function with the autoload -X. Add an explicit flag to say it's a directory for autoload.
* unposted: more care with shell function filename.Peter Stephenson2017-01-111-1/+3
| | | | | | | When updating shfunc structure to change filename we should be careful to free whatever's there already, we may now be the directory in which to find the function definition. After loading the field contains the full name of the file.
* Add features associated with autoloading a function using an absolutePeter Stephenson2017-01-111-44/+129
| | | | | | | | | | | | | path. -d defaults to normal fpath -r remembers the path without actually loading. May be combined with -d. -R does the same but it's an error if not found -X can now take a directory path: this is used to output not yet loaded functions that have an associated path.
* 40179: fix handling of "printf -" and "printf --"Barton E. Schaefer2016-12-141-1/+1
| | | | unposted: regression test for 40179 / 37467
* 40134: silence spurious compiler warnings.Barton E. Schaefer2016-12-101-1/+1
|
* 40010: builtins: Say 'bad option: +x', not 'bad option: -x', when +x was passed.Daniel Shahaf2016-11-281-2/+3
|
* unposted: fix printf -v to an array without format string reuseOliver Kiddle2016-11-231-1/+1
|
* 39958: Add extra byte to PATH_MAX allocations.Peter Stephenson2016-11-171-1/+1
| | | | | This ensures we've got enough space for a null, although this isn't always needed.
* 39870: ensure exit trap can always runPeter Stephenson2016-11-081-0/+5
|
* 39838: another missing unqueue_signals()Barton E. Schaefer2016-11-051-0/+1
|
* 39834: when print used with -v and -l, include a final newlineOliver Kiddle2016-11-051-1/+2
| | | | | Also complete print -S option and make further use of the new printf to an array feature in other completion functions.
* 39389: when printf -v is used with an array use separate elements each time ↵Oliver Kiddle2016-11-051-13/+38
| | | | the format is reused
* 39758: revise 39704 for array and hash parameters; more POSIXBUITINS tweaks forBarton E. Schaefer2016-10-291-4/+10
| | | | | | | | | | | | | export 39704 was commit 0f5e670, forgot to reference article number in that log. "typeset -p" outputs "typeset" for array and hash parameters, even when exported, because those types can be marked export but are never pushed to the enviroment. For POSIXBUILTINS, "export var" does not implicitly set $var, and its export state is preserved when assigned (but not when explicitly unset).
* 39678: metafication of printf %q argument and resultPeter Stephenson2016-10-191-2/+3
|
* 36108: command -[vV] assumed -pPeter Stephenson2016-10-111-2/+4
|
* 39545: Add some missing unqueue_signals().Peter Stephenson2016-10-031-0/+3
| | | | All of these are added simply to fit existing logic in other branches.
* 39509: in the event the current directory has been removed, use chasedots ↵Barton E. Schaefer2016-09-301-4/+21
| | | | semantics for "cd ..".
* 34943: Fixes for "command" with multiple options.Peter Stephenson2016-09-291-1/+9
| | | | | | These need to combine properly, and alos "command -p" with either -v or -V needs to search for builtins and then using the default system path.
* 39252: internal: quotestring: Drop the 'e' parameter, which no caller uses.Daniel Shahaf2016-09-111-1/+1
|
* 39181: Add PM_SINGLE and use for compstate.Peter Stephenson2016-09-061-0/+4
| | | | | | | | | | | | This flags that compstate (or any other special) can only have a single instance and an attempt to create a new one is an error. Given the very fiddly semantics of compstate any other usage seems pointless. No investigation yet of other variables that could use this. Note it's still possible to hide such variables; only instances that keep the special nature are affected.
* 39087: fix 'conditionally uninitialized' variablesJun-ichi Takimoto2016-08-231-1/+1
|
* 38971: Start using the new arrlen_ge() / arrlen_le() helpers.Daniel Shahaf2016-08-011-3/+3
|
* 38752: add comments to explain use of stdout instead of stderr for the which ↵Oliver Kiddle2016-06-291-1/+2
| | | | builtin
* 38630: fix infinite loop of "hash ="Barton E. Schaefer2016-06-071-0/+1
|
* unposted: silence spurious compiler warningBarton E. Schaefer2016-04-291-1/+1
|
* 38306: in printf formats, treat a missing precision as zero rather than as ↵Barton E. Schaefer2016-04-221-1/+2
| | | | unlimited
* 37914: reparse associative array subscripts in "unset" so keys with "[" or ↵Barton E. Schaefer2016-02-081-12/+18
| | | | | | "]" may be backslash-escaped Also fix erroneous test case this revealed.
* 37765: Use FS_FUNC on fucstack to find autoload -X target.Peter Stephenson2016-01-251-7/+25
| | | | | This is better than scriptname which can be updated due to e.g. intervening "eval".