summary refs log tree commit diff
path: root/Src/builtin.c
Commit message (Collapse)AuthorAgeFilesLines
* 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".
* 37722: test builtin should return status 2 on syntax errorPeter Stephenson2016-01-211-4/+4
|
* 37646: Return non-zero status from typeset assigning readonlyPeter Stephenson2016-01-151-0/+2
|
* 37551: Include the builtin's name in a "bad option" error message.Daniel Shahaf2016-01-101-1/+1
| | | | Example: «zsh -fc 'zle -z'» now prepends "zle:" to the error message.
* unposted: Src/builtin.c: refine READ_MSTREAM to avoid unsequenced evaluationBarton E. Schaefer2016-01-081-1/+1
|
* 37513: fix typos; improve error cleanup and correct for signed/unsigned ↵Barton E. Schaefer2016-01-061-10/+14
| | | | compiler warning
* 37504: refactor code using/simulating memstream to capture output for "print -v"Barton E. Schaefer2016-01-051-71/+102
|
* 37503: detect incompatible "print" options, fix metafication and possible ↵Barton E. Schaefer2016-01-041-29/+53
| | | | memory leak, miscellaneous cosmetics
* 37501 (+ revise test): correct byte counts when simulating memstream via ↵Jun T2016-01-041-2/+2
| | | | temp file
* 37497: handle NUL bytes in "printf -v".Barton E. Schaefer2016-01-021-4/+7
|
* 37493: readonly + POSIX_BUILTINS == typeset -grBarton E. Schaefer2016-01-021-2/+6
|
* unposted: enable WARN_CREATE_GLOBAL for print -vBarton E. Schaefer2015-12-311-2/+2
|