From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timothy Sample Subject: [ANN] Gash 0.2.0 released Date: Sun, 15 Dec 2019 22:20:52 -0500 Message-ID: <87tv61gdm3.fsf@ngyro.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sender: "guile-user" To: gash-devel@nongnu.org, guix-devel@gnu.org, guile-user@gnu.org List-Id: guix-devel.gnu.org Hi everybody, I am very pleased to announce that Gash version 0.2.0 has been released. It represents 58 commits from two authors over the course of about six months. About =3D=3D=3D=3D=3D Gash is a POSIX-compatible shell written in Guile Scheme. It provides both the shell interface, as well as a Guile library for parsing shell scripts. Gash is designed to bootstrap Bash as part of the Guix bootstrap process. We are planning to develop Gash into a general-purpose shell and tool for building interfaces between Scheme and the shell. Download =3D=3D=3D=3D=3D=3D=3D=3D You can download Gash 0.2.0 from http://download.savannah.nongnu.org/releases/gash/gash-0.2.0.tar.gz and verify its authenticity with its signature file http://download.savannah.nongnu.org/releases/gash/gash-0.2.0.tar.gz.sig News =3D=3D=3D=3D The big news for this release is that Gash can now replace Bash in building all of the packages used in Guix=E2=80=99s =E2=80=9CReduced Binary= Seed Bootstrap=E2=80=9D . Whereas the previous release could build Bash itself, this release can build everything from Mes to GCC and then build Bash. To do so, Gash needed many improvements. Here are a few highlights. =E2=80=A2 Pattern-based and asserting variable operators (=E2=80=98#=E2= =80=99, =E2=80=98##=E2=80=99, =E2=80=98%=E2=80=99, =E2=80=98%%=E2=80=99, and =E2=80=98?=E2=80=99) are now supported. =E2=80=A2 The =E2=80=98read=E2=80=99 special built-in now supports field = splitting and logical lines. =E2=80=A2 Temporary variable assignments are now passed into function cal= ls and invocations of regular built-ins. =E2=80=A2 Pathname expansion now works for absolute paths, paths with quo= ted slashes, paths with repeated slashes, and paths with dot and dot-dot components. There are also some significant fixes in resource handling and parsing, and a handful of other improvements. Please see the NEWS file for details. What=E2=80=99s next? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The next big thing for the Gash project will be the release of a sibling project which contains Scheme versions of the other utilities (=E2=80=9Ccoreutils&co=E2=80=9D) used in the Guix bootstrap process. Beyond bootstrapping, here=E2=80=99s what=E2=80=99s in store: =E2=80=A2 Asynchronous commands and job control; =E2=80=A2 Tilde expansion; =E2=80=A2 Becoming a more useful interactive shell (in particular, prompt= ing the user for more input if they enter a newline before completing a command); and =E2=80=A2 A shell compiler for Guile along with a language specification. Contributing =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The primary Git repository is available on Savannah. It can be cloned from and browsed on the Web at . If you would like to help out with this project, please get in touch at . This is also where you can submit bugs! Thanks to everyone who has helped out so far! -- Tim