Queer Jargon File
This is a fork of the Jargon File 4.3.3, with an eye towards removing the misogynistic, white-supremacist elements brought in by esr.
It also has been updated to contain UTF-8 text instead of Latin-1, the makefiles have been fixed such that at least the HTML version builds on modern macOS, and no longer relies on the
. directory being in your PATH.
Contributions are welcome! Account registration should be open under an email verification requirement, upon which you will get write access to the Wiki and repo; please behave.
Fossil doesn't behave quite like Git! For one, it doesn't hardcode email addresses in commit artifacts. Also, it maintains a much more linear (less confusing) commit graph due to
auto-sync. (If you're familiar with
fossil generally works and feels a lot closer to
cvs than to
git, except as regards branches.)
To get started, let's say you've registered an account
alice, which is not your local account's username. To inform Fossil of your QJF username, pass
clone, and use
fossil user default inside the checkout. If your local account uses the same name as your QJF username, you can omit
--admin-user and skip the
fossil user default command.
fossil clone --admin-user alice https://email@example.com/queer-jargon-file ~/qjf.fossil mkdir queer-jargon-file cd queer-jargon-file fossil open ~/qjf.fossil fossil user default alice
From there, you can make changes. Fossil is, by default, an online distributed VCS: when you do
fossil commit, it will commit and automatically sync to whichever branch is active. Branches are not protected, contributors can commit directly to trunk. If you wish to use branches, you can start a branch from a commit by
fossil commit --branch, or use
fossil branch and
fossil up to manipulate them manually.
If you cloned anonymously at first and registered an account later, you can log in from an open checkout by doing
fossil sync https://$USER@fossil.se30.xyz/queer-jargon-file. This will prompt for, and by default remember, your password.
Coming from Git
Whereas in Git you usually make one clone and switch between branches in that clone, Fossil tends to work with multiple open checkouts. In this way you can think of
fossil open somewhat like Git's relatively new
Fossil's autosync makes it work a lot like the Git workflow of doing a
git pull --rebase before pushing, but a little more safely, in that it will keep you from introducing conflicting merges to the upstream, and from getting irrevocably lost in the reflog. When a merge conflict does happen, Fossil writes out the most humane commit markers we've ever seen. Please see the Fossil git user docs for more info and common pitfalls.
If you have Fossil questions, or others related to this repo, feel free to contact us via email (firstname.lastname@example.org), on Twitter (@atax1a), or on Discord (atax1a#3599)
Adding a word
emacs mode in
jargon.el automates the process of adding and deleting words, and is recommended (that, or use it as inspiration for a plugin for your favored editor). Note that
version.tex is generated by
If you wish to do it manually, take a look at cea3caa137cb7216 for a commit adding a single word.
jargon-new.texwith an entry for the new word, making sure to cite the current version number from the Makefile
- Find the right file to insert the headword out of
lexicon[1-4].tex— again, the elisp helps a bit
- Insert the entry into the alphabetically sorted list at the start of the file
- Take a deep breath and remember that the
@nodecommand takes its arguments in this order:
- Find the previous headword alphabetically and change the second argument to its
@nodecommand to the new word.
- Insert your headword in the right place, making sure to include both
- Change the third argument,
previous, in the next headword's
maketo build the document and regenerate
version.tex. A successful
makeoutput looks like this:
echo "@set VERSION 4.3.3-queer" >variables.tex set `date`; echo "@set DATE $3 "`echo $2 | tr '[a-z]' '[A-Z]'`" $6" >>variables.tex make jargon.txt makeinfo --no-split jargon.tex --output=/tmp/jargon$.info ./ascii.bash </tmp/jargon$.info >/tmp/jargon$.txt sh patch.size /tmp/jargon$.txt Entries: 2370 Lines: 28427 Words: 230342 Chars: 1514838 makeinfo --no-split jargon.tex --output=/tmp/jargon$.info ./ascii.bash </tmp/jargon$.info | ./fixjargon.pl >jargon.txt rm -f /tmp/jargon$.info /tmp/jargon$.txt mv jargon.txt jarg433-queer gzip -f jarg433-queer makeinfo --no-split --html jargon.tex ./splitnode.pl --title="The Queer Jargon File" --framenode="The Jargon Lexicon" --version=4.3.3-queer --graphdir="graphics" jargon.html make: *** No rule to make target `jarghist.html', needed by `jargon-4.3.3-queer.tar.gz'. Stop.
(yes, the error that stops the
make is expected currently)
makeinfo errors to watch out for:
- Cross reference to nonexistent node `balblabal' (perhaps incorrect sectioning?).
This one means you broke a