X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f99bc3a273d86f86c06635a0ed57c0af5d1c0e55..dc76a6189faf22b50604a97db08ad9bd92b0245d:/doc/bugs/syslog_fails_with_non-ASCII_wikinames.mdwn?ds=sidebyside diff --git a/doc/bugs/syslog_fails_with_non-ASCII_wikinames.mdwn b/doc/bugs/syslog_fails_with_non-ASCII_wikinames.mdwn index f2e3849f4..0d40d232a 100644 --- a/doc/bugs/syslog_fails_with_non-ASCII_wikinames.mdwn +++ b/doc/bugs/syslog_fails_with_non-ASCII_wikinames.mdwn @@ -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]]