summary refs log tree commit diff
path: root/Src/utils.c
Commit message (Collapse)AuthorAgeFilesLines
* 40760: Always tokenize unquoted - to Dash.Peter Stephenson2017-03-071-3/+7
| | | | | | This fixes use of pattern match character ranges in unusual contexts. Attempt to detect a tokenized - in cases where we don't care.
* 39982: $SPROMPT: Don't accept a spelling correction at space/tab.Daniel Shahaf2016-11-241-4/+4
| | | | | The patch also downscopes a couple of local variables, with no functional change.
* 39958: Add extra byte to PATH_MAX allocations.Peter Stephenson2016-11-171-6/+6
| | | | | This ensures we've got enough space for a null, although this isn't always needed.
* 39943: no need to compute arrlen() in arrdup_max() when max == 0.Barton E. Schaefer2016-11-151-2/+3
|
* 39949: Special case for "-" in directory names.Peter Stephenson2016-11-151-31/+39
| | | | | It can be sh-tokenized to Dash to allow for appearing in ranges after substitution, so needs to be turned back to "-" in that case.
* 39906: More multibyte optimisations for US-ASCII.Peter Stephenson2016-11-141-3/+23
| | | | | This treats characters 0 to 0x7f as single byte US-ASCII along the lines we already do in other places in the code.
* 39886 based on 39877: Optimise arrdup to arrdup_max.Peter Stephenson2016-11-091-0/+25
| | | | Only duplicate as much of the array as is needed.
* unposted: follow up to 39867: don't need test against zeroPeter Stephenson2016-11-081-1/+1
|
* 39867, tweaked: Use cast to unsigned char to test character.Peter Stephenson2016-11-081-1/+1
| | | | | We want the unsigned variant to be <= 0x7f. Use the normal STOUC() macro and turn this into a single test.
* 39825: optimise mb_metastrlenend() for 7-bit character.Peter Stephenson2016-11-041-1/+16
| | | | | | As the shell relies intimately on US-ASCII as a subset we can skip the multibyte functions if we are dealing with a complete 7-bit character.
* 39470: failure to open a supposedly unique temp file name should result in ↵Barton E. Schaefer2016-09-291-0/+4
| | | | | | an error Also band-aid for signal-related race conditions in temp file name generation
* 39252: internal: quotestring: Drop the 'e' parameter, which no caller uses.Daniel Shahaf2016-09-111-23/+4
|
* 39087: fix 'conditionally uninitialized' variablesJun-ichi Takimoto2016-08-231-1/+3
|
* 39046 + 39061: New :P history modifier.Daniel Shahaf2016-08-221-6/+8
|
* 38971: Start using the new arrlen_ge() / arrlen_le() helpers.Daniel Shahaf2016-08-011-1/+1
|
* 38973: Optimize indexing array parameters.Daniel Shahaf2016-08-011-0/+40
| | | | | | | | | | | % () { for 1 in $prefix/zsh/bin/zsh Src/zsh; do $1 -f -c 'a=( {1..1000000} ); repeat 3 time ( repeat 300 : $a[1] )'; done } ( repeat 300; do; : $a[1]; done; ) 1.68s user 0.01s system 98% cpu 1.718 total ( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.710 total ( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.714 total ( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total ( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total ( repeat 300; do; : $a[1]; done; ) 0.01s user 0.01s system 69% cpu 0.023 total
* 21603: Make read_poll more interruptible.Peter Stephenson2016-06-021-1/+1
| | | | | If we interrupted the first read we still did the fallback read. This is wrong.
* 37946: make rm * warnings more informative.Peter Stephenson2016-02-111-4/+27
| | | | Now count files that would be deleted up to 100.
* 37868: add 'static' to file local variablesJun-ichi Takimoto2016-02-031-2/+2
|
* 37780: Care printing error if nothing to print.Kamil Dudka2016-01-251-3/+4
|
* 37776: Set errflag before calls to zwarning().Peter Stephenson2016-01-251-2/+2
| | | | This avoids an attempt to call zerr() or zerrnam() recusrively.
* 37678: Now possible to quote "-" in pattern rangePeter Stephenson2016-01-191-1/+1
|
* unposted: Extend docstring of callhookfunc().Daniel Shahaf2016-01-151-0/+3
|
* 37348: Tests and fix for ${(q+)...}.Peter Stephenson2015-12-081-1/+1
| | | | Needs dupstring() for empty string case.
* 37344: restore old printable quoting, add ${(q+)...}.Peter Stephenson2015-12-071-46/+218
| | | | | | The \C- form is only used inside quotedzputs(). ${(q+)...} outputs a quotedzputs() representation.
* 37331: Use a single chracter to represent an MB_INCOMPLETE.Peter Stephenson2015-12-071-6/+10
| | | | | This is as it is likely to appear as a single character in output even if it has multiple octets.
* 37326: comment only: multibyte string lenght/width countingPeter Stephenson2015-12-061-0/+11
|
* 37314: upgrade quotedzputs() for non-printable output.Peter Stephenson2015-12-061-27/+144
| | | | | Use nicechar with $'..' quoting; upgrade nicechar() etc. to use suitable output.
* 37296: Avoid needless calloc().Daniel Shahaf2015-12-031-11/+13
|
* 37191: fix strftime() expansion issue with %p and %P.Peter Stephenson2015-11-221-4/+11
| | | | | In some locales the output from this can validly be empty, so we need to treat them specially.
* unposted: small typo againPeter Stephenson2015-10-241-1/+1
|
* unposted: small typoPeter Stephenson2015-10-241-1/+1
|
* 36944: extend fd management to zsocketPeter Stephenson2015-10-241-10/+15
|
* 36941: Mark file descripors in ztcp as used.Peter Stephenson2015-10-241-0/+26
| | | | | Allow such file descriptors to be either internal and closed on exec or external and so managed explicitly by module.
* 36773: limit CORRECT / CORRECT_ALL to directory names in cases where it is ↵Barton E. Schaefer2015-10-041-19/+30
| | | | obvious that a directory is expected
* 36562: sanitize $PWD on import, per POSIXBarton E. Schaefer2015-09-191-3/+17
|
* cf. 36554: remove unnecessary pointer dereferenceBarton E. Schaefer2015-09-191-1/+1
|
* 36552 plus test: fix Nularg string in quotestring(QT_DOLLARS)Barton E. Schaefer2015-09-171-0/+6
|
* 36380: Avoid gcc case syntaxMikael Magnusson2015-09-011-1/+2
|
* 36376: handle signals during read1char() so it is possible to interrupt ↵Barton E. Schaefer2015-09-011-1/+6
| | | | correct/correctall prompts
* 36262: Replace fix for missing unmeta in chdir().Peter Stephenson2015-08-211-4/+9
| | | | | | | It was needed in the argument to one of a pair of lchdir()s rather than within zchdir(). Add tests for the case of a character with 0x83 within it.
* 36227: attempt to fix metafication problem with ztrftime.Peter Stephenson2015-08-181-3/+27
| | | | | fmt is treated as metafied on entry; use returned length to ensure we metafy or output the correct length if there are embedded nulls.
* 35928: '%-m' should work even if not supported by strftime(3)Jun-ichi Takimoto2015-08-081-1/+1
| | | | Also clarify document.
* 35809: fix $((...)) completion by _expand widget.Peter Stephenson2015-07-251-1/+19
| | | | | This changes internal quoting of the form still including tokens not to add unnecessary internal backslashes.
* 35872: protect against NULL pointers in unmetaPeter Stephenson2015-07-231-1/+4
|
* 35826: add getsparam_u() to return unmetafied string, use it for a number of ↵Barton E. Schaefer2015-07-221-3/+7
| | | | references to non-special params
* 35745: ztrftime: Pass everything unhandled to the system strftime()Mikael Magnusson2015-07-091-25/+54
|
* Add non-metafied character length handling.Peter Stephenson2015-06-121-6/+83
| | | | | | | Use this in regex module and add test using $'\ua0'. Rename mb_metacharinit() to mb_charinit() as it does not involve metafied characters.
* 35386: expand tabs where useful in builtins outputing function.Peter Stephenson2015-06-051-4/+39
| | | | | | Also add to zed -f. Option is -x <numm>.
* 35353: print -x and print -X expand tabsPeter Stephenson2015-06-021-0/+102
|