Create new bug with patch
authorhttps://shinji.startssl.com/ <https://shinji.startssl.com/@web>
Mon, 28 Jan 2013 08:35:28 +0000 (04:35 -0400)
committeradmin <admin@branchable.com>
Mon, 28 Jan 2013 08:35:28 +0000 (04:35 -0400)
doc/bugs/recentchanges_sets_has__95__diffurl__61__1_when_diffurl_is_empty.mdwn [new file with mode: 0644]

diff --git a/doc/bugs/recentchanges_sets_has__95__diffurl__61__1_when_diffurl_is_empty.mdwn b/doc/bugs/recentchanges_sets_has__95__diffurl__61__1_when_diffurl_is_empty.mdwn
new file mode 100644 (file)
index 0000000..d0297bb
--- /dev/null
@@ -0,0 +1,16 @@
+recentchanges.pm sets the template variable HAS_DIFFURL to 1 based solely on whether or not diffurl is defined. I found that diffurl was defined, but empty. The recentchanges template depends on this for recentchangesdiff to properly function -- diff toggling is dependent on HAS_DIFFURL evaluating to false. Adding a check for a non-zero length diffurl fixed the issue for me. A patch against ikiwiki-3.20121212 is as follows:
+
+    --- a/IkiWiki/Plugin/recentchanges.pm      2013-01-27 20:08:59.000000000 -0800
+    +++ b/IkiWiki/Plugin/recentchanges.pm      2013-01-27 20:08:30.000000000 -0800
+    @@ -181,7 +181,8 @@ sub store ($$$) {
+                       else {
+                               $_->{link} = pagetitle($_->{page});
+                       }
+    -                  if (defined $_->{diffurl}) {
+    +                  if (defined $_->{diffurl} &&
+    +                          length($_->{diffurl}) > 0) {
+                               $has_diffurl=1;
+                       }
+     
+
+(There should be one more line at the bottom with a single space on it...)