A "<" can be added before an index in the [..] operator to count from the end instead. This is convenient to e.g. chop off the last element in an array: a[..<1]. o New `[..] operator function. Range operations have been separated from the ` operator function and is handled by a new `[..] which provides greater control in how the range bounds are specified. For compatibility, if there is no `[..] then ` is still called for range operations.
o Unicode escapes.
Pike now understands the common way to escape unicode chars, using
\uxxxx and \Uxxxxxxxx escapes. These escapes works both in string
and character literals and in the preprocessor. The latter means
that unicode escapes can be used in identifiers, which is useful if
they contain characters that can't be represented raw in the source
o Stdio.* Stdio.cp can now work recursively in a directory tree. Stdio.cp now keeps permissions when copying. Added Stdio.recursive_mv which works on every OS and also when the destination isn't on the same filesystem as the source. o Process.popen Process.popen is now able to run in nonblocking mode. If a second argument is provided a file object will be opened with that mode and return, enabling two way communication with the new process.