From 84fc580e278aefda62c537a05661db8ae39e55e0 Mon Sep 17 00:00:00 2001 From: Arne Georg Gleditsch Date: Thu, 22 Sep 2011 14:49:40 +0200 Subject: Make "+" a legal character in release strings. --- lib/LXRng/Context.pm | 2 +- lib/LXRng/Web.pm | 2 +- tmpl/release_select.tt2 | 4 ++-- webroot/.static/js/lxrng-funcs.js | 10 ++++++---- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/LXRng/Context.pm b/lib/LXRng/Context.pm index 959151b..ab8d9f2 100644 --- a/lib/LXRng/Context.pm +++ b/lib/LXRng/Context.pm @@ -86,7 +86,7 @@ sub new { $$self{'tree'} = $args{'tree'}; } - if ($$self{'tree'} =~ s/[+]([^+]*)$//) { + if ($$self{'tree'} =~ s/[+](.+)$//) { $$self{'release'} = $1 if $1 ne '*'; } diff --git a/lib/LXRng/Web.pm b/lib/LXRng/Web.pm index 20ff899..2c72282 100644 --- a/lib/LXRng/Web.pm +++ b/lib/LXRng/Web.pm @@ -240,7 +240,7 @@ sub source { 'pjx_load_file' => '', 'pjx_load_fragment' => '', 'pjx_releases' => ''); - $pjx->js_encode_function('escape'); + $pjx->js_encode_function('encodeURIComponent'); if ($context->prefs and $context->prefs->{'navmethod'} eq 'ajax') { print($query->header(-type => 'text/html', diff --git a/tmpl/release_select.tt2 b/tmpl/release_select.tt2 index 2e12023..9172e24 100644 --- a/tmpl/release_select.tt2 +++ b/tmpl/release_select.tt2 @@ -1,8 +1,8 @@ diff --git a/webroot/.static/js/lxrng-funcs.js b/webroot/.static/js/lxrng-funcs.js index 5da1ef9..24e956d 100644 --- a/webroot/.static/js/lxrng-funcs.js +++ b/webroot/.static/js/lxrng-funcs.js @@ -327,12 +327,14 @@ function load_content() { return false; } var tree = location.hash.split('/', 1); - tree = tree[0].split(/[+]/); + tree[0].match(/^(.+?)([+](.*)|)$/); + tree = RegExp.$1; + var ver = ''; - if (tree.length > 1) { - ver = tree[1]; + if (RegExp.$2) { + ver = RegExp.$3; } - tree = tree[0].replace(/^#/, ''); + tree = tree.replace(/^#/, ''); var file = location.hash.replace(/^[^\/]*\/?/, ''); var line = file.split('#L'); if (line.length > 1) { -- cgit v1.2.3