On Saturday, August 31, 2013 2:24:23 PM UTC-5, ZyX wrote: > 1. When using concealed characters color that extends past the end of line > (i.e. diff color) shows different line end positions: > http://img-fotki.yandex.ru/get/6704/9151298.3/0_9e202_6394ebc0_orig.png (also > attached image 1.png). After inspecting the code it seems that problem is > with any multibyte characters, not necessary multibyte character in cchar: > script extensively uses things like > > > > let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new) - > s:margin) > > > > for various fillers. Note the `strlen`: it is not correct to use here, > strdisplaywidth() is. Note about strchars(): it is not correct because it > counts composing characters separately and does not respect fullwidth > characters.
Thanks, that should be an easy update. That probably never worked right. I wonder if there are other places where strdisplaywidth() needs to be used instead. > I also have an emulation of strdisplaywidth() (which though works like if > there &ambiwidth is set to single regardless of actual setting) for old vim > versions: > https://bitbucket.org/ZyX_I/frawor/src/c1683934455928961e93466275cedbcae4ea564c/autoload/frawor/table.vim#cl-4. > > I don't think that's needed in this case because I really don't intend to support really old Vims with the official runtime plugin for the latest Vim; but it should at least fail gracefully I suppose. > > If I set g:html_no_pre it is not better: > http://img-fotki.yandex.ru/get/9103/9151298.3/0_9e205_558c48a2_orig.png > (1-2.png): highlighting does not extend past the end of line. > > > > 2. With g:html_no_pre=1 empty line does not contain diff highlighting. > Yes, I'd like to figure out a good way to handle this. I really don't want to resort to using a table, though. At least not if I can avoid it. Tables cause huge performance issues in some browsers if they get to be several thousand rows long; and I do on occasion convert entire files this many lines. > > > 3. Sometimes line does not contain highlighting with g:html_no_pre=0: > http://img-fotki.yandex.ru/get/9485/9151298.3/0_9e206_c721f0d3_orig.png > (3.png): guess this is because it ends with concealed character. > > I haven't noticed this; I'll need to look into that. Thanks for reporting. > > 4. There is a reason for my formatvim using table with one table row per one > line, even though it is very imperfect: too tall characters cause shift: > http://img-fotki.yandex.ru/get/9264/9151298.3/0_9e208_cb2ab30c_orig.png > (4.png). This is not the first tall character here and diff is thus > incorrect. Also note thin black gaps between lines. > > I struggled with a similar thin gaps problem for a LONG time before I gave up. As mentioned, I *really* don't want to resort to a table. I would love to find a better solution to that. Please anybody let me know if you have any ideas. Design constraint is that TOhtml (mostly) builds one whole line at a time. > > 5. When diffing with empty buffer “E749: empty buffer” error is shown: from > function tohtml#Convert2HTML, line 15. > > That's...interesting. I'm not sure why that ever works. The problem is that line does "windo | if ...." when it should be "windo if ...." (without the |). I guess the default command for windo is :print? > > Used 2html.vim: > http://code.google.com/r/fritzophrenic-vim-clone/source/browse/runtime/syntax/2html.vim?r=92d11dd5081080db1d9635eb1f88fa2ceb634a53 > (with the whole VIMRUNTIME from the same commit of the same repository). > > > > Used settings: default, unless mentioned otherwise. -- -- 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 --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
