summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/buffer.c26
-rw-r--r--src/version.c2
2 files changed, 22 insertions, 6 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 98cca6ca7c..174ca1efb8 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5231,8 +5231,8 @@ build_stl_str_hl(
#endif // FEAT_STL_OPT
/*
- * Get relative cursor position in window into "buf[buflen]", in the form 99%,
- * using "Top", "Bot" or "All" when appropriate.
+ * Get relative cursor position in window into "buf[buflen]", in the localized
+ * percentage form like %99, 99%; using "Top", "Bot" or "All" when appropriate.
*/
void
get_rel_pos(
@@ -5256,13 +5256,27 @@ get_rel_pos(
below = wp->w_buffer->b_ml.ml_line_count - wp->w_botline + 1;
if (below <= 0)
vim_strncpy(buf, (char_u *)(above == 0 ? _("All") : _("Bot")),
- (size_t)(buflen - 1));
+ (size_t)(buflen - 1));
else if (above <= 0)
vim_strncpy(buf, (char_u *)_("Top"), (size_t)(buflen - 1));
else
- vim_snprintf((char *)buf, (size_t)buflen, "%2d%%", above > 1000000L
- ? (int)(above / ((above + below) / 100L))
- : (int)(above * 100L / (above + below)));
+ {
+ int perc = (above > 1000000L)
+ ? (int)(above / ((above + below) / 100L))
+ : (int)(above * 100L / (above + below));
+
+ char *p = (char *)buf;
+ size_t l = buflen;
+ if (perc < 10)
+ {
+ // prepend one space
+ buf[0] = ' ';
+ ++p;
+ --l;
+ }
+ // localized percentage value
+ vim_snprintf(p, l, _("%d%%"), perc);
+ }
}
/*
diff --git a/src/version.c b/src/version.c
index 331d6c99f4..7bb63e9546 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1497,
+/**/
1496,
/**/
1495,