Recent changes to this wiki:

diff --git a/doc/todo/smileys_should_support_Unicode_Emojis.mdwn b/doc/todo/smileys_should_support_Unicode_Emojis.mdwn
new file mode 100644
index 0000000..9bbfeaa
--- /dev/null
+++ b/doc/todo/smileys_should_support_Unicode_Emojis.mdwn
@@ -0,0 +1,128 @@
+Why are there graphic-based smileys at all, when Unicode supports most of them directly?
+
+What Unicode doesn't support can be handled by FontAwesome or a little CSS. 
+
+Keeping font-based solutions to emojis allows them to scale naturally with the fonts. An emoji in the title becomes a different size than an emoji in paragraph, or an emoji in a subscript.
+
+Here's a smileys.mdwn file that doesn't use any graphics at all:
+
+<pre>
+This page is used to control what smileys are supported by the wiki.
+Just write the text of a smiley to display it.
+
+* \\:)	[🙂]
+* \\:smile:	[🙂]
+* \\:-)	[🙂]
+* \\:D	[😃] 
+* \\:-D	[😃] 
+* \\:grin:	[😃] 
+* \\B)	[😎]
+* \\B-)	[😎]
+* \\:))	[😛]
+* \\:-))	[😛]
+* \\;)	[😉]
+* \\;-)	[😉]
+* \\:\	[😕]
+* \\:-\	[😕]
+* \\:/	[😕]
+* \\:-/	[😕]
+* \\:|	[😐]
+* \\:-|	[😐]
+* \\>:>	[😈]
+* \\X-(	[😡]
+* \\&lt;:(	[😧]
+* \\:(	[🙁]
+* \\:-(	[🙁]
+* \\:-?	[😝]
+* \\:-P	[😝]
+* \\:o	[😱]
+* \\|)	[😪]
+* \\|-)	[😪]
+* \\{OK}	[👍]
+* \\:+1:    [👍]
+* \\:-1:    [👎]
+* \\(/)	[🚫]
+* \\{X}	[🛑]
+* \\{i}	[ℹ️]
+* \\(./)	[✔︎]
+* \\(!)	[💡]
+* \\[!]	[✋]
+* \\/!\	[⚠️]
+* \\(?)	[❓]
+* \\(!?)	[⁉️]
+* \\{x}	[☒]
+* \\{*}	[☑︎]
+* \\{o}	[☐]
+* \\{1}	[<span class="priority-1">𝟙</span>]
+* \\{2}	[<span class="priority-2">𝟚</span>]
+* \\{3}	[<span class="priority-3">𝟛<span>]
+
+For example: {x} B) {x} {3} :grin: :-1: 
+
+----
+
+To change the supported smileys, just edit the lists on this page.
+Note that the format is important; each list item should start with the
+text that is turned into the smiley, escaped so that users can see what
+produces it, followed by a [[ikiwiki/WikiLink]] to the image to display.
+
+/!\ Bear in mind that the link to the image needs to be written in a way that
+will work if it's copied to other pages on the wiki. So be sure to include the
+smileys directory in the path to the file.
+</pre>
+
+Here's the patch to smiley.pm:
+
+<pre>
+--- smiley.pm.orig	2017-05-26 18:00:01.000000000 -0400
++++ smiley.pm	2017-05-26 22:01:18.000000000 -0400
+@@ -33,17 +33,17 @@
+ 		return;
+ 	}
+ 	my $list=readfile($srcfile);
+-	while ($list =~ m/^\s*\*\s+\\\\([^\s]+)\s+\[\[([^]]+)\]\]/mg) {
++	while ($list =~ m/^\s*\*\s+\\\\([^\s]+)\s+\[([^\]]+)\]/mg) {
+ 		my $smiley=$1;
+-		my $file=$2;
++		my $value=$2;
+
+-		$smileys{$smiley}=$file;
++		$smileys{$smiley}=$value;
+
+ 		# Add a version with < and > escaped, since they probably
+ 		# will be (by markdown) by the time the sanitize hook runs.
+ 		$smiley=~s/</&lt;/g;
+ 		$smiley=~s/>/&gt;/g;
+-		$smileys{$smiley}=$file;
++		$smileys{$smiley}=$value;
+ 	}
+
+ 	if (! %smileys) {
+@@ -94,10 +94,18 @@
+ 		}
+ 		else {
+ 			# Replace the smiley with its expanded value.
+-			my $link=htmllink($params{page}, $params{destpage},
+-				         $smileys{$smiley}, linktext => $smiley);
+-			substr($_, $spos, length($smiley))=$link;
+-			pos=$epos+length($link);
++			my $value = $smileys{$smiley};
++			my $replacement = "";
++			if ($value =~ /\[([^\]]*)/) {
++				$value=$1;
++				$replacement=htmllink($params{page}, $params{destpage},
++							$value, linktext => $smiley);
++			}
++			else {
++				$replacement=$value;
++			}
++			substr($_, $spos, length($smiley))=$replacement;
++			pos=$epos+length($replacement);
+ 		}
+ 	}
+
+</pre>
+
+As you can see, it keeps the [] characters around the smiley. This can be useful if it renders to nothing in the browser -- particularly in the CSS-based solutions. 
+
+It keeps the same data structure, but images get a "[" prefix to them as a marker. Since I minimized the changes to the regex, the trailing "]" is still dropped.

Added a comment: Please do not patch out the symlink check
diff --git a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_2_84b6b804bdea2fc090d7ace65dcdaeb8._comment b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_2_84b6b804bdea2fc090d7ace65dcdaeb8._comment
new file mode 100644
index 0000000..e860110
--- /dev/null
+++ b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_2_84b6b804bdea2fc090d7ace65dcdaeb8._comment
@@ -0,0 +1,19 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="Please do not patch out the symlink check"
+ date="2017-05-26T06:20:22Z"
+ content="""
+The check for symbolic links avoids a security vulnerability. Please do not patch
+it out. We will not support versions of ikiwiki that have been modified in this way.
+
+(In particular, if your wiki has more than one committer, then the other committers
+can use symbolic links to leak the contents of any file that is readable by
+the wiki.)
+
+If you want to store a separate assets directory, I would recommend using an
+underlay directory. You can use git-annex for this if it is placed in direct mode.
+
+I do want to support git-annex and some limited/safe subset of symlinks in
+ikiwiki, but not until we can do that without introducing a security flaw.
+"""]]

Added a comment: git-annex support
diff --git a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_1_3dc35849d9d4d73f5184d0577afa7f30._comment b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_1_3dc35849d9d4d73f5184d0577afa7f30._comment
new file mode 100644
index 0000000..014bcb7
--- /dev/null
+++ b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__/comment_1_3dc35849d9d4d73f5184d0577afa7f30._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="mail@b2ae8518bb6eba14728f86acae7830e4c2d9943d"
+ nickname="mail"
+ avatar="http://cdn.libravatar.org/avatar/1b15be83ec9e779dce940ce88cac603a"
+ subject="git-annex support"
+ date="2017-05-25T14:43:18Z"
+ content="""
+There are multiple pages on the wiki regarding git-annex support, also I found that by just enabling use of symlinks, git-annex works well [1].
+
+1: http://git.cbaines.net/ikiwiki/commit/?h=git-annex&id=3957bbab17874d60f2597cebcc02cda5c212067a
+"""]]

diff --git a/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__.mdwn b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__.mdwn
new file mode 100644
index 0000000..c6887c9
--- /dev/null
+++ b/doc/forum/An_assets_directory_for_my_wiki_with_git_lfs_or_annex__63__.mdwn
@@ -0,0 +1 @@
+Is it somehow possible to have an assets directory powered by git-lfs or maybe git-annex that can handle pictures and other bigger data so that they won't clutter up my git history?

Added a comment: I suggest asking macOS/brew people
diff --git a/doc/forum/How_to_install_Text:Multimarkdown__63__/comment_1_1095806303c9d701d71078efe431e35e._comment b/doc/forum/How_to_install_Text:Multimarkdown__63__/comment_1_1095806303c9d701d71078efe431e35e._comment
new file mode 100644
index 0000000..52b5ef7
--- /dev/null
+++ b/doc/forum/How_to_install_Text:Multimarkdown__63__/comment_1_1095806303c9d701d71078efe431e35e._comment
@@ -0,0 +1,40 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="I suggest asking macOS/brew people"
+ date="2017-05-22T11:02:44Z"
+ content="""
+The multimarkdown option is not necessarily a good idea. The default
+and recommended Markdown implementation in ikiwiki is Discount, which already
+supports many of the same extensions as multimarkdown (in released versions of ikiwiki,
+footnotes are a notable omission, but those will be enabled by default in the
+next release).
+
+If you want to use multimarkdown anyway, please check what the search path is
+for the version of Perl that you are using to run ikiwiki. In particular, the
+most reliable setup is likely to be one where you get Perl, Text::MultiMarkdown
+and IkiWiki from the same vendor (for example Homebrew or pkgsrc) without
+mixing those vendors.
+
+If you obtained one of those packages (for example ikiwiki) by building it
+yourself from source code, its author is unlikely to be able to help you
+unless they happen to be a macOS user themselves, which most of the ikiwiki
+contributors are not. If you are doing this, you should make sure you
+understand how Perl finds libraries (for example this is described in
+the perlrun man page). It might be necessary to add
+
+```
+ENV:
+  PERL5LIB: /some/path:/some/other/path
+```
+
+(YAML syntax) or
+
+```
+  ENV => {
+    PERL5LIB => \"/some/path:/some/other/path\",
+  },
+```
+
+(Perl syntax) to your [[setup file|setup]].
+"""]]

diff --git a/doc/forum/How_to_install_Text:Multimarkdown__63__.mdwn b/doc/forum/How_to_install_Text:Multimarkdown__63__.mdwn
index 553caed..0d64c58 100644
--- a/doc/forum/How_to_install_Text:Multimarkdown__63__.mdwn
+++ b/doc/forum/How_to_install_Text:Multimarkdown__63__.mdwn
@@ -1,6 +1,6 @@
 The rebuilding command
 
-     ikiwiki --setup mysite.setup --rebuild
+    ikiwiki --setup mysite.setup --rebuild
 
 issues an error
 

diff --git a/doc/forum/How_to_install_Text:Multimarkdown__63__.mdwn b/doc/forum/How_to_install_Text:Multimarkdown__63__.mdwn
new file mode 100644
index 0000000..553caed
--- /dev/null
+++ b/doc/forum/How_to_install_Text:Multimarkdown__63__.mdwn
@@ -0,0 +1,19 @@
+The rebuilding command
+
+     ikiwiki --setup mysite.setup --rebuild
+
+issues an error
+
+    multimarkdown is enabled, but Text::MultiMarkdown is not installed
+
+I then tried to install it on macOS using
+
+    brew install multimarkdown
+
+and then
+
+   sudo pkgin -y install multimarkdown
+
+and then rebuilding, but I still get the same error.
+
+Why and how do I fix it?

Added a comment
diff --git a/doc/forum/Limit_pagespec_to_a_certain_depth/comment_3_21c0348c70bc43e72d23017135554d45._comment b/doc/forum/Limit_pagespec_to_a_certain_depth/comment_3_21c0348c70bc43e72d23017135554d45._comment
new file mode 100644
index 0000000..c1928ed
--- /dev/null
+++ b/doc/forum/Limit_pagespec_to_a_certain_depth/comment_3_21c0348c70bc43e72d23017135554d45._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="openmedi"
+ avatar="http://cdn.libravatar.org/avatar/563ffaff3b492c579bd8f094472e4506"
+ subject="comment 3"
+ date="2017-05-19T15:32:17Z"
+ content="""
+Thanks! That was what I was missing.
+"""]]

Suggested syntax does work, and has a test
diff --git a/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn b/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
index c0452e2..568c998 100644
--- a/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
+++ b/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
@@ -19,4 +19,7 @@ I tried [a number of possibilities](https://feeding.cloud.geek.nz/recentchanges/
 >
 >     \[[!meta name="flattr:id" content="4j6y0v"]]
 >
-> Please try that. --[[smcv]]
+> This was missing from the documentation, but I have now added it. This feature was
+> broken until 2015, but we now have an automated test to make sure it keeps working;
+> the test includes a check for `twitter:card` which is essentially equivalent to
+> what you're doing here. [[done]] --[[smcv]]

Document the special case for [[!meta name=foo content=bar]]
diff --git a/doc/ikiwiki/directive/meta.mdwn b/doc/ikiwiki/directive/meta.mdwn
index 955648c..0d4d9d6 100644
--- a/doc/ikiwiki/directive/meta.mdwn
+++ b/doc/ikiwiki/directive/meta.mdwn
@@ -13,7 +13,7 @@ per `meta` directive, use more directives if you want to specify more fields.
 The field values are treated as HTML entity-escaped text, so you can include
 a quote in the text by writing `&quot;` and so on.
 
-Supported fields:
+## Supported fields
 
 * title
 
@@ -204,9 +204,20 @@ Supported fields:
 
   	\[[!meta foaf=foaf.rdf]]
 
+* name
+
+  Adds a HTML `<meta>` header with this `name` attribute. Its other attributes are
+  taken from the other parameters, so for example
+  `\[[!meta name="foo" content="bar" x-non-standard-attribute="baz"]]`
+  becomes `<meta name="foo" content="bar" x-non-standard-attribute="baz">`. This
+  won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled,
+  since it can be used to insert unsafe content.
+
+## Other fields
+
 If the field is not one of the above predefined fields, the metadata will be
-written to the generated html page as a &lt;meta&gt; header. However, this
-won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled,
-since it can be used to insert unsafe content.
+written to the generated html page as a &lt;meta&gt; header. For example,
+`\[[!meta foo="bar"]]` becomes `<meta name="foo" content="bar">`. As with `name`, this
+won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled.
 
 [[!meta robots="noindex, follow"]]

it is (meant to be) possible, just not with that syntax
diff --git a/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn b/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
index 7da8bcc..c0452e2 100644
--- a/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
+++ b/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
@@ -13,3 +13,10 @@ it gets rendered as:
     <meta name="flattr:id=&quot;4j6y0v&quot;" content="" />
 
 I tried [a number of possibilities](https://feeding.cloud.geek.nz/recentchanges/) and they all failed to produce the correct output.
+
+> Directive syntax doesn't allow named arguments containing colons, so we would have to
+> add a different syntax for weird names. However, we already have that:
+>
+>     \[[!meta name="flattr:id" content="4j6y0v"]]
+>
+> Please try that. --[[smcv]]

diff --git a/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn b/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
new file mode 100644
index 0000000..7da8bcc
--- /dev/null
+++ b/doc/bugs/It__39__s_not_possible_to_add_the_new_Flattr_meta_tag_using_the_meta_directive.mdwn
@@ -0,0 +1,15 @@
+The new way to confirm ownership of a domain on Flattr is to add a `meta` tag to the page head. For example:
+
+     <meta name="flattr:id" content="4j6y0v">
+
+However, the [[ikiwiki/directive/meta]] directive doesn't allow setting of names with colons.
+
+If I do this:
+
+    \[[!meta flattr:id="4j6y0v"]]
+
+it gets rendered as:
+
+    <meta name="flattr:id=&quot;4j6y0v&quot;" content="" />
+
+I tried [a number of possibilities](https://feeding.cloud.geek.nz/recentchanges/) and they all failed to produce the correct output.

long out of date
diff --git a/doc/css_market.mdwn b/doc/css_market.mdwn
index d41a4a3..56f78a4 100644
--- a/doc/css_market.mdwn
+++ b/doc/css_market.mdwn
@@ -46,11 +46,6 @@ gnomes will convert them to css files..)
   You can grab some pictures used as background patterns from there.
   [[!meta stylesheet="cstamas"]]
 
-* **[[css_market/bma.css]]**, contributed by [bma](http://subvert.org.uk/~bma/).
-  Not quite the same as I use on my site, since that has slightly modified
-  templates.
-  [[!meta stylesheet="bma"]]
-
 * ** http://blog.lastlog.de/, contributed by joachim schiele; please feel free to copy.
 
 * **[wiki.css](http://cyborginstitute.net/includes/wiki.css)** by [[tychoish]]. 

color: Use markup for the preserved CSS, not character data
This still smuggles it past the sanitize step, but avoids having
other plugins that want to capture text content without markup
(notably toc) see the CSS as if it was text content.
diff --git a/IkiWiki/Plugin/color.pm b/IkiWiki/Plugin/color.pm
index 9bb2359..e80130d 100644
--- a/IkiWiki/Plugin/color.pm
+++ b/IkiWiki/Plugin/color.pm
@@ -38,12 +38,11 @@ sub preserve_style ($$$) {
 				($background =~ /^[a-z]+$/ || $background =~ /^#[0-9a-f]{3,6}$/));
 
 	my $preserved = '';
-	$preserved .= '<span class="color">';
+	$preserved .= '<span class="color"><span value="';
 	$preserved .= 'color: '.$foreground if ($foreground);
 	$preserved .= '; ' if ($foreground && $background);
 	$preserved .= 'background-color: '.$background if ($background);
-	$preserved .= '</span>';
-	$preserved .= '<span class="colorend">'.$text.'</span>';
+	$preserved .= '"></span>'.$text.'</span>';
 	
 	return $preserved;
 
@@ -52,8 +51,7 @@ sub preserve_style ($$$) {
 sub replace_preserved_style ($) {
 	my $content = shift;
 
-	$content =~ s!<span class="color">((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)</span>!<span class="color" style="$1">!g;
-	$content =~ s!<span class="colorend">!!g;
+	$content =~ s!<span class="color">\s*<span value="((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)">\s*</span>!<span class="color" style="$1">!g;
 
 	return $content;
 }
diff --git a/doc/bugs/color_plugin_produces_artifacts_in_table-of-contents.mdwn b/doc/bugs/color_plugin_produces_artifacts_in_table-of-contents.mdwn
index f97e5c5..d627091 100644
--- a/doc/bugs/color_plugin_produces_artifacts_in_table-of-contents.mdwn
+++ b/doc/bugs/color_plugin_produces_artifacts_in_table-of-contents.mdwn
@@ -16,6 +16,11 @@ Reason for this behaviour is:
 1. the toc plugin removes everything except plain text from headers in the toc
 1. if the toc plugin is executed before the color plugin in the format hook it sees the special syntax and clobbers the toc, otherwise it just removes the color markup
 
+> The bug here is that the color plugin's special syntax does not
+> gracefully degrade to "render nothing", which I have now [[fixed|done]]
+> by putting the color bits through a value attribute instead of
+> character data. --[[smcv]]
+
 # Solutions
 
 There are a few possible solutions to this depending on how it should work:
@@ -26,6 +31,12 @@ There are a few possible solutions to this depending on how it should work:
 
 I would propose implementing the second option because visual markers in headers are useful to convey additional information very fast and this information should be preserved in the toc. Example: Bug or task/project tracker with color conveying status of the bug or task.
 
+> This is really a separate feature request: copy non-`<a>` markup
+> in headings into the TOC. I don't think this necessarily makes
+> sense in general. In particular, any `id` attributes on child
+> elements must not be passed through because that would make
+> the ID non-unique. --[[smcv]]
+
 It seems you can stuff anything into ordered lists (according to w3.orgs doku), so apart from stylistic reasons and suboptimal display of links in headers (see below) I don't see any problems with markup in the toc. 
 
 # Patch
diff --git a/t/color.t b/t/color.t
index c5c14f6..dca0d86 100755
--- a/t/color.t
+++ b/t/color.t
@@ -25,10 +25,10 @@ sub render {
 
 foreach my $scrub (0, 1) {
 	if ($scrub) {
-		$config{add_plugins}=[qw(color htmlscrubber)];
+		$config{add_plugins}=[qw(color htmlscrubber toc)];
 	}
 	else {
-		$config{add_plugins}=[qw(color)];
+		$config{add_plugins}=[qw(color toc)];
 	}
 
 	IkiWiki::loadplugins();
@@ -44,6 +44,9 @@ foreach my $scrub (0, 1) {
 		qr{(?s)<span class="color" style="">Hi</span>});
 	like(render('[[!color foreground="x; pwned: exploit" text="Hi"]]'),
 		qr{(?s)<span class="color" style="">Hi</span>});
+
+	like(render("[[!toc ]]\n\n## [[!color foreground=red text=Important]]"),
+		qr{<a href="\#index1h2">Important</a>});
 }
 
 done_testing();

we should prefer existing IDs and only act as a fallback
diff --git a/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
index 699f055..716fc09 100644
--- a/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
+++ b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
@@ -1,5 +1,5 @@
 I would not be comfortable with merging this into headinganchors and enabling it by
-default for two reasons:
+default for two main reasons:
 
 * it adds a new dependency on [[!cpan Text::Unidecode]]
 * Text::Unidecode specifically documents its transliteration as not being stable
@@ -36,16 +36,39 @@ So perhaps we could try this Unicode-aware version of what Pandoc documents:
   an unused identifier
 
 (Or to provide better uniqueness, we could parse the document looking for any existing
-ID, then generate IDs avoiding collisions with any of them.)
+ID, then append `-1`, `-2` to each generated ID until there is no collision.)
 
 This would give us, for example, `## Visiting 北京` → `id="visiting-北京"`
-(where Text::Unidecode would instead transliterate, resulting in `id="visiting-bei-jing"`).
+(whereas Text::Unidecode would instead transliterate, resulting in
+`id="visiting-bei-jing"`).
 
 To use these IDs in fragments, I would be inclined to rely on browsers
 supporting [IRIs](https://tools.ietf.org/html/rfc3987): `<a href="#visiting-北京">`.
 
 --[[smcv]]
 
+
+----
+
+Documentation says:
+
+> _Also note that all heading attributes are overriden with the ID tag. If this
+> is not desirable, we'd need to fire up a full HTML::Parser or do some more
+> regex magic to preserve the attributes other than id= which we want to keep._
+
+I think this is a bug, particularly if you are using Pandoc's
+[header attributes](http://pandoc.org/MANUAL.html#extension-header_attributes)
+or similar.
+
+I think we should try to use an existing ID before generating our own, with the
+generation step as a fallback, just like Pandoc does. If a htmlize layer like
+Text::MultiMarkdown or Pandoc is generating worse IDs than this plugin, the
+the right solution to that is to send a bug report / feature request to
+make its IDs as good as this plugin's, or turn off ID generation in the
+htmlize layer, or stop using Text::MultiMarkdown.
+
+--[[smcv]]
+
 ----
 
 <pre>Some long scrollable text

cross-reference i18nheadinganchors
diff --git a/doc/plugins/headinganchors/discussion.mdwn b/doc/plugins/headinganchors/discussion.mdwn
index 512caa4..f55408f 100644
--- a/doc/plugins/headinganchors/discussion.mdwn
+++ b/doc/plugins/headinganchors/discussion.mdwn
@@ -34,6 +34,8 @@ A patch to make it more like MediaWiki:
 
 --Changaco
 
+> This was applied in 3.20110608 --[[smcv]]
+
 ----
 
 I think using this below would let the source html clear for the browser
@@ -49,3 +51,14 @@ without changing the render:
 
 Don't you think ?
 [[mathdesc]]
+
+> Older HTML and URI specifications didn't allow Unicode in IDs or fragments,
+> but HTML5 and IRIs do. See also [[plugins/contrib/i18nheadinganchors]]
+> and its [[plugins/contrib/i18nheadinganchors/discussion]] page.
+>
+> I think we should probably try to make these autogenerated IDs
+> punctuation-independent by stripping most non-word characters, like
+> Pandoc does: I would not expect changing
+> `## Headings, maybe with punctuation` to
+> `## Headings (maybe with punctuation)` to have any effect on the
+> generated "slug" `headings-maybe-with-punctuation`. --[[smcv]]

correct ID syntax
diff --git a/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
index 1c3eb63..699f055 100644
--- a/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
+++ b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
@@ -66,7 +66,7 @@ supporting [IRIs](https://tools.ietf.org/html/rfc3987): `<a href="#visiting-北
 .
 .
 .
-<span id="#пример">Example fragment ID in Russian should point here</span>
+<span id="пример">Example fragment ID in Russian should point here</span>
 .
 .
 .

browsers and specifications support more Unicode than we give them credit for
diff --git a/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
new file mode 100644
index 0000000..1c3eb63
--- /dev/null
+++ b/doc/plugins/contrib/i18nheadinganchors/discussion.mdwn
@@ -0,0 +1,92 @@
+I would not be comfortable with merging this into headinganchors and enabling it by
+default for two reasons:
+
+* it adds a new dependency on [[!cpan Text::Unidecode]]
+* Text::Unidecode specifically documents its transliteration as not being stable
+  across versions
+
+There are several "slugify" libraries available other than Text::Unidecode.
+It isn't clear to me which one is the best. Pandoc also documents
+[an algorithm for generating slugs](http://pandoc.org/MANUAL.html#extension-auto_identifiers),
+and it would be nice if our fallback implementation (with i18n disabled) was compatible
+with Pandoc's, at least for English text.
+
+However! In HTML5, IDs are allowed to contain anything except _space characters_
+(space, newline, tab, CR, FF), so we could consider just passing non-ASCII
+through the algorithm untouched. This [example link to a Russian
+anchor name](#пример) (the output of putting "example" into English-to-Russian
+Google Translate) hopefully works? (Use a small browser window to make it
+clearer where it goes)
+
+So perhaps we could try this Unicode-aware version of what Pandoc documents:
+
+* Remove footnote links if any (this might have to be heuristic, or we could
+  skip this step for a first implementation)
+* Take only the plain text, no markup (passing the heading through HTML::Parser
+  and collecting only the text nodes would be the fully-correct version of this,
+  or we could fake it with regexes and be at least mostly correct)
+* Strip punctuation, using some Unicode-aware definition of what is punctuation:
+  perhaps `s/[^-\w_. ]//gu;` (delete anything that is not a (Unicode-aware) word
+  character, hyphen-minus, underscore, dot or space)
+* Replace spaces with hyphen-minus
+* Force to lower-case with `lc`
+* Strip leading digits and punctuation
+* If the string is empty, use `section`
+* If we already generated a matching identifier, append `-1`, `-2`, etc. until we find
+  an unused identifier
+
+(Or to provide better uniqueness, we could parse the document looking for any existing
+ID, then generate IDs avoiding collisions with any of them.)
+
+This would give us, for example, `## Visiting 北京` → `id="visiting-北京"`
+(where Text::Unidecode would instead transliterate, resulting in `id="visiting-bei-jing"`).
+
+To use these IDs in fragments, I would be inclined to rely on browsers
+supporting [IRIs](https://tools.ietf.org/html/rfc3987): `<a href="#visiting-北京">`.
+
+--[[smcv]]
+
+----
+
+<pre>Some long scrollable text
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+<span id="#пример">Example fragment ID in Russian should point here</span>
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.</pre>

close
diff --git a/doc/bugs/pagestats_output_is_not_deterministic.mdwn b/doc/bugs/pagestats_output_is_not_deterministic.mdwn
index 63d52e1..e749a25 100644
--- a/doc/bugs/pagestats_output_is_not_deterministic.mdwn
+++ b/doc/bugs/pagestats_output_is_not_deterministic.mdwn
@@ -9,3 +9,5 @@ for this problem.
 --[[intrigeri]]
 
 [[!tag patch]]
+
+> [[Merged|done]] in 3.20161219 --[[smcv]]

Prune dead links
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 2b92f2d..2c92c9a 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -39,32 +39,20 @@ think about merging them. This is recommended. :-)
 * [[jonas|JonasSmedegaard]] `git://source.jones.dk/ikiwiki-upstream`
 * [[arpitjain]] `git://github.com/arpitjain11/ikiwiki.git`
 * [[chrysn]] `git://prometheus.amsuess.com/ikiwiki`
-* [[simonraven]] (unavailable) `git://github.com/kjikaqawej/ikiwiki-simon.git`
 * [[schmonz]] `git://github.com/schmonz/ikiwiki.git`
-* [[will]] (unavailable) `http://www.cse.unsw.edu.au/~willu/ikiwiki.git`
-* [[kaizer]] `git://github.com/engla/ikiwiki.git`
-* [[bbb]] (unavailable) `http://git.boulgour.com/bbb/ikiwiki.git`
 * [[KathrynAndersen]] `git://github.com/rubykat/ikiplugins.git`
 * [[ktf]] `git://github.com/ktf/ikiwiki.git`
 * [[tove]] `git://github.com/tove/ikiwiki.git`
 * [[GiuseppeBilotta]] `git://git.oblomov.eu/ikiwiki`
-* [[roktas]] (unavailable) `git://github.com/roktas/ikiwiki.git`
-* [[davrieb|David_Riebenbauer]] (unavailable) `git://git.liegesta.at/git/ikiwiki`
-  ([browse](http://git.liegesta.at/?p=ikiwiki.git;a=summary))
 * [[GustafThorslund]] `http://gustaf.thorslund.org/src/ikiwiki.git`
-* [[users/peteg]] (unavailable) `git://git.hcoop.net/git/peteg/ikiwiki.git`
 * [[privat]] `git://github.com/privat/ikiwiki.git`
 * [[blipvert]] `git://github.com/blipvert/ikiwiki.git`
-* [[bzed|BerndZeimetz]] (unavailable) `git://git.recluse.de/users/bzed/ikiwiki.git`
 * [[wtk]] `git://github.com/wking/ikiwiki.git`
 * [[sunny256]] `git://github.com/sunny256/ikiwiki.git`
-* [[fmarier]] (unavailable) `git://gitorious.org/~fmarier/ikiwiki/fmarier-sandbox.git`
 * [[levitte]] `git://github.com/levitte/ikiwiki.git`
 * jo `git://git.debian.org/users/jo-guest/ikiwiki.git`
   ([browse](http://git.debian.org/?p=users/jo-guest/ikiwiki.git;a=summary))
-* [[timonator]] (unavailable) `git://github.com/timo/ikiwiki.git`
 * [[sajolida]] `http://un.poivron.org/~sajolida/ikiwiki.git/`
-* nezmer (unavailable) `git://gitorious.org/ikiwiki-nezmer/ikiwiki-nezmer.git`
 * [[yds]] `git://github.com/yds/ikiwiki.git`
 * [[pelle]] `git://github.com/hemmop/ikiwiki.git`
 * [[chrismgray]] `git://github.com/chrismgray/ikiwiki.git`
@@ -73,7 +61,6 @@ think about merging them. This is recommended. :-)
 * anderbubble `git://civilfritz.net/ikiwiki.git`
 * frioux `git://github.com/frioux/ikiwiki`
 * llipavsky `git://github.com/llipavsky/ikiwiki`
-* [[cbaines]] (unavailable) `git://git.cbaines.net/ikiwiki`
 * [[mhameed]] `git://github.com/mhameed/ikiwiki.git`
 * [[spalax]] `git://github.com/paternal/ikiwiki.git` ([[browse|https://github.com/paternal/ikiwiki]])
 * [[jcflack]] `git://github.com/jcflack/ikiwiki.git`

Reinstate a git repo that has come back
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 38a2d1c..2b92f2d 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -47,7 +47,7 @@ think about merging them. This is recommended. :-)
 * [[KathrynAndersen]] `git://github.com/rubykat/ikiplugins.git`
 * [[ktf]] `git://github.com/ktf/ikiwiki.git`
 * [[tove]] `git://github.com/tove/ikiwiki.git`
-* [[GiuseppeBilotta]] (unavailable) `git://git.oblomov.eu/ikiwiki`
+* [[GiuseppeBilotta]] `git://git.oblomov.eu/ikiwiki`
 * [[roktas]] (unavailable) `git://github.com/roktas/ikiwiki.git`
 * [[davrieb|David_Riebenbauer]] (unavailable) `git://git.liegesta.at/git/ikiwiki`
   ([browse](http://git.liegesta.at/?p=ikiwiki.git;a=summary))

Added a comment
diff --git a/doc/forum/__34__S.__34___gets_replace_by___34__a.__34___in_my_ikiwiki/comment_4_b0b4148cde3e30311be4124e5fcfbb76._comment b/doc/forum/__34__S.__34___gets_replace_by___34__a.__34___in_my_ikiwiki/comment_4_b0b4148cde3e30311be4124e5fcfbb76._comment
new file mode 100644
index 0000000..60f5a3d
--- /dev/null
+++ b/doc/forum/__34__S.__34___gets_replace_by___34__a.__34___in_my_ikiwiki/comment_4_b0b4148cde3e30311be4124e5fcfbb76._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="comment 4"
+ date="2017-05-16T07:29:23Z"
+ content="""
+The next ikiwiki release will default to turning off these alphabetically-labelled
+lists, with a `mdwn_alpha_lists` option to turn them back on if required.
+"""]]

Clarify documentation
diff --git a/doc/plugins/mdwn.mdwn b/doc/plugins/mdwn.mdwn
index 3112371..e22f68e 100644
--- a/doc/plugins/mdwn.mdwn
+++ b/doc/plugins/mdwn.mdwn
@@ -40,7 +40,8 @@ might cause formatting that is understood by Discount to be ignored.
   preference to Text::Markdown::Discount. The default is to not use
   MultiMarkdown, and this is recommended.
 * `mdwn_footnotes`: If set to 1, implementations that support it will
-  recognise the PHP Markdown Extra syntax for footnotes. The default
+  recognise the footnote syntax originating in PHP Markdown Extra, with
+  `Footnote reference[^1]` and `[^1]: Footnote definition`. The default
   is 1.
 * `mdwn_alpha_lists`: If set to 1, Text::Markdown::Discount will
   accept letters as well as numbers in ordered list markers. The

mdwn: Don't enable alphabetically labelled ordered lists by default
This avoids misinterpreting initials ("C. S. Lewis was an author"),
the abbreviation for Monsieur ("M. Descartes was a philosopher") and
German page numbering ("S. 42") as ordered lists if they happen to
begin a line.
This only affects the default Discount implementation: Text::Markdown
and Text::MultiMarkdown do not have this feature anyway. A new
mdwn_alpha_list option can be used to restore the old interpretation.
diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm
index e142fec..9f06c03 100644
--- a/IkiWiki/Plugin/mdwn.pm
+++ b/IkiWiki/Plugin/mdwn.pm
@@ -41,10 +41,19 @@ sub getsetup () {
 			safe => 1,
 			rebuild => 1,
 		},
+		mdwn_alpha_lists => {
+			type => "boolean",
+			example => 0,
+			description => "interpret line like 'A. First item' as ordered list when using Discount?",
+			advanced => 1,
+			safe => 1,
+			rebuild => 1,
+		},
 }
 
 sub checkconfig () {
 	$config{mdwn_footnotes} = 1 unless defined $config{mdwn_footnotes};
+	$config{mdwn_alpha_lists} = 0 unless defined $config{mdwn_alpha_lists};
 }
 
 my $markdown_sub;
@@ -101,6 +110,10 @@ sub htmlize (@) {
 						$flags |= Text::Markdown::Discount::MKD_EXTRA_FOOTNOTE();
 					}
 
+					unless ($config{mdwn_alpha_lists}) {
+						$flags |= Text::Markdown::Discount::MKD_NOALPHALIST();
+					}
+
 					# Workaround for discount's eliding
 					# of <style> blocks.
 					# https://rt.cpan.org/Ticket/Display.html?id=74016
diff --git a/debian/changelog b/debian/changelog
index e2a861c..455e598 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,10 @@ ikiwiki (3.20170112) UNRELEASED; urgency=medium
   * mdwn: Enable footnotes by default when using the default Discount
     implementation. A new mdwn_footnotes option can be used to disable
     footnotes in MultiMarkdown and Discount.
+  * mdwn: Don't enable alphabetically labelled ordered lists by
+    default when using the default Discount implementation. A new
+    mdwn_alpha_list option can be used to restore the old
+    interpretation.
 
  -- Simon McVittie <smcv@debian.org>  Sun, 14 May 2017 15:34:52 +0100
 
diff --git a/doc/plugins/mdwn.mdwn b/doc/plugins/mdwn.mdwn
index 6b20b7b..3112371 100644
--- a/doc/plugins/mdwn.mdwn
+++ b/doc/plugins/mdwn.mdwn
@@ -7,6 +7,8 @@ It uses the [[ikiwiki/markdown]] minimal markup language.
 This is the standard markup language used by ikiwiki, although some others
 are also available in other plugins.
 
+## Implementations
+
 There are several implementations of markdown support that can be used by
 this plugin. In order of preference:
 
@@ -27,3 +29,21 @@ in the setup file. Note that multimarkdown's metadata and wikilinks
 features are disabled when it's used with ikiwiki. Also note that if the
 `multimarkdown` option is enabled, it takes priority over Discount, which
 might cause formatting that is understood by Discount to be ignored.
+
+
+## Advanced options
+
+* `nodiscount`: If set to 1, Text::Markdown::Discount will not be used
+  even if it is available. The default is to use Discount if available,
+  and this is recommended.
+* `multimarkdown`: If set to 1, Text::MultiMarkdown will be used in
+  preference to Text::Markdown::Discount. The default is to not use
+  MultiMarkdown, and this is recommended.
+* `mdwn_footnotes`: If set to 1, implementations that support it will
+  recognise the PHP Markdown Extra syntax for footnotes. The default
+  is 1.
+* `mdwn_alpha_lists`: If set to 1, Text::Markdown::Discount will
+  accept letters as well as numbers in ordered list markers. The
+  default is 0, to avoid unintended parsing of lines that happen
+  to begin with a letter and a dot, such as "C. S. Lewis was an
+  author" or "M. Descartes was a philosopher".

Added a comment
diff --git a/doc/forum/Error:_template_albumviewer_not_found/comment_2_f2f01f1483c0129874a1fe0536596ab6._comment b/doc/forum/Error:_template_albumviewer_not_found/comment_2_f2f01f1483c0129874a1fe0536596ab6._comment
new file mode 100644
index 0000000..667c019
--- /dev/null
+++ b/doc/forum/Error:_template_albumviewer_not_found/comment_2_f2f01f1483c0129874a1fe0536596ab6._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="qazwsx"
+ avatar="http://cdn.libravatar.org/avatar/a99432c83acad59215abc20267d9dc7a"
+ subject="comment 2"
+ date="2017-05-15T06:19:37Z"
+ content="""
+That make the individual image page show up now. But the sidebar overlaps with the 'next image' and sometimes the image primarily displayed on the page. Any idea how to avoid the overlapping?
+"""]]

mdwn: Enable footnotes by default when using Discount
A new mdwn_footnotes option can be used to disable footnotes in
MultiMarkdown and Discount.
diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm
index aeb3a3f..e142fec 100644
--- a/IkiWiki/Plugin/mdwn.pm
+++ b/IkiWiki/Plugin/mdwn.pm
@@ -7,6 +7,7 @@ use strict;
 use IkiWiki 3.00;
 
 sub import {
+	hook(type => "checkconfig", id => "mdwn", call => \&checkconfig);
 	hook(type => "getsetup", id => "mdwn", call => \&getsetup);
 	hook(type => "htmlize", id => "mdwn", call => \&htmlize, longname => "Markdown");
 	hook(type => "htmlize", id => "md", call => \&htmlize, longname => "Markdown (popular file extension)", nocreate => 1);
@@ -33,6 +34,17 @@ sub getsetup () {
 			safe => 1,
 			rebuild => 1,
 		},
+		mdwn_footnotes => {
+			type => "boolean",
+			example => 1,
+			description => "enable footnotes in Markdown (where supported)?",
+			safe => 1,
+			rebuild => 1,
+		},
+}
+
+sub checkconfig () {
+	$config{mdwn_footnotes} = 1 unless defined $config{mdwn_footnotes};
 }
 
 my $markdown_sub;
@@ -54,7 +66,13 @@ sub htmlize (@) {
 			}
 			else {
 				$markdown_sub=sub {
-					Text::MultiMarkdown::markdown(shift, {use_metadata => 0});
+					my %flags=( use_metadata => 0 );
+
+					if ($config{mdwn_footnotes}) {
+						$flags{disable_footnotes}=1;
+					}
+
+					Text::MultiMarkdown::markdown(shift, \%flags);
 				}
 			}
 		}
@@ -79,6 +97,10 @@ sub htmlize (@) {
 					# Use the typography plugin instead
 					$flags |= Text::Markdown::Discount::MKD_NOPANTS();
 
+					if ($config{mdwn_footnotes}) {
+						$flags |= Text::Markdown::Discount::MKD_EXTRA_FOOTNOTE();
+					}
+
 					# Workaround for discount's eliding
 					# of <style> blocks.
 					# https://rt.cpan.org/Ticket/Display.html?id=74016
diff --git a/debian/changelog b/debian/changelog
index 08e320f..e2a861c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,9 @@ ikiwiki (3.20170112) UNRELEASED; urgency=medium
     a set-but-empty name as if they were not signed in.
   * When the CGI fails, print the error to stderr, not "Died"
   * mdwn: Don't mangle <style> into <elyts> under some circumstances
+  * mdwn: Enable footnotes by default when using the default Discount
+    implementation. A new mdwn_footnotes option can be used to disable
+    footnotes in MultiMarkdown and Discount.
 
  -- Simon McVittie <smcv@debian.org>  Sun, 14 May 2017 15:34:52 +0100
 
diff --git a/doc/bugs/footnotes-look-weird.mdwn b/doc/bugs/footnotes-look-weird.mdwn
index be1e5d5..a821ab4 100644
--- a/doc/bugs/footnotes-look-weird.mdwn
+++ b/doc/bugs/footnotes-look-weird.mdwn
@@ -92,6 +92,10 @@ screen readers), as detailed in [this Stack Overflow discussion][].
 >>> --[[smcv]]
 >>>
 >>>> Makes perfect sense to me. --[[anarcat]]
+>>>>
+>>>>> I have now enabled footnotes in Discount by default, with a new
+>>>>> `mdwn_footnotes` option that can switch them off if they become
+>>>>> problematic. --[[smcv]]
 >>>
 >> For example, to enable footnotes, one needs to call Discount like this:
 >> 

mdwn: Don't mangle <style> into <elyts> under some circumstances
We can ask libdiscount not to elide <style> blocks, which means we
don't have to work around them.
diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm
index 436f246..aeb3a3f 100644
--- a/IkiWiki/Plugin/mdwn.pm
+++ b/IkiWiki/Plugin/mdwn.pm
@@ -82,10 +82,15 @@ sub htmlize (@) {
 					# Workaround for discount's eliding
 					# of <style> blocks.
 					# https://rt.cpan.org/Ticket/Display.html?id=74016
-					$t=~s/<style/<elyts/ig;
-					my $r=Text::Markdown::Discount::markdown($t, $flags);
-					$r=~s/<elyts/<style/ig;
-					return $r;
+					if (Text::Markdown::Discount->can("MKD_NOSTYLE")) {
+						$flags |= Text::Markdown::Discount::MKD_NOSTYLE();
+					}
+					else {
+						# This is correct for the libmarkdown.so.2 ABI
+						$flags |= 0x00400000;
+					}
+
+					return Text::Markdown::Discount::markdown($t, $flags);
 				}
 			}
 		}
diff --git a/debian/changelog b/debian/changelog
index a92e371..08e320f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ ikiwiki (3.20170112) UNRELEASED; urgency=medium
     misconfigured nginx servers, and in general treat sessions with
     a set-but-empty name as if they were not signed in.
   * When the CGI fails, print the error to stderr, not "Died"
+  * mdwn: Don't mangle <style> into <elyts> under some circumstances
 
  -- Simon McVittie <smcv@debian.org>  Sun, 14 May 2017 15:34:52 +0100
 
diff --git a/doc/bugs/escaped_style_tag_becomes_elyts.mdwn b/doc/bugs/escaped_style_tag_becomes_elyts.mdwn
index 7095425..336e2ff 100644
--- a/doc/bugs/escaped_style_tag_becomes_elyts.mdwn
+++ b/doc/bugs/escaped_style_tag_becomes_elyts.mdwn
@@ -28,3 +28,7 @@ discuss style markup several times. The first couple of times I saw this happen,
 I thought it was some sort of misguided anti-cross-site-scripting filter...
 
 --[[smcv]]
+
+> [[Fixed|done]] by passing the `MKD_NOSTYLE` flag to Discount instead.
+> Unfortunately this isn't bound by [[!cpan Text::Markdown::Discount]] yet,
+> so for now I'm hard-coding its numeric value. --[[smcv]]

httpauth: Recommend if_not_empty parameter for REMOTE_USER
This is untested, but should hopefully avoid the failure mode
described in [[bugs/Anon_edit_caused_lock_out_on_entire_site_]].
diff --git a/doc/plugins/httpauth.mdwn b/doc/plugins/httpauth.mdwn
index 58a0859..b2f789b 100644
--- a/doc/plugins/httpauth.mdwn
+++ b/doc/plugins/httpauth.mdwn
@@ -41,6 +41,6 @@ users authentication via other methods.
 You have to pass the $remote_user variable to the CGI:
 
     location /ikiwiki.cgi {
-        fastcgi_param REMOTE_USER $remote_user;
+        fastcgi_param REMOTE_USER $remote_user if_not_empty;
         ....
     }

httpauth: If REMOTE_USER is empty, behave as though it was unset
A frequently cut-and-pasted HTTP basic authentication configuration
for nginx sets it to the empty string when not authenticated, which
is not useful.
diff --git a/IkiWiki/Plugin/httpauth.pm b/IkiWiki/Plugin/httpauth.pm
index 76d574b..041eaeb 100644
--- a/IkiWiki/Plugin/httpauth.pm
+++ b/IkiWiki/Plugin/httpauth.pm
@@ -66,7 +66,7 @@ sub auth ($$) {
 	my $cgi=shift;
 	my $session=shift;
 
-	if (defined $cgi->remote_user()) {
+	if (length $cgi->remote_user()) {
 		$session->param("name", $cgi->remote_user());
 	}
 }
@@ -80,7 +80,7 @@ sub formbuilder_setup (@) {
 	my $buttons=$params{buttons};
 
 	if ($form->title eq "signin" &&
-	    ! defined $cgi->remote_user() && defined $config{cgiauthurl}) {
+	    ! length $cgi->remote_user() && defined $config{cgiauthurl}) {
 		my $button_text="Login with HTTP auth";
 		push @$buttons, $button_text;
 
@@ -97,7 +97,7 @@ sub canedit ($$$) {
 	my $cgi=shift;
 	my $session=shift;
 
-	if (! defined $cgi->remote_user() &&
+	if (! length $cgi->remote_user() &&
 	    (! defined $session->param("name") ||
              ! IkiWiki::userinfo_get($session->param("name"), "regdate")) &&
 	    defined $config{httpauth_pagespec} &&
diff --git a/debian/changelog b/debian/changelog
index d3576c5..005c811 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,9 @@ ikiwiki (3.20170112) UNRELEASED; urgency=medium
   * t/git-cgi.t: Wait 1 second before doing a revert that should work.
     This hopefully fixes a race condition in which the test failed
     around 6% of the time. (Closes: 862494)
+  * Guard against set-but-empty REMOTE_USER CGI variable on
+    misconfigured nginx servers, and in general treat sessions with
+    a set-but-empty name as if they were not signed in.
 
  -- Simon McVittie <smcv@debian.org>  Sun, 14 May 2017 15:34:52 +0100
 
diff --git a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
index 02d43e8..5fa1aaa 100644
--- a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
+++ b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
@@ -81,6 +81,10 @@ It seems I can't log out from nowhere. I've rebuild the wiki from the command li
 > with one of a limited set of authorized usernames.
 >
 > --[[smcv]]
+>
+>> If my theory is correct, ikiwiki git master now works around this, and the
+>> [[plugins/httpauth]] documentation now recommends a more correct configuration.
+>> --[[smcv]]
 
 ---
 

complete last paragraph
diff --git a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
index 3cbcf60..02d43e8 100644
--- a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
+++ b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
@@ -107,5 +107,14 @@ Is there a session file or something to logout this phantom user?
 
 >> I think I've sent right away when you asked, anyway I still have the tarball hanging around. The last *iikb* domains will expire next month though, the wiki will only be accessible by mirror <https://notabug.org/iikb/dev.iikb.org>.
 
->>> I see you have a lot of uncommitted changes. This is probably because
->>> whatever is causing the anonymous accesses to succeed is 
+>>> I see from the tarball that you have a lot of uncommitted changes. This is
+>>> probably because whatever is causing the anonymous accesses to succeed is
+>>> breaking other code paths by giving them an empty username: in particular
+>>> it seems reasonably likely that the `git` plugin will refuse to commit
+>>> changes in that situation.
+>>>
+>>> I would expect that you should be getting error messages on the ikiwiki
+>>> CGI script's `stderr` in this situation. In Apache they would normally
+>>> end up in `error.log`; I don't know how nginx does logging, but it is
+>>> probably something similar. Please check that log for relevant-looking
+>>> error messages. --[[smcv]]

I have a theory
diff --git a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
index 1691ae1..3cbcf60 100644
--- a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
+++ b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
@@ -32,6 +32,9 @@ The `anonok` plugin is **not** enabled
 
 >> Pasted [[here|addplugins]]
 
+>>> I asked three questions and you gave one answer. Please answer the
+>>> other two questions. --[[smcv]]
+
 ---
 
 ## Steps
@@ -50,6 +53,35 @@ None of this phantom user edits are being commited - this [blog post](https://de
 
 It seems I can't log out from nowhere. I've rebuild the wiki from the command line and restarted the nginx server, the phantom user remains logged in and open to anyone willing to edit away the wiki.
 
+> I wonder whether this might be caused by the combination of the `httpauth` plugin
+> with the nginx web server. `httpauth` is known to work correctly with Apache,
+> but you might be the first to use it with nginx.
+>
+> Specifically, I wonder whether `$cgi->remote_user()` might be returning the
+> empty string. Looking at the code, we expect it to be either a non-empty
+> username, or `undef`.
+>
+> Please try installing this CGI script on your nginx server, making it
+> executable and accessing its URL without carrying out any special HTTP
+> authentication (you can delete the script immediately afterwards if
+> you want). If my theory is right, you will see a line `REMOTE_USER=` in
+> the output. Post the output somewhere, or mail it to `smcv` at
+> `debian.org` if you don't want to make it public.
+>
+> ```
+> #!/bin/sh
+> printf 'Content-type: text/plain\r\n\r\n'
+> env | LC_ALL=C sort
+> ```
+>
+> If you do not intend to use
+> [HTTP basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication),
+> please do not enable the `httpauth` plugin. That plugin is intended to be used
+> in conjunction with a web server configured to require HTTP basic authentication
+> with one of a limited set of authorized usernames.
+>
+> --[[smcv]]
+
 ---
 
 ## Conclusion
@@ -74,3 +106,6 @@ Is there a session file or something to logout this phantom user?
 > share them, please contact <mailto:smcv@debian.org>. --[[smcv]]
 
 >> I think I've sent right away when you asked, anyway I still have the tarball hanging around. The last *iikb* domains will expire next month though, the wiki will only be accessible by mirror <https://notabug.org/iikb/dev.iikb.org>.
+
+>>> I see you have a lot of uncommitted changes. This is probably because
+>>> whatever is causing the anonymous accesses to succeed is 

Added a comment
diff --git a/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered/comment_2_750f5682996d5186e48347f5b1723b17._comment b/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered/comment_2_750f5682996d5186e48347f5b1723b17._comment
new file mode 100644
index 0000000..b7fb2d4
--- /dev/null
+++ b/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered/comment_2_750f5682996d5186e48347f5b1723b17._comment
@@ -0,0 +1,24 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="comment 2"
+ date="2017-05-14T12:01:08Z"
+ content="""
+The AsciiDoc plugin is not part of ikiwiki, and none of the ikiwiki maintainers
+develop or use it. You might get better results by contacting its authors,
+or by reading its source code or the source code of the third-party libraries
+or tools that it uses.
+
+[Searching for the error
+message](https://codesearch.debian.net/search?q=ifeval+invalid+safe+document)
+is probably a good starting point for understanding what is happening here.
+
+I suspect that what is happening might be that the plugin puts asciidoc into
+some sort of \"safe mode\" so that wiki editors cannot cause arbitrary code
+execution, but you are making use of asciidoc features that can execute
+arbitrary code, which the asciidoc implementation forbids.
+
+In general, ikiwiki plugins are expected to arrange for filtering or
+configuration to be carried out so that the ability to edit the wiki does
+not give an attacker the ability to execute arbitrary code on the server.
+"""]]

diff --git a/doc/plugins/mdwn.mdwn b/doc/plugins/mdwn.mdwn
index 62d97b1..6b20b7b 100644
--- a/doc/plugins/mdwn.mdwn
+++ b/doc/plugins/mdwn.mdwn
@@ -20,7 +20,8 @@ this plugin. In order of preference:
 
 [[!cpan Text::MultiMarkdown]] can be used in order to use tables, footnotes,
 and other new features from the markdown variant called
-[multimarkdown](http://fletcherpenney.net/MultiMarkdown/). Multimarkdown is
+[multimarkdown](http://fletcherpenney.net/MultiMarkdown/) (some of which
+are also available in the recommended implementation, Discount). Multimarkdown is
 not enabled by default, but can be turned on via the `multimarkdown` option
 in the setup file. Note that multimarkdown's metadata and wikilinks
 features are disabled when it's used with ikiwiki. Also note that if the

recommend discount over multimarkdown
diff --git a/doc/plugins/mdwn.mdwn b/doc/plugins/mdwn.mdwn
index 8a73083..62d97b1 100644
--- a/doc/plugins/mdwn.mdwn
+++ b/doc/plugins/mdwn.mdwn
@@ -12,6 +12,9 @@ this plugin. In order of preference:
 
 * [Discount](http://www.pell.portland.or.us/~orc/Code/discount/),
   via the [[!cpan Text::Markdown::Discount]] perl module.
+  This implementation is considered to be the default and is strongly
+  recommended, but it is not mandatory because it requires an external
+  C library.
 * The [[!cpan Text::Markdown]] perl module.
 * The [original version of markdown](http://daringfireball.net/projects/markdown/).
 
@@ -20,4 +23,6 @@ and other new features from the markdown variant called
 [multimarkdown](http://fletcherpenney.net/MultiMarkdown/). Multimarkdown is
 not enabled by default, but can be turned on via the `multimarkdown` option
 in the setup file. Note that multimarkdown's metadata and wikilinks
-features are disabled when it's used with ikiwiki.
+features are disabled when it's used with ikiwiki. Also note that if the
+`multimarkdown` option is enabled, it takes priority over Discount, which
+might cause formatting that is understood by Discount to be ignored.

multimarkdown: it's a trap!
diff --git a/doc/todo/toc-with-human-readable-anchors.mdwn b/doc/todo/toc-with-human-readable-anchors.mdwn
index 60edaff..09985a9 100644
--- a/doc/todo/toc-with-human-readable-anchors.mdwn
+++ b/doc/todo/toc-with-human-readable-anchors.mdwn
@@ -31,6 +31,14 @@ doing this:
     add `id` anchors when using [Text::Multimarkdown][] which is
     simply a matter of adding `multimarkdown: 1` in the setup file
 
+    > I don't think multimarkdown is a good solution. It served a useful
+    > purpose when we were defaulting to [[!cpan Text::Markdown]] or to
+    > `markdown.pl`, but now that we're using Discount by default,
+    > Multimarkdown is mostly a trap for the unwary - it's a less predictable
+    > and (in general) less featureful parser than Discount. Ideally we'd
+    > always be using CommonMark or Discount these days, but as
+    > far as I know there's still no API-stable CommonMark library. --[[smcv]]
+
  2. enable the [[plugins/headinganchors]] plugin. if multimarkdown is
     disabled, this can also provide usable identifiers.
 

Added a comment: Use an underlay instead
diff --git a/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_cc2ffde6879a2a61353d0b116f6b4954._comment b/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_cc2ffde6879a2a61353d0b116f6b4954._comment
new file mode 100644
index 0000000..79429d0
--- /dev/null
+++ b/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_cc2ffde6879a2a61353d0b116f6b4954._comment
@@ -0,0 +1,29 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="Use an underlay instead"
+ date="2017-05-14T11:37:13Z"
+ content="""
+The exact setup you asked for is not currently possible because `templatedir`
+only takes one value, but you can get the same practical result with an underlay:
+
+* Create `/Users/XXX/config/ikiwiki/common-files/` or something (the exact name
+  is not significant, use whatever you want)
+* Put your templates in `/Users/XXX/config/ikiwiki/common-files/templates/*.tmpl`
+  (it has to be a `templates/` subdirectory)
+* Add the [[plugins/underlay]] plugin to the `add_plugins` config option
+* Add `/Users/XXX/config/ikiwiki/common-files` to the `add_underlays` config
+  option (same syntax as `add_plugins`)
+
+This is priority 2 from your list: it's \"less important\" than the `templates/`
+subdirectory of the `srcdir`, but \"more important\" than the templates shipped
+with ikiwiki.
+
+If you create non-template pages or attachments in that underlay, they will
+also be considered \"less important\" than pages or attachments of the same
+name in the `srcdir`, but \"more important\" than ikiwiki's `basewiki` underlay.
+I use an underlay like this to make
+[smcv.pseudorandom.co.uk](https://smcv.pseudorandom.co.uk/)
+and [www.pseudorandom.co.uk](https://www.pseudorandom.co.uk/)
+share a stylesheet.
+"""]]

removed
diff --git a/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_a333f20af1154bb5f6663874ea716f6c._comment b/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_a333f20af1154bb5f6663874ea716f6c._comment
deleted file mode 100644
index 11c302f..0000000
--- a/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_a333f20af1154bb5f6663874ea716f6c._comment
+++ /dev/null
@@ -1,16 +0,0 @@
-[[!comment format=mdwn
- username="smcv"
- avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
- subject="You can do almost this with an underlay"
- date="2017-05-14T11:27:53Z"
- content="""
-The exact situation that you have described is not currently possible, because
-`templatedir` can only have one value. But you can have a very similar practical result
-like this:
-
-* Create `/Users/XXX/config/ikiwiki/underlay/` or something (the name is unimportant,
-  you can use anything)
-* Put your templates in `/Users/XXX/config/ikiwiki/underlay/templates/`
-* Include `/Users/XXX/config/ikiwiki/underlay` in the `underlaydirs` configuration
-  option (the syntax is the same as `add_plugins`)
-"""]]

Added a comment: You can do almost this with an underlay
diff --git a/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_a333f20af1154bb5f6663874ea716f6c._comment b/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_a333f20af1154bb5f6663874ea716f6c._comment
new file mode 100644
index 0000000..11c302f
--- /dev/null
+++ b/doc/forum/How_to_use_multiple_template_files_directories__63__/comment_1_a333f20af1154bb5f6663874ea716f6c._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="You can do almost this with an underlay"
+ date="2017-05-14T11:27:53Z"
+ content="""
+The exact situation that you have described is not currently possible, because
+`templatedir` can only have one value. But you can have a very similar practical result
+like this:
+
+* Create `/Users/XXX/config/ikiwiki/underlay/` or something (the name is unimportant,
+  you can use anything)
+* Put your templates in `/Users/XXX/config/ikiwiki/underlay/templates/`
+* Include `/Users/XXX/config/ikiwiki/underlay` in the `underlaydirs` configuration
+  option (the syntax is the same as `add_plugins`)
+"""]]

Added a comment
diff --git a/doc/forum/Error:_template_albumviewer_not_found/comment_1_9969da19fd2463a5df8ed54606a0f995._comment b/doc/forum/Error:_template_albumviewer_not_found/comment_1_9969da19fd2463a5df8ed54606a0f995._comment
new file mode 100644
index 0000000..be17eeb
--- /dev/null
+++ b/doc/forum/Error:_template_albumviewer_not_found/comment_1_9969da19fd2463a5df8ed54606a0f995._comment
@@ -0,0 +1,21 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="comment 1"
+ date="2017-05-14T11:00:47Z"
+ content="""
+The album plugin is not exactly polished - it still hasn't been merged into mainstream
+ikiwiki despite being written by someone who is now an ikiwiki co-maintainer (me),
+because I'm not actively using or developing it at the moment.
+
+I think you might need to use `viewertemplate=albumviewer.tmpl` instead of just
+`viewertemplate=albumviewer` - or miss out that parameter altogether, because
+`albumviewer.tmpl` is the default anyway. If you use `albumviewer` without the
+extension, I think ikiwiki will be looking for an ordinary page (`albumviewer.mdwn` or
+something) that contains a [[templatebody directive|ikiwiki/directive/templatebody]],
+rather than a `.tmpl` file.
+
+If I'm right about that, the `prevtemplate` and `nexttemplate` parameters are
+also going to have the same issue - but you probably haven't noticed that
+because the [[plugins/trail]] links let you navigate anyway.
+"""]]

Added a comment: you can't use and/or/! inside the page() parameter, move them outside
diff --git a/doc/forum/Limit_pagespec_to_a_certain_depth/comment_2_5fef3835d207c454f4642879bdca7d9b._comment b/doc/forum/Limit_pagespec_to_a_certain_depth/comment_2_5fef3835d207c454f4642879bdca7d9b._comment
new file mode 100644
index 0000000..8e59e12
--- /dev/null
+++ b/doc/forum/Limit_pagespec_to_a_certain_depth/comment_2_5fef3835d207c454f4642879bdca7d9b._comment
@@ -0,0 +1,28 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="you can't use and/or/! inside the page() parameter, move them outside"
+ date="2017-05-14T10:49:53Z"
+ content="""
+`page(x)` interprets _x_ as a glob (a wildcard pattern like the ones in Unix and DOS,
+with `*` and `?` as special characters), not as a full pagespec. I think you want:
+
+    page(*) and !*/*
+
+which is shorthand for
+
+    page(*) and !glob(*/*)
+
+The only difference between `page` and `glob` is that `glob` accepts both
+(HTML) pages and attachments, while `page` only accepts pages. For instance on
+ikiwiki installations that use the standard basewiki,
+
+    [[!map pages=\"glob(*)\"]]
+
+matches both [sandbox](/sandbox/) (a page) and [style.css](/style.css) (an
+attachment at the top level), while
+
+    [[!map pages=\"page(*)\"]]
+
+matches [sandbox](/sandbox/) but not [style.css](/style.css).
+"""]]

fix syntax
diff --git a/doc/forum/Limit_pagespec_to_a_certain_depth.mdwn b/doc/forum/Limit_pagespec_to_a_certain_depth.mdwn
index b1d7e49..75a5b9c 100644
--- a/doc/forum/Limit_pagespec_to_a_certain_depth.mdwn
+++ b/doc/forum/Limit_pagespec_to_a_certain_depth.mdwn
@@ -1 +1 @@
-I'd like my index page of my wiki to show me a list of all the files in the wiki's root and only the names of "folder-pages" (those pages that are named the same way as the folders). I used the map directive to create a list, but I can't come up with a way to limit the depth of the pagespec, so everything inside of the folders is matched and listed as well, which is not what I want. Is there a way to limit the page spec's depth or make it exclude pages in subfolders? I tried `[[!map  pages="page(* and !*/*)"]]` or `[[!map  pages="page(* and !foobar/*)"]]`, but both exclude the "folder-pages" (either all of them (first case) or the ones that I have specified (second case)).
+I'd like my index page of my wiki to show me a list of all the files in the wiki's root and only the names of "folder-pages" (those pages that are named the same way as the folders). I used the map directive to create a list, but I can't come up with a way to limit the depth of the pagespec, so everything inside of the folders is matched and listed as well, which is not what I want. Is there a way to limit the page spec's depth or make it exclude pages in subfolders? I tried `\[[!map  pages="page(* and !*/*)"]]` or `\[[!map  pages="page(* and !foobar/*)"]]`, but both exclude the "folder-pages" (either all of them (first case) or the ones that I have specified (second case)).

Piny: mothballing
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index 9f453f7..4dbcf2c 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -16,8 +16,6 @@ Ikiwiki Hosting
 [[!table data="""
 Name                                              | Ikiwiki Configuration                                                             | Costs
 [Branchable](http://branchable.com/)              | Open configuration with [ikiwiki-hosting](http://ikiwiki-hosting.branchable.com/) | Free for free software, otherwise involves fees
-[Piny.be](http://piny.be/)                        | Restricted configuration with [Piny](http://piny.be/piny-code/)                   | Free for non-profit purposes (including open source projects); commercial activity disallowed.
-[FairlyStable.org](http://fairlystable.org/)      | Restricted configuration with [Piny](http://piny.be/piny-code/)                   | Free for small projects, otherwise involves fees
 [FreedomBox](https://wiki.debian.org/FreedomBox/) | Web configuration with Plinth                                                     | Runs on your home's private cloud server
 """]]
 

diff --git a/doc/forum/How_to_use_themes__63__.mdwn b/doc/forum/How_to_use_themes__63__.mdwn
new file mode 100644
index 0000000..b91d541
--- /dev/null
+++ b/doc/forum/How_to_use_themes__63__.mdwn
@@ -0,0 +1,5 @@
+So I'm trying out ikiwiki locally on a behind-a-firewall server, and I'm having trouble activating themes.  
+
+I added "theme" to my config file's "add_plugins" directive, and uncommented the "theme: actiontabs" line. I then ran "ikwiki --setup wiki.setup" and... no change on reload.
+
+I'm on Ubuntu 16.04. Any idea what I'm doing wrong? --STrRedWolf

diff --git a/doc/forum/Error:_template_albumviewer_not_found.mdwn b/doc/forum/Error:_template_albumviewer_not_found.mdwn
new file mode 100644
index 0000000..5f4ee69
--- /dev/null
+++ b/doc/forum/Error:_template_albumviewer_not_found.mdwn
@@ -0,0 +1,25 @@
+I'm having some trouble to have the album plug-in working.
+
+With ikiwiki version 3.20170111 installed via pkgsrc on macOS 10.12.4, I installed the album plugin for Ikiwiki following the instruction in the section 'Manual installation' at https://ikiwiki.info/plugins/contrib/album/.  The problem is that after 'ikiwiki --rebuild --verbose --setup mysite.setup --gettime', the page with
+
+```
+# Images
+[[!sidebar content=""]]
+[[!album 
+  sort="age"
+  size="full"
+  thumbnailsize="96x96"
+  viewertemplate="albumviewer"
+  prevtemplate="albumprev"
+  nexttemplate="albumnext"]]
+```
+
+builds correctly into an page with a list of images, but if I click any individual thumbnail to get to a page that's supposed to contain just that one image, I see the following exposed code 
+
+```
+[[!albumimage Error: template albumviewer not found]]
+```
+
+I verified that I do have albumviewer.tmpl in sourcedir/templates/.
+
+Any idea why and how to fix it?

Added a comment
diff --git a/doc/forum/ikiwiki_can__39__t_find_imagemagick/comment_11_02ec53cadf9e7d7efe75e8eeb9c9230b._comment b/doc/forum/ikiwiki_can__39__t_find_imagemagick/comment_11_02ec53cadf9e7d7efe75e8eeb9c9230b._comment
new file mode 100644
index 0000000..88afd34
--- /dev/null
+++ b/doc/forum/ikiwiki_can__39__t_find_imagemagick/comment_11_02ec53cadf9e7d7efe75e8eeb9c9230b._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="DataComputist"
+ avatar="http://cdn.libravatar.org/avatar/a17d83194742f0bd57df1e9fc6858c8f"
+ subject="comment 11"
+ date="2017-05-08T21:16:18Z"
+ content="""
+What should be the correct order for this to work?
+
+>First came brew, then the os, then pkgsrc.
+
+?
+"""]]

diff --git a/doc/forum/How_to_use_multiple_template_files_directories__63__.mdwn b/doc/forum/How_to_use_multiple_template_files_directories__63__.mdwn
new file mode 100644
index 0000000..45724ba
--- /dev/null
+++ b/doc/forum/How_to_use_multiple_template_files_directories__63__.mdwn
@@ -0,0 +1,7 @@
+For an ikiwiki source directory, I already have multiple paths for storing template files:
+
+1. /opt/pkg/share/ikiwiki/templates/*.tmpl which came to be as a result of installing ikiwiki via pkgsrc on macOS;
+2. /Users/XXX/config/ikiwiki/templatedir/, a manually created directory for storing *.tmpl files potentially modified by myself but intended to use for all my ikiwiki sites;
+3. /Ysers/XXX/mywiki-srcdir/templates/*.tmpl, which according to https://ikiwiki.info/usage/ is another option to store template files. I intend to store template files potentially modified and only suitable for the particular instance 'mywiki-srcdir'.
+
+I want all three paths to be usable for compiling mywiki-scrdir but want 3 be the default, which should fall back to 2 if a file is missing, which in turn should fall back to 1, if a file is missing. 

Updating links
diff --git a/doc/plugins/contrib/opengraph.mdwn b/doc/plugins/contrib/opengraph.mdwn
index de4b692..9932c50 100644
--- a/doc/plugins/contrib/opengraph.mdwn
+++ b/doc/plugins/contrib/opengraph.mdwn
@@ -102,8 +102,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
 
 # SEE ALSO
 
-[[index]]
+[[Ikiwiki|index]]
 
 [[!wikipedia Open_Graph]]
 
-[[plugins/contrib/opengraph]]
+<https://ikiwiki.info/plugins/contrib/opengraph>

Updating links
diff --git a/doc/users/desci.mdwn b/doc/users/desci.mdwn
index e2ebefd..52e317b 100644
--- a/doc/users/desci.mdwn
+++ b/doc/users/desci.mdwn
@@ -1,6 +1,6 @@
 ## Personal information
 
-<https://desci.xyz>
+<del><https://desci.xyz></del> (dead)
 
 ---
 
@@ -20,6 +20,6 @@ A theme to add [bootstrap 3](https://getbootstrap.com) to ikiwiki without overha
 
 ### Currently online:
 
-* <https://iikb.org> - <https://iikb.xyz> (alternative domain)
-* <https://piratas.xyz> - <https://partidopirata.xyz> (alternative domain)
-* <https://sul.partidopirata.xyz>
+* <http://iikbmpwhwbbusn23.onion> ([Tor](https://torproject.org) hidden service) (was iikb.org/iikb.xyz)
+* <https://wiki.partidopirata.org> (was piratas.xyz)
+* <https://sul.partidopirata.org>

Added a comment
diff --git a/doc/forum/Limit_pagespec_to_a_certain_depth/comment_1_6a7cb33d7100ad67efd3344d4987104a._comment b/doc/forum/Limit_pagespec_to_a_certain_depth/comment_1_6a7cb33d7100ad67efd3344d4987104a._comment
new file mode 100644
index 0000000..09b3512
--- /dev/null
+++ b/doc/forum/Limit_pagespec_to_a_certain_depth/comment_1_6a7cb33d7100ad67efd3344d4987104a._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="openmedi"
+ avatar="http://cdn.libravatar.org/avatar/563ffaff3b492c579bd8f094472e4506"
+ subject="comment 1"
+ date="2017-04-18T13:13:40Z"
+ content="""
+Ooops, shoud've used the preview feature! My pagespec was looking somewhat like this: `\"page(* and !*/*)\"` and `\"page(* and !foobar/*)\"`
+"""]]

diff --git a/doc/forum/Limit_pagespec_to_a_certain_depth.mdwn b/doc/forum/Limit_pagespec_to_a_certain_depth.mdwn
new file mode 100644
index 0000000..b1d7e49
--- /dev/null
+++ b/doc/forum/Limit_pagespec_to_a_certain_depth.mdwn
@@ -0,0 +1 @@
+I'd like my index page of my wiki to show me a list of all the files in the wiki's root and only the names of "folder-pages" (those pages that are named the same way as the folders). I used the map directive to create a list, but I can't come up with a way to limit the depth of the pagespec, so everything inside of the folders is matched and listed as well, which is not what I want. Is there a way to limit the page spec's depth or make it exclude pages in subfolders? I tried `[[!map  pages="page(* and !*/*)"]]` or `[[!map  pages="page(* and !foobar/*)"]]`, but both exclude the "folder-pages" (either all of them (first case) or the ones that I have specified (second case)).

Initial commit.
diff --git a/doc/users/STrRedWolf.mdwn b/doc/users/STrRedWolf.mdwn
new file mode 100644
index 0000000..5348d07
--- /dev/null
+++ b/doc/users/STrRedWolf.mdwn
@@ -0,0 +1 @@
+Software engineer by trade, furry author/artist by hobby.  Code tailored "while U wait".

diff --git a/doc/plugins/theme/discussion.mdwn b/doc/plugins/theme/discussion.mdwn
index 25b4e21..e58fe47 100644
--- a/doc/plugins/theme/discussion.mdwn
+++ b/doc/plugins/theme/discussion.mdwn
@@ -30,4 +30,4 @@ Choose one of the [[themes]] which are bundled with ikiwiki and configure ikiwik
 
 So I added "theme" to my config file's "add_plugins" directive, and uncommented the "theme: actiontabs" line.  I then ran "ikwiki --setup wiki.setup" and...  no change on reload.
 
-I'm on Ubuntu 16.04.  Any idea what I'm doing wrong?
+I'm on Ubuntu 16.04.  Any idea what I'm doing wrong?  --[[STrRedWolf]]

First time theme help needed.
diff --git a/doc/plugins/theme/discussion.mdwn b/doc/plugins/theme/discussion.mdwn
index 67a2bf4..25b4e21 100644
--- a/doc/plugins/theme/discussion.mdwn
+++ b/doc/plugins/theme/discussion.mdwn
@@ -24,3 +24,10 @@ Choose one of the [[themes]] which are bundled with ikiwiki and configure ikiwik
     	theme => 'blueview',
 
 -- [[AdamShand]]
+
+
+### How to enable properly?
+
+So I added "theme" to my config file's "add_plugins" directive, and uncommented the "theme: actiontabs" line.  I then ran "ikwiki --setup wiki.setup" and...  no change on reload.
+
+I'm on Ubuntu 16.04.  Any idea what I'm doing wrong?

add list of pending patches
diff --git a/doc/users/anarcat.mdwn b/doc/users/anarcat.mdwn
index 38976c3..5adbf9a 100644
--- a/doc/users/anarcat.mdwn
+++ b/doc/users/anarcat.mdwn
@@ -2,6 +2,12 @@ See <https://anarc.at/>. I have home pages like this on tons of other wikis incl
 
 [[!toc]]
 
+Submitted patches
+=================
+
+[[!inline pages="tagged(patch) and link(users/anarcat)" sort=mtime feeds=no actions=yes archive=yes show=0]]
+
+
 My todos
 ========
 

mark this as a real plugin: forgot the plugin template!
diff --git a/doc/plugins/contrib/i18nheadinganchors.mdwn b/doc/plugins/contrib/i18nheadinganchors.mdwn
index a5b108d..7af54e4 100644
--- a/doc/plugins/contrib/i18nheadinganchors.mdwn
+++ b/doc/plugins/contrib/i18nheadinganchors.mdwn
@@ -1,3 +1,6 @@
+[[!meta author="anarcat"]]
+[[!template id=plugin name=i18nanchors author="[[anarcat]]"]]
+[[!tag type/chrome]]
 [[!template  id=gitbranch branch=anarcat/i18n-headinghanchors author="[[anarcat]]"]]
 
 This plugin is similar to [[plugins/headinganchors]] except:

mark this as ready for merging
diff --git a/doc/plugins/contrib/admonition.mdwn b/doc/plugins/contrib/admonition.mdwn
index 43c63e4..2b81c98 100644
--- a/doc/plugins/contrib/admonition.mdwn
+++ b/doc/plugins/contrib/admonition.mdwn
@@ -1,6 +1,6 @@
 [[!meta author="anarcat"]]
 [[!template id=plugin name=admonition author="[[anarcat]]"]]
-[[!tag type/chrome]]
+[[!tag type/chrome patch]]
 
 # Admonitions
 

clarify that "patch" on contrib plugins means the author wants to merge
diff --git a/doc/plugins/contrib.mdwn b/doc/plugins/contrib.mdwn
index 8ae457e..9bfa95c 100644
--- a/doc/plugins/contrib.mdwn
+++ b/doc/plugins/contrib.mdwn
@@ -1,6 +1,9 @@
 These plugins are provided by third parties and are not currently
 included in ikiwiki. See [[install]] for installation help.
 
+If they are tagged [[patch]], the plugins will be considered for
+inclusion in the main [[plugins]] list.
+
 [[!map pages="plugins/contrib/* and !plugins/contrib/*/* and !*/Discussion"]]
 
 [[!inline pages="plugins/contrib/*" rootpage="plugins/contrib" show=-1

this is a patch - i'd like this in core, or at least a discussion on how to merge it with the main plugin
diff --git a/doc/plugins/contrib/i18nheadinganchors.mdwn b/doc/plugins/contrib/i18nheadinganchors.mdwn
index 3bef82e..a5b108d 100644
--- a/doc/plugins/contrib/i18nheadinganchors.mdwn
+++ b/doc/plugins/contrib/i18nheadinganchors.mdwn
@@ -17,3 +17,5 @@ Also note that *all* heading attributes are overriden with the ID
 tag. If this is not desirable, we'd need to fire up a full
 HTML::Parser or do some more regex magic to preserve the attributes
 other than `id=` which we want to keep. -- [[anarcat]]
+
+[[!tag patch]]

add a patch to make this happen
diff --git a/doc/todo/toc-with-human-readable-anchors.mdwn b/doc/todo/toc-with-human-readable-anchors.mdwn
index 0f358f4..60edaff 100644
--- a/doc/todo/toc-with-human-readable-anchors.mdwn
+++ b/doc/todo/toc-with-human-readable-anchors.mdwn
@@ -4,4 +4,48 @@ In #ikiwiki today, another user and I were in agreement that an option for human
 
 > +1 - i would love to see that happen too. Here's a patch I wrote a while back for similar functionality in moinmoin: https://svn.koumbit.net/koumbit/trunk/patches/moinmoin/nice_headings.patch -- [[anarcat]]
 
-[[!tag wishlist]]
+----
+
+I started looking into this again after getting annoyed at the
+unreadable anchors, and here's what I came up with.
+
+[[!template  id=gitbranch branch=anarcat/toc-recycle-id author="[[anarcat]]"]]
+
+The first step is to fix [[plugins/toc]] to use headings: we can
+figure out how to generate those later, but it would be nice if the
+toc directive would just reuse existing headings instead of relying on
+its own. I do this by simply checking if there's a `id` field (which
+is, by standard, unique) and reuse that when building the table of
+contents. This requires parsing HTML element attributes, but that
+shouldn't impact performance too much, hopefully. The old IDs are
+still generated for backwards compatibility. This is done in
+my [toc-recycle-id branch][] (see [921a264][]).
+
+[921a264]: https://gitlab.com/anarcat/ikiwiki/commit/27d5d9d126b6b675ad273ebd63095df0c921a264
+[toc-recycle-id branch]: https://gitlab.com/anarcat/ikiwiki/commits/toc-id-recycle
+
+The second step is to generate those headings. There are two ways of
+doing this:
+
+ 1. enable multimarkdown. by default, the [[plugins/mdwn]] plugin will
+    add `id` anchors when using [Text::Multimarkdown][] which is
+    simply a matter of adding `multimarkdown: 1` in the setup file
+
+ 2. enable the [[plugins/headinganchors]] plugin. if multimarkdown is
+    disabled, this can also provide usable identifiers.
+
+An issue I had with the latter plugin was that it did not work if
+multimarkdown was enabled, as it doesn't match headings if they
+already have a `id` attribute. It also doesn't deal very well with
+non-ASCII characters: they get basically garbled into their numeric
+representation. I have therefore written a derivative of the
+headinganchor plugin called [[plugins/contrib/i18nheadinganchors]] to
+work around those issues.
+
+It would be great to see the `toc` part of this patchset merged, at
+least. It could also be a configurable option, but that seems overkill
+considering that backwards compatibility is kept... --[[anarcat]]
+
+[Text::Multimarkdown]: http://search.cpan.org/search?mode=dist&query=Text%3A%3AMarkdown
+
+[[!tag wishlist patch]]

rename plugins/contrib/i18nheadinganchor.mdwn to plugins/contrib/i18nheadinganchors.mdwn
diff --git a/doc/plugins/contrib/i18nheadinganchor.mdwn b/doc/plugins/contrib/i18nheadinganchor.mdwn
deleted file mode 100644
index 3bef82e..0000000
--- a/doc/plugins/contrib/i18nheadinganchor.mdwn
+++ /dev/null
@@ -1,19 +0,0 @@
-[[!template  id=gitbranch branch=anarcat/i18n-headinghanchors author="[[anarcat]]"]]
-
-This plugin is similar to [[plugins/headinganchors]] except:
-
- 1. it overrides other attributes previously set on heading elements
-    (to override the multimarkdown-generated headings for example)
-
- 2. deals with non-ASCII charsets better: for example, 北亰 becomes
-    "bei-jing" instead of "z-.E4.BA.B0" and "liberté" becomes
-    "liberte" instead of "libert.C3.A9"
-
-This is a separate plugin because this is a backwards-incompatible
-change, but I would be more than happy to make a patch to merge this
-in the main plugin if necessary.
-
-Also note that *all* heading attributes are overriden with the ID
-tag. If this is not desirable, we'd need to fire up a full
-HTML::Parser or do some more regex magic to preserve the attributes
-other than `id=` which we want to keep. -- [[anarcat]]
diff --git a/doc/plugins/contrib/i18nheadinganchors.mdwn b/doc/plugins/contrib/i18nheadinganchors.mdwn
new file mode 100644
index 0000000..3bef82e
--- /dev/null
+++ b/doc/plugins/contrib/i18nheadinganchors.mdwn
@@ -0,0 +1,19 @@
+[[!template  id=gitbranch branch=anarcat/i18n-headinghanchors author="[[anarcat]]"]]
+
+This plugin is similar to [[plugins/headinganchors]] except:
+
+ 1. it overrides other attributes previously set on heading elements
+    (to override the multimarkdown-generated headings for example)
+
+ 2. deals with non-ASCII charsets better: for example, 北亰 becomes
+    "bei-jing" instead of "z-.E4.BA.B0" and "liberté" becomes
+    "liberte" instead of "libert.C3.A9"
+
+This is a separate plugin because this is a backwards-incompatible
+change, but I would be more than happy to make a patch to merge this
+in the main plugin if necessary.
+
+Also note that *all* heading attributes are overriden with the ID
+tag. If this is not desirable, we'd need to fire up a full
+HTML::Parser or do some more regex magic to preserve the attributes
+other than `id=` which we want to keep. -- [[anarcat]]

add i18nheadinganchors plugin
diff --git a/doc/plugins/contrib/i18nheadinganchor.mdwn b/doc/plugins/contrib/i18nheadinganchor.mdwn
new file mode 100644
index 0000000..3bef82e
--- /dev/null
+++ b/doc/plugins/contrib/i18nheadinganchor.mdwn
@@ -0,0 +1,19 @@
+[[!template  id=gitbranch branch=anarcat/i18n-headinghanchors author="[[anarcat]]"]]
+
+This plugin is similar to [[plugins/headinganchors]] except:
+
+ 1. it overrides other attributes previously set on heading elements
+    (to override the multimarkdown-generated headings for example)
+
+ 2. deals with non-ASCII charsets better: for example, 北亰 becomes
+    "bei-jing" instead of "z-.E4.BA.B0" and "liberté" becomes
+    "liberte" instead of "libert.C3.A9"
+
+This is a separate plugin because this is a backwards-incompatible
+change, but I would be more than happy to make a patch to merge this
+in the main plugin if necessary.
+
+Also note that *all* heading attributes are overriden with the ID
+tag. If this is not desirable, we'd need to fire up a full
+HTML::Parser or do some more regex magic to preserve the attributes
+other than `id=` which we want to keep. -- [[anarcat]]

move my repo to gitlab
diff --git a/doc/git.mdwn b/doc/git.mdwn
index 4661c46..38a2d1c 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -69,7 +69,7 @@ think about merging them. This is recommended. :-)
 * [[pelle]] `git://github.com/hemmop/ikiwiki.git`
 * [[chrismgray]] `git://github.com/chrismgray/ikiwiki.git`
 * [[ttw]] `git://github.com/ttw/ikiwiki.git`
-* [[anarcat]] `git://src.anarc.at/ikiwiki`
+* [[anarcat]] `https://gitlab.com/anarcat/ikiwiki.git`
 * anderbubble `git://civilfritz.net/ikiwiki.git`
 * frioux `git://github.com/frioux/ikiwiki`
 * llipavsky `git://github.com/llipavsky/ikiwiki`

respond to an old question
diff --git a/doc/plugins/headinganchors/discussion.mdwn b/doc/plugins/headinganchors/discussion.mdwn
index eaf111f..512caa4 100644
--- a/doc/plugins/headinganchors/discussion.mdwn
+++ b/doc/plugins/headinganchors/discussion.mdwn
@@ -1,4 +1,6 @@
-Isn't this functionality a part of what [[plugins/toc]] needs and does? Then probably the [[plugins/toc]] plugin's code could be split into the part that implements the [[plugins/contrib/headinganchors]]'s functionality and the TOC generation itself. That will bring more order into the code and the set of available plugins. --Ivan Z.
+Isn't this functionality a part of what [[plugins/toc]] needs and does? Then probably the [[plugins/toc]] plugin's code could be split into the part that implements the [[plugins/headinganchors]]'s functionality and the TOC generation itself. That will bring more order into the code and the set of available plugins. --Ivan Z.
+
+> Indeed it is. Except [[plugins/toc]] generates headings differently - and independently of this. *Even* if [[toc]]'s functionality would be split, you'd probably want to retain backwards compatibility there, so it's unlikely that this will happen... Also see [[todo/toc-with-human-readable-anchors]]. --[[anarcat]]
 
 ---
 

todo
diff --git a/doc/todo/subscribe_to_comments_of_page_when_editing.mdwn b/doc/todo/subscribe_to_comments_of_page_when_editing.mdwn
new file mode 100644
index 0000000..63fccad
--- /dev/null
+++ b/doc/todo/subscribe_to_comments_of_page_when_editing.mdwn
@@ -0,0 +1,10 @@
+When posting a comment to a page, there's a check box to subscribe to get
+other comments. There should be a similar check box when editing a page, to
+subscribe to all comments to the page (and perhaps to edit notifications of
+the page itself). 
+
+Currently, the user has to know how to go into their preferences and
+subscribe there. This is not ideal when using ikiwiki for a bug tracker,
+etc.
+
+--[[Joey]]

Fixing format
diff --git a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_/addplugins.mdwn b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_/addplugins.mdwn
index f70f839..06e3bfc 100644
--- a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_/addplugins.mdwn
+++ b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_/addplugins.mdwn
@@ -1,32 +1,32 @@
-# plugins to add to the default configuration
-add_plugins:
-- goodstuff
-- websetup
-- comments
-- htmlbalance
-- theme
-- opendiscussion
-- editdiff
-- rename
-- sidebar
-- relativedate
-- edittemplate
-- flattr
-- userlist
-- html
-- calendar
-- listdirectives
-- txt
-- cutpaste
-- testpagespec
-- trail
-- poll
-- prettydate
-- httpauth
-- remove
-- version
-- format
-- rst
-- fortune
-# plugins to disable
-disable_plugins: []
+    # plugins to add to the default configuration
+    add_plugins:
+    - goodstuff
+    - websetup
+    - comments
+    - htmlbalance
+    - theme
+    - opendiscussion
+    - editdiff
+    - rename
+    - sidebar
+    - relativedate
+    - edittemplate
+    - flattr
+    - userlist
+    - html
+    - calendar
+    - listdirectives
+    - txt
+    - cutpaste
+    - testpagespec
+    - trail
+    - poll
+    - prettydate
+    - httpauth
+    - remove
+    - version
+    - format
+    - rst
+    - fortune
+    # plugins to disable
+    disable_plugins: []

As requested
diff --git a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_/addplugins.mdwn b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_/addplugins.mdwn
new file mode 100644
index 0000000..f70f839
--- /dev/null
+++ b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_/addplugins.mdwn
@@ -0,0 +1,32 @@
+# plugins to add to the default configuration
+add_plugins:
+- goodstuff
+- websetup
+- comments
+- htmlbalance
+- theme
+- opendiscussion
+- editdiff
+- rename
+- sidebar
+- relativedate
+- edittemplate
+- flattr
+- userlist
+- html
+- calendar
+- listdirectives
+- txt
+- cutpaste
+- testpagespec
+- trail
+- poll
+- prettydate
+- httpauth
+- remove
+- version
+- format
+- rst
+- fortune
+# plugins to disable
+disable_plugins: []

Answering questions and updating links
diff --git a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
index f4f2f26..1691ae1 100644
--- a/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
+++ b/doc/bugs/Anon_edit_caused_lock_out_on_entire_site_.mdwn
@@ -30,11 +30,13 @@ The `anonok` plugin is **not** enabled
 > Which version of ikiwiki are you running? Are you using any third-party
 > plugins or patches? --[[smcv]]
 
+>> Pasted [[here|addplugins]]
+
 ---
 
 ## Steps
 
-I've tried to place a comment clicking in the obvious [Add a comment](https://dev.iikb.xyz/ikiwiki.cgi?do=comment&page=forum%2FTema_bootstrap) in a [forum post](https://dev.iikb.xyz/forum/Tema_bootstrap/).
+I've tried to place a comment clicking in the obvious [Add a comment](https://dev.iikb.org/ikiwiki.cgi?do=comment&page=forum%2FTema_bootstrap) in a [forum post](https://dev.iikb.org/forum/Tema_bootstrap/).
 
 I've not signed in because the *sign in* page didn't come up, instead a simple `(You might want to Signin first?)` showed up, which I've haven't read and commented away.
 
@@ -42,9 +44,9 @@ I've not signed in because the *sign in* page didn't come up, instead a simple `
 
 ## Results
 
-As a consequence of that, the user '' - that's a null character, have somehow logged in and it seems that there is no way to [log it out](https://dev.iikb.xyz/ikiwiki.cgi?do=prefs).
+As a consequence of that, the user '' - that's a null character, have somehow logged in and it seems that there is no way to [log it out](https://dev.iikb.org/ikiwiki.cgi?do=prefs).
 
-None of this phantom user edits are being commited - this [blog post](https://dev.iikb.xyz/blog/posts/Bug_severo_neste_site/) was made with that user logged in via web.
+None of this phantom user edits are being commited - this [blog post](https://dev.iikb.org/blog/posts/Bug_severo_neste_site/) was made with that user logged in via web.
 
 It seems I can't log out from nowhere. I've rebuild the wiki from the command line and restarted the nginx server, the phantom user remains logged in and open to anyone willing to edit away the wiki.
 
@@ -54,7 +56,7 @@ It seems I can't log out from nowhere. I've rebuild the wiki from the command li
 
 If I wanted to do a totally anonnymous wiki, this would be the best setup ever.
 
-For [this particular installation](https://dev.iikb.xyz), that's not the case.
+For [this particular installation](https://dev.iikb.org), that's not the case.
 
 ---
 
@@ -70,3 +72,5 @@ Is there a session file or something to logout this phantom user?
 > `.setup` file. I would also be interested to see a tarball of the entire
 > wiki source directory, if it isn't excessively large. If you'd be willing to
 > share them, please contact <mailto:smcv@debian.org>. --[[smcv]]
+
+>> I think I've sent right away when you asked, anyway I still have the tarball hanging around. The last *iikb* domains will expire next month though, the wiki will only be accessible by mirror <https://notabug.org/iikb/dev.iikb.org>.

diff --git a/doc/test_page_space_allowed.mdwn b/doc/test_page_space_allowed.mdwn
index f93f6b8..c8f9123 100644
--- a/doc/test_page_space_allowed.mdwn
+++ b/doc/test_page_space_allowed.mdwn
@@ -1,1416 +1 @@
-## Changelog: From origin/DragonFly_RELEASE_4_6 to origin/DragonFly_RELEASE_4_8
-### Contributed software
-* [[4baf3da673cf4ccc37972fd7a3a5374f2f949682|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4baf3da673cf4ccc37972fd7a3a5374f2f949682]] - gcc47: Backport objc fix from gcc trunk.
-* [[a547914c1dda914338578798fd0ebd9851ec1b99|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a547914c1dda914338578798fd0ebd9851ec1b99]] - Merge branch 'vendor/LESS'
-* [[095985121e34fb8501c6d6afb0d38e6f6a30fc0d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/095985121e34fb8501c6d6afb0d38e6f6a30fc0d]] - libncurses: Avoid -Woverflow in baud rates.
-* [[ddaf9f4ac09fd506d0ed3a635e1048beafae310c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ddaf9f4ac09fd506d0ed3a635e1048beafae310c]] - wpa_supplicant: Avoid cpp warning during buildworld.
-* [[eee86d5a9b698bc2d10bfce462dd5172ed60b767|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/eee86d5a9b698bc2d10bfce462dd5172ed60b767]] - binutils 2.25 linkers: Set default interpreter to valid path
-* [[a9fa94596c0f48c0524edaac2c001d92fa9c01ac|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a9fa94596c0f48c0524edaac2c001d92fa9c01ac]] - Initial import of binutils 2.27 on vendor branch
-* [[09219ee0a86ac0ce0a1b6a5d91d6274c297da796|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/09219ee0a86ac0ce0a1b6a5d91d6274c297da796]] - Import missing source needed to enable plugin support in utilities.
-* [[11650561b4cc34c733d0ddd00ba57a35c8b09262|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/11650561b4cc34c733d0ddd00ba57a35c8b09262]] - binutils225: Make plugin dir overridable at compile time.
-* [[62af0394e6f0acbb07b0de957bee06e880eae55d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/62af0394e6f0acbb07b0de957bee06e880eae55d]] - gcc47: Do not include empty header.
-* [[e656dc90e3d65d744d534af2f5ea88cf8101ebcf|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e656dc90e3d65d744d534af2f5ea88cf8101ebcf]] - Merge remote-tracking branch 'origin/vendor/BINUTILS227'
-* [[03f6201053717a978ccacc70a0b56f44d69f6aca|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/03f6201053717a978ccacc70a0b56f44d69f6aca]] - less(1): Fix type mismatches in different objects.
-* [[b4603dcfad6ee746d007a4b2f2fb735605186044|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b4603dcfad6ee746d007a4b2f2fb735605186044]] - TRE: Fix const discard issue for all compilers.
-* [[c211e07949d10318e6a8d31301b3cedb6b4e5a6d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c211e07949d10318e6a8d31301b3cedb6b4e5a6d]] - bmake: upgrade version 20141111 => 20160818
-* [[0c8a28221521252cd35eb2174b0d147c136bb2db|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0c8a28221521252cd35eb2174b0d147c136bb2db]] - gcc47: Fix misplaced NULL usage in strings.
-* [[4eab696808e511e585602aa64af9891aa0e4c441|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eab696808e511e585602aa64af9891aa0e4c441]] - kernel - set default locale name for smbfs
-* [[d5d214b79f952beef771f898a2b47ab5cfcddedc|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d5d214b79f952beef771f898a2b47ab5cfcddedc]] - Update gcc-50 to SVN version 239798 (gcc-5-branch)
-* [[5f76495ba37ea12fb60cf57228cc78b83d889fb6|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5f76495ba37ea12fb60cf57228cc78b83d889fb6]] - gcc50: Add alternative variant of pthread presence checking.
-* [[727fc32d389c7e604175d531ef6dccd525ac01d2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/727fc32d389c7e604175d531ef6dccd525ac01d2]] - Merge branch 'vendor/BINUTILS225'
-* [[c1d69b4e943be0ac0b9e60cf997891209e8f7198|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c1d69b4e943be0ac0b9e60cf997891209e8f7198]] - tcsh - Work around gcc-5 bug
-* [[6496ec5cf27c0e8a2cf51a861379f97b39eed5c2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6496ec5cf27c0e8a2cf51a861379f97b39eed5c2]] - gcc47: Suppress last codegen warning.
-* [[9b76006665e56dffc7210c587bdfa8fad8661f7a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9b76006665e56dffc7210c587bdfa8fad8661f7a]] - Update less from version 471 to 481
-* [[f445c8974931e0ddbeb96b2514f9cb61aee7e659|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f445c8974931e0ddbeb96b2514f9cb61aee7e659]] - Update to bmake-20160818 on the vendor branch
-* [[9a8f24bf27e38c37cda8a86cdeb34e2ae52aee6b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9a8f24bf27e38c37cda8a86cdeb34e2ae52aee6b]] - Merge branch 'vendor/BMAKE'
-* [[c80085678ed8b87f203af020e14e8079a552fdd0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c80085678ed8b87f203af020e14e8079a552fdd0]] - Retire the binutils-2.24.
-* [[14cfea9901210cefd3a1d65dc15887461b194bde|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/14cfea9901210cefd3a1d65dc15887461b194bde]] - binutil227: Add DF README's and local modifications.
-* [[6b9ba3e86a05417c2af9786967ec92fc136cffde|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6b9ba3e86a05417c2af9786967ec92fc136cffde]] - bootstrap: Expand BOOTSTRAPPING case to avoid warning.
-* [[385754ab92bea0f51c59b841b298f2ec157e5f2d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/385754ab92bea0f51c59b841b298f2ec157e5f2d]] - Merge branch 'vendor/GCC50'
-* [[e02a905d0800ea51e6685792106ea01bcc1c39ca|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e02a905d0800ea51e6685792106ea01bcc1c39ca]] - libncurses: Avoid warning when calling cgetent().
-* [[6ebf792c9ab0aa43dd13069aefd6d1d548176ef8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6ebf792c9ab0aa43dd13069aefd6d1d548176ef8]] - contrib/bmake: remove 2 local modifications to prepare for merge
-### Cryptography
-* [[5b245968732053a4221c42925bf7355d7eb4ad07|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5b245968732053a4221c42925bf7355d7eb4ad07]] - build - Remove openssl from base (is now permanently replaced by ressl)
-* [[66ceb5e9b7ccc1005b0b710f32228c0b69070e98|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/66ceb5e9b7ccc1005b0b710f32228c0b69070e98]] - libressl: Few local modifications for netcat.
-* [[4188afc709be91c60882529929ad3e74932fc51c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4188afc709be91c60882529929ad3e74932fc51c]] - Merge branch 'vendor/LIBRESSL'
-* [[a310eb9be04d900b0e9514e84c07b9654e28ecba|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a310eb9be04d900b0e9514e84c07b9654e28ecba]] - libcrypto(3): Remove some cruft from when we supported 32-bit.
-* [[94089e80a5f705dc760628462df38162611001cd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/94089e80a5f705dc760628462df38162611001cd]] - Merge branch 'vendor/OPENSSL'
-* [[f20408c21735b356c91cd43ddc1a5693e49b528e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f20408c21735b356c91cd43ddc1a5693e49b528e]] - Update libressl README.DRAGONFLY for v2.4.4
-* [[497a44b089c28b45651c36fb1b2d782f406d8641|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/497a44b089c28b45651c36fb1b2d782f406d8641]] - Add a openbsd-compat file for latest import.
-* [[e00185f13e893a2f4d0288c673301fd4c78f3562|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e00185f13e893a2f4d0288c673301fd4c78f3562]] - Patch ssh vendor code for xauth's default location.
-* [[7475be118e1bc43d61bfa1192b8ac160ab3cf515|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7475be118e1bc43d61bfa1192b8ac160ab3cf515]] - sshd - Fix default password authentication (2)
-* [[e9778795382169f8c6fde18d0565a1acef2cac8b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e9778795382169f8c6fde18d0565a1acef2cac8b]] - Import OpenSSH-7.3p1.
-* [[0acf6c5cec1bb550d161ebd159e4ecad45908ec5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0acf6c5cec1bb550d161ebd159e4ecad45908ec5]] - Update LibreSSL from version 2.4.2 => 2.4.3
-* [[609bcd714d1333d31030e5309fcbcf2b8561e582|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/609bcd714d1333d31030e5309fcbcf2b8561e582]] - Merge branch 'vendor/OPENSSH'
-* [[f0ea6a7a164d1e1add5907937994265e906d96a3|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f0ea6a7a164d1e1add5907937994265e906d96a3]] - Remove most local modifications from OpenSSH.
-* [[c064523cdd96e53e622a5cc435f4388312a33a8c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c064523cdd96e53e622a5cc435f4388312a33a8c]] - Allow make.conf to override ssh's xauth location.
-* [[f73288b8388362ab1d59c2d7072014f0d5020b18|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f73288b8388362ab1d59c2d7072014f0d5020b18]] - LibreSSL: complete update v2.4.2 => v2.4.3
-* [[a25ca6f6327a8c5c07550bd5ee5382898072f668|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a25ca6f6327a8c5c07550bd5ee5382898072f668]] - Merge branch 'vendor/LIBRESSL'
-* [[d9ccbcc96227edaf46bd27707f01d9d8b4ad5a72|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d9ccbcc96227edaf46bd27707f01d9d8b4ad5a72]] - build - use libressl md5.h for kernel
-* [[f5b1c8a1e6dbe9333aed363dba27c2ff58be6174|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f5b1c8a1e6dbe9333aed363dba27c2ff58be6174]] - Import LibreSSL v2.4.2 to vendor branch
-* [[57de8ae1b524af49006ac8faaf4a64241aa4ba07|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/57de8ae1b524af49006ac8faaf4a64241aa4ba07]] - OpenSSH: Suppress warning on login_getcapstr().
-* [[4bde49b71e31daca1872f938e6f2c2e132cbc396|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4bde49b71e31daca1872f938e6f2c2e132cbc396]] - sshd(8): Disable tunneled cleartext passwords.
-* [[4821a1d69d42a70e6f9f65f01812422a9f804656|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4821a1d69d42a70e6f9f65f01812422a9f804656]] - Merge branch 'vendor/OPENSSH'
-* [[bd84e83893b298face58762e1fec24667126c8c7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bd84e83893b298face58762e1fec24667126c8c7]] - security/libressl: Fix ECDSA P-256 timing attack vulnerability
-* [[1852dacb2add612faac4649f46850e8492c56065|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1852dacb2add612faac4649f46850e8492c56065]] - OpenSSH: Suppress last warning in session.c
-* [[4a22becbe09b9773cc33003d46120d8825a44415|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4a22becbe09b9773cc33003d46120d8825a44415]] - Unbreak build.
-* [[88828e76e7d1ff613cbdfc32aeb5e35cc6ffde30|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/88828e76e7d1ff613cbdfc32aeb5e35cc6ffde30]] - sshd - Fix default password authentication
-* [[72be967a925bccd9cb7672c8adf4f3cbaeea8327|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/72be967a925bccd9cb7672c8adf4f3cbaeea8327]] - OpenSSH: Add missing prototypes and bump WARNS to 3.
-* [[1920ada36573f8e9c4ceb7694990274075650bdf|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1920ada36573f8e9c4ceb7694990274075650bdf]] - Merge branch 'vendor/LIBRESSL'
-* [[5adaeadcee1c8e1b9e03cf22d91329a05393e316|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5adaeadcee1c8e1b9e03cf22d91329a05393e316]] - Import OpenSSL-1.0.2h.
-* [[530c17a63c2de777e97cbf2e67edfe5bd61f31fe|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/530c17a63c2de777e97cbf2e67edfe5bd61f31fe]] - Update LibreSSL from version 2.4.3 => 2.4.4
-### Devices
-* [[0b985ce1074ab29e1e5a26e94e2823dee61a3e21|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0b985ce1074ab29e1e5a26e94e2823dee61a3e21]] - sys/dev/disk/dm: Cleanup
-* [[68fad459c7fcdf999f82bf96953d5db99d44bb05|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/68fad459c7fcdf999f82bf96953d5db99d44bb05]] - if_iwm - Advertise full-offload scan support, fixes scan while associated.
-* [[0104ee1f4cb6a2313c00c2526c6ae98d42e5041d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0104ee1f4cb6a2313c00c2526c6ae98d42e5041d]] - if_iwm - Move iwm_read_firmware() call into iwm_attach().
-* [[05475029b1a3dc51c45c96a7c031f7e961d2dec6|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/05475029b1a3dc51c45c96a7c031f7e961d2dec6]] - sdhci - Simplify SDHCI_PRESENT_STATE register loop in sdhci_start_command().
-* [[bb480ca679a7ea530bdca6e41082d5755e9751dc|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bb480ca679a7ea530bdca6e41082d5755e9751dc]] - if_iwm - Remove 1s delay after fw loading. Can't reproduce issues on AC8260.
-* [[74d41163ddac72b0d7ea7b7873d53fe134723a12|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/74d41163ddac72b0d7ea7b7873d53fe134723a12]] - if_iwm - change the check for ADD_STA status, use IWM_ADD_STA_STATUS_MASK.
-* [[89f579e9823a5c446ca172cf82bbc210d6a054a4|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/89f579e9823a5c446ca172cf82bbc210d6a054a4]] - if_iwm - Enable Energy Based Scan (EBS).
-* [[d078c812418d0e2c3392e99fa25fc776d07bdfad|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d078c812418d0e2c3392e99fa25fc776d07bdfad]] - if_iwm - Remove a couple of unneeded IWM_UCODE_TLV_FLAGS_* flags.
-* [[89bbdcc98e01702ae70176ff08df5fb95ee0801b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/89bbdcc98e01702ae70176ff08df5fb95ee0801b]] - drm/linux: Clean-up pci_resource_start()
-* [[f62d325820ee7f7c2bcf721ada9cef8b70f74471|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f62d325820ee7f7c2bcf721ada9cef8b70f74471]] - Revert "if_iwm - SCAN_ABORT_UMAC response doesn't use a wide id"
-* [[e8560f8dc58df12a7c79a6bb4e6ccb156e001085|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e8560f8dc58df12a7c79a6bb4e6ccb156e001085]] - if_iwm - The iwm_prepare_card_hw() in iwm_attach() is only needed on 8K hw.
-* [[f0e799193f66de9af176978cfac9679eb99efd11|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f0e799193f66de9af176978cfac9679eb99efd11]] - ahci - Add workarounds for Marvell 88SE9215
-* [[0510b0eef0c0772b77331db9586fc4d39aab96d7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0510b0eef0c0772b77331db9586fc4d39aab96d7]] - syscons - Add need_unlock arg to sc_clean_up and sc_wait_scrn_saver_stop.
-* [[b8c69b44c3d7472d7f129a92321e58f0edde9723|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8c69b44c3d7472d7f129a92321e58f0edde9723]] - kernel/ecc: Add MODULE_VERSION()s.
-* [[d7002a7990d077c92585978ea998474af50f91e0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d7002a7990d077c92585978ea998474af50f91e0]] - if_iwm - Add basic powermanagement support via ifconfig wlan0 powersave.
-* [[085e37a042bdb17081e495e46919359ce43aa118|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/085e37a042bdb17081e495e46919359ce43aa118]] - if_iwm - Sync rs (rate-selection) API definitions from Linux iwlwifi.
-* [[81b3c1fe9122fa22f33d97103039cc375f656231|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/81b3c1fe9122fa22f33d97103039cc375f656231]] - if_iwm - Adjust if_iwm_sta.h prototypes, don't pass iwm_node to rm_sta().
-* [[50787d03cd0a0366c9cc4a055bb6977e5f65c85d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/50787d03cd0a0366c9cc4a055bb6977e5f65c85d]] - if_iwm - Get rid of iwm_disable_rx_dma, just use iwm_pcie_rx_stop directly.
-* [[33ded22a8fbfedf3a5674d3df56eb86911767ecd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/33ded22a8fbfedf3a5674d3df56eb86911767ecd]] - if_iwm - Remove more old unused scan API definitions.
-* [[5e4464425e963e25094fd31e2093de3955ad008f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5e4464425e963e25094fd31e2093de3955ad008f]] - if_iwm - Improve reliability of iwm_release on disassociation a bit.
-* [[b26dd4db18548ad662b7a7bc7b090b64f39c43ed|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b26dd4db18548ad662b7a7bc7b090b64f39c43ed]] - if_iwm - Use ic->ic_tq for iwm_endscan_cb instead of a private taskqueue.
-* [[a639f78832edd8a24cb683d66752f028545c0213|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a639f78832edd8a24cb683d66752f028545c0213]] - acpi - Incidental MPSAFE
-* [[66d55158f374df1465c1a63fe035d2d333ced83f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/66d55158f374df1465c1a63fe035d2d333ced83f]] - kernel/efirt: Hook efirt.ko into the build.
-* [[c009badecf7b1389cd86adde9fd35f6113c75b5b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c009badecf7b1389cd86adde9fd35f6113c75b5b]] - if_iwm - Get rid of another usage of the IWM_DEFAULT_MACID/_COLOR constant.
-* [[c662db9a18424b81164b14d2f9a06c43261ff5ce|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c662db9a18424b81164b14d2f9a06c43261ff5ce]] - sys/dev/disk/dm: Remove dm_table_init_target() call with NULL
-* [[8d327fcc6e31be8c51b8f2f883cfe4ed32015b02|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8d327fcc6e31be8c51b8f2f883cfe4ed32015b02]] - drm/i915: Mark a DragonFly-specific change as such
-* [[8cd49a211d49ef7dd16c81fc2a6c26e005b9aab8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8cd49a211d49ef7dd16c81fc2a6c26e005b9aab8]] - drm/i915: build firmware handling code
-* [[8b61fe779792f35b9a2f8c2b9e45464d50374f11|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8b61fe779792f35b9a2f8c2b9e45464d50374f11]] - drm/i915/trace: Add missing include files
-* [[cbb82693c18fd71b4eb86855b82d03995f352d65|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cbb82693c18fd71b4eb86855b82d03995f352d65]] - if_iwm - Sync valid_tx_ant and valid_rx_ant mask handling with iwlwifi.
-* [[250a1c33fca1725121fe499f9cebc90267d209f9|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/250a1c33fca1725121fe499f9cebc90267d209f9]] - if_iwm - Sync iwm_nvm_read_chunk() function with Linux iwlwifi.
-* [[b97941862d5694ea8872275b9dd02d81c8fd931a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b97941862d5694ea8872275b9dd02d81c8fd931a]] - if_iwm - Remove two duplicate const qualifiers.
-* [[31517ca9069dca83e19f06f6be74db195f22acb8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/31517ca9069dca83e19f06f6be74db195f22acb8]] - hyperv: Implement cpucounters.
-* [[94b501399fde6368ae388a669c95b099a6e66e93|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/94b501399fde6368ae388a669c95b099a6e66e93]] - if_iwm - Handle AUTH->SCAN/INIT and ASSOC->SCAN/INIT better
-* [[53a009d6f66108b40d622ed90ea95eba5c0e5432|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/53a009d6f66108b40d622ed90ea95eba5c0e5432]] - if_iwm - Factor out and improve iwm_mvm_scan_rxon_flags() in if_iwm_scan.c.
-* [[1e0cf8ec6fcd77978f5336297ece61a415790f84|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1e0cf8ec6fcd77978f5336297ece61a415790f84]] - if_iwm - Use notification wait API to wait for calibration to complete.
-* [[2427de166a76b82b8388c371c073111082acfa83|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2427de166a76b82b8388c371c073111082acfa83]] - if_iwm - Add some pcie device stop code from iwlwifi. Adjust a delay.
-* [[710fdd011c30a1bd9f53b87c843fb8907c4a6cfd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/710fdd011c30a1bd9f53b87c843fb8907c4a6cfd]] - if_iwm - Remove OpenBSD-specific comment. Beautify pci cfg space accesses.
-* [[92cc3b9fc5a9e6dc3278e9e4d485e83789d73055|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/92cc3b9fc5a9e6dc3278e9e4d485e83789d73055]] - if_iwm - Remove some unneeded #include-s from all .c files.
-* [[75895a53a9c1ba60d75be9b4bf6e49a37f91a7cf|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/75895a53a9c1ba60d75be9b4bf6e49a37f91a7cf]] - if_iwm - Sync statistics API definitions with Linux iwlwifi.
-* [[aba448de727e9b122adadeb36fd00a8ad6018d4f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/aba448de727e9b122adadeb36fd00a8ad6018d4f]] - if_iwm - Refuse connection to APs with beacon interval < 16.
-* [[f88ab372284e63c4c13da93e9026a203b9b4cdc5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f88ab372284e63c4c13da93e9026a203b9b4cdc5]] - if_iwm - Add iwm_nic_unlock() calls missing from previous commit.
-* [[b8674cff3d2808cded6daa41e6a9df70cf5732fd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8674cff3d2808cded6daa41e6a9df70cf5732fd]] - drm - Fix subtle plane masking bug.
-* [[b484d09d54301740f036ddf02008117f563960c2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b484d09d54301740f036ddf02008117f563960c2]] - if_iwm - Add scan abort functions, to properly cancel a running scan.
-* [[f414b8da30816705e32573cc58097cacac34f161|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f414b8da30816705e32573cc58097cacac34f161]] - if_iwm - Get rid of unneeded IWM_FWDMASEGSZ and IWM_FWMAXSIZE constants
-* [[35f0e6c86c1654323d6b19f7a077f4ab8ac85868|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/35f0e6c86c1654323d6b19f7a077f4ab8ac85868]] - if_iwm - Simplify device id matching code a bit.
-* [[fccb38ab368b901be2a8d2d6357c78b73fd71dbe|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fccb38ab368b901be2a8d2d6357c78b73fd71dbe]] - drm/linux: Add sign_extend64()
-* [[7f03b76b5fde4aeec9492caee92e0d89af7ddc71|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7f03b76b5fde4aeec9492caee92e0d89af7ddc71]] - sdhci - Add a new interface method, get_card_present.
-* [[37d179535cd9fc03e4cd067bc5d3760f4aba9f7b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/37d179535cd9fc03e4cd067bc5d3760f4aba9f7b]] - kernel/mmcsd: Add some dummy values for d_nheads and d_secpertrack.
-* [[5df2bc4977fd0112ec12c8b8632ac083f288136d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5df2bc4977fd0112ec12c8b8632ac083f288136d]] - if_iwm - Use htole16 for policy field in struct iwm_time_event_cmd_v2.
-* [[62a4e7957a736b4de38938b02fa7eb9b45bc5d0d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/62a4e7957a736b4de38938b02fa7eb9b45bc5d0d]] - if_iwm - Switch arguments from iwm_node* to iwm_vap* in if_iwm_power.c.
-* [[fefad7a79f2a97ff0878b0dc59f938a04a1cece3|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fefad7a79f2a97ff0878b0dc59f938a04a1cece3]] - drm/radeon: Replace some spinlocks by lockmgr locks
-* [[f95003b8f1f7382c8396a6d408e3072632afdd3d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f95003b8f1f7382c8396a6d408e3072632afdd3d]] - if_iwm - Remove support for fw older than -17 and -22
-* [[19b2b39ddcb96e9acb2bfa544c4b368edfe81166|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/19b2b39ddcb96e9acb2bfa544c4b368edfe81166]] - sys/dev/disk/dm: Remove obvious/redundant/disabled kprintfs
-* [[474310725fef606697c0703f34b81e586796d1b7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/474310725fef606697c0703f34b81e586796d1b7]] - kernel - Add trackpoint and elantech mouse support (2)
-* [[52c3adbee676d8558065618e5ad694ea5c6697e0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/52c3adbee676d8558065618e5ad694ea5c6697e0]] - if_iwm - Clean up if_iwm_power.c a bit. Fix iwm_power_scheme debug print.
-* [[efb7d4eb5c3140889a8880e12fd83c7bbfd0059d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/efb7d4eb5c3140889a8880e12fd83c7bbfd0059d]] - if_iwm - Very basic DTS thermal sensor support (prints temp as debug msg).
-* [[1f7ae36fb6df06a33ef5184f702b09aebeb4bb05|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1f7ae36fb6df06a33ef5184f702b09aebeb4bb05]] - re: Fix typo for disabling txcsum.
-* [[a8e9a5d25e975f129d174f6d668c7d491cc0ba29|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a8e9a5d25e975f129d174f6d668c7d491cc0ba29]] - kernel/iwm: Fix building into the kernel without IWM_DEBUG.
-* [[612855b1a8c321ec9ba34f63edf913e7ecff8363|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/612855b1a8c321ec9ba34f63edf913e7ecff8363]] - if_iwm - Fix typo in commit a7697ea01c11fd493aec52260a02f31df680eb91.
-* [[5b210ee3c06ba1b9b22473e350ac501f0534390a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5b210ee3c06ba1b9b22473e350ac501f0534390a]] - Move efirt.ko's source to sys/dev/misc/efirt.
-* [[5a9835ae839593ab8105e055dadacd6d02a8e684|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5a9835ae839593ab8105e055dadacd6d02a8e684]] - cpuctl(4): Require write rights for CPUCTL_MSRSBIT and CPUCTL_MSRCBIT.
-* [[cc6703ed6a5969e9fc3cdbb4e59f0e53281f0f46|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cc6703ed6a5969e9fc3cdbb4e59f0e53281f0f46]] - vkernel: Prevent clang optimizing out the traps.
-* [[ff4d1fc3ed002c9fb362423da6c45d711b65658a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ff4d1fc3ed002c9fb362423da6c45d711b65658a]] - if_iwm - Get rid of some gratuitous constant renaming wrt. Linux iwlwifi.
-* [[0e589b85686434c5a4deb4cf3514d3e9f02df367|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0e589b85686434c5a4deb4cf3514d3e9f02df367]] - ahci - Adjust a few things
-* [[288315ffc7fd83fad66ee740ee46e1db64cce67a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/288315ffc7fd83fad66ee740ee46e1db64cce67a]] - if_iwm - Fix comments and struct definition for struct iwm_sf_cfg_cmd.
-* [[99e67e8c420dac19ea52495627da7c19ce22c219|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/99e67e8c420dac19ea52495627da7c19ce22c219]] - i386 removal, part 53/x: Remove the code of the fe(4) driver too.
-* [[1e59d1334bde37e93f702e78f96ed3bfcdd88119|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1e59d1334bde37e93f702e78f96ed3bfcdd88119]] - drm/linux: Implement tasklets
-* [[39f8331b1a6f295291e08c377da12a8e7a5436c0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/39f8331b1a6f295291e08c377da12a8e7a5436c0]] - if_iwm - Sync nvm parsing code with Linux iwlwifi.
-* [[c6b7218831be34afc3c711f3808a2c28e537112d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c6b7218831be34afc3c711f3808a2c28e537112d]] - hyperv: Implement Hyper-V reference TSC cputimer.
-* [[69b57ec30fee1ae9fdf70856e8b6b3f12351405e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/69b57ec30fee1ae9fdf70856e8b6b3f12351405e]] - drm/linux: add sg_pcopy_{from/to}_buffer()
-* [[917ec290eeeeb73fe8bfa066cfc3303a55646424|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/917ec290eeeeb73fe8bfa066cfc3303a55646424]] - drm: Sync drm_crtc.c with Linux 4.6
-* [[5d6b465e288ac5b52d7115688d4e6516acbbea1c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5d6b465e288ac5b52d7115688d4e6516acbbea1c]] - if_iwm - Update firmware rs table, instead of indexing the table in tx cmds.
-* [[9e3c8f638d5b727702de7307fa42ceded5080c2d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9e3c8f638d5b727702de7307fa42ceded5080c2d]] - sdhci - Add some missing register constants, and dump some more registers.
-* [[082d190b9e398c32f9d5a95dfc1cc073a9a2ddce|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/082d190b9e398c32f9d5a95dfc1cc073a9a2ddce]] - kernel - Fix minor bug in powermng
-* [[19bd59e4a136d9f93320462c0b42eae5b3e97dd3|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/19bd59e4a136d9f93320462c0b42eae5b3e97dd3]] - sys/dev/disk/dm: Make init/destroy handlers optional
-* [[ef688cebb9b29b67f7a011846589971987949e0d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ef688cebb9b29b67f7a011846589971987949e0d]] - if_iwm - Recognize IWM_FW_PAGING_BLOCK_CMD wide cmd response correctly.
-* [[a8524cc6c440e5ce9490ba2b0507c99ff6777c6d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a8524cc6c440e5ce9490ba2b0507c99ff6777c6d]] - if_iwm - Store paging_mem_size field in firmware image information struct.
-* [[138b1116cf1965d64993c8378b927aeab22d58b7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/138b1116cf1965d64993c8378b927aeab22d58b7]] - drm/radeon: restore the fbdev mode in lastclose
-* [[420099d00ea92d319ceca3ebf56ac57aa064dd20|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/420099d00ea92d319ceca3ebf56ac57aa064dd20]] - if_iwm - Fix iwm_poll_bit() error value check in iwm_attach().
-* [[de7995a5e0ebf2d0016a87a0142a98c75db58fb4|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/de7995a5e0ebf2d0016a87a0142a98c75db58fb4]] - if_iwm - Change 2nd arg of iwm_phy_db_set_section() to struct iwm_rx_packet.
-* [[c4743e25ff145f8ed82215cd823ac0e59c2d8e2a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c4743e25ff145f8ed82215cd823ac0e59c2d8e2a]] - if_iwm - Remove unused fw_totlen field in struct iwm_fw_sects.
-* [[2c2175b343ca76ccf1f1c95b45752bdc7de7cd74|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2c2175b343ca76ccf1f1c95b45752bdc7de7cd74]] - sdhci - Use pci_alloc_1intr in sdhci pci attachement.
-* [[6a6d661d9def0fdc54a3a908e6e4078861ee298f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6a6d661d9def0fdc54a3a908e6e4078861ee298f]] - drm/linux: Add acpi/video.h
-* [[3b7fc5aac51f81062da0a2c8fdac23e683fbd548|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3b7fc5aac51f81062da0a2c8fdac23e683fbd548]] - if_iwm - Allow listening on both chains/atennas to get diversity.
-* [[9ed6fcdb4ff9d712f0d38b633836f42a4bd7491f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9ed6fcdb4ff9d712f0d38b633836f42a4bd7491f]] - acpi: Save I/O ports for I/O ports range, as long as its reasonable.
-* [[fd4f9de8bc72ea961e50829b45b59d0549040b7d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fd4f9de8bc72ea961e50829b45b59d0549040b7d]] - if_iwm - Add firmware API definitions for TX power commands.
-* [[6a8958677c5400e80317abe422001f09fc279e96|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6a8958677c5400e80317abe422001f09fc279e96]] - drm/linux: Add kstrtouint()
-* [[b8bd6cd746d1f45e616ccfcbeed06dfe452a1108|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8bd6cd746d1f45e616ccfcbeed06dfe452a1108]] - if_iwm - Properly implement iwm_wme_update callback function.
-* [[76dba67c2ec64aa277a91b0ffaeb3db8ab94aa25|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/76dba67c2ec64aa277a91b0ffaeb3db8ab94aa25]] - kernel/adv: Fix extern type to match the real one.
-* [[0a797ca829eed434cff871686fb6b770c1341274|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0a797ca829eed434cff871686fb6b770c1341274]] - kernel/if_wi: Unlock before returning.
-* [[b5eb43f0280bbcfd26af51cf5a4b8e8ff3590b67|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b5eb43f0280bbcfd26af51cf5a4b8e8ff3590b67]] - if_iwm - Process multiple frames per RX buffer.
-* [[67b5e090efb225654815fed91020db6cfc16bb19|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/67b5e090efb225654815fed91020db6cfc16bb19]] - if_iwm - Check sc->sc_attached flag in suspend/resume callbacks.
-* [[82437db026041954e8bb988c6d084355b5f7a518|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/82437db026041954e8bb988c6d084355b5f7a518]] - drm/linux: kernel_ulong_t is defined in linux/mod_devicetable.h
-* [[a9e978f7d231d39b50a79cb8926a3b56d996658c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a9e978f7d231d39b50a79cb8926a3b56d996658c]] - drm/linux: add atomic64_cmpxchg()
-* [[ce43f57f5308b579ea21e8a5a29969114ba2247d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ce43f57f5308b579ea21e8a5a29969114ba2247d]] - if_iwm - Implement apmg_wake_up_wa workaround properly for 7000 family.
-* [[757eecf0e6c92745aa2eee95811e573c8300850e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/757eecf0e6c92745aa2eee95811e573c8300850e]] - if_iwm - Make ucode capabilities and api flags handling more like iwlwifi.
-* [[e79101d4474ff70e112c020c66a9cc27ff2647f5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e79101d4474ff70e112c020c66a9cc27ff2647f5]] - drm/linux: add few ida_* functions.
-* [[ab1d3efc208e797c1e09759cd506c95c0aeaa06e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ab1d3efc208e797c1e09759cd506c95c0aeaa06e]] - if_iwm - Add the BSS's basic rates to iwm's LQ command, not all the rates.
-* [[5c64209cb69d2ebe065036809a4144dc6c8cd5f5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5c64209cb69d2ebe065036809a4144dc6c8cd5f5]] - drm/linux: Add get_nr_swap_pages()
-* [[cc624b1689c0caad8d17c4b4b4edeca001a07a88|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cc624b1689c0caad8d17c4b4b4edeca001a07a88]] - syscons - Fix syscons with UEFI fb when drm fb is registered during boot.
-* [[98dffbe0d47d06146981b227e06bb90e81519860|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/98dffbe0d47d06146981b227e06bb90e81519860]] - hyperv: Reorder the Hyper-V TSC initialization a bit.
-* [[70f95ad1b60e4279bd1c6dd51b832eb3e2e36c15|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/70f95ad1b60e4279bd1c6dd51b832eb3e2e36c15]] - i386 removal, part 61/x: Adjust some further #ifdefs.
-* [[c7dca6a74989f006e0da100a448b499f594c92d5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c7dca6a74989f006e0da100a448b499f594c92d5]] - drm: Partial revert of "drm: Sync drm_crtc.c with Linux 4.6"
-* [[1f249c981c4e89e7cde1836a75b61cac36dc7ac5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1f249c981c4e89e7cde1836a75b61cac36dc7ac5]] - if_iwm - Use iwm_mvm_scan_stop_wait to properly abort scans.
-* [[20825c8ad4cfc4f8dad78be8e4abc57d502d218c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/20825c8ad4cfc4f8dad78be8e4abc57d502d218c]] - ath_hal: Add FCC6_FCCA regulatory domain (0x0014)
-* [[83a1185edeede081051a6c00417d4c5a8f5988eb|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/83a1185edeede081051a6c00417d4c5a8f5988eb]] - if_iwm - Move iwm_dma_contig_alloc/_free functions to if_iwm_util.c.
-* [[fa3094dbf7f6435624adcbda41fb0cd34de29570|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fa3094dbf7f6435624adcbda41fb0cd34de29570]] - drm/linux: implement div64_u64_rem() helper in math64.h
-* [[28d082dd4654cb35f336ab89d3fe1f360c780a8d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/28d082dd4654cb35f336ab89d3fe1f360c780a8d]] - sys/dev/disk/dm: Make dmdebug() print __func__
-* [[f1c11ff5d497df59257e244c48f234711f98c0f1|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f1c11ff5d497df59257e244c48f234711f98c0f1]] - drm/i915: Fix typo in get_bdb_header(), fixes vbt validity check.
-* [[2d695c09ee6b3f48db20cbe87ad34183127e32a2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2d695c09ee6b3f48db20cbe87ad34183127e32a2]] - sdhci - Use the right capability field for printing the bus width.
-* [[e98ee77a816bfd8b4912047b93dfb2c560788f24|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e98ee77a816bfd8b4912047b93dfb2c560788f24]] - if_iwm - Synchronize firmware loading code with Linux iwlwifi.
-* [[a7697ea01c11fd493aec52260a02f31df680eb91|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a7697ea01c11fd493aec52260a02f31df680eb91]] - if_iwm - Sync IWM_MVM_ALIVE waiting and start_fw handling with iwlwifi.
-* [[848ab9a35b2f0b0a12f0b361199b6bb9c52ee2a6|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/848ab9a35b2f0b0a12f0b361199b6bb9c52ee2a6]] - if_iwm - Use chan list from ieee80211_scan_state for scan, not ic_channels.
-* [[e57b1815044eab7f8ebcf525ab5911143e1f80c1|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e57b1815044eab7f8ebcf525ab5911143e1f80c1]] - drm/linux: Add request_firmware_nowait()
-* [[0e645f475f5f417a016f2f68473b303a389c23ba|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0e645f475f5f417a016f2f68473b303a389c23ba]] - vkernel - Fix races in if_vke.c
-* [[0cb0a810cb4e04b30937cb4260e779f717a86492|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0cb0a810cb4e04b30937cb4260e779f717a86492]] - if_iwm - Switch 7265D and 3165 devices to 7265D firmware.
-* [[4b1006a6e4d0f61d48c67b46e1f791e30837db67|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4b1006a6e4d0f61d48c67b46e1f791e30837db67]] - iwm - Reduce gratuitous differences with Linux iwlwifi in struct naming.
-* [[3e9aaef308100a4d630feffc131e3aca2ae12f8a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3e9aaef308100a4d630feffc131e3aca2ae12f8a]] - if_iwm - Remove dead code from iwm_pcie_load_cpu_sections().
-* [[02b1bea02c6a2bccaedf9480a4f6695d4c0beb49|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/02b1bea02c6a2bccaedf9480a4f6695d4c0beb49]] - cxm(4): Fix type mismatches on firmware variables.
-* [[d7ecd68be5ad5eebfdec4059c00330235786927f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d7ecd68be5ad5eebfdec4059c00330235786927f]] - if_iwm - Fix up RSSI calculations for scan results and normal RX operations.
-* [[d11dcf6adbe99ce3eb4e7de76aa6810b7c44cd2c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d11dcf6adbe99ce3eb4e7de76aa6810b7c44cd2c]] - drm/linux: Add vmap()
-* [[fb572d17facb99509210208b5c7e0aa2120d7079|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fb572d17facb99509210208b5c7e0aa2120d7079]] - drm: Implement and use Linux struct device
-* [[347f670a67679f7b4b6e6b9112ba648f96a6cc38|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/347f670a67679f7b4b6e6b9112ba648f96a6cc38]] - drm/linux: Add ktime_get_boottime and ktime_ms_delta()
-* [[b5cdd8067951dc90271ab104ef555b3b5a4d5d5a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b5cdd8067951dc90271ab104ef555b3b5a4d5d5a]] - if_iwm - Get rid of struct iwm_rx_data argument for iwm_mvm_rx_rx_mpdu.
-* [[6bf7fbb4144bdc701224764dcadc2336d4112687|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6bf7fbb4144bdc701224764dcadc2336d4112687]] - syscons - Handle kms framebuffer activation better when not in text mode.
-* [[81d656081e06cb3a98b05fd2d1570902ee56731d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/81d656081e06cb3a98b05fd2d1570902ee56731d]] - drm/i915: Set GPU freq to idle_freq initially
-* [[9b497556328a94fbc235cb9cb6d14e792251f178|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9b497556328a94fbc235cb9cb6d14e792251f178]] - drm/linux: Add kasprintf and kvasprintf()
-* [[3370bc5504ebb3c1b9bb960a185cd0c8052a2845|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3370bc5504ebb3c1b9bb960a185cd0c8052a2845]] - if_iwm - Tiny cleanup in iwm_rx_addbuf().
-* [[dda889ac57d8e5b46bb1b1ecf53c17a18481c7c8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/dda889ac57d8e5b46bb1b1ecf53c17a18481c7c8]] - if_iwm - Ignore IWM_DEBUG_LOG_MSG notifications.
-* [[61f2dcf2f8a2c33f69f7ef5abca8b106e4d1b912|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/61f2dcf2f8a2c33f69f7ef5abca8b106e4d1b912]] - syscons - Remove unneeded NULL check from register_framebuffer().
-* [[e54a5ebe1729636c555002fc46d6fd0939479f29|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e54a5ebe1729636c555002fc46d6fd0939479f29]] - if_iwm - Remove unused wantresp field in iwm_rx_data struct.
-* [[aa128dc02a17c2e616232ef0fa997121e969c995|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/aa128dc02a17c2e616232ef0fa997121e969c995]] - if_iwm - Already call iwm_mvm_power_update_mac() during SCAN<->AUTH paths.
-* [[6e31eb984a2f2d530700056c73b2eb175804398a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6e31eb984a2f2d530700056c73b2eb175804398a]] - drm/linux: Add kmap_to_page()

(Diff truncated)
diff --git a/doc/test_page_space_allowed.mdwn b/doc/test_page_space_allowed.mdwn
new file mode 100644
index 0000000..f93f6b8
--- /dev/null
+++ b/doc/test_page_space_allowed.mdwn
@@ -0,0 +1,1416 @@
+## Changelog: From origin/DragonFly_RELEASE_4_6 to origin/DragonFly_RELEASE_4_8
+### Contributed software
+* [[4baf3da673cf4ccc37972fd7a3a5374f2f949682|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4baf3da673cf4ccc37972fd7a3a5374f2f949682]] - gcc47: Backport objc fix from gcc trunk.
+* [[a547914c1dda914338578798fd0ebd9851ec1b99|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a547914c1dda914338578798fd0ebd9851ec1b99]] - Merge branch 'vendor/LESS'
+* [[095985121e34fb8501c6d6afb0d38e6f6a30fc0d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/095985121e34fb8501c6d6afb0d38e6f6a30fc0d]] - libncurses: Avoid -Woverflow in baud rates.
+* [[ddaf9f4ac09fd506d0ed3a635e1048beafae310c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ddaf9f4ac09fd506d0ed3a635e1048beafae310c]] - wpa_supplicant: Avoid cpp warning during buildworld.
+* [[eee86d5a9b698bc2d10bfce462dd5172ed60b767|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/eee86d5a9b698bc2d10bfce462dd5172ed60b767]] - binutils 2.25 linkers: Set default interpreter to valid path
+* [[a9fa94596c0f48c0524edaac2c001d92fa9c01ac|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a9fa94596c0f48c0524edaac2c001d92fa9c01ac]] - Initial import of binutils 2.27 on vendor branch
+* [[09219ee0a86ac0ce0a1b6a5d91d6274c297da796|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/09219ee0a86ac0ce0a1b6a5d91d6274c297da796]] - Import missing source needed to enable plugin support in utilities.
+* [[11650561b4cc34c733d0ddd00ba57a35c8b09262|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/11650561b4cc34c733d0ddd00ba57a35c8b09262]] - binutils225: Make plugin dir overridable at compile time.
+* [[62af0394e6f0acbb07b0de957bee06e880eae55d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/62af0394e6f0acbb07b0de957bee06e880eae55d]] - gcc47: Do not include empty header.
+* [[e656dc90e3d65d744d534af2f5ea88cf8101ebcf|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e656dc90e3d65d744d534af2f5ea88cf8101ebcf]] - Merge remote-tracking branch 'origin/vendor/BINUTILS227'
+* [[03f6201053717a978ccacc70a0b56f44d69f6aca|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/03f6201053717a978ccacc70a0b56f44d69f6aca]] - less(1): Fix type mismatches in different objects.
+* [[b4603dcfad6ee746d007a4b2f2fb735605186044|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b4603dcfad6ee746d007a4b2f2fb735605186044]] - TRE: Fix const discard issue for all compilers.
+* [[c211e07949d10318e6a8d31301b3cedb6b4e5a6d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c211e07949d10318e6a8d31301b3cedb6b4e5a6d]] - bmake: upgrade version 20141111 => 20160818
+* [[0c8a28221521252cd35eb2174b0d147c136bb2db|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0c8a28221521252cd35eb2174b0d147c136bb2db]] - gcc47: Fix misplaced NULL usage in strings.
+* [[4eab696808e511e585602aa64af9891aa0e4c441|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eab696808e511e585602aa64af9891aa0e4c441]] - kernel - set default locale name for smbfs
+* [[d5d214b79f952beef771f898a2b47ab5cfcddedc|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d5d214b79f952beef771f898a2b47ab5cfcddedc]] - Update gcc-50 to SVN version 239798 (gcc-5-branch)
+* [[5f76495ba37ea12fb60cf57228cc78b83d889fb6|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5f76495ba37ea12fb60cf57228cc78b83d889fb6]] - gcc50: Add alternative variant of pthread presence checking.
+* [[727fc32d389c7e604175d531ef6dccd525ac01d2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/727fc32d389c7e604175d531ef6dccd525ac01d2]] - Merge branch 'vendor/BINUTILS225'
+* [[c1d69b4e943be0ac0b9e60cf997891209e8f7198|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c1d69b4e943be0ac0b9e60cf997891209e8f7198]] - tcsh - Work around gcc-5 bug
+* [[6496ec5cf27c0e8a2cf51a861379f97b39eed5c2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6496ec5cf27c0e8a2cf51a861379f97b39eed5c2]] - gcc47: Suppress last codegen warning.
+* [[9b76006665e56dffc7210c587bdfa8fad8661f7a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9b76006665e56dffc7210c587bdfa8fad8661f7a]] - Update less from version 471 to 481
+* [[f445c8974931e0ddbeb96b2514f9cb61aee7e659|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f445c8974931e0ddbeb96b2514f9cb61aee7e659]] - Update to bmake-20160818 on the vendor branch
+* [[9a8f24bf27e38c37cda8a86cdeb34e2ae52aee6b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9a8f24bf27e38c37cda8a86cdeb34e2ae52aee6b]] - Merge branch 'vendor/BMAKE'
+* [[c80085678ed8b87f203af020e14e8079a552fdd0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c80085678ed8b87f203af020e14e8079a552fdd0]] - Retire the binutils-2.24.
+* [[14cfea9901210cefd3a1d65dc15887461b194bde|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/14cfea9901210cefd3a1d65dc15887461b194bde]] - binutil227: Add DF README's and local modifications.
+* [[6b9ba3e86a05417c2af9786967ec92fc136cffde|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6b9ba3e86a05417c2af9786967ec92fc136cffde]] - bootstrap: Expand BOOTSTRAPPING case to avoid warning.
+* [[385754ab92bea0f51c59b841b298f2ec157e5f2d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/385754ab92bea0f51c59b841b298f2ec157e5f2d]] - Merge branch 'vendor/GCC50'
+* [[e02a905d0800ea51e6685792106ea01bcc1c39ca|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e02a905d0800ea51e6685792106ea01bcc1c39ca]] - libncurses: Avoid warning when calling cgetent().
+* [[6ebf792c9ab0aa43dd13069aefd6d1d548176ef8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6ebf792c9ab0aa43dd13069aefd6d1d548176ef8]] - contrib/bmake: remove 2 local modifications to prepare for merge
+### Cryptography
+* [[5b245968732053a4221c42925bf7355d7eb4ad07|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5b245968732053a4221c42925bf7355d7eb4ad07]] - build - Remove openssl from base (is now permanently replaced by ressl)
+* [[66ceb5e9b7ccc1005b0b710f32228c0b69070e98|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/66ceb5e9b7ccc1005b0b710f32228c0b69070e98]] - libressl: Few local modifications for netcat.
+* [[4188afc709be91c60882529929ad3e74932fc51c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4188afc709be91c60882529929ad3e74932fc51c]] - Merge branch 'vendor/LIBRESSL'
+* [[a310eb9be04d900b0e9514e84c07b9654e28ecba|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a310eb9be04d900b0e9514e84c07b9654e28ecba]] - libcrypto(3): Remove some cruft from when we supported 32-bit.
+* [[94089e80a5f705dc760628462df38162611001cd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/94089e80a5f705dc760628462df38162611001cd]] - Merge branch 'vendor/OPENSSL'
+* [[f20408c21735b356c91cd43ddc1a5693e49b528e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f20408c21735b356c91cd43ddc1a5693e49b528e]] - Update libressl README.DRAGONFLY for v2.4.4
+* [[497a44b089c28b45651c36fb1b2d782f406d8641|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/497a44b089c28b45651c36fb1b2d782f406d8641]] - Add a openbsd-compat file for latest import.
+* [[e00185f13e893a2f4d0288c673301fd4c78f3562|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e00185f13e893a2f4d0288c673301fd4c78f3562]] - Patch ssh vendor code for xauth's default location.
+* [[7475be118e1bc43d61bfa1192b8ac160ab3cf515|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7475be118e1bc43d61bfa1192b8ac160ab3cf515]] - sshd - Fix default password authentication (2)
+* [[e9778795382169f8c6fde18d0565a1acef2cac8b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e9778795382169f8c6fde18d0565a1acef2cac8b]] - Import OpenSSH-7.3p1.
+* [[0acf6c5cec1bb550d161ebd159e4ecad45908ec5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0acf6c5cec1bb550d161ebd159e4ecad45908ec5]] - Update LibreSSL from version 2.4.2 => 2.4.3
+* [[609bcd714d1333d31030e5309fcbcf2b8561e582|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/609bcd714d1333d31030e5309fcbcf2b8561e582]] - Merge branch 'vendor/OPENSSH'
+* [[f0ea6a7a164d1e1add5907937994265e906d96a3|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f0ea6a7a164d1e1add5907937994265e906d96a3]] - Remove most local modifications from OpenSSH.
+* [[c064523cdd96e53e622a5cc435f4388312a33a8c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c064523cdd96e53e622a5cc435f4388312a33a8c]] - Allow make.conf to override ssh's xauth location.
+* [[f73288b8388362ab1d59c2d7072014f0d5020b18|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f73288b8388362ab1d59c2d7072014f0d5020b18]] - LibreSSL: complete update v2.4.2 => v2.4.3
+* [[a25ca6f6327a8c5c07550bd5ee5382898072f668|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a25ca6f6327a8c5c07550bd5ee5382898072f668]] - Merge branch 'vendor/LIBRESSL'
+* [[d9ccbcc96227edaf46bd27707f01d9d8b4ad5a72|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d9ccbcc96227edaf46bd27707f01d9d8b4ad5a72]] - build - use libressl md5.h for kernel
+* [[f5b1c8a1e6dbe9333aed363dba27c2ff58be6174|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f5b1c8a1e6dbe9333aed363dba27c2ff58be6174]] - Import LibreSSL v2.4.2 to vendor branch
+* [[57de8ae1b524af49006ac8faaf4a64241aa4ba07|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/57de8ae1b524af49006ac8faaf4a64241aa4ba07]] - OpenSSH: Suppress warning on login_getcapstr().
+* [[4bde49b71e31daca1872f938e6f2c2e132cbc396|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4bde49b71e31daca1872f938e6f2c2e132cbc396]] - sshd(8): Disable tunneled cleartext passwords.
+* [[4821a1d69d42a70e6f9f65f01812422a9f804656|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4821a1d69d42a70e6f9f65f01812422a9f804656]] - Merge branch 'vendor/OPENSSH'
+* [[bd84e83893b298face58762e1fec24667126c8c7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bd84e83893b298face58762e1fec24667126c8c7]] - security/libressl: Fix ECDSA P-256 timing attack vulnerability
+* [[1852dacb2add612faac4649f46850e8492c56065|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1852dacb2add612faac4649f46850e8492c56065]] - OpenSSH: Suppress last warning in session.c
+* [[4a22becbe09b9773cc33003d46120d8825a44415|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4a22becbe09b9773cc33003d46120d8825a44415]] - Unbreak build.
+* [[88828e76e7d1ff613cbdfc32aeb5e35cc6ffde30|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/88828e76e7d1ff613cbdfc32aeb5e35cc6ffde30]] - sshd - Fix default password authentication
+* [[72be967a925bccd9cb7672c8adf4f3cbaeea8327|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/72be967a925bccd9cb7672c8adf4f3cbaeea8327]] - OpenSSH: Add missing prototypes and bump WARNS to 3.
+* [[1920ada36573f8e9c4ceb7694990274075650bdf|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1920ada36573f8e9c4ceb7694990274075650bdf]] - Merge branch 'vendor/LIBRESSL'
+* [[5adaeadcee1c8e1b9e03cf22d91329a05393e316|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5adaeadcee1c8e1b9e03cf22d91329a05393e316]] - Import OpenSSL-1.0.2h.
+* [[530c17a63c2de777e97cbf2e67edfe5bd61f31fe|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/530c17a63c2de777e97cbf2e67edfe5bd61f31fe]] - Update LibreSSL from version 2.4.3 => 2.4.4
+### Devices
+* [[0b985ce1074ab29e1e5a26e94e2823dee61a3e21|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0b985ce1074ab29e1e5a26e94e2823dee61a3e21]] - sys/dev/disk/dm: Cleanup
+* [[68fad459c7fcdf999f82bf96953d5db99d44bb05|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/68fad459c7fcdf999f82bf96953d5db99d44bb05]] - if_iwm - Advertise full-offload scan support, fixes scan while associated.
+* [[0104ee1f4cb6a2313c00c2526c6ae98d42e5041d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0104ee1f4cb6a2313c00c2526c6ae98d42e5041d]] - if_iwm - Move iwm_read_firmware() call into iwm_attach().
+* [[05475029b1a3dc51c45c96a7c031f7e961d2dec6|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/05475029b1a3dc51c45c96a7c031f7e961d2dec6]] - sdhci - Simplify SDHCI_PRESENT_STATE register loop in sdhci_start_command().
+* [[bb480ca679a7ea530bdca6e41082d5755e9751dc|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bb480ca679a7ea530bdca6e41082d5755e9751dc]] - if_iwm - Remove 1s delay after fw loading. Can't reproduce issues on AC8260.
+* [[74d41163ddac72b0d7ea7b7873d53fe134723a12|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/74d41163ddac72b0d7ea7b7873d53fe134723a12]] - if_iwm - change the check for ADD_STA status, use IWM_ADD_STA_STATUS_MASK.
+* [[89f579e9823a5c446ca172cf82bbc210d6a054a4|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/89f579e9823a5c446ca172cf82bbc210d6a054a4]] - if_iwm - Enable Energy Based Scan (EBS).
+* [[d078c812418d0e2c3392e99fa25fc776d07bdfad|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d078c812418d0e2c3392e99fa25fc776d07bdfad]] - if_iwm - Remove a couple of unneeded IWM_UCODE_TLV_FLAGS_* flags.
+* [[89bbdcc98e01702ae70176ff08df5fb95ee0801b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/89bbdcc98e01702ae70176ff08df5fb95ee0801b]] - drm/linux: Clean-up pci_resource_start()
+* [[f62d325820ee7f7c2bcf721ada9cef8b70f74471|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f62d325820ee7f7c2bcf721ada9cef8b70f74471]] - Revert "if_iwm - SCAN_ABORT_UMAC response doesn't use a wide id"
+* [[e8560f8dc58df12a7c79a6bb4e6ccb156e001085|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e8560f8dc58df12a7c79a6bb4e6ccb156e001085]] - if_iwm - The iwm_prepare_card_hw() in iwm_attach() is only needed on 8K hw.
+* [[f0e799193f66de9af176978cfac9679eb99efd11|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f0e799193f66de9af176978cfac9679eb99efd11]] - ahci - Add workarounds for Marvell 88SE9215
+* [[0510b0eef0c0772b77331db9586fc4d39aab96d7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0510b0eef0c0772b77331db9586fc4d39aab96d7]] - syscons - Add need_unlock arg to sc_clean_up and sc_wait_scrn_saver_stop.
+* [[b8c69b44c3d7472d7f129a92321e58f0edde9723|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8c69b44c3d7472d7f129a92321e58f0edde9723]] - kernel/ecc: Add MODULE_VERSION()s.
+* [[d7002a7990d077c92585978ea998474af50f91e0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d7002a7990d077c92585978ea998474af50f91e0]] - if_iwm - Add basic powermanagement support via ifconfig wlan0 powersave.
+* [[085e37a042bdb17081e495e46919359ce43aa118|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/085e37a042bdb17081e495e46919359ce43aa118]] - if_iwm - Sync rs (rate-selection) API definitions from Linux iwlwifi.
+* [[81b3c1fe9122fa22f33d97103039cc375f656231|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/81b3c1fe9122fa22f33d97103039cc375f656231]] - if_iwm - Adjust if_iwm_sta.h prototypes, don't pass iwm_node to rm_sta().
+* [[50787d03cd0a0366c9cc4a055bb6977e5f65c85d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/50787d03cd0a0366c9cc4a055bb6977e5f65c85d]] - if_iwm - Get rid of iwm_disable_rx_dma, just use iwm_pcie_rx_stop directly.
+* [[33ded22a8fbfedf3a5674d3df56eb86911767ecd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/33ded22a8fbfedf3a5674d3df56eb86911767ecd]] - if_iwm - Remove more old unused scan API definitions.
+* [[5e4464425e963e25094fd31e2093de3955ad008f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5e4464425e963e25094fd31e2093de3955ad008f]] - if_iwm - Improve reliability of iwm_release on disassociation a bit.
+* [[b26dd4db18548ad662b7a7bc7b090b64f39c43ed|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b26dd4db18548ad662b7a7bc7b090b64f39c43ed]] - if_iwm - Use ic->ic_tq for iwm_endscan_cb instead of a private taskqueue.
+* [[a639f78832edd8a24cb683d66752f028545c0213|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a639f78832edd8a24cb683d66752f028545c0213]] - acpi - Incidental MPSAFE
+* [[66d55158f374df1465c1a63fe035d2d333ced83f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/66d55158f374df1465c1a63fe035d2d333ced83f]] - kernel/efirt: Hook efirt.ko into the build.
+* [[c009badecf7b1389cd86adde9fd35f6113c75b5b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c009badecf7b1389cd86adde9fd35f6113c75b5b]] - if_iwm - Get rid of another usage of the IWM_DEFAULT_MACID/_COLOR constant.
+* [[c662db9a18424b81164b14d2f9a06c43261ff5ce|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c662db9a18424b81164b14d2f9a06c43261ff5ce]] - sys/dev/disk/dm: Remove dm_table_init_target() call with NULL
+* [[8d327fcc6e31be8c51b8f2f883cfe4ed32015b02|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8d327fcc6e31be8c51b8f2f883cfe4ed32015b02]] - drm/i915: Mark a DragonFly-specific change as such
+* [[8cd49a211d49ef7dd16c81fc2a6c26e005b9aab8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8cd49a211d49ef7dd16c81fc2a6c26e005b9aab8]] - drm/i915: build firmware handling code
+* [[8b61fe779792f35b9a2f8c2b9e45464d50374f11|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8b61fe779792f35b9a2f8c2b9e45464d50374f11]] - drm/i915/trace: Add missing include files
+* [[cbb82693c18fd71b4eb86855b82d03995f352d65|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cbb82693c18fd71b4eb86855b82d03995f352d65]] - if_iwm - Sync valid_tx_ant and valid_rx_ant mask handling with iwlwifi.
+* [[250a1c33fca1725121fe499f9cebc90267d209f9|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/250a1c33fca1725121fe499f9cebc90267d209f9]] - if_iwm - Sync iwm_nvm_read_chunk() function with Linux iwlwifi.
+* [[b97941862d5694ea8872275b9dd02d81c8fd931a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b97941862d5694ea8872275b9dd02d81c8fd931a]] - if_iwm - Remove two duplicate const qualifiers.
+* [[31517ca9069dca83e19f06f6be74db195f22acb8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/31517ca9069dca83e19f06f6be74db195f22acb8]] - hyperv: Implement cpucounters.
+* [[94b501399fde6368ae388a669c95b099a6e66e93|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/94b501399fde6368ae388a669c95b099a6e66e93]] - if_iwm - Handle AUTH->SCAN/INIT and ASSOC->SCAN/INIT better
+* [[53a009d6f66108b40d622ed90ea95eba5c0e5432|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/53a009d6f66108b40d622ed90ea95eba5c0e5432]] - if_iwm - Factor out and improve iwm_mvm_scan_rxon_flags() in if_iwm_scan.c.
+* [[1e0cf8ec6fcd77978f5336297ece61a415790f84|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1e0cf8ec6fcd77978f5336297ece61a415790f84]] - if_iwm - Use notification wait API to wait for calibration to complete.
+* [[2427de166a76b82b8388c371c073111082acfa83|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2427de166a76b82b8388c371c073111082acfa83]] - if_iwm - Add some pcie device stop code from iwlwifi. Adjust a delay.
+* [[710fdd011c30a1bd9f53b87c843fb8907c4a6cfd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/710fdd011c30a1bd9f53b87c843fb8907c4a6cfd]] - if_iwm - Remove OpenBSD-specific comment. Beautify pci cfg space accesses.
+* [[92cc3b9fc5a9e6dc3278e9e4d485e83789d73055|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/92cc3b9fc5a9e6dc3278e9e4d485e83789d73055]] - if_iwm - Remove some unneeded #include-s from all .c files.
+* [[75895a53a9c1ba60d75be9b4bf6e49a37f91a7cf|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/75895a53a9c1ba60d75be9b4bf6e49a37f91a7cf]] - if_iwm - Sync statistics API definitions with Linux iwlwifi.
+* [[aba448de727e9b122adadeb36fd00a8ad6018d4f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/aba448de727e9b122adadeb36fd00a8ad6018d4f]] - if_iwm - Refuse connection to APs with beacon interval < 16.
+* [[f88ab372284e63c4c13da93e9026a203b9b4cdc5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f88ab372284e63c4c13da93e9026a203b9b4cdc5]] - if_iwm - Add iwm_nic_unlock() calls missing from previous commit.
+* [[b8674cff3d2808cded6daa41e6a9df70cf5732fd|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8674cff3d2808cded6daa41e6a9df70cf5732fd]] - drm - Fix subtle plane masking bug.
+* [[b484d09d54301740f036ddf02008117f563960c2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b484d09d54301740f036ddf02008117f563960c2]] - if_iwm - Add scan abort functions, to properly cancel a running scan.
+* [[f414b8da30816705e32573cc58097cacac34f161|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f414b8da30816705e32573cc58097cacac34f161]] - if_iwm - Get rid of unneeded IWM_FWDMASEGSZ and IWM_FWMAXSIZE constants
+* [[35f0e6c86c1654323d6b19f7a077f4ab8ac85868|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/35f0e6c86c1654323d6b19f7a077f4ab8ac85868]] - if_iwm - Simplify device id matching code a bit.
+* [[fccb38ab368b901be2a8d2d6357c78b73fd71dbe|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fccb38ab368b901be2a8d2d6357c78b73fd71dbe]] - drm/linux: Add sign_extend64()
+* [[7f03b76b5fde4aeec9492caee92e0d89af7ddc71|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7f03b76b5fde4aeec9492caee92e0d89af7ddc71]] - sdhci - Add a new interface method, get_card_present.
+* [[37d179535cd9fc03e4cd067bc5d3760f4aba9f7b|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/37d179535cd9fc03e4cd067bc5d3760f4aba9f7b]] - kernel/mmcsd: Add some dummy values for d_nheads and d_secpertrack.
+* [[5df2bc4977fd0112ec12c8b8632ac083f288136d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5df2bc4977fd0112ec12c8b8632ac083f288136d]] - if_iwm - Use htole16 for policy field in struct iwm_time_event_cmd_v2.
+* [[62a4e7957a736b4de38938b02fa7eb9b45bc5d0d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/62a4e7957a736b4de38938b02fa7eb9b45bc5d0d]] - if_iwm - Switch arguments from iwm_node* to iwm_vap* in if_iwm_power.c.
+* [[fefad7a79f2a97ff0878b0dc59f938a04a1cece3|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fefad7a79f2a97ff0878b0dc59f938a04a1cece3]] - drm/radeon: Replace some spinlocks by lockmgr locks
+* [[f95003b8f1f7382c8396a6d408e3072632afdd3d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f95003b8f1f7382c8396a6d408e3072632afdd3d]] - if_iwm - Remove support for fw older than -17 and -22
+* [[19b2b39ddcb96e9acb2bfa544c4b368edfe81166|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/19b2b39ddcb96e9acb2bfa544c4b368edfe81166]] - sys/dev/disk/dm: Remove obvious/redundant/disabled kprintfs
+* [[474310725fef606697c0703f34b81e586796d1b7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/474310725fef606697c0703f34b81e586796d1b7]] - kernel - Add trackpoint and elantech mouse support (2)
+* [[52c3adbee676d8558065618e5ad694ea5c6697e0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/52c3adbee676d8558065618e5ad694ea5c6697e0]] - if_iwm - Clean up if_iwm_power.c a bit. Fix iwm_power_scheme debug print.
+* [[efb7d4eb5c3140889a8880e12fd83c7bbfd0059d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/efb7d4eb5c3140889a8880e12fd83c7bbfd0059d]] - if_iwm - Very basic DTS thermal sensor support (prints temp as debug msg).
+* [[1f7ae36fb6df06a33ef5184f702b09aebeb4bb05|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1f7ae36fb6df06a33ef5184f702b09aebeb4bb05]] - re: Fix typo for disabling txcsum.
+* [[a8e9a5d25e975f129d174f6d668c7d491cc0ba29|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a8e9a5d25e975f129d174f6d668c7d491cc0ba29]] - kernel/iwm: Fix building into the kernel without IWM_DEBUG.
+* [[612855b1a8c321ec9ba34f63edf913e7ecff8363|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/612855b1a8c321ec9ba34f63edf913e7ecff8363]] - if_iwm - Fix typo in commit a7697ea01c11fd493aec52260a02f31df680eb91.
+* [[5b210ee3c06ba1b9b22473e350ac501f0534390a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5b210ee3c06ba1b9b22473e350ac501f0534390a]] - Move efirt.ko's source to sys/dev/misc/efirt.
+* [[5a9835ae839593ab8105e055dadacd6d02a8e684|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5a9835ae839593ab8105e055dadacd6d02a8e684]] - cpuctl(4): Require write rights for CPUCTL_MSRSBIT and CPUCTL_MSRCBIT.
+* [[cc6703ed6a5969e9fc3cdbb4e59f0e53281f0f46|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cc6703ed6a5969e9fc3cdbb4e59f0e53281f0f46]] - vkernel: Prevent clang optimizing out the traps.
+* [[ff4d1fc3ed002c9fb362423da6c45d711b65658a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ff4d1fc3ed002c9fb362423da6c45d711b65658a]] - if_iwm - Get rid of some gratuitous constant renaming wrt. Linux iwlwifi.
+* [[0e589b85686434c5a4deb4cf3514d3e9f02df367|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0e589b85686434c5a4deb4cf3514d3e9f02df367]] - ahci - Adjust a few things
+* [[288315ffc7fd83fad66ee740ee46e1db64cce67a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/288315ffc7fd83fad66ee740ee46e1db64cce67a]] - if_iwm - Fix comments and struct definition for struct iwm_sf_cfg_cmd.
+* [[99e67e8c420dac19ea52495627da7c19ce22c219|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/99e67e8c420dac19ea52495627da7c19ce22c219]] - i386 removal, part 53/x: Remove the code of the fe(4) driver too.
+* [[1e59d1334bde37e93f702e78f96ed3bfcdd88119|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1e59d1334bde37e93f702e78f96ed3bfcdd88119]] - drm/linux: Implement tasklets
+* [[39f8331b1a6f295291e08c377da12a8e7a5436c0|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/39f8331b1a6f295291e08c377da12a8e7a5436c0]] - if_iwm - Sync nvm parsing code with Linux iwlwifi.
+* [[c6b7218831be34afc3c711f3808a2c28e537112d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c6b7218831be34afc3c711f3808a2c28e537112d]] - hyperv: Implement Hyper-V reference TSC cputimer.
+* [[69b57ec30fee1ae9fdf70856e8b6b3f12351405e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/69b57ec30fee1ae9fdf70856e8b6b3f12351405e]] - drm/linux: add sg_pcopy_{from/to}_buffer()
+* [[917ec290eeeeb73fe8bfa066cfc3303a55646424|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/917ec290eeeeb73fe8bfa066cfc3303a55646424]] - drm: Sync drm_crtc.c with Linux 4.6
+* [[5d6b465e288ac5b52d7115688d4e6516acbbea1c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5d6b465e288ac5b52d7115688d4e6516acbbea1c]] - if_iwm - Update firmware rs table, instead of indexing the table in tx cmds.
+* [[9e3c8f638d5b727702de7307fa42ceded5080c2d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9e3c8f638d5b727702de7307fa42ceded5080c2d]] - sdhci - Add some missing register constants, and dump some more registers.
+* [[082d190b9e398c32f9d5a95dfc1cc073a9a2ddce|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/082d190b9e398c32f9d5a95dfc1cc073a9a2ddce]] - kernel - Fix minor bug in powermng
+* [[19bd59e4a136d9f93320462c0b42eae5b3e97dd3|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/19bd59e4a136d9f93320462c0b42eae5b3e97dd3]] - sys/dev/disk/dm: Make init/destroy handlers optional
+* [[ef688cebb9b29b67f7a011846589971987949e0d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ef688cebb9b29b67f7a011846589971987949e0d]] - if_iwm - Recognize IWM_FW_PAGING_BLOCK_CMD wide cmd response correctly.
+* [[a8524cc6c440e5ce9490ba2b0507c99ff6777c6d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a8524cc6c440e5ce9490ba2b0507c99ff6777c6d]] - if_iwm - Store paging_mem_size field in firmware image information struct.
+* [[138b1116cf1965d64993c8378b927aeab22d58b7|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/138b1116cf1965d64993c8378b927aeab22d58b7]] - drm/radeon: restore the fbdev mode in lastclose
+* [[420099d00ea92d319ceca3ebf56ac57aa064dd20|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/420099d00ea92d319ceca3ebf56ac57aa064dd20]] - if_iwm - Fix iwm_poll_bit() error value check in iwm_attach().
+* [[de7995a5e0ebf2d0016a87a0142a98c75db58fb4|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/de7995a5e0ebf2d0016a87a0142a98c75db58fb4]] - if_iwm - Change 2nd arg of iwm_phy_db_set_section() to struct iwm_rx_packet.
+* [[c4743e25ff145f8ed82215cd823ac0e59c2d8e2a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c4743e25ff145f8ed82215cd823ac0e59c2d8e2a]] - if_iwm - Remove unused fw_totlen field in struct iwm_fw_sects.
+* [[2c2175b343ca76ccf1f1c95b45752bdc7de7cd74|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2c2175b343ca76ccf1f1c95b45752bdc7de7cd74]] - sdhci - Use pci_alloc_1intr in sdhci pci attachement.
+* [[6a6d661d9def0fdc54a3a908e6e4078861ee298f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6a6d661d9def0fdc54a3a908e6e4078861ee298f]] - drm/linux: Add acpi/video.h
+* [[3b7fc5aac51f81062da0a2c8fdac23e683fbd548|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3b7fc5aac51f81062da0a2c8fdac23e683fbd548]] - if_iwm - Allow listening on both chains/atennas to get diversity.
+* [[9ed6fcdb4ff9d712f0d38b633836f42a4bd7491f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9ed6fcdb4ff9d712f0d38b633836f42a4bd7491f]] - acpi: Save I/O ports for I/O ports range, as long as its reasonable.
+* [[fd4f9de8bc72ea961e50829b45b59d0549040b7d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fd4f9de8bc72ea961e50829b45b59d0549040b7d]] - if_iwm - Add firmware API definitions for TX power commands.
+* [[6a8958677c5400e80317abe422001f09fc279e96|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6a8958677c5400e80317abe422001f09fc279e96]] - drm/linux: Add kstrtouint()
+* [[b8bd6cd746d1f45e616ccfcbeed06dfe452a1108|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8bd6cd746d1f45e616ccfcbeed06dfe452a1108]] - if_iwm - Properly implement iwm_wme_update callback function.
+* [[76dba67c2ec64aa277a91b0ffaeb3db8ab94aa25|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/76dba67c2ec64aa277a91b0ffaeb3db8ab94aa25]] - kernel/adv: Fix extern type to match the real one.
+* [[0a797ca829eed434cff871686fb6b770c1341274|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0a797ca829eed434cff871686fb6b770c1341274]] - kernel/if_wi: Unlock before returning.
+* [[b5eb43f0280bbcfd26af51cf5a4b8e8ff3590b67|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b5eb43f0280bbcfd26af51cf5a4b8e8ff3590b67]] - if_iwm - Process multiple frames per RX buffer.
+* [[67b5e090efb225654815fed91020db6cfc16bb19|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/67b5e090efb225654815fed91020db6cfc16bb19]] - if_iwm - Check sc->sc_attached flag in suspend/resume callbacks.
+* [[82437db026041954e8bb988c6d084355b5f7a518|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/82437db026041954e8bb988c6d084355b5f7a518]] - drm/linux: kernel_ulong_t is defined in linux/mod_devicetable.h
+* [[a9e978f7d231d39b50a79cb8926a3b56d996658c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a9e978f7d231d39b50a79cb8926a3b56d996658c]] - drm/linux: add atomic64_cmpxchg()
+* [[ce43f57f5308b579ea21e8a5a29969114ba2247d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ce43f57f5308b579ea21e8a5a29969114ba2247d]] - if_iwm - Implement apmg_wake_up_wa workaround properly for 7000 family.
+* [[757eecf0e6c92745aa2eee95811e573c8300850e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/757eecf0e6c92745aa2eee95811e573c8300850e]] - if_iwm - Make ucode capabilities and api flags handling more like iwlwifi.
+* [[e79101d4474ff70e112c020c66a9cc27ff2647f5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e79101d4474ff70e112c020c66a9cc27ff2647f5]] - drm/linux: add few ida_* functions.
+* [[ab1d3efc208e797c1e09759cd506c95c0aeaa06e|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ab1d3efc208e797c1e09759cd506c95c0aeaa06e]] - if_iwm - Add the BSS's basic rates to iwm's LQ command, not all the rates.
+* [[5c64209cb69d2ebe065036809a4144dc6c8cd5f5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5c64209cb69d2ebe065036809a4144dc6c8cd5f5]] - drm/linux: Add get_nr_swap_pages()
+* [[cc624b1689c0caad8d17c4b4b4edeca001a07a88|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cc624b1689c0caad8d17c4b4b4edeca001a07a88]] - syscons - Fix syscons with UEFI fb when drm fb is registered during boot.
+* [[98dffbe0d47d06146981b227e06bb90e81519860|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/98dffbe0d47d06146981b227e06bb90e81519860]] - hyperv: Reorder the Hyper-V TSC initialization a bit.
+* [[70f95ad1b60e4279bd1c6dd51b832eb3e2e36c15|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/70f95ad1b60e4279bd1c6dd51b832eb3e2e36c15]] - i386 removal, part 61/x: Adjust some further #ifdefs.
+* [[c7dca6a74989f006e0da100a448b499f594c92d5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c7dca6a74989f006e0da100a448b499f594c92d5]] - drm: Partial revert of "drm: Sync drm_crtc.c with Linux 4.6"
+* [[1f249c981c4e89e7cde1836a75b61cac36dc7ac5|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1f249c981c4e89e7cde1836a75b61cac36dc7ac5]] - if_iwm - Use iwm_mvm_scan_stop_wait to properly abort scans.
+* [[20825c8ad4cfc4f8dad78be8e4abc57d502d218c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/20825c8ad4cfc4f8dad78be8e4abc57d502d218c]] - ath_hal: Add FCC6_FCCA regulatory domain (0x0014)
+* [[83a1185edeede081051a6c00417d4c5a8f5988eb|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/83a1185edeede081051a6c00417d4c5a8f5988eb]] - if_iwm - Move iwm_dma_contig_alloc/_free functions to if_iwm_util.c.
+* [[fa3094dbf7f6435624adcbda41fb0cd34de29570|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fa3094dbf7f6435624adcbda41fb0cd34de29570]] - drm/linux: implement div64_u64_rem() helper in math64.h
+* [[28d082dd4654cb35f336ab89d3fe1f360c780a8d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/28d082dd4654cb35f336ab89d3fe1f360c780a8d]] - sys/dev/disk/dm: Make dmdebug() print __func__
+* [[f1c11ff5d497df59257e244c48f234711f98c0f1|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f1c11ff5d497df59257e244c48f234711f98c0f1]] - drm/i915: Fix typo in get_bdb_header(), fixes vbt validity check.
+* [[2d695c09ee6b3f48db20cbe87ad34183127e32a2|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2d695c09ee6b3f48db20cbe87ad34183127e32a2]] - sdhci - Use the right capability field for printing the bus width.
+* [[e98ee77a816bfd8b4912047b93dfb2c560788f24|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e98ee77a816bfd8b4912047b93dfb2c560788f24]] - if_iwm - Synchronize firmware loading code with Linux iwlwifi.
+* [[a7697ea01c11fd493aec52260a02f31df680eb91|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a7697ea01c11fd493aec52260a02f31df680eb91]] - if_iwm - Sync IWM_MVM_ALIVE waiting and start_fw handling with iwlwifi.
+* [[848ab9a35b2f0b0a12f0b361199b6bb9c52ee2a6|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/848ab9a35b2f0b0a12f0b361199b6bb9c52ee2a6]] - if_iwm - Use chan list from ieee80211_scan_state for scan, not ic_channels.
+* [[e57b1815044eab7f8ebcf525ab5911143e1f80c1|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e57b1815044eab7f8ebcf525ab5911143e1f80c1]] - drm/linux: Add request_firmware_nowait()
+* [[0e645f475f5f417a016f2f68473b303a389c23ba|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0e645f475f5f417a016f2f68473b303a389c23ba]] - vkernel - Fix races in if_vke.c
+* [[0cb0a810cb4e04b30937cb4260e779f717a86492|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0cb0a810cb4e04b30937cb4260e779f717a86492]] - if_iwm - Switch 7265D and 3165 devices to 7265D firmware.
+* [[4b1006a6e4d0f61d48c67b46e1f791e30837db67|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4b1006a6e4d0f61d48c67b46e1f791e30837db67]] - iwm - Reduce gratuitous differences with Linux iwlwifi in struct naming.
+* [[3e9aaef308100a4d630feffc131e3aca2ae12f8a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3e9aaef308100a4d630feffc131e3aca2ae12f8a]] - if_iwm - Remove dead code from iwm_pcie_load_cpu_sections().
+* [[02b1bea02c6a2bccaedf9480a4f6695d4c0beb49|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/02b1bea02c6a2bccaedf9480a4f6695d4c0beb49]] - cxm(4): Fix type mismatches on firmware variables.
+* [[d7ecd68be5ad5eebfdec4059c00330235786927f|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d7ecd68be5ad5eebfdec4059c00330235786927f]] - if_iwm - Fix up RSSI calculations for scan results and normal RX operations.
+* [[d11dcf6adbe99ce3eb4e7de76aa6810b7c44cd2c|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d11dcf6adbe99ce3eb4e7de76aa6810b7c44cd2c]] - drm/linux: Add vmap()
+* [[fb572d17facb99509210208b5c7e0aa2120d7079|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fb572d17facb99509210208b5c7e0aa2120d7079]] - drm: Implement and use Linux struct device
+* [[347f670a67679f7b4b6e6b9112ba648f96a6cc38|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/347f670a67679f7b4b6e6b9112ba648f96a6cc38]] - drm/linux: Add ktime_get_boottime and ktime_ms_delta()
+* [[b5cdd8067951dc90271ab104ef555b3b5a4d5d5a|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b5cdd8067951dc90271ab104ef555b3b5a4d5d5a]] - if_iwm - Get rid of struct iwm_rx_data argument for iwm_mvm_rx_rx_mpdu.
+* [[6bf7fbb4144bdc701224764dcadc2336d4112687|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6bf7fbb4144bdc701224764dcadc2336d4112687]] - syscons - Handle kms framebuffer activation better when not in text mode.
+* [[81d656081e06cb3a98b05fd2d1570902ee56731d|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/81d656081e06cb3a98b05fd2d1570902ee56731d]] - drm/i915: Set GPU freq to idle_freq initially
+* [[9b497556328a94fbc235cb9cb6d14e792251f178|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9b497556328a94fbc235cb9cb6d14e792251f178]] - drm/linux: Add kasprintf and kvasprintf()
+* [[3370bc5504ebb3c1b9bb960a185cd0c8052a2845|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3370bc5504ebb3c1b9bb960a185cd0c8052a2845]] - if_iwm - Tiny cleanup in iwm_rx_addbuf().
+* [[dda889ac57d8e5b46bb1b1ecf53c17a18481c7c8|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/dda889ac57d8e5b46bb1b1ecf53c17a18481c7c8]] - if_iwm - Ignore IWM_DEBUG_LOG_MSG notifications.
+* [[61f2dcf2f8a2c33f69f7ef5abca8b106e4d1b912|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/61f2dcf2f8a2c33f69f7ef5abca8b106e4d1b912]] - syscons - Remove unneeded NULL check from register_framebuffer().
+* [[e54a5ebe1729636c555002fc46d6fd0939479f29|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e54a5ebe1729636c555002fc46d6fd0939479f29]] - if_iwm - Remove unused wantresp field in iwm_rx_data struct.
+* [[aa128dc02a17c2e616232ef0fa997121e969c995|https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/aa128dc02a17c2e616232ef0fa997121e969c995]] - if_iwm - Already call iwm_mvm_power_update_mac() during SCAN<->AUTH paths.

(Diff truncated)
MyUserPage
diff --git a/doc/users/martymcfly.mdwn b/doc/users/martymcfly.mdwn
new file mode 100644
index 0000000..1b86ce4
--- /dev/null
+++ b/doc/users/martymcfly.mdwn
@@ -0,0 +1 @@
+Ikiwiki-Newbie-user with Asciidoc-ambitions.

Added a comment: PS
diff --git a/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered/comment_1_7e7345fadad209c26c62cab6e2b9f1a9._comment b/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered/comment_1_7e7345fadad209c26c62cab6e2b9f1a9._comment
new file mode 100644
index 0000000..c7aeb5f
--- /dev/null
+++ b/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered/comment_1_7e7345fadad209c26c62cab6e2b9f1a9._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="martymcfly@55267c498da1bbb4b9fe2a8baadc45dc1bd8f57a"
+ nickname="martymcfly"
+ avatar="http://cdn.libravatar.org/avatar/ca6b7c22733653ded358b982cce0e616"
+ subject="PS"
+ date="2017-03-09T14:00:21Z"
+ content="""
+There was no suspicious log messages in the apache log files about it.
+"""]]

Ikiwiki error with Asciidoc
diff --git a/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered.mdwn b/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered.mdwn
new file mode 100644
index 0000000..515e8c1
--- /dev/null
+++ b/doc/forum/ikwiki_with_AsciiDoc:_page_cannot_be_rendered.mdwn
@@ -0,0 +1,16 @@
+Hallo ikiwiki-team!
+
+I would like to setup ikwiki with AsciiDoc. So far I was able to install the [asciidoc.pm plugin](https://ikiwiki.info/plugins/contrib/asciidoc/) and got it to run.
+However when saving a page of Page type Asciidoc I encounter the error:
+
+> asciidoc: ERROR: unsafe: ifeval invalid asciidoc: FAILED: ifeval invalid safe document
+
+This also happens when I afterwards open that page with asciidoc markup. It seems to me that this is a rendering problem!?
+
+Installed on Debian Jessie with ikiwiki version 3.20141016.4
+
+What can I do to make it work?
+
+Cheers!
+
+Dennis

cleanup
diff --git a/doc/test_page_space_allowed.mdwn b/doc/test_page_space_allowed.mdwn
deleted file mode 100644
index c7d8cc3..0000000
--- a/doc/test_page_space_allowed.mdwn
+++ /dev/null
@@ -1,3 +0,0 @@
-asdf asdf
-
-asdf <span style="color: #ee9d77;">asdf asdf</span>

diff --git a/doc/test_page_space_allowed.mdwn b/doc/test_page_space_allowed.mdwn
new file mode 100644
index 0000000..c7d8cc3
--- /dev/null
+++ b/doc/test_page_space_allowed.mdwn
@@ -0,0 +1,3 @@
+asdf asdf
+
+asdf <span style="color: #ee9d77;">asdf asdf</span>

test test blah blah
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 0872462..a9065ff 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -4,11 +4,16 @@ Sure it is.
 
 Nope my friend.
 
-<<<<<<< HEAD
-[[test link]]
-=======
-[[Test link]]
->>>>>>> 59f04c5ad3daf0c01e81d28ec1106e23567a1100
+List:
+
+* thing 1
+* thing 2 [[test page space allowed]]
+* thing 3
+* * sublist a? [[TestPage]]
+* * sublist b [[testpage]]
+* thing 4
+
+
 
 [[!meta date="Thu Jun 16 22:04:33 2005" updated="Thu Dec 22 01:23:20 2011"]]
 

speed up commenting by optionally providing a comment form in static pages
diff --git a/doc/todo/comment_posting_form_in_static_pages.mdwn b/doc/todo/comment_posting_form_in_static_pages.mdwn
new file mode 100644
index 0000000..e1246a2
--- /dev/null
+++ b/doc/todo/comment_posting_form_in_static_pages.mdwn
@@ -0,0 +1 @@
+I'd like to speed up the opportunity for people to comment on my ikiwiki, by having the comment-composition form included in static pages, below the existing comments. My initial hacks have been thwarted because the CGI-generated comment composition form has hidden elements with a session ID (a feature of CGI::FormBuilder I think) to prevent exactly this. -- [[users/jon]] [[!tag wishlist]]

Added a comment
diff --git a/doc/forum/Password_protect_whole_wiki/comment_5_239d0640c229ae50bf85796b376595cf._comment b/doc/forum/Password_protect_whole_wiki/comment_5_239d0640c229ae50bf85796b376595cf._comment
new file mode 100644
index 0000000..4602a77
--- /dev/null
+++ b/doc/forum/Password_protect_whole_wiki/comment_5_239d0640c229ae50bf85796b376595cf._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="jmtd@d79be1606aba831a3b476d5fff7d99f4b321eab2"
+ nickname="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/96f1bc700fdf0fc814f40c90391a6b53"
+ subject="comment 5"
+ date="2017-03-03T14:48:02Z"
+ content="""
+CGI-only wishlist item I mentioned: [[todo/CGI-only_mode]]
+"""]]

Added a comment
diff --git a/doc/forum/Password_protect_whole_wiki/comment_4_0bebd42b23b4c238831272061486a6ef._comment b/doc/forum/Password_protect_whole_wiki/comment_4_0bebd42b23b4c238831272061486a6ef._comment
new file mode 100644
index 0000000..e019d02
--- /dev/null
+++ b/doc/forum/Password_protect_whole_wiki/comment_4_0bebd42b23b4c238831272061486a6ef._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="jmtd@d79be1606aba831a3b476d5fff7d99f4b321eab2"
+ nickname="jmtd"
+ avatar="http://cdn.libravatar.org/avatar/96f1bc700fdf0fc814f40c90391a6b53"
+ subject="comment 4"
+ date="2017-03-03T14:29:11Z"
+ content="""
+If we are talking about configuring the HTTPD to use HTTP basic auth, the UI for HTTP Basic authentication is not great; it is not well supported on mobile devices; it's not well managed by browsers which can remember login credentials and it's not well supported by password managers. Most serious web applications do not use it and instead have their own bespoke session management stuff. Indeed Ikiwiki already has machinery for logins and sessions (I've just completed it on ikiwiki.info to post this comment). So I still think it would be nice to have it necessary to log in to view some, or all, pages in some circumstances.
+
+Of course for HTTPD-mediated login, it doesn't have to be HTTP Basic, but not many users will have the skills or infrastructure to set up something like Shibboleth for their ikiwikis.
+
+To some extent this dovetails with another wishlist item of mine, which is the ability to generate a CGI-only ikiwiki. This is useful if you have an existing ikiwiki which is large, and you want to run a dev or test one in parallel, but don't want to share the src dir, and don't want to have a second git clone of the material knocking around. -- [[users/jon]]
+"""]]

my github mirror of ikiwiki has been deleted due to their horrible anti-free-software TOS
diff --git a/doc/git.mdwn b/doc/git.mdwn
index bcf454e..4661c46 100644
--- a/doc/git.mdwn
+++ b/doc/git.mdwn
@@ -25,10 +25,6 @@ think about merging them. This is recommended. :-)
 
 <!-- Machine-parsed format: * wikilink <git:url> -->
 
-* github `git://github.com/joeyh/ikiwiki.git`
-  ([browse](http://github.com/joeyh/ikiwiki/tree/master))  
-  A mirror of the main repo, automatically updated. Also provides http
-  cloning at `http://github.com/joeyh/ikiwiki.git`
 * l10n `git://l10n.ikiwiki.info/`
   Open push localization branch used for <http://l10n.ikiwiki.info/>
 * [[smcv]] `git://git.pseudorandom.co.uk/git/smcv/ikiwiki.git`

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_9_28efdafb7393e9ba03c61fb73ecad6be._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_9_28efdafb7393e9ba03c61fb73ecad6be._comment
new file mode 100644
index 0000000..f0fd9e6
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_9_28efdafb7393e9ba03c61fb73ecad6be._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
+ nickname="svetlana"
+ avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
+ subject="comment 9"
+ date="2017-02-21T22:02:44Z"
+ content="""
+From the above I think we maybe could 
+
+- write a .po plugin feature that if indexpages is enabled then it logs a warning and disables itself, and
+- write an ikiwiki feature that when indexpages is toggled then ikiwiki renames the source files accordingly...
+"""]]

+aka use page/index.mdwn source files
diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn
index b7c1582..0a764b6 100644
--- a/doc/plugins/po.mdwn
+++ b/doc/plugins/po.mdwn
@@ -36,7 +36,7 @@ rendered as `bla/page/index.fr.html`, else as `bla/page.fr.html`
 (In)Compatibility
 =================
 
-This plugin does not support the `indexpages` mode. If you don't know
+This plugin does not support the `indexpages` mode (a.k.a. "use page/index.mdwn source files"). If you don't know
 what it is, you probably don't care.
 
 

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_8_b7cbce4cfea17c2bbd28f6f450deff9a._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_8_b7cbce4cfea17c2bbd28f6f450deff9a._comment
new file mode 100644
index 0000000..2faacf1
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_8_b7cbce4cfea17c2bbd28f6f450deff9a._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="comment 8"
+ date="2017-02-21T18:21:19Z"
+ content="""
+> Is .po plugin able to work if the user chooses to use foo/index.mdwn ?
+
+Discussion on [[plugins/po/discussion]] in 2009, before the (then third party)
+po plugin was merged, says it is known not to work in that configuration.
+"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_7_9bac21d9ae3467ae2abb7aa2cfd9ec20._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_7_9bac21d9ae3467ae2abb7aa2cfd9ec20._comment
new file mode 100644
index 0000000..6e7ab94
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_7_9bac21d9ae3467ae2abb7aa2cfd9ec20._comment
@@ -0,0 +1,25 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="comment 7"
+ date="2017-02-21T18:17:34Z"
+ content="""
+> Is .po plugin able to work if the user chooses to use foo/index.mdwn ?
+
+Your guess is as good as mine. That configuration is really unusual (I'm not quite
+sure why we even have it as an option), and the po plugin is also unusual (not
+many people go to the effort of translating their wikis), so it seems likely that
+you're the first person to try the two together.
+
+> Is ikiwiki able to move files back and forth when the user toggles the
+> 'use foo/index.mwdn' setting?
+
+Not that I know of. If it could, it would likely require you to run
+`ikiwiki-transition`, but that tool doesn't seem to have any modes that
+seem relevant.
+
+> In the case the user toggles this setting, does the .po plugin adapt to the
+> new value (both ways) and move its files around too?
+
+Almost certainly no.
+"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_6_33024f2e1cc6b7972bcb0527c1dae400._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_6_33024f2e1cc6b7972bcb0527c1dae400._comment
new file mode 100644
index 0000000..dbc292c
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_6_33024f2e1cc6b7972bcb0527c1dae400._comment
@@ -0,0 +1,15 @@
+[[!comment format=mdwn
+ username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
+ nickname="svetlana"
+ avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
+ subject="comment 6"
+ date="2017-02-21T03:56:18Z"
+ content="""
+I misread \"nobacklinks\" as \"no backlinks\". Turns out setting it to 0 after applying that patch fixes the problem. This whole discussion is now resolved in short term.
+
+In long term, there are a few remaining questions.
+
+- Is .po plugin able to work if the user chooses to use foo/index.mdwn ?
+- Is ikiwiki able to move files back and forth when the user toggles the 'use foo/index.mwdn' setting?
+- In the case the user toggles this setting, does the .po plugin adapt to the new value (both ways) and move its files around too?
+"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_5_2cbb00d925663f8fe3017a00596613d6._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_5_2cbb00d925663f8fe3017a00596613d6._comment
new file mode 100644
index 0000000..15820df
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_5_2cbb00d925663f8fe3017a00596613d6._comment
@@ -0,0 +1,40 @@
+[[!comment format=mdwn
+ username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
+ nickname="svetlana"
+ avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
+ subject="comment 5"
+ date="2017-02-21T03:47:34Z"
+ content="""
+Turns out always listing backlinks (if they exist) is intended behaviour. I followed \"[[todo/allow disabling backlinks]]\" todo page by editing ~/git.ikiwiki.info/IkiWiki/Render.pm 
+
+    diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
+    index e8ed627..6142846 100644
+    --- a/IkiWiki/Render.pm
+    +++ b/IkiWiki/Render.pm
+    @@ -1,4 +1,4 @@
+    -#!/usr/bin/perl
+    +#!/usr/local/bin/perl
+    
+     package IkiWiki;
+    
+    @@ -111,7 +111,8 @@ sub genpage ($$) {
+            }
+            templateactions($template, $page);
+    
+    -       my @backlinks=sort { $a->{page} cmp $b->{page} || $a->{url} cmp $b->{url} } backlinks($page);
+    +       my @backlinks=sort { $a->{page} cmp $b->{page} || $a->{url} cmp $b->{url} } backlinks($page)
+    +           unless defined $config{nobacklinks} && $config{nobacklinks} == 0;
+            my ($backlinks, $more_backlinks);
+            if (@backlinks <= $config{numbacklinks} || ! $config{numbacklinks}) {
+                    $backlinks=\@backlinks;
+    
+
+
+Here is line in config:
+
+    nobacklinks: 1
+
+
+
+and then \"perl Makefile.PL ;$MAKE;$MAKE install\" . But then running 'ikiwiki --rebuild --setup ~/wiki/ikiwiki.setup' makes no difference. Why ...
+"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_4_01ae20cdc4f105bd182049f5138a8dd2._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_4_01ae20cdc4f105bd182049f5138a8dd2._comment
new file mode 100644
index 0000000..d43c11e
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_4_01ae20cdc4f105bd182049f5138a8dd2._comment
@@ -0,0 +1,42 @@
+[[!comment format=mdwn
+ username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
+ nickname="svetlana"
+ avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
+ subject="comment 4"
+ date="2017-02-20T23:42:13Z"
+ content="""
+Fixed the .po marking pages as translatable -- 
+
+1. un-ticked \"use page/index.mdwn source files\"
+
+2. ran this script, committed, and pushed:
+
+```
+    
+    # Bash -- from http://mywiki.wooledge.org/BashFAQ/030
+    # Also requires GNU or BSD find(1)
+    # Recursively change all *.foo files to *.bar
+    
+    find . -type f -name 'index.mdwn' -print0 | while IFS= read -r -d '' f; do
+        mv -- \"$f\" \"${f%/index.mdwn}.mdwn\"
+    done
+ 
+    find . -type f -name 'index.ru.po' -print0 | while IFS= read -r -d '' f; do
+        mv -- \"$f\" \"${f%/index.ru.po}.ru.po\"
+    done
+    
+    find . -type f -name 'index.pot' -print0 | while IFS= read -r -d '' f; do
+        mv -- \"$f\" \"${f%/index.pot}.pot\"
+    done
+    
+    
+    mv ..mdwn index.mdwn
+    mv ..pot index.pot
+    mv ..ru.po index.ru.po
+```
+
+
+
+
+The problem with backlinks still stays so far.
+"""]]

Added a comment
diff --git a/doc/forum/Password_protect_whole_wiki/comment_3_39554aa379a9653dd1ccb8970d98f021._comment b/doc/forum/Password_protect_whole_wiki/comment_3_39554aa379a9653dd1ccb8970d98f021._comment
new file mode 100644
index 0000000..47422df
--- /dev/null
+++ b/doc/forum/Password_protect_whole_wiki/comment_3_39554aa379a9653dd1ccb8970d98f021._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="openmedi"
+ avatar="http://cdn.libravatar.org/avatar/563ffaff3b492c579bd8f094472e4506"
+ subject="comment 3"
+ date="2017-02-20T15:43:13Z"
+ content="""
+Thanks! I actually found an easy to follow guide that includes https via let encrypt [here](https://www.digitalocean.com/community/tutorials/how-to-set-up-password-authentication-with-apache-on-ubuntu-16-04).
+"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_3_5de086a73f26966be07925d48b3aa523._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_3_5de086a73f26966be07925d48b3aa523._comment
new file mode 100644
index 0000000..1c5bb67
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_3_5de086a73f26966be07925d48b3aa523._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
+ nickname="svetlana"
+ avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
+ subject="comment 3"
+ date="2017-02-19T21:59:25Z"
+ content="""
+I removed /home/public (the wiki build destination) and rebuilt it, re-enabled po plugin with \"* or */* or */*/* or */*/*/*\" in its pagespec settings, but it still only picks up root level pages. Subpages are not marked as translatable. This is a problem.
+
+The backlinks issue seems to not have resolved itself, either.
+
+Remarkably, removing sandbox.pot and sandbox.ru.po from ~/wiki made the sandbox page not translatable. It seems that the po plugin is looking for foo/bar.mdwn and foo/bar.pot and foo/bar.po.ru rather than foo/bar/index.mdwn, foo/bar/index.ru.po, foo/bar/index.pot and so on?
+
+I tried to disable \"use page/index.mdwn source files\" and rebuild the wiki, but now I have \"foo/bar/index/\" URIs and `[[foo/bar]]` is an unknown link marked with a question mark, so I'm going to fix it all up in the source files by hand and see if it helps...
+
+"""]]

removed
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_3_8aa03c750f434f2a6dfbd34a22e23397._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_3_8aa03c750f434f2a6dfbd34a22e23397._comment
deleted file mode 100644
index 012b97a..0000000
--- a/doc/forum/Inconsistency_in_pages_behaviour/comment_3_8aa03c750f434f2a6dfbd34a22e23397._comment
+++ /dev/null
@@ -1,11 +0,0 @@
-[[!comment format=mdwn
- username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
- nickname="svetlana"
- avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
- subject="comment 3"
- date="2017-02-19T21:48:21Z"
- content="""
-I removed /home/public (the wiki build destination) and rebuilt it, re-enabled po plugin with \"`* or */* or */*/* or */*/*/*`\" in its pagespec settings, but it still only picks up root level pages. Subpages are not marked as translatable. This is a problem.
-
-The backlinks issue seems to have resolved itself after doing this.
-"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_3_8aa03c750f434f2a6dfbd34a22e23397._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_3_8aa03c750f434f2a6dfbd34a22e23397._comment
new file mode 100644
index 0000000..012b97a
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_3_8aa03c750f434f2a6dfbd34a22e23397._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
+ nickname="svetlana"
+ avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
+ subject="comment 3"
+ date="2017-02-19T21:48:21Z"
+ content="""
+I removed /home/public (the wiki build destination) and rebuilt it, re-enabled po plugin with \"`* or */* or */*/* or */*/*/*`\" in its pagespec settings, but it still only picks up root level pages. Subpages are not marked as translatable. This is a problem.
+
+The backlinks issue seems to have resolved itself after doing this.
+"""]]

Update my (spalax) information
diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
index 49e3442..9f453f7 100644
--- a/doc/ikiwikiusers.mdwn
+++ b/doc/ikiwikiusers.mdwn
@@ -211,7 +211,7 @@ Personal sites and blogs
 * Kalle Söderman: [Seen Architecture](http://img.kalleswork.net), [Stockholm Project](http://stockholm.kalleswork.net) - Mainly -image galleries using the album and osm plugins with a customized html5 theme.
 * James Richardson's [wiki](https://jamestechnotes.com), [blog](https://jamesrichardson.name), and online [resume](https://resume.jamesrichardson.name).
 * [Amitai Schleier's site](https://schmonz.com/)
-* My ([[spalax]]) [professional website](http://paternault.fr)
+* [[spalax]]'s [professional website](http://paternault.fr)
 * [Aloodo Blog](http://blog.aloodo.org/)
 * Ninguém tem blog! - Restricted ikiwiki hosting
   * [Dissertos radicais](http://dissertosradicais.tem.blog.br)
diff --git a/doc/users/spalax.mdwn b/doc/users/spalax.mdwn
index a9a030c..2010fde 100644
--- a/doc/users/spalax.mdwn
+++ b/doc/users/spalax.mdwn
@@ -12,8 +12,8 @@ I wrote and maintain a few plugins, which are available here: [[https://atelier.
 
 I have a few things in mind. Their status is something between *I will implement it someday* to *maybe someone could need this* or *I will need it if I implement this killer website I have in mind*.
 
-* [[plugins/contrib/htaccessmanager]]: Create a cgi page to manage a htaccess file.
-
+* [[plugins/contrib/usermanager]]: Create a cgi page to manage users (add/remove users, give/remove administrative priviledge to users, change password, etc.
+* [[plugins/contrib/htaccess]]: Have an [[htacess|//httpd.apache.org/docs/current/howto/htaccess.html]] file to be automatically updated each time an user is added/deleted, or its password is changed).
 
 # Contact
 

Apology about the poor choice for the name of the sidebar2 plugin
diff --git a/doc/plugins/contrib/sidebar2/discussion.mdwn b/doc/plugins/contrib/sidebar2/discussion.mdwn
new file mode 100644
index 0000000..c3989e7
--- /dev/null
+++ b/doc/plugins/contrib/sidebar2/discussion.mdwn
@@ -0,0 +1,5 @@
+More than four years after having written and published this plugin, I kind of regret its name. It should have been called `manybars`, `multibars` or anything like that, but by calling it `sidebar2`, I hijacked the [[plugins/sidebar]] name, preventing the original author to update its own plugin.
+
+Anyway, it is too late to change the name back. I hope I did not offend anyone by doing so… Sorry about this.
+
+-- [[Louis|spalax]]

New plugin: verboserpc
diff --git a/doc/plugins/contrib/verboserpc.mdwn b/doc/plugins/contrib/verboserpc.mdwn
new file mode 100644
index 0000000..09446fe
--- /dev/null
+++ b/doc/plugins/contrib/verboserpc.mdwn
@@ -0,0 +1,83 @@
+[[!meta author="spalax"]]
+[[!template id=plugin name=verboserpc author="[[Louis|spalax]]"]]
+
+Debugging [external plugins](//ikiwiki.info/plugins/write/external/) is a pain, as soon as RPC is involved… This kind-of plugin tries to make it a little bit less painful.
+
+It acts as a proxy between Ikiwiki and the plugin (which, for the record, is an executable program communicating with Ikiwiki using [XML RPC](http://www.xmlrpc.com/) on standard input/output), and logs everithing on standard error.
+
+[[!toc]]
+
+# Example
+
+A sample output of a wiki compilation is shown below.
+
+    $ ikiwiki --setup wiki.setup --refresh --verbose
+    -> <?xml version="1.0" encoding="utf-8"?><methodCall><methodName>import</methodName><params></params></methodCall>
+    <- <?xml version='1.0'?>
+    <- <methodCall>
+    <- <methodName>hook</methodName>
+    <- <params>
+    <- <param>
+    <- <value><string>call</string></value>
+    <- </param>
+    <- <param>
+    <- <value><string>getsetup</string></value>
+    <- </param>
+    <- <param>
+    <- <value><string>type</string></value>
+    <- </param>
+    <- <param>
+    <- <value><string>getsetup</string></value>
+    <- </param>
+    <- <param>
+    <- <value><string>id</string></value>
+    <- </param>
+    <- <param>
+    <- <value><string>foo</string></value>
+    <- </param>
+    <- <param>
+    <- <value><string>last</string></value>
+    <- </param>
+    <- <param>
+    <- <value><boolean>0</boolean></value>
+    <- </param>
+    <- </params>
+    <- </methodCall>
+    -> <?xml version="1.0" encoding="utf-8"?><methodResponse><params><param><value><string>1</string></value></param></params></methodResponse>
+    <- <?xml version='1.0'?>
+    <- <methodResponse>
+    <- <params>
+    <- <param>
+    <- <value><struct>
+    <- <member>
+    <- <name>null</name>
+    <- <value><string></string></value>
+    <- </member>
+    <- </struct></value>
+    <- </param>
+    <- </params>
+    <- </methodResponse>
+    rebuilding wiki..
+    scanning index.mdwn
+    building index.mdwn
+    done
+
+# Enabling the plugin
+
+Let us say you want to debug a plugin `foo`, located somewhere in your [`libdir`](https://ikiwiki.info/plugins/install/).
+
+1. Do not not enable plugin `foo` in the ikiwiki setup file.
+2. Create a symbolic link named `foo.verboserpc` in one of your `libdir`, linking to the `verboserpc` plugin.
+3. In your setup file, enable plugin `foo.verboserpc`.
+
+That's it. When called, the `verboserpc` plugin will be called as `foo.verboserpc`, and will run program `foo`, while transmitting (to Ikiwiki and `foo`) and logging (to standard error) any input/output.
+
+# Does it work?
+
+Well… External plugins are still a pain to debug, even with this tool. If your plugin is written using python, and you are using the [`proxy`](http://source.ikiwiki.branchable.com/?p=source.git;a=blob;f=plugins/proxy.py;h=b61eb466c8d47ef839fc24e5d0ba54be3a9b23fa;hb=HEAD), it might be useless, since this proxy already have an option to log RPC calls (by giving `debug_fn=sys.stderr.write` as an option to the constructor of [`IkiWikiProcedureProxy`](http://source.ikiwiki.branchable.com/?p=source.git;a=blob;f=plugins/proxy.py;h=b61eb466c8d47ef839fc24e5d0ba54be3a9b23fa;hb=HEAD#l217)).
+
+I am not sure that this plugin is the solution to the problem of debugging external plugins. I am still publishing it here, hoping that someone might improve it into something useful…
+
+# Download and install
+
+Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/VerboseRPC]].

New plugin: pageversion
diff --git a/doc/forum/Questions_about_a_new_plugin/comment_5_1ea0be887d7490e0a9b4dc1c2fe886bd._comment b/doc/forum/Questions_about_a_new_plugin/comment_5_1ea0be887d7490e0a9b4dc1c2fe886bd._comment
new file mode 100644
index 0000000..afd0aa4
--- /dev/null
+++ b/doc/forum/Questions_about_a_new_plugin/comment_5_1ea0be887d7490e0a9b4dc1c2fe886bd._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="spalax"
+ subject="""Done!"""
+ date="2017-02-18T19:53:15Z"
+ content="""
+At last, I wrote this plugin. It was not on the top of my priority list, but I eventually did it.
+
+It is called [[plugins/contrib/pageversion]].
+
+Thank you very much for your advice: it is far better than what I had in mind before discussing it with you! :)
+"""]]
diff --git a/doc/plugins/contrib/pageversion.mdwn b/doc/plugins/contrib/pageversion.mdwn
new file mode 100644
index 0000000..9793801
--- /dev/null
+++ b/doc/plugins/contrib/pageversion.mdwn
@@ -0,0 +1,89 @@
+[[!meta author="spalax"]]
+[[!template id=plugin name=pageversion author="[[Louis|spalax]]"]]
+
+This plugin makes it possible to manage different versions of the same page, allowing to:
+
+- make older/newer versions available;
+- highlight the latest version.
+
+[[!toc]]
+
+# Rationale
+
+On my personal website/blog, I publish articles which I sometimes update. Sometimes, I add a few lines of text with a ``Updated on DATE.`` message; other times, I rewrite the whole article. In this latter case, I want:
+
+- the main version of the article to be the latest one;
+- oldest versions still to be available;
+- the main list of my articles to list only the latest version of each article.
+
+# Example
+
+For instance, on my personal website, article [one](//paternault.fr/pedago/sismologie/20150110/) has been updated to [two](//paternault.fr/pedago/sismologie/20150819/).
+
+- They both contain the directive `\[[!versionof parent]]`, marking them as a version of the [main article](//paternault.fr/pedago/sismologie) (which happens to be their parent page).
+- On the [old article](//paternault.fr/pedago/sismologie/20150819/), links to the other articles (only one here) are available.
+- On the [page listing my articles](//paternault.fr/pedago), only the latest article appears.
+- The [main page](//paternault.fr/pedago/sismologie) lists all versions of this article, and redirects to the latest one.
+
+# List of directives and pagespecs
+
+Pages are marked as versions as other pages using tags (subtags of `_pageversion/*`). Directive ``\[[!versionof]]`` simply add the appropriate tag to the current page (thus, one can ignore this directive, but it makes things easier).
+
+Pages can be marked as versions of another page (e.g. ``foo/version1`` and ``foo/version2`` are versions of page ``foo``), or versions of an arbitrary abstract page (called *label* later). There is no conflict between them (that is, pages marked as a version of page ``foo`` and as a version of label ``foo`` are not a version of the same page).
+
+## Directive `versionof`
+
+Marks current page as a version of another page. Its main forms are:
+
+- `\[[!versionof name=foo]]` Mark current page as a version of page ``foo`` (page ``foo`` is searched using the same [[linking rules|ikiwiki/SubPage/LinkingRules]] as a [[ikiwiki/WikiLink]]).
+- `\[[!versionof label=bar]]` Mark current page as a version of some abstract object labelled ``bar``.
+
+It may be convenient to refer to some particular page. Thus, those alternative forms are also available:
+
+- `\[[!versionof name]]` Mark current page as a version of itself.
+- `\[[!versionof parent]]` Mark current page as a version of its parent page.
+
+## Template `otherversions`
+
+To add a list to the other versions of a page (both older and newer), a template is provided. It is called with:
+
+    \[[!template id=otherversions version=VERSION template=INLINETEMPLATE]]
+
+Where:
+
+- *(Required)* Pages that are a version of `VERSION` are listed (for instance ``\[[!template id=otherversions version=name=foo]]``).
+- *(Optional)* Template `INLINETEMPLATE` is used (instead of the default `otherversionpage` template) in the [[ikiwiki/directive/inline]] directive listing the other pages.
+
+## Pagespec `versionof`
+
+A pagespec can match pages marked as a version of something using the pagespec `versionof`. It accepts the same arguments as the arguments as the ``versionof`` directive, that is:
+
+- `versionof(name=foo)`: Match pages which are a version of page ``foo``.
+- `versionof(name)`: Match pages which are a version of the current page.
+- `versionof(parent)`: Match pages which are a version of the parent page.
+- `versionof(label=bar)`: Match pages which are a version of some abstract object labelled ``bar``.
+
+Moreover, it takes one additional argument:
+
+- `versionof(any)`: Match pages which are a version of anything.
+
+## Pagespec `latestversion`
+
+An additional pagespec `latestversion` is provided. It accepts the same arguments as the `versionof` pagespec (that is:
+`latestversion(name=foo)`,
+`latestversion(name)`,
+`latestversion(parent)`,
+`latestversion(label=bar)`,
+`latestversion(any)`) but only the most recent page is matched.
+
+## Pagespec `latest_tagged`
+
+As a side effect, this plugin also provides the `latest_tagged(TAG)` pagespec. It matches one single page: the most recent page tagged with the given tag.
+
+## Directive `redirect`
+
+Directive ``\[[!redirect]]`` (from the [[redirect]] plugin) can be used together with this package. For instance, a page containing the directive ``\[[!redirect pages="versionof(page)"]]`` will redirect to the most recent page marked as a version of the current page.
+
+# Download and Install
+
+Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/PageVersion]].
diff --git a/doc/users/spalax.mdwn b/doc/users/spalax.mdwn
index d9e9c5f..a9a030c 100644
--- a/doc/users/spalax.mdwn
+++ b/doc/users/spalax.mdwn
@@ -13,7 +13,6 @@ I wrote and maintain a few plugins, which are available here: [[https://atelier.
 I have a few things in mind. Their status is something between *I will implement it someday* to *maybe someone could need this* or *I will need it if I implement this killer website I have in mind*.
 
 * [[plugins/contrib/htaccessmanager]]: Create a cgi page to manage a htaccess file.
-* [[forum/Questions_about_a_new_plugin]]
 
 
 # Contact

New plugin: redirect
diff --git a/doc/plugins/contrib/redirect.mdwn b/doc/plugins/contrib/redirect.mdwn
new file mode 100644
index 0000000..4bf315a
--- /dev/null
+++ b/doc/plugins/contrib/redirect.mdwn
@@ -0,0 +1,35 @@
+[[!meta author="spalax"]]
+[[!template id=plugin name=redirect author="[[Louis|spalax]]"]]
+
+This plugin provides a [[ikiwiki/directive/redirect]] [[ikiwiki/directive]].
+
+Using this, you can cause a page to redirect to another page (something similar to the ``redir`` option of the [[meta|http://ikiwiki.info/ikiwiki/directive/meta]] plugin.
+
+[[!toc]]
+
+# Directive
+
+It accepts options ``pages``, ``skip``, ``sort``, ``reverse``, which have the same meaning as they have in the [[inline|http://ikiwiki.info/ikiwiki/directive/inline/]] directive. It builds a list of pages using those arguments, and redirect the page to the first page of this list.
+
+It also renders a text *If you are not redirected automatically, follow \[[this link]].* This text can be customized by changing the template `redirect.tmpl`, which accepts a single variable ``TARGETPAGE``.
+
+# Example
+
+To have a page ``latest.html`` redirect to your latest blog post, have the following line into ``latest.mdwn``:
+
+    \[[!redirect pages="blog/* and !blog/*"]]
+
+# Setup
+
+This directive accepts no setup options.
+
+# Differences with the ``meta`` plugin
+
+* This directive is better than the ``redir`` option of the [[meta|http://ikiwiki.info/ikiwiki/directive/meta/]] plugin because it can redirect to (the first page of) a pagespec, meaning things like *"redirect to my latest blog post"*.
+* The ``redir`` option of the [[meta|http://ikiwiki.info/ikiwiki/directive/meta]] plugin is better than this directive because:
+  * it can redirect to an anchor ``\[[!meta redir="foo#bar"]]``;
+  * it can redirect to an external page ``\[[!meta redir="http://example.com"]]``.
+
+# Download and install
+
+Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Redirect]].

diff --git a/doc/tips/laptop_wiki_with_git/discussion.mdwn b/doc/tips/laptop_wiki_with_git/discussion.mdwn
index b44285d..fd5409e 100644
--- a/doc/tips/laptop_wiki_with_git/discussion.mdwn
+++ b/doc/tips/laptop_wiki_with_git/discussion.mdwn
@@ -1,3 +1,8 @@
+I have tried `gitorigin_branch:` and it does not seem to work. I have to use `gitorigin_branch: ''` to literally set it to empty string to make it work.
+[[newton108]]
+
+----
+
 I have followed this idea along, and it seems to work pretty well. 
 Now I have a question as a git newbie. Can I have the post-commit hook on the server use something like rsync to update the files on a third machine hosting the web server?  The web server does not have git (cretins!). Of course I could just run a cron job.
 
@@ -11,6 +16,8 @@ Or, was this last remark about rebuilding after pulling meant to apply to rebuil
 > Of course you don't need a web server on the laptop. It is useful for
 > previewing pages before publishing them though. --[[Joey]]
 
+----
+
 I have followed this idea too, however after pushing to the server running gitk in the scrdir shows that the remotes/origin/master branch is newer than the master. Is this normal? Have I reset the master branch to remotes/origin/master then every time when someone pushed something (and run ikiwiki -setup afterwards?)
 [[Micheal]]
 

Added a comment
diff --git a/doc/forum/Most_TMPL__95__VAR_variables_are_empty_in_a_template/comment_1_919425ab81ff72f1d8f1586519f19e69._comment b/doc/forum/Most_TMPL__95__VAR_variables_are_empty_in_a_template/comment_1_919425ab81ff72f1d8f1586519f19e69._comment
new file mode 100644
index 0000000..a25d4dd
--- /dev/null
+++ b/doc/forum/Most_TMPL__95__VAR_variables_are_empty_in_a_template/comment_1_919425ab81ff72f1d8f1586519f19e69._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="vegardv@75ae889e836bda8ce69bc038d8335c398a2f6f40"
+ nickname="vegardv"
+ avatar="http://cdn.libravatar.org/avatar/b35da1da5c23c19063f73defc0431ab0"
+ subject="comment 1"
+ date="2017-02-10T08:33:41Z"
+ content="""
+I have discovered the same. I have a template which contains <TMPL_VAR basename>. This used to insert the basename of the current page, but at some point this expansion stopped working.
+"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_2_204710a432cec8b291827e54962b55a5._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_2_204710a432cec8b291827e54962b55a5._comment
new file mode 100644
index 0000000..3fce6a9
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_2_204710a432cec8b291827e54962b55a5._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="svetlana@192500fb6a2e2ef8e78d1a08cca64b1bca9833b9"
+ nickname="svetlana"
+ avatar="http://cdn.libravatar.org/avatar/5821f2dec97d186ce3b455b806d33035"
+ subject="comment 2"
+ date="2017-02-09T21:48:05Z"
+ content="""
+Yes, I expected <http://svetlana.nfshost.com/irc/freenode/index.en.html> to be translatable into Russian and not have backlinks.
+
+$ ikiwiki --rebuild --verbose --setup ~/wiki/ikiwiki.setup
+
+<http://svetlana.nfshost.com/rebuild.txt>
+"""]]

Added a comment
diff --git a/doc/forum/Inconsistency_in_pages_behaviour/comment_1_bf6aaa61970215a76b2a14ac268f942b._comment b/doc/forum/Inconsistency_in_pages_behaviour/comment_1_bf6aaa61970215a76b2a14ac268f942b._comment
new file mode 100644
index 0000000..d0e2997
--- /dev/null
+++ b/doc/forum/Inconsistency_in_pages_behaviour/comment_1_bf6aaa61970215a76b2a14ac268f942b._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="smcv"
+ avatar="http://cdn.libravatar.org/avatar/0ee943fe632ff995f6f0f25b7167d03b"
+ subject="comment 1"
+ date="2017-02-09T12:13:02Z"
+ content="""
+Did you expect http://svetlana.nfshost.com/irc/freenode/index.en.html to be translatable into Russian and not have backlinks, for instance?
+
+This looks like you have changed configuration/templates and not (successfully!) done a full rebuild since then - but you said \"I think rebuilding the wiki is not affecting this problem\" so presumably you have *tried* to rebuild the wiki, it just didn't work (or didn't completely work). What exact command did you use, and what was its output?
+"""]]