diff options
| -rw-r--r-- | lib/LXRng/Context.pm | 2 | ||||
| -rw-r--r-- | lib/LXRng/Web.pm | 2 | ||||
| -rw-r--r-- | tmpl/release_select.tt2 | 4 | ||||
| -rw-r--r-- | 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 @@  <select name="v" id="v"   onchange="update_version(this, '[% context.base_url %]', '[% context.tree %]', '[% context.default_release %]', '[% context.path %]');">    [% FOREACH v = context.all_releases %] -  <option value="[% v %]" +  <option value="[% v | uri %]"  	  [% IF v == context.release %]selected="selected"[% END %]> -  [% v %]</option> +  [% v | html %]</option>    [% END %]  </select> 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) { | 
