Anybody can help fight spam on the wiki. EmacsWikiAdministrators are particularly effective, however. Please join the team.

Reverting Graffiti and Spam

When you stumble upon a page that has been defaced, proceed as follows:

  1. Click View other revisions at the bottom.
  2. From the history, find the last good revision.
  3. Use the Rollback button to return to the last good revision.

If you can’t see the Rollback link, you’re probably missing a username. Edit any page and provide a username, click the Preview button and you should be set.

If you are an administrator and want to rollback massive spamming that cannot be solved by banning and despamming, you can roll back all the changes to return the wiki to a particular point in time:

  1. Visit RecentChanges.
  2. Click on List all changes.
  3. Click on Include minor changes just to be on the safe side.
  4. If you are an administrator you will see a rollback link for every edit.
  5. Click on the rollback link of the last “good” page.

You might even want to rollback a few “good” changes in order to save yourself some work. Just jot down the pages with “good” edits. After the rollback, visit every one of them and revert the rollback as if it were spam. ;)


Here’s a quick sketch of how the spam filtering works:

  1. before a page is saved, a question is asked unless the cookie shows that user has answered a question before
  2. the IP number of the person saving a page is checked against the list on the BannedHosts page, if it exists
  3. all the URLs on the page are checked against the list on the BannedContent page, if it exists
  4. the entire text of the page is checked against the list on the BannedRegexps page, if it exists

The syntax used on these pages is simple. Each line can contain a single pattern for rejecting changes to the Wiki. Empty lines are ignored, # starts a comment until the end of the line, tabs and spaces at the beginning and end of all remaining lines are stripped.

These pages can be edited by EmacsWikiAdministrators. When the pages are edited, make “minor” edits to the page to keep them out of default listing of RecentChanges.

Broken regular expressions will crash the script for all pages on the site.

There is one additional defense we use on this site. Oddmuse:Page Locking is available to EmacsWikiAdministrators.

Does banning actually work?

The wiki keeps a log of rejected edits.


How many revisions does this wiki save?

The details are on Oddmuse:Kept Pages. But basically, when a page is saved…

  1. all revisions older than a year are deleted
  2. the current revision gets a new timestamp (so it will not be deleted for another year!) and is saved as an old revision (a “kept page”)
  3. the new page is saved

Thus, you can always go back at least a year. This time window has been extended, recently. It used to be just two weeks. But remember, you can get back all the old revisions from our Git repository. – AlexSchroeder