Bug 258415

Summary: shells/elvish: Update elvish to v0.16.3
Product: Ports & Packages Reporter: Adam Jimerson <vendion>
Component: Individual Port(s)Assignee: Fernando Apesteguía <fernape>
Status: Closed FIXED    
Severity: Affects Only Me CC: fernape
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://elv.sh/blog/0.16.0-release-notes.html
Attachments:
Description Flags
Elvish v0.16.3 update vendion: maintainer-approval+

Description Adam Jimerson 2021-09-10 22:39:04 UTC
Created attachment 227817 [details]
Elvish v0.16.3 update

The attached patch updates Elvish to v0.16.3.
Comment 1 Adam Jimerson 2021-09-10 22:41:44 UTC
Changelog:

Breaking changes
Exceptions caused by a command trying to write to a closed pipe are now suppressed if the command is part of a pipeline and not the last command of the pipeline.

The builtin: namespace, useful for referring to builtin variables and commands explicitly, now requires use builtin before use, consistent with other standard library modules.

As a side effect of support for a integer numbers, contexts that require integers no longer accept floating point numbers with a zero fraction part (e.g. $li[1.0] is now illegal; $li[1] is required).

The following commands are now replaced by edit:close-mode: edit:close-listing, edit:completion:close, edit:history:close, edit:listing:close.

The edit:histlist:toggle-case-sensitivity command has been removed. Instead, the history listing mode now applies smart-case matching by default.

Declaring a variable with a ~ suffix, without an explicit initial value, now initializes its value to the builtin nop function rather than $nil (#1248).

Deprecated features
Deprecated features will be removed in 0.17.0.

The following deprecated features trigger a warning whenever the code is parsed or compiled, even if it is not executed:

The fopen and fclose commands are deprecated. Use file:open and file:close instead.

The prclose and pwclose commands are deprecated. Use file:close instead.

The following deprecated features unfortunately doesn’t trigger any warnings:

The math:pow10 command is deprecated. Use math:pow 10 $exponent instead.
Notable bugfixes
Iterating over certain list slices no longer crash Elvish (#1287).

Globbing no longer crashes when there are files whose names contain invalid UTF-8 sequences (#1220).

The path:is-dir and path:is-regular commands default behavior no longer follows a final symlink as advertised in the original documentation. A &follow-symlink option has been added to get the old, undocumented, behavior since it can be useful and avoids the need to use path:eval-symlinks to transform the path in common use cases.

Evaluating ~username no longer appends a slash (#1246).
Notable new features
New features in the language:

Elvish’s number type has been extended with support for arbitrary-precision integers and rationals. Many numerical commands in the builtin module and the math: module have been extended with support for them.

Experimental support for importing modules written in Go with use.

New features in the standard library:

A new file: module contains utilities for manipulating files.

Commands for creating temporary files and directories, path:temp-file and path:temp-dir (#1255).

New options to the edit:command-history command: &dedup, &newest-first, and &cmd-only (#1053).

New from-terminated and to-terminated commands to allow efficient streaming of byte sequences terminated by ASCII NUL or any other terminator (#1070).

New features in the interactive editor:

The editor now supports setting global bindings via $edit:global-binding. Global bindings are consulted for keys not present in mode-specific bindings.

A new edit:clear builtin to clear the screen has been added.

The editor now uses a DSL for filtering items in completion, history listing, location and navigation modes.

A new edit:after-command hook that is invoked after each interactive command line is run (#1029).

A new edit:command-duration variable that is the number of seconds to execute the most recent interactive command line (#1029).

New features in the command behavior:

Elvish now follows the XDG directory spec for placing the database and searching for rc.elv and libraries (#383). The legacy directory ~/.elvish is still respected for now, but may issue deprecation warnings in a future version. The exact paths are documented in the page for the Elvish command.

poudriere testport: OK
Comment 2 commit-hook freebsd_committer freebsd_triage 2021-09-17 11:24:09 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dc25ed72b0c657a44805f9d9aefc9a9b35ba80ff

commit dc25ed72b0c657a44805f9d9aefc9a9b35ba80ff
Author:     Adam Jimerson <vendion@gmail.com>
AuthorDate: 2021-09-16 06:01:40 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2021-09-17 11:18:18 +0000

    shells/elvish: Update elvish to v0.16.3

    ChangeLog: https://elv.sh/blog/0.16.0-release-notes.html

    PR:     258415
    Reported by:    vendion@gmail.com (maintainer)

 shells/elvish/Makefile | 20 ++++++++++----------
 shells/elvish/distinfo | 26 +++++++++++---------------
 2 files changed, 21 insertions(+), 25 deletions(-)
Comment 3 Fernando Apesteguía freebsd_committer freebsd_triage 2021-09-17 11:24:20 UTC
Committed,

Thanks!