ikiwiki/IkiWiki/Plugin
Joey Hess 965f7310fe git: Fix handling of utf-8 filenames in recentchanges.
Seems that the problem is that once the \nnn coming from git is converted
to a single character, decode_utf8 decides that this is a standalone
character, and not part of a multibyte utf-8 sequence, and so does nothing.
I tried playing with the utf-8 flag, but that didn't work. Instead, use
decode("utf8"), which doesn't have the same qualms, and successfully
decodes the octets into a utf-8 character.

Rant:

Think for a minute about fact that any and every program that parses git-log,
or git-show, etc output to figure out what files were in a commit needs to
contain this snippet of code, to convert from git-log's wacky output to a
regular character set:

if ($file =~ m/^"(.*)"$/) {
	($file=$1) =~ s/\\([0-7]{1,3})/chr(oct($1))/eg;
}

(And it's only that "simple" if you don't care about filenames with
embedded \n or \t or other control characters.)

Does that strike anyone else as putting the parsing and conversion in the
wrong place (ie, in gitweb, ikiwiki, etc, etc)? Doesn't anyone who actually
uses git with utf-8 filenames get a bit pissed off at seeing \xxx\xxx
instead of the utf-8 in git-commit and other output?
2008-09-25 18:26:42 -04:00
..
aggregate.pm aggregate: Avoid uninitialized value warnings for pages with no recorded ctime. 2008-09-25 15:38:51 -04:00
amazon_s3.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
anonok.pm anonok is safe 2008-08-03 17:03:20 -04:00
attachment.pm attachment: Add admin() pagespec to test if the uploading user is a wiki admin. 2008-09-25 16:49:30 -04:00
autoindex.pm autoindex: Avoid re-adding previously deleted (or renamed) pages. 2008-08-26 14:39:47 -04:00
brokenlinks.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
bzr.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
calendar.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
camelcase.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
color.pm color: New plugin from ptecza. 2008-08-26 13:22:34 -04:00
conditional.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
creole.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
cutpaste.pm UNIVERSAL not used in this plugin 2008-09-05 13:44:52 -04:00
ddate.pm ddate: Stop clobbering timeformat when not enabled. 2008-09-08 19:40:23 -04:00
editdiff.pm editdiff: Broken since 2.62 due to wrong syntax, now fixed. 2008-09-17 14:34:02 -04:00
editpage.pm add missing page name sanity check 2008-09-20 22:48:22 -04:00
edittemplate.pm handle templates with special characters in name 2008-09-20 23:00:19 -04:00
embed.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
external.pm external: Fix support for hooks called in an array context. 2008-08-06 01:05:44 -04:00
favicon.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
filecheck.pm filecheck: Fall back to testing for binary or plain text files if no mime type is detected. 2008-09-01 15:00:15 -04:00
fortune.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
git.pm git: Fix handling of utf-8 filenames in recentchanges. 2008-09-25 18:26:42 -04:00
goodstuff.pm goodstuff update 2008-09-09 16:11:16 -04:00
googlecalendar.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
graphviz.pm graphviz: Fix breakage of the name of the preprocessor directive. 2008-08-14 14:44:30 -04:00
haiku.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
hnb.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
html.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
htmlscrubber.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
htmltidy.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
httpauth.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
img.pm img: Support sizes like 200x. Closes: #475149 2008-09-09 15:20:06 -04:00
inline.pm rootpage is not a pagespec 2008-09-14 13:50:34 -04:00
link.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
linkmap.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
listdirectives.pm listdirectives: Enable use of the directives underlay. 2008-09-11 18:46:32 -04:00
lockedit.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
map.pm map: The fix for #449285 was buggy and broke display of parents in certian circumstances. 2008-08-23 13:10:49 -04:00
mdwn.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
mercurial.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
meta.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
mirrorlist.pm if extrafooter is already set, append to it 2008-08-26 18:04:45 -04:00
monotone.pm Add simple patch to silence a warning when using monotone 2008-08-04 15:00:47 -04:00
more.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
norcs.pm add plugin safe/rebuild info (part 1 of 2) 2008-08-03 16:40:12 -04:00
opendiscussion.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
openid.pm include perl error in warning about openid 2008-09-23 12:59:43 -04:00
orphans.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
otl.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
pagecount.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
pagestats.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
pagetemplate.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
parentlinks.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
passwordauth.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
pingee.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
pinger.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
poll.pm fix a common case typo 2008-08-12 15:48:44 -04:00
polygen.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
postsparkline.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
prettydate.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
progress.pm avoid warning if percent value is not numeric 2008-09-20 16:31:27 -04:00
rawhtml.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
recentchanges.pm recentchanges: Fix redirects to non-page files. 2008-09-25 13:46:12 -04:00
recentchangesdiff.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
remove.pm rename, remove: Don't rely on a form parameter to tell whether the page should be treated as an attachment. 2008-09-23 17:41:05 -04:00
rename.pm rename: Hide type field from rename form when renaming attachments. 2008-09-23 19:31:34 -04:00
search.pm add plugin safe/rebuild info (part 2 of 3) 2008-08-03 17:20:21 -04:00
shortcut.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
sidebar.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
signinedit.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
skeleton.pm.example Fix typo in skeleton.pm.example: sessionncgi (with extra n) 2008-09-23 12:47:02 -04:00
smiley.pm remove dead code 2008-08-26 12:28:59 -04:00
sparkline.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
svn.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
table.pm use yesno 2008-09-02 18:20:17 -04:00
tag.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
template.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
testpagespec.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
teximg.pm willu's teximg changes 2008-08-24 15:21:51 -04:00
textile.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
tla.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
toc.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
toggle.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
txt.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
typography.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
version.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
websetup.pm save to real setup file, and rebuild/refresh 2008-08-05 20:11:56 -04:00
wikitext.pm add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00