<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dwarvish.git/src/poem/read, branch compose</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>Don't interpret environment variables in single quoted strings</title>
<updated>2024-03-31T06:14:46+00:00</updated>
<author>
<name>Rory Dudley</name>
</author>
<published>2024-03-31T06:14:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dwarvish.org/dwarvish.git/commit/?id=f03f4e0fcf62c9b3267bc5d8b62068d89ec593cd'/>
<id>f03f4e0fcf62c9b3267bc5d8b62068d89ec593cd</id>
<content type='text'>
Previously, if an environment variable was given in a string, such as:
'$PATH' or "$PATH", both would be replaced with the value of $PATH from
the environment. However, for single quotes strings, any values inside
should be taken at face value. In other words, echo '$PATH' should
simply write out: $PATH, and not whatever environment value $PATH
happens to be. This patch replaced '$' in single quoted strings with
the ASCII shift out (x0e) character. Any ASCII SO placeholder is
replaced with a '$' in recite(), after the environment variables have
been accounted for.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if an environment variable was given in a string, such as:
'$PATH' or "$PATH", both would be replaced with the value of $PATH from
the environment. However, for single quotes strings, any values inside
should be taken at face value. In other words, echo '$PATH' should
simply write out: $PATH, and not whatever environment value $PATH
happens to be. This patch replaced '$' in single quoted strings with
the ASCII shift out (x0e) character. Any ASCII SO placeholder is
replaced with a '$' in recite(), after the environment variables have
been accounted for.
</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>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>
