# HG changeset patch # User vimboss # Date 1142463030 0 # Node ID 986753bbc44183e499d70c28cd981c73d041bdcc # Parent fa0447b7a8a0183355a947d64923e3b05c2c965d updated for version 7.0225 diff --git a/runtime/keymap/ukrainian-jcuken.vim b/runtime/keymap/ukrainian-jcuken.vim new file mode 100644 --- /dev/null +++ b/runtime/keymap/ukrainian-jcuken.vim @@ -0,0 +1,90 @@ +" Vim Keymap file for ukrainian characters, layout 'jcuken', classical variant +" (compatible with XFree86 'uk' keymap) +" Derived from russian-jcuken.vim by Artem Chuprina +" Useful mainly with utf-8 but may work with other encodings + +" Maintainer: Anatoli Sakhnik +" Last Changed: 2006 Mar 15 + +" All characters are given literally, conversion to another encoding (e.g., +" UTF-8) should work. +scriptencoding utf-8 + +let b:keymap_name = "uk" + +loadkeymap +~ ~ +` ' +F А CYRILLIC CAPITAL LETTER A +< Б CYRILLIC CAPITAL LETTER BE +D В CYRILLIC CAPITAL LETTER VE +U Г CYRILLIC CAPITAL LETTER GHE +L Д CYRILLIC CAPITAL LETTER DE +T Е CYRILLIC CAPITAL LETTER IE +: Ж CYRILLIC CAPITAL LETTER ZHE +P З CYRILLIC CAPITAL LETTER ZE +B И CYRILLIC CAPITAL LETTER I +Q Й CYRILLIC CAPITAL LETTER SHORT I +R К CYRILLIC CAPITAL LETTER KA +K Л CYRILLIC CAPITAL LETTER EL +V М CYRILLIC CAPITAL LETTER EM +Y Н CYRILLIC CAPITAL LETTER EN +J О CYRILLIC CAPITAL LETTER O +G П CYRILLIC CAPITAL LETTER PE +H Р CYRILLIC CAPITAL LETTER ER +C С CYRILLIC CAPITAL LETTER ES +N Т CYRILLIC CAPITAL LETTER TE +E У CYRILLIC CAPITAL LETTER U +A Ф CYRILLIC CAPITAL LETTER EF +{ Х CYRILLIC CAPITAL LETTER HA +W Ц CYRILLIC CAPITAL LETTER TSE +X Ч CYRILLIC CAPITAL LETTER CHE +I Ш CYRILLIC CAPITAL LETTER SHA +O Щ CYRILLIC CAPITAL LETTER SHCHA +} Ї CYRILLIC CAPITAL LETTER YI +S І CYRILLIC CAPITAL LETTER BYELORUSSION-UKRAINIAN I +M Ь CYRILLIC CAPITAL LETTER SOFT SIGN +\" Є CYRILLIC CAPITAL LETTER UKRAINIAN IE +> Ю CYRILLIC CAPITAL LETTER YU +Z Я CYRILLIC CAPITAL LETTER YA +| Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN +f а CYRILLIC SMALL LETTER A +, б CYRILLIC SMALL LETTER BE +d в CYRILLIC SMALL LETTER VE +u г CYRILLIC SMALL LETTER GHE +l д CYRILLIC SMALL LETTER DE +t е CYRILLIC SMALL LETTER IE +; ж CYRILLIC SMALL LETTER ZHE +p з CYRILLIC SMALL LETTER ZE +b и CYRILLIC SMALL LETTER I +q й CYRILLIC SMALL LETTER SHORT I +r к CYRILLIC SMALL LETTER KA +k л CYRILLIC SMALL LETTER EL +v м CYRILLIC SMALL LETTER EM +y н CYRILLIC SMALL LETTER EN +j о CYRILLIC SMALL LETTER O +g п CYRILLIC SMALL LETTER PE +h р CYRILLIC SMALL LETTER ER +c с CYRILLIC SMALL LETTER ES +n т CYRILLIC SMALL LETTER TE +e у CYRILLIC SMALL LETTER U +a ф CYRILLIC SMALL LETTER EF +[ х CYRILLIC SMALL LETTER HA +w ц CYRILLIC SMALL LETTER TSE +x ч CYRILLIC SMALL LETTER CHE +i ш CYRILLIC SMALL LETTER SHA +o щ CYRILLIC SMALL LETTER SHCHA +] ї CYRILLIC SMALL LETTER YI +s і CYRILLIC SMALL LETTER BYELORUSSION-UKRAINIAN I +m ь CYRILLIC SMALL LETTER SOFT SIGN +' є CYRILLIC SMALL LETTER UKRAINIAN IE +. ю CYRILLIC SMALL LETTER YU +z я CYRILLIC SMALL LETTER YA +\\ ґ CYRILLIC SMALL LETTER GHE WITH UPTURN +@ " +# ' +$ * +% : +^ , +& . +* ; diff --git a/src/diff.c b/src/diff.c --- a/src/diff.c +++ b/src/diff.c @@ -21,6 +21,8 @@ static int diff_busy = FALSE; /* ex_diff #define DIFF_FILLER 1 /* display filler lines */ #define DIFF_ICASE 2 /* ignore case */ #define DIFF_IWHITE 4 /* ignore change in white space */ +#define DIFF_HORIZONTAL 8 /* horizontal splits */ +#define DIFF_VERTICAL 16 /* vertical splits */ static int diff_flags = DIFF_FILLER; #define LBUFLEN 50 /* length of line in diff file */ @@ -977,7 +979,7 @@ ex_diffpatch(eap) /* don't use a new tab page, each tab page has its own diffs */ cmdmod.tab = 0; - if (win_split(0, 0) != FAIL) + if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL) { /* Pretend it was a ":split fname" command */ eap->cmdidx = CMD_split; @@ -1037,7 +1039,7 @@ ex_diffsplit(eap) /* don't use a new tab page, each tab page has its own diffs */ cmdmod.tab = 0; - if (win_split(0, 0) != FAIL) + if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL) { /* Pretend it was a ":split fname" command */ eap->cmdidx = CMD_split; @@ -1086,7 +1088,7 @@ diff_win_options(wp, addbuf) OPT_LOCAL|OPT_FREE, 0); curwin = old_curwin; curbuf = curwin->w_buffer; - wp->w_p_fdc = 2; + wp->w_p_fdc = diff_foldcolumn; wp->w_p_fen = TRUE; wp->w_p_fdl = 0; foldUpdateAll(wp); @@ -1700,6 +1702,7 @@ diffopt_changed() char_u *p; int diff_context_new = 6; int diff_flags_new = 0; + int diff_foldcolumn_new = 2; tabpage_T *tp; p = p_dip; @@ -1725,12 +1728,31 @@ diffopt_changed() p += 6; diff_flags_new |= DIFF_IWHITE; } + else if (STRNCMP(p, "horizontal", 10) == 0) + { + p += 10; + diff_flags_new |= DIFF_HORIZONTAL; + } + else if (STRNCMP(p, "vertical", 8) == 0) + { + p += 8; + diff_flags_new |= DIFF_VERTICAL; + } + else if (STRNCMP(p, "foldcolumn:", 11) == 0 && VIM_ISDIGIT(p[11])) + { + p += 11; + diff_foldcolumn_new = getdigits(&p); + } if (*p != ',' && *p != NUL) return FAIL; if (*p == ',') ++p; } + /* Can't have both "horizontal" and "vertical". */ + if ((diff_flags_new & DIFF_HORIZONTAL) && (diff_flags_new & DIFF_VERTICAL)) + return FAIL; + /* If "icase" or "iwhite" was added or removed, need to update the diff. */ if (diff_flags != diff_flags_new) for (tp = first_tabpage; tp != NULL; tp = tp->tp_next) @@ -1738,6 +1760,7 @@ diffopt_changed() diff_flags = diff_flags_new; diff_context = diff_context_new; + diff_foldcolumn = diff_foldcolumn_new; diff_redraw(TRUE); @@ -1749,6 +1772,15 @@ diffopt_changed() } /* + * Return TRUE if 'diffopt' contains "horizontal". + */ + int +diffopt_horizontal() +{ + return (diff_flags & DIFF_HORIZONTAL) != 0; +} + +/* * Find the difference within a changed line. * Returns TRUE if the line was added, no other buffer has it. */ diff --git a/src/proto/os_mac_conv.pro b/src/proto/os_mac_conv.pro --- a/src/proto/os_mac_conv.pro +++ b/src/proto/os_mac_conv.pro @@ -1,10 +1,11 @@ -extern char_u *mac_string_convert __ARGS((char_u *ptr, int len, int *lenp, int fail_on_error, int from, int to, int *unconvlenp)); -extern int macroman2enc __ARGS((char_u *ptr, long *sizep, long real_size)); -extern int enc2macroman __ARGS((char_u *from, size_t fromlen, char_u *to, int *tolenp, int maxtolen, char_u *rest, int *restlenp)); - -extern void mac_conv_init __ARGS((void)); -extern void mac_conv_cleanup __ARGS((void)); -extern char_u *mac_utf16_to_enc __ARGS((UniChar *from, size_t fromLen, size_t *actualLen)); -extern UniChar *mac_enc_to_utf16 __ARGS((char_u *from, size_t fromLen, size_t *actualLen)); -extern CFStringRef mac_enc_to_cfstring __ARGS((char_u *from, size_t fromLen)); -extern char_u *mac_precompose_path __ARGS((char_u *decompPath, size_t decompLen, size_t *precompLen)); +/* os_mac_conv.c */ +char_u *mac_string_convert __ARGS((char_u *ptr, int len, int *lenp, int fail_on_error, int from_enc, int to_enc, int *unconvlenp)); +int macroman2enc __ARGS((char_u *ptr, long *sizep, long real_size)); +int enc2macroman __ARGS((char_u *from, size_t fromlen, char_u *to, int *tolenp, int maxtolen, char_u *rest, int *restlenp)); +void mac_conv_init __ARGS((void)); +void mac_conv_cleanup __ARGS((void)); +char_u *mac_utf16_to_enc __ARGS((UniChar *from, size_t fromLen, size_t *actualLen)); +UniChar *mac_enc_to_utf16 __ARGS((char_u *from, size_t fromLen, size_t *actualLen)); +CFStringRef mac_enc_to_cfstring __ARGS((char_u *from, size_t fromLen)); +char_u *mac_precompose_path __ARGS((char_u *decompPath, size_t decompLen, size_t *precompLen)); +/* vim: set ft=c : */ diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak --- a/src/testdir/Make_os2.mak +++ b/src/testdir/Make_os2.mak @@ -24,7 +24,8 @@ SCRIPTS = test1.out test3.out test4.out test38.out test39.out test40.out test41.out test42.out \ test43.out test44.out test45.out test46.out test47.out \ test48.out test51.out test53.out test54.out test55.out \ - test56.out test57.out test58.out test59.out test60.out + test56.out test57.out test58.out test59.out test60.out \ + test61.out .SUFFIXES: .in .out