<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dwarvish.git/src/poem/elements, branch docs</title>
<subtitle>a (mostly) posix compliant shell and tiny functional programming language
</subtitle>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/'/>
<entry>
<title>Capture STDOUT as bytes, and convert to string when necessary</title>
<updated>2024-04-07T05:32:30+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-04-07T05:32:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=f5db8d64828db756b80b6022322265a2b4f1c11b'/>
<id>f5db8d64828db756b80b6022322265a2b4f1c11b</id>
<content type='text'>
Previously, the recite() function created the 'out' variable, which was
a String, that got passed to the various incant functions, in order to
capture STDOUT in certain situations. In cases where STDOUT was
captured, it was first converted to a String, and then appended to the
'out' variable, by means of String::from_utf8_lossy(). This works for
basic text, however, does NOT work for binary data. This becomes
problematic, when for example, downling a tar file with curl/wget, that
is then piped ('|') to the tar program. Using from_utf8_lossy() in this
case can corrupt the tar file. This patch makes it so that out is stored
as bytes by default, and only converted to a String when necessary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, the recite() function created the 'out' variable, which was
a String, that got passed to the various incant functions, in order to
capture STDOUT in certain situations. In cases where STDOUT was
captured, it was first converted to a String, and then appended to the
'out' variable, by means of String::from_utf8_lossy(). This works for
basic text, however, does NOT work for binary data. This becomes
problematic, when for example, downling a tar file with curl/wget, that
is then piped ('|') to the tar program. Using from_utf8_lossy() in this
case can corrupt the tar file. This patch makes it so that out is stored
as bytes by default, and only converted to a String when necessary.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add comments (`#`) to the parser</title>
<updated>2024-03-29T03:01:49+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-03-29T03:01:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=527cc04ffb9ea627ca678fe8fb07fe9330420eab'/>
<id>527cc04ffb9ea627ca678fe8fb07fe9330420eab</id>
<content type='text'>
The parser will now interpret the '#' character as a single-line comment
string, which works on it's own line, or at the end of an existing line.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The parser will now interpret the '#' character as a single-line comment
string, which works on it's own line, or at the end of an existing line.
</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation for incant_</title>
<updated>2024-03-25T04:39:22+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-03-25T04:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=443c5fad55c6f81f5dc81585ab350de452e47260'/>
<id>443c5fad55c6f81f5dc81585ab350de452e47260</id>
<content type='text'>
Add docstring for `incant_quiet_io`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add docstring for `incant_quiet_io`.
</pre>
</div>
</content>
</entry>
<entry>
<title>read() and recite() overhaul</title>
<updated>2024-03-23T08:45:54+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-03-23T08:45:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=5a7718698373d07a29fffcb792acdb81aa7712d7'/>
<id>5a7718698373d07a29fffcb792acdb81aa7712d7</id>
<content type='text'>
Rebuilt the LR parser (i.e. read()) from the ground up. This required
that some changes be made to recite(), in order to accomodate the new
data structures. These data structures were each split out into their
own file, in order to make working with each component a bit easier.

In addition to reworking the parts of the parser already present, some
new features were also added, such as:
  - Support for strings (' and ")
  - Support for environment variables ($)
  - Support for interpreting tild as $HOME (~)
  - Support for sub-reading and sub-reciting (`)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rebuilt the LR parser (i.e. read()) from the ground up. This required
that some changes be made to recite(), in order to accomodate the new
data structures. These data structures were each split out into their
own file, in order to make working with each component a bit easier.

In addition to reworking the parts of the parser already present, some
new features were also added, such as:
  - Support for strings (' and ")
  - Support for environment variables ($)
  - Support for interpreting tild as $HOME (~)
  - Support for sub-reading and sub-reciting (`)
</pre>
</div>
</content>
</entry>
</feed>
