force use of pandoc version >= 3.1.12.2

The `bin/pandoc-wrapper.sh` tool will verify that the ssytem
has a recent enough version of `pandoc(1)`.

We explain why we insist on `pandoc(1)`. version >= 3.1.12.2
in comments where the $PANDOC_MIN_VERSION is set.

Added `--wrap=preserve` as a default argument to `pandoc(1)`.
While this change will impact every HTML file generated,
we believe this will improve the ability of someone to look
at the generated HTML and correlate with the original markdown.

Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17"
to "1.4.3 2024-03-18".

Performed `make www` to achieve all of the above and to generate
HTML using the new  `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
Landon Curt Noll committed 2024-03-18 01:26:39 -07:00
1 parent 9eb7a54e9f
commit b0b212acb1
402 files changed
+37061 -55132

No files matched your search

+163 -215
View File
@@ -130,11 +130,11 @@
<h2 id="authors"><a name="author"></a>Authors:</h2>
<ul>
<li>Name: <a href="../../authors.html#Jari_Arkko">Jari Arkko</a><br>
Location: <a href="../../location.html#SE">SE</a> - <em>Kingdom of
Sweden</em> (<em>Sweden</em>) <br><br></li>
<li>Name: <a href="../../authors.html#Jyrki_Holopainen">Jyrki
Holopainen</a><br> Location: <a href="../../location.html#FI">FI</a> -
<em>Republic of Finland </em> (<em>Finland</em>) <br><br></li>
Location: <a href="../../location.html#SE">SE</a> - <em>Kingdom of Sweden</em> (<em>Sweden</em>)
<br><br></li>
<li>Name: <a href="../../authors.html#Jyrki_Holopainen">Jyrki Holopainen</a><br>
Location: <a href="../../location.html#FI">FI</a> - <em>Republic of Finland </em> (<em>Finland</em>)
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -144,12 +144,10 @@ Holopainen</a><br> Location: <a href="../../location.html#FI">FI</a> -
<h2 id="to-build">To build:</h2>
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
<p>You will need X11 header files and libraries installed to build this
program.</p>
<p>You will need X11 header files and libraries installed to build this program.</p>
<h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> infile.info <span class="op">&gt;</span> outfile.info</span></code></pre></div>
<p>You will need a system capable of displaying the results of X Window
programs.</p>
<p>You will need a system capable of displaying the results of X Window programs.</p>
<h2 id="try">Try:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> finance.sheet <span class="op">&gt;</span> myedits.info</span></code></pre></div>
<p>Then click on cell <code>C3</code> and type in the following:</p>
@@ -160,23 +158,21 @@ programs.</p>
<p>Now try running:</p>
<pre><code>./jarijyrki &lt; myedits.info</code></pre>
<p>And observe that it matches what you had in the previous run!</p>
<p>NOTE: changing the dimension parameters (see the authors’ remarks)
renders existing spreadsheet files unusable.</p>
<p>NOTE: changing the dimension parameters (see the authors’ remarks) renders
existing spreadsheet files unusable.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>This entry is one of those that makes you wonder why some commercial
software needs tens to hundreds of <strike>megabytes</strike>gigabytes
to install! This entry does not simply do the basics, it includes
graphing features. All this program needs now is a <a
href="../../1998/banks/index.html">1998/banks</a> flight simulator!</p>
<p>This entry is one of those that makes you wonder why some commercial software
needs tens to hundreds of <strike>megabytes</strike>gigabytes to install! This
entry does not simply do the basics, it includes graphing features. All this
program needs now is a <a href="../../1998/banks/index.html">1998/banks</a> flight simulator!</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="overview">1. OVERVIEW</h3>
<p>This program is an X-Windows based spreadsheet program. The main
functions it supports are:</p>
<p>This program is an X-Windows based spreadsheet program. The main functions it
supports are:</p>
<ul>
<li>Text cells</li>
<li>Numeric cells</li>
<li>Arithmetic operations: <code>+</code> <code>-</code> <code>*</code>
<code>/</code></li>
<li>Arithmetic operations: <code>+</code> <code>-</code> <code>*</code> <code>/</code></li>
<li>Pie charts</li>
<li>Histograms</li>
<li>Cell editing</li>
@@ -199,9 +195,8 @@ functions it supports are:</p>
<h5 id="movement">Movement</h5>
<p>Click the mouse or use the arrow keys.</p>
<h5 id="editing">Editing</h5>
<p>The currently selected cell is always in the edit state. Press any
key to add a character at the end of the formula; press backspace to
delete the last one.</p>
<p>The currently selected cell is always in the edit state. Press any key to add a
character at the end of the formula; press backspace to delete the last one.</p>
<h5 id="formulas">Formulas</h5>
<pre><code>123.45
A1 A2 +
@@ -214,116 +209,95 @@ D1 D2 /</code></pre>
<h5 id="histograms">Histograms</h5>
<pre><code>A1 A2 A3 ...</code></pre>
<p>Finish the formula with <code>!</code> to create the histogram.</p>
<h4 id="starting-and-loading-spreadsheets">2.2. Starting and Loading
Spreadsheets</h4>
<p>To start the spreadsheet program with an existing spreadsheet, for
instance <a href="finance.sheet">finance.sheet</a>, use the following
<h4 id="starting-and-loading-spreadsheets">2.2. Starting and Loading Spreadsheets</h4>
<p>To start the spreadsheet program with an existing
spreadsheet, for instance <a href="finance.sheet">finance.sheet</a>, use the following
command line:</p>
<div class="sourceCode" id="cb11"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> finance.sheet</span></code></pre></div>
<p>The file <a href="finance.sheet">finance.sheet</a> has been provided
as an example. This file contains a set of financial numbers and two
graphical entities - a pie chart and a histogram - based on them. We
recommend starting the use of the program from this file, as a way to
study and learn the formula language supported by the program.</p>
<div class="sourceCode" id="cb11"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> finance.sheet</span></code></pre></div>
<p>The file <a href="finance.sheet">finance.sheet</a> has been provided as an example. This
file contains a set of financial numbers and two graphical entities - a pie
chart and a histogram - based on them. We recommend starting the use of the
program from this file, as a way to study and learn the formula language
supported by the program.</p>
<p>To start the program with an empty sheet, use</p>
<div class="sourceCode" id="cb12"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> /dev/null</span></code></pre></div>
<p>Alternatively, <code>/dev/zero</code> could be used but that may not
exist on all systems.</p>
<h4 id="exiting-and-saving-spreadsheets">2.3. Exiting and Saving
Spreadsheets</h4>
<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> /dev/null</span></code></pre></div>
<p>Alternatively, <code>/dev/zero</code> could be used but that may not exist on all systems.</p>
<h4 id="exiting-and-saving-spreadsheets">2.3. Exiting and Saving Spreadsheets</h4>
<p>Normally the user obviously wants to edit the spreadsheet. After the
spreadsheet program finishes, it outputs the edited spreadsheet to the
standard output. Hence, when the spreadsheet window has come up, you’ve
made your changes, and you press the ESC key the program finishes. To
save the results in a file, the following typical command line would be
used:</p>
<div class="sourceCode" id="cb13"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> finance.sheet <span class="op">&gt;</span> myedits.info</span></code></pre></div>
spreadsheet program finishes, it outputs the edited spreadsheet to the standard
output. Hence, when the spreadsheet window has come up, you’ve made your
changes, and you press the ESC key the program finishes. To save the results in
a file, the following typical command line would be used:</p>
<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jarijyrki</span> <span class="op">&lt;</span> finance.sheet <span class="op">&gt;</span> myedits.info</span></code></pre></div>
<h4 id="visual-overview">2.4. Visual Overview</h4>
<p>On top of the window the Formula Area shows the formula (or text) of
the currently selected cell. The program starts with <code>A1</code> as
being the current cell. Below the Formula Area is the Column Letters
Area: <code>A</code>, <code>B</code>, and so on. Correspondingly, on the
left side of the window is the Row Numbers Area: <code>1</code>,
<code>2</code>, and so on. The rest of the window is dedicated to the
actual spreadsheet cells.</p>
<p>The example spreadsheet, <a href="finance.sheet">finance.sheet</a>,
provided with this program contains two sets of numbers in the visible
area of the spreadsheet. The top set of numbers forms the
product-by-product turnover breakdown of an imaginary company. Below it
is the yearly development of the company profits. On the top right
corner is a pie chart showing the turnover breakdown in graphical form,
and on the bottom right corner is a histogram showing the yearly
development. If you scroll the window you can see additional data from
the spreadsheet.</p>
<p>On top of the window the Formula Area shows the formula (or text) of the
currently selected cell. The program starts with <code>A1</code> as being the current cell.
Below the Formula Area is the Column Letters Area: <code>A</code>, <code>B</code>, and so on.
Correspondingly, on the left side of the window is the Row Numbers Area: <code>1</code>, <code>2</code>,
and so on. The rest of the window is dedicated to the actual spreadsheet cells.</p>
<p>The example spreadsheet, <a href="finance.sheet">finance.sheet</a>, provided with this
program contains two sets of numbers in the visible area of the spreadsheet. The
top set of numbers forms the product-by-product turnover breakdown of an
imaginary company. Below it is the yearly development of the company profits. On
the top right corner is a pie chart showing the turnover breakdown in graphical
form, and on the bottom right corner is a histogram showing the yearly
development. If you scroll the window you can see additional data from the
spreadsheet.</p>
<h4 id="movement-and-scrolling">2.5. Movement and Scrolling</h4>
<p>Use arrow keys to move left, right, up, and down among the cells. You
may also click the mouse on a cell to cause it to be activated as the
current one.</p>
<p>Note that it is not possible to move around the formula; the formula
can only be edited from its end by adding or removing characters.</p>
<p>Going beyond the borders of the window results in scrolling the
current view. It is not possible to go up from the first row or left
from the first column; but it is possible to wrap back to start from the
last row and last column.</p>
<p>Use arrow keys to move left, right, up, and down among the cells. You may also
click the mouse on a cell to cause it to be activated as the current one.</p>
<p>Note that it is not possible to move around the formula; the formula can only be
edited from its end by adding or removing characters.</p>
<p>Going beyond the borders of the window results in scrolling the current view. It
is not possible to go up from the first row or left from the first column; but it is
possible to wrap back to start from the last row and last column.</p>
<h4 id="formulas-1">2.6. Formulas</h4>
<p>The spreadsheet formulas operate on a stack. Operands of an operation
(e.g. plus) are first pushed to the stack and then the operation is
performed. If a formula on a cell produces <em>exactly</em> one result
then that is shown in the cell. Otherwise, the formula is interpreted as
a string and shown as it is.</p>
<p>The spreadsheet formulas operate on a stack. Operands of an operation (e.g.
plus) are first pushed to the stack and then the operation is performed. If a
formula on a cell produces <em>exactly</em> one result then that is shown in the cell.
Otherwise, the formula is interpreted as a string and shown as it is.</p>
<p>An example of a simple formula, simply specifying a number is</p>
<pre><code>123.50</code></pre>
<p>Another simple formula refers to a cell:</p>
<pre><code>A1</code></pre>
<p>This particular example formula referred to the first cell of the
first row in the spreadsheet. Arithmetic operations require both
arguments:</p>
<p>This particular example formula referred to the first cell of the first row in
the spreadsheet. Arithmetic operations require both arguments:</p>
<pre><code>A1 A2 +
B1 B2 *
C1 C2 -
D1 D2 /</code></pre>
<p>More complex formulae can be constructed by combining these simple
ones:</p>
<p>More complex formulae can be constructed by combining these simple ones:</p>
<pre><code>A1 A2 + 2 *</code></pre>
<p>This example calculates the sum of the cells <code>A1</code> and
<code>A2</code>, and then multiplies the result by two.</p>
<p>The currently selected cell is always in a state where it can be
edited. Press any key to add a character at the end of the formula;
press backspace to delete the last character. Any resulting
recalculations are immediately visible. (Note how much nicer this
feature is as you get used to it, compared to the behaviour of certain
commercial spreadsheet programs.)</p>
<p>This example calculates the sum of the cells <code>A1</code> and <code>A2</code>, and then multiplies
the result by two.</p>
<p>The currently selected cell is always in a state where it can be edited. Press
any key to add a character at the end of the formula; press backspace to delete
the last character. Any resulting recalculations are immediately visible. (Note
how much nicer this feature is as you get used to it, compared to the behaviour
of certain commercial spreadsheet programs.)</p>
<h4 id="graphical-formulas">2.7. Graphical Formulas</h4>
<p>The program supports two types of graphical representations of the
data in the cells: pie charts and histograms. The pie chart can consist
of any number of slices, and is constructed by putting the pie amounts
in stack and using the <code>@</code> operator. The program
automatically computes the relative size of the slices.</p>
<p>The program supports two types of graphical representations of the data in the
cells: pie charts and histograms. The pie chart can consist of any number of
slices, and is constructed by putting the pie amounts in stack and using the <code>@</code>
operator. The program automatically computes the relative size of the slices.</p>
<pre><code>A1 A2 A3 A4 @</code></pre>
<p>This example would draw a pie chart of four cells, <code>A1</code> to
<code>A4</code>. The pie formula is shown above the pie for
reference.</p>
<p>The histograms are drawn in a similar manner, by using the
<code>!</code> operator:</p>
<p>This example would draw a pie chart of four cells, <code>A1</code> to <code>A4</code>.
The pie formula is shown above the pie for reference.</p>
<p>The histograms are drawn in a similar manner, by using the <code>!</code> operator:</p>
<pre><code>A1 A2 A3 A3 !</code></pre>
<h4 id="errors-in-formulas">2.8. Errors in Formulas</h4>
<p>The program detects recursive reference attempts, references cells
not containing a numerical value, attempts to define formulas with zero,
two, or more results remaining on the stack, and syntax errors of
formulas. Note that typically as the user types in a formula, it toggles
between valid and invalid forms dynamically as all single character
changes are immediately taken in account. This is not dangerous, just
complete the formula and view the results.</p>
<p>Errors are signalled by showing the formula on a cell instead of the
numerical value supposedly returned by it.</p>
<p>The program detects recursive reference attempts, references cells not
containing a numerical value, attempts to define formulas with zero, two, or
more results remaining on the stack, and syntax errors of formulas. Note that
typically as the user types in a formula, it toggles between valid and invalid
forms dynamically as all single character changes are immediately taken in
account. This is not dangerous, just complete the formula and view the results.</p>
<p>Errors are signalled by showing the formula on a cell instead of the numerical
value supposedly returned by it.</p>
<p>Division by zero results in an IEEE Inf number.</p>
<h4 id="compilation-parameters-and-configuration">2.9. Compilation
Parameters and Configuration</h4>
<p>This section explains the meaning and rationale for the compile time
parameters:</p>
<h4 id="compilation-parameters-and-configuration">2.9. Compilation Parameters and Configuration</h4>
<p>This section explains the meaning and rationale for the
compile time parameters:</p>
<hr />
<pre><code>-DC=XK_Up
-DL=XK_Down
@@ -331,145 +305,119 @@ parameters:</p>
-DV=XK_Right
-DR=XK_Escape
-D_=XK_BackSpace</code></pre>
<p>These definitions can be used to change the user interface of the
program with respect to special keys. The first four define the movement
operations and the latter two define the program termination and
character deletion keys. Typical modifications to these parameters
include changing character deletion to the key the user is most familiar
with, which could also be <code>XK_Delete</code>. <code>XK_Escape</code>
might be better in some cases as one of the function keys. Likewise for
the arrow keys.</p>
<p>These definitions can be used to change the user interface of the program with
respect to special keys. The first four define the movement operations and
the latter two define the program termination and character deletion keys.
Typical modifications to these parameters include changing character deletion to
the key the user is most familiar with, which could also be <code>XK_Delete</code>.
<code>XK_Escape</code> might be better in some cases as one of the function keys. Likewise
for the arrow keys.</p>
<pre><code>-DU=40</code></pre>
<p>This parameter defines the maximum dimensions of the stored and
handled spreadsheet (but see section 4.4 for a warning about changing
this without thinking about the consequences!).</p>
<p>This parameter defines the maximum dimensions of the stored and handled
spreadsheet (but see section 4.4 for a warning about changing this without
thinking about the consequences!).</p>
<pre><code>-DT=98</code></pre>
<p>This parameter defines the maximum length of a formula in one cell.
Note the warning in section 4.4.</p>
<p>This parameter defines the maximum length of a formula in one cell. Note the
warning in section 4.4.</p>
<pre><code>-Dz=&quot;(T+1)*U*U&quot;</code></pre>
<p>Defines the number of bytes in a spreadsheet file. The number is
automatically adjusted when the spreadsheet size parameters are changed.
Note the warning in section 4.4.</p>
<p>Defines the number of bytes in a spreadsheet file. The number is automatically
adjusted when the spreadsheet size parameters are changed. Note the warning in
section 4.4.</p>
<pre><code>-DQ=80
-DS=20</code></pre>
<p>These two parameters define the visual dimensions of a cell. Changing
these may be necessary on your system if the default font sizes differ
from those in the systems we’ve tested the program with. <code>S</code>
also defines the size of the left (<code>x1</code>) and top margins
(<code>x2</code>).</p>
<p>These two parameters define the visual dimensions of a cell. Changing these may
be necessary on your system if the default font sizes differ from those in the
systems we’ve tested the program with. <code>S</code> also defines the size of the left
(<code>x1</code>) and top margins (<code>x2</code>).</p>
<pre><code>-DN=10</code></pre>
<p>This is the x-indentation of text inside a cell. Changing this may be
necessary to suit other font sizes and different X environments.</p>
<p>This is the x-indentation of text inside a cell. Changing this may be necessary
to suit other font sizes and different X environments.</p>
<pre><code>-DB=5</code></pre>
<p>This is the y-indentation of text inside a cell. Changing this may be
necessary to suit other font sizes and different X environments.</p>
<p>This is the y-indentation of text inside a cell. Changing this may be necessary
to suit other font sizes and different X environments.</p>
<pre><code>-DG=23</code></pre>
<p>This parameter is the number of cell rows visible at one time.</p>
<pre><code>-Dp=7</code></pre>
<p>This parameter is one smaller than the number of cells columns
visible at one time.</p>
<p>This parameter is one smaller than the number of cells columns visible at one
time.</p>
<pre><code>-DM=&quot;((p+1)*Q)+S&quot;
-DH=&quot;(G*S)+S+S&quot;</code></pre>
<p>These parameters are the window x and y sizes of the spreadsheet
program window. With these definitions, they are automatically
reflecting the at-one-time-visible cell row/column amounts. Hence, we
recommend changing the <code>G</code> and <code>p</code> parameters if
you want to change the window size in normal cases. Experimentation with
<code>M</code> and <code>H</code> can be used to get other types of
effect such as adding a margin also at the bottom of the window.</p>
<p>These parameters are the window x and y sizes of the spreadsheet program window.
With these definitions, they are automatically reflecting the
at-one-time-visible cell row/column amounts. Hence, we recommend changing the
<code>G</code> and <code>p</code> parameters if you want to change the window size in normal cases.
Experimentation with <code>M</code> and <code>H</code> can be used to get other types of effect such
as adding a margin also at the bottom of the window.</p>
<h3 id="implementation">3. IMPLEMENTATION</h3>
<p>It’s better to just read the code. But note the use of stack in the
implementation of <code>@</code> and <code>!</code> operators, and note
the use of <code>*#i</code> in one of the macros (can you see why?).
Extreme compression has been the key in writing this program. With
compression comes the use of ASCII code numbers instead of character
constants and so on. (This particular obfuscation is not really a
desirable one as it is not completely portable. But it certainly was a
necessary one.)</p>
implementation of <code>@</code> and <code>!</code> operators, and note the use of <code>*#i</code> in one of the
macros (can you see why?). Extreme compression has been the key in writing this
program. With compression comes the use of ASCII code numbers instead of
character constants and so on. (This particular obfuscation is not really a
desirable one as it is not completely portable. But it certainly was a necessary
one.)</p>
<p>What does <code>i(=)</code> do or does it do anything? Why?</p>
<h3 id="warnings-and-caveats">4. WARNINGS AND CAVEATS</h3>
<h4 id="x11-paths-in-compilation">4.1. X11 Paths in Compilation</h4>
<p>The given Makefile may have to be edited to insert correct library
and include file path names.</p>
<p>The given Makefile may have to be edited to insert correct library and include
file path names.</p>
<h4 id="font-sizes">4.2. Font Sizes</h4>
<p>We’ve tested the program with a limited amount of X servers. It is
possible that other systems use default font sizes or other parameters
that cause the visual looks to be different or perhaps even unusable; if
this happens, changing compile-time parameters explained in section 2.8
might help.</p>
<p>We’ve tested the program with a limited amount of X servers. It is possible that
other systems use default font sizes or other parameters that cause the visual
looks to be different or perhaps even unusable; if this happens, changing
compile-time parameters explained in section 2.8 might help.</p>
<h4 id="screen-sizes">4.3. Screen Sizes</h4>
<p>The size of the window as it comes up - a parameter as defined in
compile-time - has been set suitable for a small laptop screen. Larger
screens may benefit from setting these parameters higher. Smaller
screens require changing the parameters so that all of the window
becomes visible.</p>
<h4 id="spreadsheet-dimension-changes">4.4. Spreadsheet Dimension
Changes</h4>
<p>The size of the read, manipulated, and stored spreadsheets is defined
by a compile time parameter. However, changing this parameter is not
entirely trivial. The following constraints apply:</p>
<p>The size of the window as it comes up - a parameter as defined in compile-time -
has been set suitable for a small laptop screen. Larger screens may benefit
from setting these parameters higher. Smaller screens require changing the
parameters so that all of the window becomes visible.</p>
<h4 id="spreadsheet-dimension-changes">4.4. Spreadsheet Dimension Changes</h4>
<p>The size of the read, manipulated, and stored spreadsheets is defined by a
compile time parameter. However, changing this parameter is not entirely
trivial. The following constraints apply:</p>
<ul>
<li><p>Horizontal (alphabet) dimension handling will always be A to Z
regardless of the actual allocated memory area.</p></li>
<li><p>Any change in the dimension parameter renders existing
spreadsheet files unusable.</p></li>
<li><p>Horizontal (alphabet) dimension handling will always be A to Z regardless of
the actual allocated memory area.</p></li>
<li><p>Any change in the dimension parameter renders existing spreadsheet files
unusable.</p></li>
</ul>
<h4 id="ascii-reliance">4.5. ASCII Reliance</h4>
<p>The software relies on running on ASCII-based code system. Why?
Because <code>32</code> is shorter than <code>' '</code>.</p>
<h4 id="command-line-single-character-defines">4.6. Command Line Single
Character Defines</h4>
<p>The use of single character (e.g. <code>G</code> or <code>p</code>)
for a <code>-D</code> option might break certain systems, if those
characters are used in the included X header files in certain kinds of
places. If this happens, you may move the offending character to a new
name by exchanging it on the command line and in the program with
another character. Note that there are <em>no</em> free characters in
the program currently.</p>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
Reserved. You are free to share and adapt this file under the terms of
this license:</p>
<p>The software relies on running on ASCII-based code system. Why? Because <code>32</code> is
shorter than <code>' '</code>.</p>
<h4 id="command-line-single-character-defines">4.6. Command Line Single Character Defines</h4>
<p>The use of single character (e.g. <code>G</code> or <code>p</code>) for a <code>-D</code> option might break
certain systems, if those characters are used in the included X header files in
certain kinds of places. If this happens, you may move the offending character
to a new name by exchanging it on the command line and in the program with
another character. Note that there are <em>no</em> free characters in the program
currently.</p>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:</p>
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
<p>For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/</p>
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
<h1 id="inventory-for-2000jarijyrki"><a name="inventory"></a>Inventory
for 2000/jarijyrki</h1>
<h1 id="inventory-for-2000jarijyrki"><a name="inventory"></a>Inventory for 2000/jarijyrki</h1>
<p><a href="#top">Jump to top</a></p>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/jarijyrki.c">jarijyrki.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/jarijyrki.orig.c">jarijyrki.orig.c</a>
- original source</li>
<li><a href="2000_jarijyrki.tar.bz2">2000_jarijyrki.tar.bz2</a> -
download entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/jarijyrki.c">jarijyrki.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/jarijyrki.orig.c">jarijyrki.orig.c</a> - original source</li>
<li><a href="2000_jarijyrki.tar.bz2">2000_jarijyrki.tar.bz2</a> - download entry source</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="index.html">index.html</a> - entry home page</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/.gitignore">.gitignore</a>
- list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href=".path">.path</a> - directory path from top directory</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/README.md">README.md</a>
- markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/jarijyrki/README.md">README.md</a> - markdown source for index.html</li>
<li><a href="finance.sheet">finance.sheet</a> - spreadsheet</li>
</ul>