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

+56 -82
View File
@@ -129,9 +129,9 @@
<h2 id="author"><a name="author"></a>Author:</h2>
<ul>
<li>Name: <a href="../../authors.html#Jens_Schweikhardt">Jens
Schweikhardt</a><br> Location: <a href="../../location.html#DE">DE</a> -
<em>Federal Republic of Germany</em> (<em>Germany</em>) <br><br></li>
<li>Name: <a href="../../authors.html#Jens_Schweikhardt">Jens Schweikhardt</a><br>
Location: <a href="../../location.html#DE">DE</a> - <em>Federal Republic of Germany</em> (<em>Germany</em>)
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -144,27 +144,27 @@ Schweikhardt</a><br> Location: <a href="../../location.html#DE">DE</a> -
<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">./schweikh1</span></span></code></pre></div>
<h2 id="try">Try:</h2>
<p>To find the day that Easter falls on in the current year and to show
all Easter dates from 1582 to 2199:</p>
<p>To find the day that Easter falls on in the current year and to show all Easter
dates from 1582 to 2199:</p>
<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">./try.sh</span></span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Look at the source. There is something very odd going on here. Where
does the real code come from if everything is a C pre-processor
<p>Look at the source. There is something very odd going on here.
Where does the real code come from if everything is a C pre-processor
statement?</p>
<p>Clearly this is either the Best Use or the Worst Abuse of the C
Preprocessor that the judges have seen this year!</p>
<p>Clearly this is either the Best Use or the Worst Abuse of the
C Preprocessor that the judges have seen this year!</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="what-this-program-does">What this program does</h3>
<p>This program is an implementation of an algorithm that calculates the
date of the Sunday following the first full moon after the spring
equinox. (Also known as “Easter”, defined this way by the Nicaean
Concilium in 325 Anno Domini.) The algorithm is attributed to the famous
mathematician <a
href="https://en.wikipedia.org/wiki/Carl_Friedrich_Gauss">Carl Friedrich
Gauss</a> [“Meyers Handbuch ueber das Weltall” ‘Handbook About Space’,
Meyer, 5th Edition, 1973, p149] and is suitable for anni domini within
the <a href="https://en.wikipedia.org/wiki/Gregorian_calendar">Gregorian
Calendar</a>, that is, from ad 1582 to ad 2199:</p>
<p>This program is an implementation of an algorithm that calculates
the date of the Sunday following the first full moon after the
spring equinox. (Also known as “Easter”, defined this way by the
Nicaean Concilium in 325 Anno Domini.) The algorithm is attributed
to the famous mathematician <a href="https://en.wikipedia.org/wiki/Carl_Friedrich_Gauss">Carl Friedrich
Gauss</a> [“Meyers Handbuch
ueber das Weltall” ‘Handbook About Space’, Meyer, 5th Edition, 1973, p149] and is suitable
for anni domini within the <a href="https://en.wikipedia.org/wiki/Gregorian_calendar">Gregorian
Calendar</a>, that is, from ad 1582
to ad 2199:</p>
<pre><code>Let J be the year.
If J is from 1582 to 1699, let M be 22, let N be 2
If J is from 1700 to 1799, let M be 23, let N be 3
@@ -191,93 +191,67 @@ c = J % 7 == 2
d = 119 % 30 == 29
e = 191 % 7 == 2</code></pre>
<p>March 53 is invalid, so the result is April 22 1962.</p>
<h3 id="why-i-think-this-is-obfuscated">Why I think this is
obfuscated</h3>
<p>Apart from the calculation of the Easter date, the definition
<em>and</em> calculation of which are obfuscations in their own right,
obfuscation lurks in many places. Look at those macro identifiers. What
can be more obvious than a program that explicitly mentions the
<h3 id="why-i-think-this-is-obfuscated">Why I think this is obfuscated</h3>
<p>Apart from the calculation of the Easter date, the definition <em>and</em>
calculation of which are obfuscations in their own right,
obfuscation lurks in many places. Look at those macro identifiers.
What can be more obvious than a program that explicitly mentions the
grammatical constructs it is composed of? If you look at K&amp;RII A.9.3
you will find that a compound statement consists of an opening brace
followed by a declaration list followed by a semicolon followed by a
statement list followed by another semicolon and a closing brace. Nobody
can learn that by heart so I gently remind the reader by defining a
macro that expresses this clearly (line 25). This goes up to the
definition of a translation unit. Unfortunately, due to the IOCCC’s size
restrictions, I had to abbreviate some syntactic elements.
<code>ae</code> actually reads “assignment expression”. I had to stop at
some arbitrary point, so don’t waste your time trying to find out how
preprocessing tokens form type qualifier lists, cast expressions or
direct abstract declarators. Assuming the reader knows about these easy
to remember language elements is justified in my opinion.</p>
statement list followed by another semicolon and a closing brace.
Nobody can learn that by heart so I gently remind the reader by
defining a macro that expresses this clearly (line 25). This goes up
to the definition of a translation unit. Unfortunately, due to the
IOCCC’s size restrictions, I had to abbreviate some syntactic
elements. <code>ae</code> actually reads “assignment expression”. I had to stop
at some arbitrary point, so don’t waste your time trying to find out
how preprocessing tokens form type qualifier lists, cast expressions
or direct abstract declarators. Assuming the reader knows about
these easy to remember language elements is justified in my opinion.</p>
<h3 id="the-moral">The moral:</h3>
<p>Try to be as precise as can be and no one will comprehend what you
mean.</p>
<p>Try to be as precise as can be and no one will comprehend what you mean.</p>
<h4 id="the-formula">The formula:</h4>
<pre><code>comprehension = 1/(2**precision)</code></pre>
<h4 id="the-interpretation">The interpretation:</h4>
<p>“Say nothing and everybody will understand.”</p>
<p>The <code>-I/usr/include</code> in the build file is needed by gcc on
Solaris because <code>gcc</code>’s “fixed” header in
<code>gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h</code> is
broken (sort of) because it has <em>two</em> identical extern
declarations of errno. This leads to an error due to the redefinition of
main. The <code>-I</code> option makes sure the working
/usr/include/errno.h is found first, which shouldn’t cause any problems
on other systems.</p>
<p>The <code>-I/usr/include</code> in the build file is needed by gcc on Solaris because
<code>gcc</code>’s “fixed” header in <code>gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h</code>
is broken (sort of) because it has <em>two</em> identical extern declarations of errno.
This leads to an error due to the redefinition of main. The <code>-I</code> option makes
sure the working /usr/include/errno.h is found first, which shouldn’t cause any
problems on other systems.</p>
<h3 id="usage">Usage:</h3>
<p>The program is run without arguments. It prints all dates in
order.</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 program is run without arguments. It prints all dates in order.</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-1996schweikh1"><a name="inventory"></a>Inventory
for 1996/schweikh1</h1>
<h1 id="inventory-for-1996schweikh1"><a name="inventory"></a>Inventory for 1996/schweikh1</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/1996/schweikh1/schweikh1.c">schweikh1.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/schweikh1.orig.c">schweikh1.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/errno.h">errno.h</a>
- declare errno as an extern int</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/try.sh">try.sh</a>
- how to run</li>
<li><a href="1996_schweikh1.tar.bz2">1996_schweikh1.tar.bz2</a> -
download entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/schweikh1.c">schweikh1.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/schweikh1.orig.c">schweikh1.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/errno.h">errno.h</a> - declare errno as an extern int</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/try.sh">try.sh</a> - how to run</li>
<li><a href="1996_schweikh1.tar.bz2">1996_schweikh1.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/1996/schweikh1/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/.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/1996/schweikh1/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/.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/1996/schweikh1/README.md">README.md</a>
- markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/README.md">README.md</a> - markdown source for index.html</li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->