To: vim_dev@googlegroups.com Subject: Patch 7.3.747 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.747 Problem: When characters are concealed text aligned with tabs are no longer aligned, e.g. at ":help :index". Solution: Compensate space for tabs for concealed characters. (Dominique Pelle) Files: src/screen.c *** ../vim-7.3.746/src/screen.c 2012-10-03 18:24:55.000000000 +0200 --- src/screen.c 2012-12-05 15:22:03.000000000 +0100 *************** *** 4269,4275 **** { /* tab amount depends on current column */ n_extra = (int)wp->w_buffer->b_p_ts ! - VCOL_HLC % (int)wp->w_buffer->b_p_ts - 1; #ifdef FEAT_MBYTE mb_utf8 = FALSE; /* don't draw as UTF-8 */ #endif --- 4269,4288 ---- { /* tab amount depends on current column */ n_extra = (int)wp->w_buffer->b_p_ts ! - vcol % (int)wp->w_buffer->b_p_ts - 1; ! #ifdef FEAT_CONCEAL ! /* Tab alignment should be identical regardless of ! * 'conceallevel' value. So tab compensates of all ! * previous concealed characters, and thus resets vcol_off ! * and boguscols accumulated so far in the line. Note that ! * the tab can be longer than 'tabstop' when there ! * are concealed characters. */ ! n_extra += vcol_off; ! vcol -= vcol_off; ! vcol_off = 0; ! col -= boguscols; ! boguscols = 0; ! #endif #ifdef FEAT_MBYTE mb_utf8 = FALSE; /* don't draw as UTF-8 */ #endif *** ../vim-7.3.746/src/version.c 2012-12-05 15:16:42.000000000 +0100 --- src/version.c 2012-12-05 15:22:27.000000000 +0100 *************** *** 727,728 **** --- 727,730 ---- { /* Add new patch number below this line */ + /**/ + 747, /**/ -- hundred-and-one symptoms of being an internet addict: 99. The hum of a cooling fan and the click of keys is comforting to you. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///