]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/bugs/syslog_fails_with_non-ASCII_wikinames.mdwn
(no commit message)
[ikiwiki.git] / doc / bugs / syslog_fails_with_non-ASCII_wikinames.mdwn
index f2e3849f4c5a852f5d64e3642a59513c32f37a35..0d40d232a46bde83ac8995fb47af78eb090ba19b 100644 (file)
@@ -1,4 +1,4 @@
-[[!template  id=gitbranch branch=anarcat/syslog_utf8 author="[[anarcat]]"]]
+[[!template  id=gitbranch branch=anarcat/dev/syslog_utf8 author="[[anarcat]]"]]
 
 [[this feature|todo/syslog_should_show_wiki_name]] made it so syslog doesn't work anymore if the site being logged has non-ASCII characters it in.
 
@@ -14,26 +14,19 @@ My guess is this sits somewhere here:
 
 Yet I am not sure how to fix that kind of problem in Perl... --[[anarcat]]
 
-I tried to make this unit test:
+> If I remove the "eval" above, I get:
+> 
+>     Error: Wide character in syswrite at /usr/lib/perl/5.14/Sys/Syslog.pm line 485.
+> 
+> I have improved a little the error handling in log_message() so that we see *something* when syslog fails, see the branch documented above. I can also confirm that  reverting [[todo/syslog_should_show_wiki_name]] fixes the bug. Finally, I have a unit test that reproduces the problem in git, and a working patch for the bug, again in git.
+> 
+> > One last note: I noticed that this problem also happens elsewhere in ikiwiki. For example, the [[plugins/notifyemail]] plugin will silently fail to send notifications if the pages contain unicode. The [[plugins/notifychanges]] plugin I am working on (in [[todo/option to send only the diff in notifyemail]]) seems to be working around the issue so far, but there's no telling which similar problem are out there.
 
-[[!format perl """
-#!/usr/bin/perl
-use warnings;
-use strict;
-use Test::More tests => 5;
-
-BEGIN { use_ok("IkiWiki"); }
-
-$IkiWiki::config{verbose} = 1;
-$IkiWiki::config{syslog} = 1;
-$IkiWiki::config{wikiname} = 'ascii';
-ok(debug('test'));
-$IkiWiki::config{wikiname} = 'not â’¶SCII';
-ok(debug('test'));
-"""]]
-
-And I couldn't reproduce the problem. Therefore, I suspect the problem may be somewhere else - maybe in the options parsing? One thing that's for sure: when I put that funky character in the title, it breaks logging! If I remove the "eval" above, I get:
+>> I'd merge it. --[[smcv]]
 
-    Error: Wide character in syswrite at /usr/lib/perl/5.14/Sys/Syslog.pm line 485.
+>>> I've merged it, but I don't feel it fixes this bug. --[[Joey]]
 
-I have improved a little the error handling in log_message() so that we see *something* when syslog fails, see the branch documented above. I can also confirm that reverting [[todo/syslog_should_show_wiki_name]] fixes the bug.
+>>>> (I removed the patch tag to take it off the patches list.)
+>>>>
+>>>> What else is needed? Systematic classification of outputs into
+>>>> those that do and don't cope with Unicode? --[[smcv]]