Diff
Not logged in

Differences From Artifact [cd31af6ae9]:

To Artifact [987cabc737]:


82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110






















111
112
113

114
115
116
117


118
119
120
121
122
123
124
82
83
84
85
86
87
88






















89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112

113
114
115


116
117
118
119
120
121
122
123
124







-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


-
+


-
-
+
+







     `Tcl_(Get|Set)DefaultEncodingDir()`,
     `Tcl_UniCharN(case)cmp()`,
     `Tcl_UniCharCaseMatch()`

# New Features

## New commands
 - `array default` — Specify default values for arrays (note that this alters the behaviour of `append`, `incr`, `lappend`).
 - `array for` — Cheap iteration over an array's contents.
 - `chan isbinary` — Test if a channel is configured to work with binary data.
 - `coroinject`, `coroprobe` — Interact with paused coroutines.
 - `clock add weekdays` — Clock arithmetic with week days.
 - `const`, `info const*` — Commands for defining constants (variables that can't be modified).
 - `dict getwithdefault` — Define a fallback value to use when `dict get` would otherwise fail.
 - `file home` — Get the user home directory.
 - `file tempdir` — Create a temporary directory.
 - `file tildeexpand` — Expand a file path containing a `~`.
 - `info commandtype` — Introspection for the kinds of commands.
 - `ledit` — Equivalent to `lreplace` but on a list in a variable.
 - `lpop` — Remove an item from a list in a variable.
 - `lremove` — Remove a sublist from a list in a variable.
 - `lseq` — Generate a list of numbers in a sequence.
 - `package files` — Describe the contents of a package.
 - `string insert` — Insert a string as a substring of another string.
 - `string is dict` — Test whether a string is a dictionary.
 - `tcl::process` — Commands for working with subprocesses.
 - `*::build-info` — Obtain information about the build of Tcl.
 - `readFile`, `writeFile`, `foreachLine` — Simple procedures for basic working with files.
 - `tcl::idna::*` — Commands for working with encoded DNS names.
 - `array default`  Specify default values for arrays (note that this alters the behaviour of `append`, `incr`, `lappend`).
 - `array for`  Cheap iteration over an array's contents.
 - `chan isbinary`  Test if a channel is configured to work with binary data.
 - `coroinject`, `coroprobe`  Interact with paused coroutines.
 - `clock add weekdays`  Clock arithmetic with week days.
 - `const`, `info const*`  Commands for defining constants (variables that can't be modified).
 - `dict getwithdefault`  Define a fallback value to use when `dict get` would otherwise fail.
 - `file home`  Get the user home directory.
 - `file tempdir`  Create a temporary directory.
 - `file tildeexpand`  Expand a file path containing a `~`.
 - `info commandtype`  Introspection for the kinds of commands.
 - `ledit`  Equivalent to `lreplace` but on a list in a variable.
 - `lpop`  Remove an item from a list in a variable.
 - `lremove`  Remove a sublist from a list in a variable.
 - `lseq`  Generate a list of numbers in a sequence.
 - `package files`  Describe the contents of a package.
 - `string insert`  Insert a string as a substring of another string.
 - `string is dict`  Test whether a string is a dictionary.
 - `tcl::process`  Commands for working with subprocesses.
 - `*::build-info`  Obtain information about the build of Tcl.
 - `readFile`, `writeFile`, `foreachLine`  Simple procedures for basic working with files.
 - `tcl::idna::*`  Commands for working with encoded DNS names.

## New command options
 - `chan configure ... -inputmode ...` — Support for raw terminal input and reading passwords.
 - `chan configure ... -inputmode ...`  Support for raw terminal input and reading passwords.
 - `clock scan ... -validate ...`
 - `info loaded ... ?prefix?`
 - `lsearch ... -stride ...` — Search a list by groups of items.
 - `regsub ... -command ...` — Generate the replacement for a regular expression by calling a command.
 - `lsearch ... -stride ...`  Search a list by groups of items.
 - `regsub ... -command ...`  Generate the replacement for a regular expression by calling a command.
 - `socket ... -nodelay ... -keepalive ...`
 - `vwait` controlled by several new options
 - `expr` string comparators `lt`, `gt`, `le`, `ge`
 - `expr` supports comments inside expressions

## Numbers
 - <code>0<i>NNN</i></code> format is no longer octal interpretation. Use <code>0o<i>NNN</i></code>.