Commit Graph

177 Commits (master)

Author SHA1 Message Date
Oliver Kiddle 57248b8883 52750: remove ansi2knr support for old pre-ansi K&R compilers 2 months ago
Bart Schaefer 4fb96cc639 52612: %l replacment of zwarning() does literal string output 3 months ago
Bart Schaefer c039a74e09 Typos in previous commit comments 4 months ago
Bart Schaefer ce8909b494 unposted: Record as comments some notes about namespace usage exceptions. 4 months ago
Bart Schaefer 4da0f689c4 unposted: Fix longstanding typo in comment 5 months ago
Bart Schaefer 1ffc6d0ef5 52204: fix thinko, unmeta() buffer should not be freed 8 months ago
Bart Schaefer 29644f12e7 52193: handle UTF8-encoded USERNAME and therefore home directory in zcompile
Includes one unposted thinko fix ztrdup -> dupstring
8 months ago
Peter Stephenson 21baad1037 51307: Improve error on attempt to define function from aliased name 1 year ago
Oliver Kiddle a73c705b0c 51212: remove STOUC() macro
This served as a workaround for ancient compilers where casts to
unsigned char were broken.
1 year ago
Bart Schaefer 5b1c204c54 Unposted: Fix typo in comment 2 years ago
Bart Schaefer 734740a5ed 50341: disallow here-document markers containing newline 2 years ago
Peter Stephenson 0b3b259794 49433: Don't assume EPROG references are bounded by function depth.
We use references for efficient function copy, so there is no useful limit any more.
3 years ago
Marlon Richert a675d058db 49378: skip check for collision of aliases and functions when NO_EXEC 3 years ago
Peter Stephenson daa208e907 49269: Fix "[ ! -o ]".
This should detect "-o" as non-empty string; "-a" was alrady working.
Update the test.
3 years ago
Daniel Shahaf d4da2c73f0 47300: Document the EC_NODUP, EC_DUP, EC_DUPTOK triplet.
All uses reviewed; no functional change.
4 years ago
Mikael Magnusson 8923d2a618 Add SHORT_REPEAT option 4 years ago
Daniel Shahaf aed0cb4408 45583/0009: Add end-of-options guard support to 'function -T'. 4 years ago
Daniel Shahaf 386d9ac8ff 45583/0008: Add the 'function -T' syntax.
Config/version.mk was bumped in the previous commit.
4 years ago
Daniel Shahaf a3c6c5513d 45583/0007: WC_FUNCDEF: Add a placeholder element. 4 years ago
Daniel Shahaf fd1ef7d770 45583/0006: internal: Add some comments for orientation. No functional change. 4 years ago
Daniel Shahaf e37df255c1 45583/0005: internal: Document the WC_FUNCDEF data layout for anonymous functions with arguments (follow-up to 29492) 4 years ago
Daniel Shahaf 338a4a299a 45583/0004: internal: Add some comments around wordcodes. No functional change. 4 years ago
Daniel Shahaf 4960699de2 45583/0003: internal: Add some comments around Eccstr. No functional change. 4 years ago
Daniel Shahaf be73026b07 45583/0002: internal: Reduce some variables' visibility. No functional change. 4 years ago
Martijn Dekker c578f0a08b 45004: Fix typos in comments 5 years ago
Peter Stephenson 4384fdc7f0 44446: Fix here document with file descriptor declarator.
Add unit test.
5 years ago
Peter Stephenson 30e356eb1a 44296: "typeset Q= {X}" crashed the shell. 5 years ago
Kamil Dudka 00e6ab70b8 44122: turn int into long to avoid overflow 5 years ago
Peter Stephenson 11f18457d2 Allow short loops with "while" 6 years ago
Martijn Dekker 54ea6a8cd5 42365: Use .zwc file if timestamp identical to source.
This can happen if the files are bundled together.
6 years ago
Peter Stephenson 97c74dcb0e 42110: Fix redirections between variable assignments at start of line 7 years ago
Peter Stephenson e573857a03 41802 (minor tweaks): use heap during shell function call.
Replaces stack for more efficient memory management.

Also fix debug message when FUNCNEST is increased.
7 years ago
Peter Stephenson 5a8155f7b7 41633: Fix problem backgrounding function definitions.
Owing to being marked as simple sublists the instruction to
background was ignored.  This applied to anonymous functions.
7 years ago
Peter Stephenson cfd34c75ac 41504: make empty strings work in case patterns with no leading parenthesis 7 years ago
Sebastian Gniazdowski b31f947795 41402: Delay has_tokens() in ecstrcode as may not be needed 7 years ago
Sebastian Gniazdowski e556f9c78d 41402: Add hasher to ecstrcode to reduce string comparisons 7 years ago
Peter Stephenson af1c82d646 40173: Off-by-one error checking for {varid}.
This caused a single unprintable character in braces before a
redirection to be treated as an indentifier.
7 years ago
Peter Stephenson 641a764b82 users/22688: Allow mixing redirs and arguments after anon functions.
These are parsed differently from the case of normal functions which
can't take normal arguments at that point.
7 years ago
Peter Stephenson f25d01a97c Fix combination of HERE document and |&.
A missing flag setting up the HERE document mean that the size
of the wordcode needed to append the 2>&1 was counted incorrectly,
so the resulting wordcode was garbled.

Add test.
7 years ago
Peter Stephenson f3f8537cfa 40760: Always tokenize unquoted - to Dash.
This fixes use of pattern match character ranges in unusual contexts.

Attempt to detect a tokenized - in cases where we don't care.
7 years ago
Barton E. Schaefer e51c9c17af 40453: signal handler safety for callers of patcompile(PAT_STATIC), which is not re-entrant. 7 years ago
Peter Stephenson f26d1ba6b0 Add features associated with autoloading a function using an absolute
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.
7 years ago
Peter Stephenson bb218704d2 40306 with doc tweaks: Change behaviour expanding alias in () function definition.
Now an error unless the () is part of the same error as the name.
Add ALIAS_FUNC_DEF option to allow it again.
7 years ago
Peter Stephenson 88c42a2ba0 39777: $() is a valid empty command substitution 8 years ago
Oliver Kiddle fbafc5b509 39332: support ksh's [[ -v varname ]] condition for checking if variables are set 8 years ago
Oliver Kiddle 00708285e9 unposted: remove duplicated assignment 8 years ago
Peter Stephenson 1993a3cd2a 39292: Distinguish "=" and "==" tests in output.
This is both in xtrace output and shell code rebuilt from
internal structures.
8 years ago
Peter Stephenson 28c46c1bfb 38111: Remove redundant return values in parsing.
Return values from par_list() and par_list1() are no longer used.
8 years ago
Barton E. Schaefer bc958ab275 38106: if...then if...else should be a parse error. 8 years ago
Daniel Shahaf bced1beb8c 37700: Teach ${(z)} the 'repeat WORD SUBLIST' syntax. 8 years ago