Show keyboard shortcuts in a consistent order in help
Perl's hash variables are not ordered so each time we run the CGI script for the help page we may get a different order. This caused bindings and names to appear differently on each reload. To fix this sort by keys when generating the shortcut tables. Fixes #133
This commit is contained in:
		| @@ -72,22 +72,26 @@ local (%funckeydesc, $key, $fname, $desc); | ||||
| %funcname = (%funcname, %buf_funcname, %lineedit_funcname, %menu_funcname); | ||||
|  | ||||
| %funcdesc = (%funcdesc, %buf_funcdesc, %lineedit_funcdesc, %menu_funcdesc); | ||||
| while (($fname, $desc) = each %funcdesc) { | ||||
|     $funckeydesc{$funcname{$fname}} = "$fname\n$desc\n"; | ||||
| # sort for consistent order each time this is run | ||||
| foreach my $fname (sort keys %funcdesc) { | ||||
|     $funckeydesc{$funcname{$fname}} = "$fname\n$funcdesc{$fname}\n"; | ||||
| } | ||||
|  | ||||
| while (($key, $fname) = each %keyfunc) { | ||||
| foreach $key (sort keys %keyfunc) { | ||||
|     $keydata{$key} && next; | ||||
|     $funckeydesc{$funcname{$fname}} .= "$key,"; | ||||
|     $funckeydesc{$funcname{$keyfunc{$key}}} .= "$key,"; | ||||
| } | ||||
| while (($key, $fname) = each %buf_keyfunc) { | ||||
|     $funckeydesc{$funcname{$fname}} .= "$key,"; | ||||
| foreach $key (sort keys %buf_keyfunc) { | ||||
|     $keydata{$key} && next; | ||||
|     $funckeydesc{$funcname{$buf_keyfunc{$key}}} .= "$key,"; | ||||
| } | ||||
| while (($key, $fname) = each %lineedit_keyfunc) { | ||||
|     $funckeydesc{$funcname{$fname}} .= "$key,"; | ||||
| foreach $key (sort keys %lineedit_keyfunc) { | ||||
|     $keydata{$key} && next; | ||||
|     $funckeydesc{$funcname{$lineedit_keyfunc{$key}}} .= "$key,"; | ||||
| } | ||||
| while (($key, $fname) = each %menu_keyfunc) { | ||||
|     $funckeydesc{$funcname{$fname}} .= "$key,"; | ||||
| foreach $key (sort keys %menu_keyfunc) { | ||||
|     $keydata{$key} && next; | ||||
|     $funckeydesc{$funcname{$menu_keyfunc{$key}}} .= "$key,"; | ||||
| } | ||||
|  | ||||
| print <<HEADING; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user