README.org

January 24, 2025 ยท View on GitHub

#+title: README #+date: 2022-03-23 16:18 Wed #+author: Gary Klimowicz

  • Overview This set of directories and files mirrors the contents of [[https://j3-fortran.org]], maintained by Steve Lionel, the ISO WG5 convenor. [[https://j3-fortran.org]] is the system of record for papers presented and discussed by the INCITS Fortran and ISO WG5 Fortran standards groups.

This repository contains all the same papers as the official site. It is organized into three directories. This should make it easy to search for terms that appear in the papers using standard search tools (such as grep).

** papers/ Each paper or document in j3-fortran.org has a corresponding file in the papers directory.

** years/ The j3-fortran web site organizes papers by year and by meeting. The years directory in this repository holds the papers for each 4-digit year. The files in the years directories are symlinks to the documents in the papers directory.

** meetings/ The meetings directory in this repository contains a directory for each meeting (padded to 3 digits). The documents for each meeting are symlinks to the documents in the papers directory.

** file-types.txt The results of running the file command on each of the files in the papers directory. We use this to identify file with odd (non-ASCII, non-UTF-8) character encodings.

** Makefile Contains commands to fetch documents and update the index and file-types.txt files. The target make all will fetch the documents for the current meeting, and update the index and file types.

  • bin commands There are commands in the bin directory to maintain the repository. Only bin/get-docs-for-meeting is relevant to the average person updating the project. (The rest were mostly used when converting the papers to Unicode.)

** bin/get-docs-for-meeting Given a meeting number nnn (or an entry in the meetings directory), pull all the meeting files, and place the real files in the years directory, and a link to that file in the meetings/nnn and papers directory.

#+begin_src sh bin/get-docs-for-meeting 226 # Fetch all meeting 226 documents bin/get-docs-for-meeting meetings/226 # This does the same thing

bin/get-docs-for-meeting meetings/* # Fetch documents for all meetings #+end_src

Useful options: - -v :: Be verbose about the actions taken. - -vv :: Add debug output to the verbose output.

** bin/wheres Given a document prefix, identify all the locations of the document in papers, meetings, and years.

#+begin_example $ bin/wheres S8 S8: S8.102.pdf meetings/102/S8.102.pdf S8.102.pdf papers/S8.102.pdf S8.102.pdf years/1986/S8.102.pdf S8.103.pdf meetings/103/S8.103.pdf S8.103.pdf papers/S8.103.pdf S8.103.pdf years/1987/S8.103.pdf S8.104.pdf meetings/104/S8.104.pdf S8.104.pdf papers/S8.104.pdf S8.104.pdf years/1987/S8.104.pdf S8.111.pdf meetings/111/S8.111.pdf S8.111.pdf papers/S8.111.pdf S8.111.pdf years/1989/S8.111.pdf S8.114.pdf meetings/114/S8.114.pdf S8.114.pdf papers/S8.114.pdf S8.114.pdf years/1990/S8.114.pdf S8.115.pdf meetings/115/S8.115.pdf S8.115.pdf papers/S8.115.pdf S8.115.pdf years/1990/S8.115.pdf S8.99.pdf meetings/099/S8.99.pdf S8.99.pdf papers/S8.99.pdf S8.99.pdf years/1986/S8.99.pdf #+end_example

#+begin_example $ bin/wheres 22-124 22-124: 22-124.txt meetings/226/22-124.txt 22-124.txt papers/22-124.txt 22-124.txt years/2022/22-124.txt 22-124r1.txt meetings/226/22-124r1.txt 22-124r1.txt papers/22-124r1.txt 22-124r1.txt years/2022/22-124r1.txt 22-124r2.txt meetings/226/22-124r2.txt 22-124r2.txt papers/22-124r2.txt 22-124r2.txt years/2022/22-124r2.txt #+end_example

** bin/update-index Creates the index file used by bin/wheres. For each file, it contains - The file's base name (e.g., 00-000.txt) - The file's line count if it is a .txt file; otherwise n/a - The file's md5 hash - A location in the meetings, papers, or years directory

make all runs this automatically, so you shouldn't have to run it manually unless the index is broken.

** bin/cleanup-text (no longer used; kept in case we need it again) This commands cleans up files in papers. A variety of cleanup can be done on the text files:

  • Making line endings consistent (LF instead of CR or CRLF)
  • Removing excess whitespace at the ends of lines
  • Removing excess blank lines at the ends of files
  • Replace Windows-1252 extended-ASCII with UTF-8 equivalents
  • Replace ISO-8859 extended-ASCII with UTF-8 equivalents
  • Replace Code Page 437 characters with UTF-8 equivalents
  • Replace other strange character encodings with UTF-8 equivalents (^G for bullets, \x{FF}2D for +, and others that defy explanation)

** bin/cleanup-* (no longer used) These other commands typically clean up one specific kind of text change in a file (e.g., CRLF --> LF transformation, or ^R, ^S, ^T to curly apostrophes and quotes).