aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-10-23 15:20:01 -0400
committerJustin M. Keyes <justinkz@gmail.com>2014-10-23 15:20:01 -0400
commitd1e063a8af57661c37da31954346b2b9f73dd9b5 (patch)
tree1b7ed81e248087112fdf58291e0189c75a26359a /src/nvim/screen.c
parentb8401550a739b6007c0e6fe3ace583dde3001379 (diff)
parent87cf661af621f2bcc9314ad7ae2c65df82974f8a (diff)
downloadrneovim-d1e063a8af57661c37da31954346b2b9f73dd9b5.tar.gz
rneovim-d1e063a8af57661c37da31954346b2b9f73dd9b5.tar.bz2
rneovim-d1e063a8af57661c37da31954346b2b9f73dd9b5.zip
Merge pull request #1332 from splinterofchaos/listbr
vim-patch:7.4.422
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r--src/nvim/screen.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 4e6123f206..ac726f7988 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -3478,6 +3478,11 @@ win_line (
int i;
int saved_nextra = n_extra;
+ if (is_concealing && vcol_off > 0) {
+ // there are characters to conceal
+ tab_len += vcol_off;
+ }
+
/* if n_extra > 0, it gives the number of chars to use for
* a tab, else we need to calculate the width for a tab */
len = (tab_len * mb_char2len(lcs_tab2));
@@ -3495,6 +3500,12 @@ win_line (
n_extra += mb_char2len(lcs_tab2) - (saved_nextra > 0 ? 1: 0);
}
p_extra = p_extra_free;
+
+ // n_extra will be increased by FIX_FOX_BOGUSCOLS
+ // macro below, so need to adjust for that here
+ if (is_concealing && vcol_off > 0) {
+ n_extra -= vcol_off;
+ }
}
/* Tab alignment should be identical regardless of
* 'conceallevel' value. So tab compensates of all