Hi.

Concealing the text below,

    |aaa>---|>------|$
    |>------|>------|$

    :set ts=8 list listchars+=tab:>- cole=3
    :syn keyword foo aaa conceal

yields,

    |>---|>------|$
    |>------|>------|$
.

In this example, displayed-width of the tabs remain unchanged,
causing the table to break.

I attached a small patch to fix this as follows.

    |>------|>------|$
    |>------|>------|$

Regards,
Eiichi

---
Eiichi Sato <[email protected]>


-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
diff -r d53f6e5e57f3 src/screen.c
--- a/src/screen.c      Thu Aug 04 22:59:28 2011 +0200
+++ b/src/screen.c      Wed Aug 10 00:54:01 2011 +0900
@@ -4252,7 +4252,7 @@
                {
                    /* tab amount depends on current column */
                    n_extra = (int)wp->w_buffer->b_p_ts
-                                  - vcol % (int)wp->w_buffer->b_p_ts - 1;
+                                  - VCOL_HLC % (int)wp->w_buffer->b_p_ts - 1;
 #ifdef FEAT_MBYTE
                    mb_utf8 = FALSE;    /* don't draw as UTF-8 */
 #endif

Raspunde prin e-mail lui