-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathANNOUNCE
92 lines (69 loc) · 4.37 KB
/
ANNOUNCE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
******************************** WARNING *********************************
* This is the ANNOUNCE file from the development branch. It's not in a *
* finished state and some information may be missing, obsolete or wrong. *
**************************************************************************
The announcement text for ksh 93u+m/1.1 is under development.
### MAIN CHANGES between ksh 93u+m/1.0.x and 93u+m/1.1.0 ###
New command line editor features:
- In the emacs and vi line editors, the PageUp and PageDown keys now perform
a reverse search and backwards reverse search based on the current line.
The arrow-up and arrow-down keys now act like PageUp and PageDown, unless
the new --arrowkeysearch option is turned off (see below).
- In the emacs line editor, pressing ^U (kill) twice no longer causes further
^U presses to start a new line (this was a feature for paper terminals).
- The ^X^E (emacs mode) and v (vi mode) commands will now only execute the
command line that was loaded into the editor if the temporary file is
saved before exiting the editor. This removes the need to empty the file
and save just to cancel execution.
- The emacs ^Y command now accepts a numeric parameter. For example,
ESC 10 ^Y will now "yank" (paste) the latest deleted text 10 times.
New shell language features:
- The appending redirection operator &>>FILE is now available. It is a
shorthand for: >>FILE 2>&1
- The 'time' reserved word now outputs timings in a precision of 3 digits
after the decimal point if the TIMEFORAMT variable is not set. See also
TIMEFORMAT under 'New features in shell variables' below.
- With in 'typeset -T' type declarations, the '_' automatic self-reference
variable now always refers to the type variable, even within discipline
function (such as .get or .getn) that are set for its subvariables.
New features in built-in commands:
- When printing a function definition, 'typeset -f function_name' now
regenerates and reformats the code instead of dumping it from a fixed
offset in the original source file. The output is no longer corrupted
when the source file changes after the function was defined.
- A new 'alarm' built-in command allows executing any commands at regular
intervals. TODO: https://github.com/ksh93/ksh/issues/422
- The 'hash' and 'alias -t' commands now issue an error message for each
command given that was not found on PATH, and return a non-zero exit
status if any of the commands given were not found.
- The 'fc'/'hist' command has a new -E option. If given and a full-screen
editor is launched, the command line that was loaded into the editor will
only be executed if the temporary file is saved before exiting the editor.
This removes the need to empty the file and save just to cancel execution.
People who want the new behaviour as a default for the fc/hist command
where available (i.e., for ksh 93u+m/1.1 and later) can add the following
to their ~/.kshrc or other profile script:
case ${KSH_VERSION-} in
*93u+m/1.0.*) ;;
*93u+m/*) alias fc='fc -E' hist='fc -E' ;;
esac
New features in shell options:
- A new --arrowkeysearch option, on by default, causes the up and down arrow
keys to act like PgDp and PgDown -- see 'New command line editor features'
above. When turned off, the up arrow key now does not perform any search
(note that, in the old behaviour, the down arrow key never searched).
- A new --globex shell option allows pathname expansion of extended patterns
(those with a syntax involving parentheses) from fields resulting from
field splitting (e.g., unquoted variables as command arguments). This
remains disabled by default for compatibility with POSIX and ksh88.
New features in shell variables:
- Added SRANDOM, a secure random number generator. It uses the operating
system's arc4random(3) library function or, absent that, an integrated
OpenBSD-based implementation that uses the ChaCha20 cipher. An upper bound
can be set by assigning its value to SRANDOM; subsequent numbers will be
uniformly distributed between 0 and the value of the upper bound minus
one, in a way that avoids "modulo bias".
- TIMEFORMAT supports a new %C format directive that yields the total number
of CPU seconds, i.e. the sum of the time spent in user and system mode.
- TIMEFORMAT now supports a precision of up to six places after the decimal
point. The default precision for format directives remains 3.