6909 Commits
Author SHA1 Message Date
Landon Curt Noll b3d865835f undo PR #2645
For some reason, PR #2646 was made on top of the code base for pr #2645.
If we accept PR #2646 as is, we perform PR #2645 that was previously
rejected.  This change is an attempt to avoid this.
2024-08-22 11:10:23 -07:00
Cody Boone Ferguson c5ddc5b7d9 Various fixes in guidelines 2024-08-22 10:45:25 -07:00
Cody Boone Ferguson 9ce778a8dc Fix fa807fdb7f
The entry that triggered the funny warning (-Wdocumentation) was not in
2013/birken but 2014/birken. Thus the -Wno-documentation was removed
from 2013/birken/Makefile and added to 2014/birken/Makefile.

With this commit I believe that every warning that can be disabled has
been disabled in some way or another, though this is with an earlier
version of clang (clang version 17.0.6 but the most recent one is,
according to its website and contrary to wiki claiming 17, 18.1.8, and I
also know that fedora linux clang had more problems).
2024-08-22 06:25:14 -07:00
Cody Boone Ferguson 71ead7e89e Fix annoying whitespace macro warning in 1993/leo 2024-08-22 06:18:00 -07:00
Landon Curt Noll 96e0f2b966 move some rules into 1337.mk
A number of rules have been moved from entry `Makefile`s into the
`1337.mk` include file to make it easier for these common rules to be
updated or modified globally (by modifying the `1337.mk` include file).

The entry level `Makefile`s are now similar in form to the
/Makefile.example](https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example)
file from the other repo.

The following make rules were moved into the `1337.mk` include file:

- `make indent.c`
- `make install`
- `make diff_orig_prog`
- `make diff_prog_orig`
- `make diff_alt_prog`
- `make diff_prog_alt`

This simplifies the entry level `Makefile`s so that they mostly reflect
the specifics of the particular entry.

Mentioned in FAQ 4.2, that the make diff rules are in the `1337.mk` include file.

Fixed invalid TAB character in `faq.md`.

Removed `make clean` directives that removed `indent.c`.  This file is now
removed via `make indent_clean`, a clean rule that also removes `indent.c`.

Removed `make clobber` directives that removed sandwich,  This file is now
removed via `make indent_clobber`, a clean rule that also removes `sandwich`.

Added `make indent_clean` and `make indent_clobber` rules into the top level
`Makefile` and the year level `YYYY/Makefile`.

Performed `make quick_www` to accomplish the above and to test under macOS.
2024-08-21 23:42:28 -07:00
Landon Curt Noll 06ae40f99c fix clean rule examples in FAQ 0.3 2024-08-21 21:14:56 -07:00
Landon Curt Noll d6f487224a add Jump to: top below FAQ entries
We add links to jump to the top of the file at the bottom of FAQ
sections.

Improved Makefile samples for FAQ 0.3.

Performed `make faq` to accomplish the above and to test under macOS.
2024-08-21 21:04:40 -07:00
Landon Curt Noll a6d8ab24e3 Merge pull request #2643 from xexyl/ferg22020-warn 2024-08-21 12:26:46 -07:00
Landon Curt Noll 86a53f6b0b Merge pull request #2642 from xexyl/mills19 2024-08-21 12:26:04 -07:00
Landon Curt Noll 021b85ac51 Merge pull request #2641 from xexyl/adam19-warn 2024-08-21 12:24:09 -07:00
Landon Curt Noll 67ba215e9b Merge pull request #2638 from xexyl/birken13-warn 2024-08-21 12:23:29 -07:00
Landon Curt Noll e921f5ee17 Merge pull request #2637 from xexyl/zeitak12-warn 2024-08-21 12:22:37 -07:00
Landon Curt Noll ee8cc75728 Merge pull request #2636 from xexyl/kang12-warn 2024-08-21 12:22:04 -07:00
Landon Curt Noll febe8e7d38 Merge pull request #2635 from xexyl/burley04-warn 2024-08-21 12:21:11 -07:00
Landon Curt Noll 885acdcae8 Merge pull request #2634 from xexyl/bellard2001-make-warning 2024-08-21 12:20:09 -07:00
Cody Boone Ferguson 271c31820b Silence funny warning in 2020/ferguson2/recode.c
The warning is also -Wdocumentation:

recode.c:17:7: warning: line splicing in Doxygen comments are not supported [-Wdocumentation]
   17 |                            /\
      |                            ^
1 warning generated.

.. and I guess it's confused by the line splicing, actually, just like
the others as I see more clearly now, rereading the warning message as I
did not use trigraphs.
2024-08-21 10:26:47 -07:00
Cody Boone Ferguson 22e6e2be4e Silence 2019/mills in linux (clang)
The warning -Wunsafe-buffer-usage is triggered (iirc) on pretty much
every use of 'char *' and some of the previous commits also had to
silence this warning. It is triggered by clang -Weverything.
2024-08-21 10:23:53 -07:00
Cody Boone Ferguson a3c0516f9a Silence funny warning in 2019/adamovsky
The funny warning is:

prog.c:19:515: warning: line splicing in Doxygen comments are not supported [-Wdocumentation]
   19 | void X(char*f,int r){ fputs(f,stderr);exit(r);}typedef w{w* (*t) (w*x);w* (*l) (w*x,w*y);w*a;long long p;}A;h(R) {x[N-1].p++;e x;}h(Ch) ;h(Y) ;h(fA) ;d(fD) ;d(fT) ;d(fW) ;d(fCh) ;d(rA2) ;d(fA2) ;d(rY2) ;d(Y2) ;d(rS2) ;d(fS22) ;d(rD) ;d(rE) ;d(rT) ;d(rC) ;void D(A*f) {if(f&&!--f[N-1].p) {if(u(f)!=fW&&u(f)!=fCh) D(f[1].a);if(u(f)!=fT) D(f[2].a);if(u(f)!=rE&&u(f)!=rT&&u(f)!=rC) D(f[3].a);free(f);}}int ch=EOF,c;FILE*p;A T[256][2];void U(void) {do{if(c==EOF) e;if(T[c][0].t) e;if(!T[c][1].p) E;if(T[c][1].p==4) for(/**??/
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ^
1 warning generated.

.. obviously confused by trigraphs.
2024-08-21 10:21:20 -07:00
Cody Boone Ferguson fa807fdb7f Silence funny warning (linux) in 2013/birken
That warning is -Wdocumentation:

prog.c:1:1: warning: line splicing in Doxygen comments are not supported [-Wdocumentation]
    1 | /**??/
      | ^

... and is obviously confused by trigraphs.
2024-08-21 10:02:51 -07:00
Cody Boone Ferguson e9cfbd91a9 Silence even more warnings (linux) in 2012/zeitak 2024-08-21 10:01:25 -07:00
Cody Boone Ferguson 436317f1d3 Silence another warning in 2012/zeitak 2024-08-21 09:59:57 -07:00
Cody Boone Ferguson 62d6cf40eb Silence a warning in 2012/zeitak 2024-08-21 09:59:00 -07:00
Cody Boone Ferguson ec44944bd0 Disable missed warning in 2012/kang 2024-08-21 09:57:46 -07:00
Cody Boone Ferguson 8f7193d113 Disable useless and annoying warning in 2012/kang
The warning -Wmisleading-indentation is nothing but style policing, can
causes unnecessary edits to working code which is error prone itself and
even beginner C programmers can parse it as it's one of the first things
learnt, blocks of code. And if someone can't perhaps they should be
using another language or not programming at all. As for the IOCCC it
would be considered a good thing to be 'misleading' except that it's not
misleading to anyone participating in the IOCCC and certainly not to the
judges if it even is to anyone else.
2024-08-21 09:50:56 -07:00
Cody Boone Ferguson a27d371bf3 Silence warning in linux in 2004/burley 2024-08-21 09:49:07 -07:00
Cody Boone Ferguson 5d9f0dc240 Fix warning in 2001/bellard/Makefile
Having a '\' at the EOL of an echo followed by the rest of the string on
the next line will obviously not work as the '\' doesn't start a new
command but continues it (scripts notwithstanding). I am not sure how
this even got there but it resulted in a very long line of output.
2024-08-21 09:45:58 -07:00
Cody Boone Ferguson 6c268d233f Update guidelines + add guidelines make rule 2024-08-21 06:33:28 -07:00
Landon Curt Noll 6655e2f31c reformat JSON indent with multiples of 4 spaces and no TABs
There is also a fix that fixes a format problem with
the `author_set`.

Used `bn/jfmt-wrapper.sh` to reformat JSON with:

```sh
find * -name '*.json' -print0 | xargs0 -n1 -t bin/jfmt-wrapper.sh
```
2024-08-20 11:25:00 -07:00
Landon Curt Noll afe9f9ea08 change JSON wrapper tools to not use -T with JSONPATH.sh
In keeping with [GH-issues 931](https://github.com/ioccc-src/mkiocccentry/issues/931),
we remove the use of `-T` from the `JSONPATH.sh` tool.  This will implement JSON
formatting using multiples of 4 ASCII spaces and without TABs.

Changed `bin/jfmt-wrapper.sh` VERSION form "1.0.2 2024-08-08"
to "1.1 2024-08-20".

Changed `bin/jprint-wrapper.sh` VERSION form "1.0.2 2024-08-08"
to "1.1 2024-08-20".

Changed `bin/jval-wrapper.sh` VERSION form "1.0.3 2024-08-11"
to "1.0.4 2024-08-20".
2024-08-20 11:25:00 -07:00
Landon Curt Noll b6cc61d1f0 Merge pull request #2632 from xexyl/fmt-author-index 2024-08-20 10:26:48 -07:00
Cody Boone Ferguson b89f564c90 Format updates in author/index.html 2024-08-20 10:10:13 -07:00
Landon Curt Noll 7eb64cf11d Merge pull request #2631 from xexyl/typo-j-wrappers 2024-08-19 10:18:15 -07:00
Cody Boone Ferguson 03423b67ad Typo fix in bin/j{fmt,print,val}-wrapper.sh 2024-08-19 09:08:11 -07:00
Landon Curt Noll 79f50c7d42 fix quick mode in bin/gen-other-html.sh
Fixed how `-Q` quick mode works in `bin/gen-other-html.sh`
so that the target HTML file is not touched needlessly.

Changed `bin/gen-other-html.sh` VERSION from "1.4 2024-08-17"
to 1.4.1 2024-08-18".

Performed `quick_other_html` to test the above under macOS.

Performed `gen_other_html` to test the above under macOS.
2024-08-18 02:24:15 -07:00
Landon Curt Noll 0e5864b8b0 use yet even more bin/jval-wrapper.sh instead of direct grep of JSON files
We use the `bin/jval-wrapper.sh` tool to obtain information from JSON
files instead of attempting using a "GROSS HACK" that involved using
`grep(1)` (and friends) as those "GROSS HACK"s assumed that the layout of
the JSON was canonical.  The `bin/jval-wrapper.sh` tool is able to deal
with various layouts of JSON including non-canonical layouts.  Moreover,
by using the `bin/jval-wrapper.sh` tool we greatly reduce the places in
bin tools that contain "GROSS HACK"s.

Adjusted `bin/gen-status.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/gen-status.sh` VERSION from "1.5.8 2024-08-05"
to "1.6 2024-08-17".

Performed `make gen_status` to test the above under macOS.

Adjusted `bin/gen-years.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/gen-years.sh` VERSION from "1.3.7 2024-08-05"
to "1.4 2024-08-17".

Performed `make gen_years` to test the above under macOS.

Adjusted `bin/output-index-author.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/output-index-author.sh` VERSION from "1.7.3 2024-08-05"
to "1.8 2024-08-17".

Performed `make entry_index` to test the above under macOS.

Added `make quick_year_index` to generate year level index.html files
when year level `YYYY/README.md` is newer.

The `make quick_www` calls `quick_year_index` instead of `make gen_year_index`.

The `bin` directory is now sat as `BIN_PATH=$TOPDIR/bin`, where
`$TOPDIR` is determined by top of the git repo (as determined by
the command: `git rev-parse --is-inside-work-tree`) and potentially
modified by `-d topdir`.  After `cd $TOPDIR`, we set `BIN_DIR=bin`.

All tools from this repo are now assumed to under "$BIN_DIR".  Removed
command like options such as `-T md2html.sh`, and `-p tool` that used
to be able to change the location of a `bin` tool.

Changed `bin/gen-authors.sh` VERSION from "1.11 2024-08-13"
to "1.12 2024-08-18".

Changed `bin/gen-location.sh` VERSION from "1.5 2024-08-17"
to "1.6 2024-08-18".

Changed `bin/readme2index.sh` VERSION from "1.2.7 2024-08-05"
to "1.3 2024-08-17".

Modified `bin/all-run.sh` to use the `bin` directory mechanism.
Modified `bin/all-years.sh` to use the `bin` directory mechanism.
Modified `bin/gen-other-html.sh` to use the `bin` directory mechanism.
Modified `bin/gen-year-index.sh` to use the `bin` directory mechanism.
Modified `bin/md2html.sh` to use the `bin` directory mechanism.
Modified `bin/quick-readme2index.sh` to use the `bin` directory mechanism.
Modified `bin/readme2index.sh` to use the `bin` directory mechanism.

Changed `bin/all-run.sh` VERSION from "1.3.6 2024-08-05"
to "1.4 2024-08-17".

Changed `bin/all-years.sh` VERSION from "1.0.5 2024-08-05"
to "1.1 2024-08-17".

Changed `bin/gen-other-html.sh` VERSION from "1.3 2024-08-11"
to "1.4 2024-08-17".

Changed `bin/gen-year-index.sh` VERSION from "1.1.2 2024-08-05"
to "1.2 2024-08-17".

Changed `bin/quick-readme2index.sh` VERSION from "1.1.7 2024-08-05"
to "1.2 2024-08-17".

Changed `bin/md2html.sh` VERSION from "1.5.5 2024-08-05"
to "1.6 2024-08-17".

Added some whitespace in the form of empty lines to tools.

Made checks for tools under `bin` directory more consistent.

When using `-Q` (quick mode) and the prerequisite files are newer,
we force the target to be touched so that a later run will not
have to build the target HTML file.

Performed `make quick_www` to test the above under macOS.

Performed `make www` to test the above under macOS.
2024-08-18 02:10:25 -07:00
Landon Curt Noll f159369a0a use even more bin/jval-wrapper.sh instead of direct grep of JSON files
We use the `bin/jval-wrapper.sh` tool to obtain information from JSON
files instead of attempting using a "GROSS HACK" that involved using
`grep(1)` (and friends) as those "GROSS HACK"s assumed that the layout of
the JSON was canonical.  The `bin/jval-wrapper.sh` tool is able to deal
with various layouts of JSON including non-canonical layouts.  Moreover,
by using the `bin/jval-wrapper.sh` tool we greatly reduce the places in
bin tools that contain "GROSS HACK"s.

Adjusted `bin/gen-location.sh` to use `bin/jval-wrapper.sh`.

Added `-Q` option to `bin/gen-location.sh` to not form
`location.html` when the `location.html` file is newer than all
`author/author_handle.json` files.

Changed `bin/gen-location.sh` VERSION from "1.4.5 2024-08-05"
to "1.5 2024-08-15".

Performed `make location` to test the above under macOS.

Added `make quick_location` rule to the top level `Makefile`
to run `bin/gen-location.sh` with `-Q`.

Changed `make quick_www` use `make quick_location`.

Performed `make quick_location` to test the above under macOS.

Performed `make quick_www` to test the above under macOS.

Performed `make www` to test the above under macOS.
2024-08-17 17:54:15 -07:00
Landon Curt Noll 6c37038256 use uniq with LC_ALL=C
We make sure that when we uniq, we sort with `LC_ALL=C` as in:

> LC_ALL=C uniq ...

Changed `bin/csv2entry.sh` VERSION from "1.2.1 2024-08-17"
to "1.2.2 2024-08-17".

Performed `make csv2entry` to test the above under macOS.
2024-08-17 16:07:45 -07:00
Landon Curt Noll 0203a51dd8 improve FAQ on helping with ZZ location 2024-08-17 16:00:57 -07:00
Landon Curt Noll 5201a45561 use sort with LC_ALL=C
We make sure that when we sort, we sort with `LC_ALL=C` as in:

> LC_ALL=C sort ...

Changed `bin/entry2csv.sh` VERSION from "1.2 2024-08-13"
to "1.2.1 2024-08-17".

Performed `make entry2csv` to test the above under macOS.

Changed `bin/csv2entry.sh` VERSION from "1.2 2024-08-13"
to "1.2.1 2024-08-17".

Performed `make csv2entry` to test the above under macOS.

Changed `bin/cvt-submission.sh` VERSION from "1.0.4 2024-08-11"
to "1.0.5 2024-08-17".

Changed `bin/gen-sitemap.sh` VERSION from "1.3.13 2024-08-05"
to "1.3.14 2024-08-19".

Changed `bin/new-dir.sh` VERSION from "1.3.1 2024-08-11"
to "1.3.2 2024-08-17".

Performed `make www` to test the above under macOS.
2024-08-17 15:44:15 -07:00
Landon Curt Noll a18583bfbe Merge pull request #2630 from xexyl/video 2024-08-17 11:26:59 -07:00
Cody Boone Ferguson 8fbb088501 Fix make test - 2006/sykes1 2024-08-17 10:47:43 -07:00
Cody Boone Ferguson 984a74177e Remove a video file from 2006/sykes1 2024-08-17 10:44:19 -07:00
Landon Curt Noll 33d6f2f27e Merge pull request #2629 from xexyl/html04 2024-08-15 13:16:12 -07:00
Cody Boone Ferguson ba0f9343e1 Finish fixing html files in 2004
There is one thing brought up on GitHub that might necessitate a minor
change but that can happen later.
2024-08-15 10:15:32 -07:00
Landon Curt Noll ee3b035080 Merge pull request #2628 from xexyl/typo-bin-j-tools
Typo fixes in {jfmt,jval}-wrapper.sh scripts
2024-08-14 11:24:37 -07:00
Landon Curt Noll 4514ee9ed3 Merge pull request #2627 from xexyl/html2004
More html files of 2004 fixed
2024-08-14 11:22:53 -07:00
Cody Boone Ferguson 7e57651e37 Typo fixes in {jfmt,jval}-wrapper.sh scripts
The wrong tools were referred to, likely a yank paste error from
jprint-wrapper.sh (as all three referred to jprint).

These three tools (and jnamval) will be developed (by me and perhaps
partly by Landon) later on, after IOCCC28 (because much more discussion
is needed before they can be developed and because we are trying to get
the next IOCCC running as quickly as possible) so as the comments state,
a different tool is used at this time. The comments, however, note that
it is a hack until the specific tools have been developed and even if it
does not matter that much the right tools should be mentioned.
2024-08-14 09:37:55 -07:00
Cody Boone Ferguson 453ed3d75b More html files of 2004 fixed
Some bug statuses have been changed so the bugs file was also updated
(some removed, some added).

The manifest of 2004/hibachi was fixed some.

The alt_url of 2004/gavare was fixed which required a rebuild of
authors.html.

For 2004/gavin a proper link to QEMU was added. It strikes me as it
possibly being a good idea to have an FAQ about QEMU (as it is not just
2004/gavin that might benefit from it) but I don't know and in any case
I have zero experience with it.

The entries 2004/gavare, 2004/gavin and 2004/hibachi have been checked
for format / display issues. This would suggest that the next entry to
look at is 2004/hoyle.
2024-08-14 09:25:39 -07:00
Landon Curt Noll 5c66aaa1f2 use more bin/jval-wrapper.sh instead of direct grep of JSON files
We use the `bin/jval-wrapper.sh` tool to obtain information from JSON
files instead of attempting using a "GROSS HACK" that involved using
`grep(1)` (and friends) as those "GROSS HACK"s assumed that the layout of
the JSON was canonical.  The `bin/jval-wrapper.sh` tool is able to deal
with various layouts of JSON including non-canonical layouts.  Moreover,
by using the `bin/jval-wrapper.sh` tool we greatly reduce the places in
bin tools that contain "GROSS HACK"s.

Adjusted `bin/subst.entry-index.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/subst.entry-index.sh` VERSION from "1.4 2024-08-09"
to "1.5 2024-08-13".

Adjusted `bin/entry2csv.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/entry2csv.sh` VERSION from "1.1.1 2024-07-22"
to "1.2 2024-08-13".

Performed `make entry2csv` to test the above under macOS.

Adjusted `bin/csv2entry.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/entry2csv.sh` VERSION from "1.1.1 2024-07-22"
to "1.2 2024-08-13".

Performed `make csv2entry` to test the above under macOS.
2024-08-13 22:55:41 -07:00
Landon Curt Noll 317a2a0c2c use bin/jval-wrapper.sh instead of direct grep of JSON files
We use the `bin/jval-wrapper.sh` tool to obtain information from JSON
files instead of attempting using a "GROSS HACK" that involved using
`grep(1)` (and friends) as those "GROSS HACK"s assumed that the layout of
the JSON was canonical.  The `bin/jval-wrapper.sh` tool is able to deal
with various layouts of JSON including non-canonical layouts.  Moreover,
by using the `bin/jval-wrapper.sh` tool we greatly reduce the places in
bin tools that contain "GROSS HACK"s.

Improve `-v 1` debug messages for `bin/gen-authors.sh` to give some
level of progress instead of a long pause.  Improve `-v 3` as well.

While the `bin/jval-wrapper.sh` tool is slower, it is also more accurate
in that various non-canonical JSON layouts will not confuse the tool.

Apologies for the slowdown.  Once the `jval(1)` tool is ready, it should
be faster than the `JSONPath.sh` tool that `bin/jval-wrapper.sh` uses now.

Added `-Q` to  `bin/jval-wrapper.sh` tool to perform a quick exit if
`authors.html` is newer than all `author/author_handle.json` files.

Updated the top level `Makefile` by adding `make quick_authors` rule
that will invoke `bin/gen-authors.sh -Q`.  Also changed `make quick_www`
to call `make quick_authors` instead of `make authors`.

Changed `bin/gen-authors.sh` VERSION from "1.10.7 2024-08-05"
to "1.11 2024-08-13".

Make a minor improvement in the usage message for `bin/gen-other-html.sh`.

Performed `make www` to test the above under macOS.

Performed `make quick_www` to test the above under macOS.
2024-08-13 16:51:34 -07:00