Subject: CVS commit: pkgsrc/shells/elvish
From: pin
Date: 2022-05-23 11:55:27
Message id: 20220523095527.5B4D0FAEB@cvs.NetBSD.org

Log Message:
shells/elvish: update to 0.18.0

v0.18.0
-All features deprecated in 0.17.0 have been removed.
-Within double quotes, \x followed by two hexadecimal digits and \ followed by
 three octal digits now encode an individual byte, rather than a codepoint.
-Using a lone try without except or finally is now forbidden; this does not do
 anything useful and is almost certainly an incorrect attempt to suppress an
 exception.

Deprecated features will be removed in 0.19.0.
The following deprecated features trigger a warning whenever the code is parsed
or compiled, even if it is not executed:
 -The legacy temporary assignment syntax (e.g. a=foo echo $a) is deprecated.
  Use the new tmp command instead (e.g. tmp a = foo; echo $a).
 -The clause to catch exceptions in the try special command is now spelt with
  catch; the old keyword except is deprecated.

Notable bugfixes
-The output longer than terminal width is now shown fully on Windows Terminal.
-Changing directories in the navigation mode now correctly runs hooks and
 updates $E:PWD.

Notable new features
-Elvish now ships a builtin language server that can be started with
 elvish -lsp.
-A new flag: module for parsing command-line flags.
-A new tmp special command for doing temporary assignments.
-A new defer command to schedule a function to be run when the current closure
 finishes execution.
-A new call command to call a command, using a list for and a map for options.
-A new $unix:rlimits variable allows manipulation of resource limits.

v0.17.0
Breaking changes
-Attempting to assign to a read-only variable (e.g. set nil = x) is now a
 compile-time error rather than an exception.

Deprecated features - Deprecated features will be removed in 0.18.0.
The following deprecated features trigger a warning whenever the code is parsed
or compiled, even if it is not executed:
 -The dir-history command is deprecated. Use store:dirs instead.
 -The legacy assignment form is deprecated. Depending on whether the left-hand
  variable already exists or not, use var or set instead. Use the upgrader to
  migrate scripts.
 -The lambda syntax that declares arguments and options within [] before { has
  been deprecated. The new syntax now declares arguments and options within a
  pair of |, after {. Use the upgrader to migrate scripts. See (#664).
 -Use of the special namespace local: is deprecated.
 -If you are using local: to reference variables (e.g. echo $local:x),
  local: is never necessary in the first place since Elvish always resolves
  local variables first, so just remove it.
 -If you are using local: when assigning variables (e.g. local:x = foo),
  local: makes sure that a new variable is created; use the var special
  command instead.
 -Use of the special namespace up: is deprecated.
 -If you are using up: to access a non-shadowed variable in an outer scope,
  up: is not necessary; just remove it.
 -If you are using up: to access a shadowed variable in an outer scope, rename
  the variables to have different names.
 -Use of a leading empty namespace in a variable name (e.g. $:x) is deprecated.
  Since $:x is always equivalent to $x anyway, just remove the : prefix.

Notable new features
New features in the language:
-A new special command pragma. The only supported pragma now is unknown
 command; using pragma unknown command = disallow turns off the default
 behavior of treating unknown commands as external commands.
-A new special command coalesce.
New features in the interactive editor:
-Editor modes now form a stack, instead of being mutually exclusive.
 For example, it is now possible to start a minibuf mode within a completion
 mode, and vice versa.
New features in the standard library:
-The store: module now exposes all functionalities of Elvish’s persistent store.
-New compare command to compare numbers, strings, and lists (#1347), in a
 consistent way as the order builtin.
-The range command now supports counting down.

Performance improvements:
-The overhead of executing pipelines consisting of a single form (i.e. a simple
 command with no pipes) has been reduced. A code chunk containing just nop
 command now executes 4 times as fast as before. Thanks to kolbycrouch for
 suggesting this optimization!

For changes between 0.16.1 and 0.17.0 check https://elv.sh/blog/

Files:
RevisionActionfile
1.13modifypkgsrc/shells/elvish/Makefile
1.5modifypkgsrc/shells/elvish/distinfo
1.3modifypkgsrc/shells/elvish/go-modules.mk