X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f398ad035b973608d380c9939ea845d8e2a0cdc2..a6e69822f68864512d49a954a4581511246f0e0b:/IkiWiki/Plugin/shortcut.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/shortcut.pm b/IkiWiki/Plugin/shortcut.pm
index 0cedbe447..98df143ab 100644
--- a/IkiWiki/Plugin/shortcut.pm
+++ b/IkiWiki/Plugin/shortcut.pm
@@ -73,11 +73,21 @@ sub shortcut_expand ($$@) {
 	add_depends($params{destpage}, "shortcuts");
 
 	my $text=join(" ", @params);
-	my $encoded_text=$text;
-	$encoded_text=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
 	
-	$url=~s{\%([sS])}{
-		$1 eq 's' ? $encoded_text : $text
+	$url=~s{\%([sSW])}{
+		if ($1 eq 's') {
+			my $t=$text;
+			$t=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
+			$t;
+		}
+		elsif ($1 eq 'S') {
+			$text;
+		}
+		elsif ($1 eq 'W') {
+			my $t=Encode::encode_utf8($text);
+			$t=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
+			$t;
+		}
 	}eg;
 
 	$text=~s/_/ /g;