From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Timothy Sample Newsgroups: gmane.lisp.guile.user,gmane.comp.gnu.guix.devel 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 Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="89300"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) To: gash-devel@nongnu.org, guix-devel@gnu.org, guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Dec 16 04:21:21 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iggwi-000N34-7S for guile-user@m.gmane.org; Mon, 16 Dec 2019 04:21:20 +0100 Original-Received: from localhost ([::1]:45772 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iggwg-0006eC-Sd for guile-user@m.gmane.org; Sun, 15 Dec 2019 22:21:18 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49459) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iggwL-0006dp-0z for guile-user@gnu.org; Sun, 15 Dec 2019 22:20:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iggwJ-0005kh-Fd for guile-user@gnu.org; Sun, 15 Dec 2019 22:20:56 -0500 Original-Received: from out5-smtp.messagingengine.com ([66.111.4.29]:33541) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iggwJ-0005dE-5P; Sun, 15 Dec 2019 22:20:55 -0500 Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id D8C7E22340; Sun, 15 Dec 2019 22:20:53 -0500 (EST) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Sun, 15 Dec 2019 22:20:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=qgQSyG 6x5sZSjksH1P37ZO8v30/O+xq8vDpfba9KMDg=; b=eb98tXfOXKA0id8QeP8bx7 jG2zcuKD+HCwlOlXycT+aVUVUlMUlgJ1e5FVX1n76juRFhSxx5IjD9WsMv9eDrTV l4YdKPmdL/dX/pcuMn4wOVnzvfQ/sYtyWPvUlSlJ9bOsTnRtgHFXUlO6QYZo4mM1 UZ6ZtdLgqbwwgPRzXpuTu2a1FV/acx6rILdtczZ6qt4Z4kQE+V2wELljB6opHjEp kOVbR7dL6wcoB056m8UOb9/FsJOE310fb2g/X+azluMleT/FBgHS6vOKRt+0MgVK EyyZpGx8H0avA+C3ObBjyPNYkiZ//ESJJHbU6QJvhfaF47vrIieYmVHLz3Q0fDNw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrvddtgedgheejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoufhorhhtvggutfgvtghiphdvucdlgedtmdenuc fjughrpefhvffufffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhmohhthhih ucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucffohhmrghinh epghhnuhdrohhrghdpjhhohihofhhsohhurhgtvgdrtghomhdpnhhonhhgnhhurdhorhhg necukfhppeejgedrudduiedrudekiedrgeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmphhlvghtsehnghihrhhordgtohhmnecuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Original-Received: from mrblack (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 6BD8330600D7; Sun, 15 Dec 2019 22:20:53 -0500 (EST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.29 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:15963 gmane.comp.gnu.guix.devel:51551 Archived-At: 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