diff --git a/exec/xtrn_sec.js b/exec/xtrn_sec.js index b11dfe1850ccd2dcf2190ccb17bc32cb93aa62ba..7755f99079003a9fc3743e0599bec46f3a8f6047 100644 --- a/exec/xtrn_sec.js +++ b/exec/xtrn_sec.js @@ -96,7 +96,7 @@ function digits(n) { if (n/10 == 0) return 1; - return 1 + digits(n / 10); + return 1 + digits(Math.floor(n / 10)); } function external_program_menu(xsec) @@ -177,12 +177,15 @@ function external_program_menu(xsec) else n=prog_list.length; + var max_digits = digits(prog_list.length); for(i=0;i<n && !console.aborted;i++) { write(margin); var hotspot = i+1; if(digits(hotspot) < digits(prog_list.length)) hotspot += '\r'; console.add_hotspot(hotspot); + if(options.indent_list_items) + printf("%*s", max_digits - digits(i + 1), ""); // Indent to right justify number printf(multicolumn ? options.multicolumn_fmt : options.singlecolumn_fmt ,i+1 ,prog_list[i].name @@ -196,6 +199,8 @@ function external_program_menu(xsec) if(digits(hotspot) < digits(prog_list.length)) hotspot += '\r'; console.add_hotspot(hotspot); + if(options.indent_list_items) + printf("%*s", max_digits - digits(j + 1), ""); // Indent to right justify number printf(options.multicolumn_fmt, j+1 ,prog_list[j].name ,prog_list[j].cost);