[Bug 260621] shells/elvish: Update Elvish to v0.17.0

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 22 Dec 2021 22:50:03 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260621

            Bug ID: 260621
           Summary: shells/elvish: Update Elvish to v0.17.0
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: vendion@gmail.com

Created attachment 230325
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=230325&action=edit
Elvish v0.17.0 update

The attached patch updates Elvish to v0.17.0.

CHANGELOG:

* 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!

Poudriere testport: OK

-- 
You are receiving this mail because:
You are the assignee for the bug.