changeset 764:986753bbc441

updated for version 7.0225
author vimboss
date Wed, 15 Mar 2006 22:50:30 +0000
parents fa0447b7a8a0
children 335444c09581
files runtime/keymap/ukrainian-jcuken.vim src/diff.c src/proto/os_mac_conv.pro src/testdir/Make_os2.mak
diffstat 4 files changed, 138 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
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 <ran@ran.pp.ru>
+" Useful mainly with utf-8 but may work with other encodings
+
+" Maintainer:   Anatoli Sakhnik <sakhnik@gmail.com>
+" 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
+@	"
+#	'
+$	*
+%	:
+^	,
+&	.
+*	;
--- 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.
  */
--- 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 : */
--- 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