aboutsummaryrefslogtreecommitdiff
path: root/shells/ksh
Commit message (Collapse)AuthorAgeFilesLines
* shells/ksh: mark as PIE_UNSAFE (+)Dima Panov2024-12-131-0/+2
| | | | | | | | Reported by: bulk -t Approved by: portmgr (blanket) Sponsored by: Future Crew, LLC
* shells/ksh: Update to 1.0.10Cy Schubert2024-08-022-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Full changelog at: https://github.com/ksh93/ksh/compare/v1.0.9...v1.0.10 Main changes between 93u+m/1.0.9 and 93u+m/1.0.10: - Fixed a serious and longstanding bug in the arithmetic subsystem that was triggered on non-Intel processors (such as ARM): any division of an integer by a negative integer threw a spurious "divide by zero" error. - Fixed a regression where a broken pipe signal (SIGPIPE), when occurring in a pipe construct within a subshell, caused incorrect signal handling in the parent/main shell, in some cases causing a script to abort. - Fixed a bug where printf %T, after having printed the time in UTC once with the TZ variable set to "UTC", would always print the time in UTC from then on, even if the TZ variable was changed to another time zone. - The history expansion character ('!' by default) is now not processed when immediately following '${'. This makes it possible to use expansion syntax like ${!varname} and ${!prefix@} on the interactive command line with the histexpand option on; these no longer trigger an "event not found" error. - The shell is now capable of handling more than 32767 simultaneous background jobs, subject to system limitations. Reported by: Martijn Dekker <martijn@inlv.org> (Upstream)
* shells/ksh: Update to 1.0.9Cy Schubert2024-07-022-5/+4
|
* MAN?PREFIX: eleminate its usage and move man to share/manBaptiste Daroussin2024-01-102-2/+3
|
* shells/ksh: Update to 1.0.8Cy Schubert2024-01-012-4/+4
|
* shells/ksh: Update to 1.0.7Cy Schubert2023-09-162-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | From the announcement email: Full changelog at: https://github.com/ksh93/ksh/compare/v1.0.6...v1.0.7 Main changes between 1.0.6 and 1.0.7: - Fixed a hang in command substitutions (introduced in 93u+m/1.0.0) that was triggered when redirecting standard output within a command substitution, in combination with other factors. E.g., the following no longer hangs: { v=$(redirect 2>&1 1>&9); } 9>&1 - Fixed a crash on trying to append an indexed array value to an unset name reference, e.g.: nameref unsetref; unsetref+=(foo bar). This now produces a "removing nameref attribute" warning before performing the assignment. - Fixed: assignments like name=(...) to arrays did not preserve the array and variable types; similarly, assigning an empty set () to a compound indexed array caused the -C attribute to be lost. - Fixed incorrect rejection of the tab key while reading input using the 'read' built-in command. - Fixed a bug in printf %T: when using dates and times in the past, time zones for the present were incorrectly used, ignoring historical changes.
* shells/ksh: Remove blank linePo-Chuan Hsieh2023-08-261-1/+0
| | | | Approved by: portmgr (blanket)
* shells/ksh: Update to 1.0.6Cy Schubert2023-06-133-89/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the announcement: This is an urgent bugfix release that fixes a serious regression in pathname expansion, see: https://github.com/ksh93/ksh/issues/660 The previous 1.0.5 release is withdrawn and should not be used. Main changes between 1.0.5 and 1.0.6: - Fixed a serious regression in pathname expansion where quoted wildcard characters were incorrectly expanded if a pattern contains both a brace expansion and a variable expansion. - Fixed a bug where the command to launch a full-screen editor (^X^E in emacs and 'v' in vi) could cause the wrong command line to be edited if two shell sessions share a .sh_history file. 1.0.5 had a large amount of bugfixes compared to 93u+m/1.0.4. In summary: - Fixed various bugs causing crashes. - Fixed many bugs in the emacs and vi line editors, in command completion, and in file name completion. - Fixed various bugs in the handling of quotes, backslash escapes and braces when processing shell glob patterns (e.g. in pathname expansion and 'case'). - ksh now throws a panic and exits if a read error (such as an I/O error) occurs while trying to read the next command(s) from a running script. - Fixed many bugs in 'printf' and 'print -f' built-in commands, including: . Multiple bugs causing incorrect output for relative date specifications, e.g., printf %T\\n 'exactly 20 months ago' now outputs a correct result. . More printf bugs with mix and match of % and %x$. . A data corruption bug when using %B with 'printf -v varname'. . A bug causing double evaluation of arithmetic expressions. - Fixed a bug where 'unset -f commandname', executed in a subshell, hides any built-in command by the same name for the duration of that subshell. - Fixed ${var/#/string} and ${var/%/string} (with anchored empty pattern) to work as on mksh, bash and zsh; these are no longer ineffective. - Fixed incorrect result of array slicing ${array[@]:offset:length} where 'length' is a nested expansion involving an array. - Command names can now end in ':' as they can on other shells. - Fixed a spurious syntax error in compound assignments upon encountering a pair of repeated opening parentheses '(('. - Fixed spurious syntax error in ${parameter:offset:length}: the arithmetic expressions 'offset' and 'length' may now contain the operators ( ) & |. - Fixed a parsing bug in the declaration of .sh.math.* arithmetic functions. - Fixed nameref self-reference loop detection for more than two namerefs. - Several improvements to the POSIX compatibility mode. - Many more minor and/or esoteric bugfixes.
* shells/ksh*: Fix ksh 1.0.5 Regression (issue #660) version 2Cy Schubert2023-06-132-6/+77
| | | | | | | | | | | | From the upstream patch description: Patch version two. In mac_copy(), don't internally backslash-escape a backslash in a glob pattern bracket expression. This also fixes the #549 regression reintroduced by the previous patch, at least for standard glob patterns. For this, we need to use the bracketexpr flag (introduced as a copyto() local variable in 6c73c8c) in mac_copy(), so we move it to the Mac_t struct, making it globally accessible. Initialisation is automatic.
* shells/ksh: Fix ksh 1.0.5 Regression (issue #660)Cy Schubert2023-06-122-0/+14
| | | | | | | | | | | | | | | | | | | | | From issue #660: Globs are not expanded with the following: % echo "/"{bin,sbin}"/*" /bin/* /sbin/* % v=/; echo "$v"bin"/*" /bin/* But globbing is unexpectedly performed if both parameter substitution and brace expansion are present: % v=/; echo "$v"{bin,sbin}"/*" [output omitted for the sake of brevity] Obtained from: https://github.com/ksh93/ksh/issues/660 MFH: 2023Q3
* shells/ksh: Update 1.0.4 --> 1.0.5Cy Schubert2023-06-073-15/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The release email outlined the following changes: This release has a large amount of bugfixes compared to 93u+m/1.0.4. In summary: - Fixed various bugs causing crashes. - Fixed many bugs in the emacs and vi line editors, in command completion, and in file name completion. - Fixed various bugs in the handling of quotes, backslash escapes and braces when processing shell glob patterns (e.g. in pathname expansion and 'case'). - ksh now throws a panic and exits if a read error (such as an I/O error) occurs while trying to read the next command(s) from a running script. - Fixed many bugs in 'printf' and 'print -f' built-in commands, including: . Multiple bugs causing incorrect output for relative date specifications, e.g., printf %T\\n 'exactly 20 months ago' now outputs a correct result. . More printf bugs with mix and match of % and %x$. . A data corruption bug when using %B with 'printf -v varname'. . A bug causing double evaluation of arithmetic expressions. - Fixed a bug where 'unset -f commandname', executed in a subshell, hides any built-in command by the same name for the duration of that subshell. - Fixed ${var/#/string} and ${var/%/string} (with anchored empty pattern) to work as on mksh, bash and zsh; these are no longer ineffective. - Fixed incorrect result of array slicing ${array[@]:offset:length} where 'length' is a nested expansion involving an array. - Command names can now end in ':' as they can on other shells. - Fixed a spurious syntax error in compound assignments upon encountering a pair of repeated opening parentheses '(('. - Fixed spurious syntax error in ${parameter:offset:length}: the arithmetic expressions 'offset' and 'length' may now contain the operators ( ) & |. - Fixed a parsing bug in the declaration of .sh.math.* arithmetic functions. - Fixed nameref self-reference loop detection for more than two namerefs. - Several improvements to the POSIX compatibility mode. - Many more minor and/or esoteric bugfixes.
* shells/ksh*: Remove BROKEN for missing sbrk()Cy Schubert2023-03-261-3/+0
| | | | | | As of Jan 26, 2021, ksh (ksh93/ksh) no longer needs sbrk(). Remove BROKEN for architectures that don't have sbrk(2). See upstream issue https://github.com/ksh93/ksh/issues/154.
* shells/ksh*: Update descriptionsCy Schubert2023-03-232-12/+16
| | | | | | Update ksh ports descriptions to more accurately reflect what they are. Reported by: "Joseph Holsten" <joseph@josephholsten.com>
* shells/ksh: Remove the now expired ksh2020 from CONFLICTS.Cy Schubert2023-03-231-1/+1
|
* shells/ksh*: Permanently fix LLVM15 buildCy Schubert2023-02-152-1/+12
| | | | | | | | | | | | | | | | | | | | | | | Fix aso atomics broken by LLVM: /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c:839:10: error: incompatible integer to pointer conversion passing 'uint64_t' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion] return _aso_casptr((void**)p, o, n); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./FEATURE/aso:19:66: note: expanded from macro '_aso_casptr' ^~~~~~~~~~~ /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c:839:10: error: incompatible integer to pointer conversion passing 'uint64_t' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion] return _aso_casptr((void**)p, o, n); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./FEATURE/aso:19:78: note: expanded from macro '_aso_casptr' ^~~~~~~~~~~ 2 errors generated. mamake [lib/libast]: *** exit code 1 making aso.o mamake: *** exit code 1 making lib/libast mamake: *** exit code 1 making all package: creating flat view package: make failed at Fri Feb 10 06:00:01 UTC 2023 in /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/arch/freebsd14.amd64-64 *** Error code 1
* shells/ksh: Fix build with LLVM15Cy Schubert2023-02-101-1/+1
|
* shells/ksh: Update 1.0.3 --> 1.0.4Cy Schubert2022-10-222-4/+4
|
* Remove WWW entries moved into port MakefilesStefan Eßer2022-09-071-2/+0
| | | | | | | | | | Commit b7f05445c00f has added WWW entries to port Makefiles based on WWW: lines in pkg-descr files. This commit removes the WWW: lines of moved-over URLs from these pkg-descr files. Approved by: portmgr (tcberner)
* Add WWW entries to port MakefilesStefan Eßer2022-09-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been common practice to have one or more URLs at the end of the ports' pkg-descr files, one per line and prefixed with "WWW:". These URLs should point at a project website or other relevant resources. Access to these URLs required processing of the pkg-descr files, and they have often become stale over time. If more than one such URL was present in a pkg-descr file, only the first one was tarnsfered into the port INDEX, but for many ports only the last line did contain the port specific URL to further information. There have been several proposals to make a project URL available as a macro in the ports' Makefiles, over time. This commit implements such a proposal and moves one of the WWW: entries of each pkg-descr file into the respective port's Makefile. A heuristic attempts to identify the most relevant URL in case there is more than one WWW: entry in some pkg-descr file. URLs that are not moved into the Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr files in order to preserve them. There are 1256 ports that had no WWW: entries in pkg-descr files. These ports will not be touched in this commit. The portlint port has been adjusted to expect a WWW entry in each port Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as deprecated. Approved by: portmgr (tcberner)
* shells/ksh: Add missing optionCy Schubert2022-08-281-1/+1
| | | | Fixes: 6e9237ba47f0c0df54a58ca8a1bf79b44d580208
* shells/ksh*: Allow the ksh ports to coexistCy Schubert2022-08-282-11/+13
| | | | | | | | | | | | | Add an option to allow the ksh ports to avoid conflicting with each other and to coexist. This allows people who wish to punish themselves by tracking developent to still be able to fall back should upstream cause regressions. This also allows legacy ksh93 to coexist with the recently added ksh93/ksh, which is not entirely compatible with legacy ksh. Applications which require a legacy ksh compatible package should use the ksh93 port installed using one of its options. This allows new and old to exist on the same system.
* shells/ksh93: Introduce new ksh portCy Schubert2022-08-284-0/+97
Now that ksh development has resumed under a new account on github, this introduces the fourth stable release (1.0.3) of ksh93/ksh to ports