summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ascii.h94
-rw-r--r--src/charset.c107
-rw-r--r--src/cindent.c8
-rw-r--r--src/digraph.c119
-rw-r--r--src/edit.c22
-rw-r--r--src/eval.c7
-rw-r--r--src/evalfunc.c35
-rw-r--r--src/ex_cmds.c10
-rw-r--r--src/feature.h22
-rw-r--r--src/filepath.c11
-rw-r--r--src/findfile.c1
-rw-r--r--src/getchar.c18
-rw-r--r--src/gui.c13
-rw-r--r--src/gui_motif.c4
-rw-r--r--src/hardcopy.c32
-rw-r--r--src/help.c11
-rw-r--r--src/macros.h24
-rw-r--r--src/map.c2
-rw-r--r--src/mark.c5
-rw-r--r--src/misc2.c15
-rw-r--r--src/normal.c14
-rw-r--r--src/ops.c8
-rw-r--r--src/option.c14
-rw-r--r--src/option.h4
-rw-r--r--src/optiondefs.h30
-rw-r--r--src/os_unix.c174
-rw-r--r--src/proto/evalfunc.pro1
-rw-r--r--src/regexp.c46
-rw-r--r--src/regexp_bt.c30
-rw-r--r--src/regexp_nfa.c187
-rw-r--r--src/register.c14
-rw-r--r--src/screen.c4
-rw-r--r--src/spell.c1
-rw-r--r--src/strings.c4
-rw-r--r--src/structs.h3
-rw-r--r--src/term.c576
-rw-r--r--src/testdir/test_edit.vim8
-rw-r--r--src/testdir/test_exec_while_if.vim18
-rw-r--r--src/testdir/test_expr.vim6
-rw-r--r--src/testdir/test_gf.vim12
-rw-r--r--src/testdir/test_regexp_utf8.vim5
-rw-r--r--src/version.c6
-rw-r--r--src/viminfo.c10
43 files changed, 431 insertions, 1304 deletions
diff --git a/src/ascii.h b/src/ascii.h
index 139e8a3554..ec839704ed 100644
--- a/src/ascii.h
+++ b/src/ascii.h
@@ -8,14 +8,8 @@
/*
* Definitions of various common control characters.
- * For EBCDIC we have to use different values.
*/
-#ifndef EBCDIC
-
-// IF_EB(ASCII_constant, EBCDIC_constant)
-#define IF_EB(a, b) a
-
#define CharOrd(x) ((x) < 'a' ? (x) - 'A' : (x) - 'a')
#define CharOrdLow(x) ((x) - 'a')
#define CharOrdUp(x) ((x) - 'A')
@@ -77,94 +71,6 @@
#define Ctrl_HAT 30 // ^
#define Ctrl__ 31
-#else
-
-// EBCDIC
-
-// IF_EB(ASCII_constant, EBCDIC_constant)
-#define IF_EB(a, b) b
-
-/*
- * Finding the position in the alphabet is not straightforward in EBCDIC.
- * There are gaps in the code table.
- * 'a' + 1 == 'b', but: 'i' + 7 == 'j' and 'r' + 8 == 's'
- */
-#define CharOrd__(c) ((c) < ('j' - 'a') ? (c) : ((c) < ('s' - 'a') ? (c) - 7 : (c) - 7 - 8))
-#define CharOrdLow(x) (CharOrd__((x) - 'a'))
-#define CharOrdUp(x) (CharOrd__((x) - 'A'))
-#define CharOrd(x) (isupper(x) ? CharOrdUp(x) : CharOrdLow(x))
-
-#define EBCDIC_CHAR_ADD_(x) ((x) < 0?'a':(x)>25?'z':"abcdefghijklmnopqrstuvwxyz"[x])
-#define EBCDIC_CHAR_ADD(c,s) (isupper(c) ? toupper(EBCDIC_CHAR_ADD_(CharOrdUp(c)+(s))) : EBCDIC_CHAR_ADD_(CharOrdLow(c)+(s)))
-
-#define R13_(c) ("abcdefghijklmnopqrstuvwxyz"[((c) + 13) % 26])
-#define ROT13(c, a) (isupper(c) ? toupper(R13_(CharOrdUp(c))) : R13_(CharOrdLow(c)))
-
-#define NUL '\000'
-#define BELL '\x2f'
-#define BS '\x16'
-#define TAB '\x05'
-#define NL '\x15'
-#define NL_STR (char_u *)"\x15"
-#define FF '\x0C'
-#define CAR '\x0D'
-#define ESC '\x27'
-#define ESC_STR (char_u *)"\x27"
-#define ESC_STR_nc "\x27"
-#define DEL 0x07
-#define DEL_STR (char_u *)"\007"
-
-#define POUND 0xB1
-
-#define CTRL_F_STR "\056"
-#define CTRL_H_STR "\026"
-#define CTRL_V_STR "\062"
-
-#define Ctrl_AT 0x00 // @
-#define Ctrl_A 0x01
-#define Ctrl_B 0x02
-#define Ctrl_C 0x03
-#define Ctrl_D 0x37
-#define Ctrl_E 0x2D
-#define Ctrl_F 0x2E
-#define Ctrl_G 0x2F
-#define Ctrl_H 0x16
-#define Ctrl_I 0x05
-#define Ctrl_J 0x15
-#define Ctrl_K 0x0B
-#define Ctrl_L 0x0C
-#define Ctrl_M 0x0D
-#define Ctrl_N 0x0E
-#define Ctrl_O 0x0F
-#define Ctrl_P 0x10
-#define Ctrl_Q 0x11
-#define Ctrl_R 0x12
-#define Ctrl_S 0x13
-#define Ctrl_T 0x3C
-#define Ctrl_U 0x3D
-#define Ctrl_V 0x32
-#define Ctrl_W 0x26
-#define Ctrl_X 0x18
-#define Ctrl_Y 0x19
-#define Ctrl_Z 0x3F
- // CTRL- [ Left Square Bracket == ESC
-#define Ctrl_RSB 0x1D // ] Right Square Bracket
-#define Ctrl_BSL 0x1C // \ BackSLash
-#define Ctrl_HAT 0x1E // ^
-#define Ctrl__ 0x1F
-
-#define Ctrl_chr(x) (CtrlTable[(x)])
-extern char CtrlTable[];
-
-#define CtrlChar(x) ((x < ' ') ? CtrlCharTable[(x)] : 0)
-extern char CtrlCharTable[];
-
-#define MetaChar(x) ((x < ' ') ? MetaCharTable[(x)] : 0)
-extern char MetaCharTable[];
-
-#endif // defined EBCDIC
-
-// TODO: EBCDIC Code page dependent (here 1047)
#define CSI 0x9b // Control Sequence Introducer
#define CSI_STR "\233"
#define DCS 0x90 // Device Control String
diff --git a/src/charset.c b/src/charset.c
index 12d6359708..df95ed1b50 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -87,18 +87,11 @@ buf_init_chartab(
* Set the default size for printable characters:
* From <Space> to '~' is 1 (printable), others are 2 (not printable).
* This also inits all 'isident' and 'isfname' flags to FALSE.
- *
- * EBCDIC: all chars below ' ' are not printable, all others are
- * printable.
*/
c = 0;
while (c < ' ')
g_chartab[c++] = (dy_flags & DY_UHEX) ? 4 : 2;
-#ifdef EBCDIC
- while (c < 255)
-#else
while (c <= '~')
-#endif
g_chartab[c++] = 1 + CT_PRINT_CHAR;
while (c < 256)
{
@@ -221,10 +214,7 @@ buf_init_chartab(
}
else if (i == 1) // (re)set printable
{
- if ((c < ' '
-#ifndef EBCDIC
- || c > '~'
-#endif
+ if ((c < ' ' || c > '~'
// For double-byte we keep the cell width, so
// that we can detect it from the first byte.
) && !(enc_dbcs && MB_BYTE2LEN(c) == 2))
@@ -519,13 +509,8 @@ transchar_buf(buf_T *buf, int c)
c = K_SECOND(c);
}
- if ((!chartab_initialized && (
-#ifdef EBCDIC
- (c >= 64 && c < 255)
-#else
- (c >= ' ' && c <= '~')
-#endif
- )) || (c < 256 && vim_isprintc_strict(c)))
+ if ((!chartab_initialized && ((c >= ' ' && c <= '~')))
+ || (c < 256 && vim_isprintc_strict(c)))
{
// printable character
transchar_charbuf[i] = c;
@@ -567,56 +552,26 @@ transchar_nonprint(buf_T *buf, char_u *charbuf, int c)
if (dy_flags & DY_UHEX) // 'display' has "uhex"
transchar_hex(charbuf, c);
-#ifdef EBCDIC
- // For EBCDIC only the characters 0-63 and 255 are not printable
- else if (CtrlChar(c) != 0 || c == DEL)
-#else
else if (c <= 0x7f) // 0x00 - 0x1f and 0x7f
-#endif
{
charbuf[0] = '^';
-#ifdef EBCDIC
- if (c == DEL)
- charbuf[1] = '?'; // DEL displayed as ^?
- else
- charbuf[1] = CtrlChar(c);
-#else
charbuf[1] = c ^ 0x40; // DEL displayed as ^?
-#endif
-
charbuf[2] = NUL;
}
else if (enc_utf8 && c >= 0x80)
{
transchar_hex(charbuf, c);
}
-#ifndef EBCDIC
else if (c >= ' ' + 0x80 && c <= '~' + 0x80) // 0xa0 - 0xfe
{
charbuf[0] = '|';
charbuf[1] = c - 0x80;
charbuf[2] = NUL;
}
-#else
- else if (c < 64)
- {
- charbuf[0] = '~';
- charbuf[1] = MetaChar(c);
- charbuf[2] = NUL;
- }
-#endif
else // 0x80 - 0x9f and 0xff
{
- /*
- * TODO: EBCDIC I don't know what to do with this chars, so I display
- * them as '~?' for now
- */
charbuf[0] = '~';
-#ifdef EBCDIC
- charbuf[1] = '?'; // 0xff displayed as ~?
-#else
charbuf[1] = (c - 0x80) ^ 0x40; // 0xff displayed as ~?
-#endif
charbuf[2] = NUL;
}
}
@@ -2134,59 +2089,3 @@ backslash_halve_save(char_u *p)
backslash_halve(res);
return res;
}
-
-#if (defined(EBCDIC) && defined(FEAT_POSTSCRIPT)) || defined(PROTO)
-/*
- * Table for EBCDIC to ASCII conversion unashamedly taken from xxd.c!
- * The first 64 entries have been added to map control characters defined in
- * ascii.h
- */
-static char_u ebcdic2ascii_tab[256] =
-{
- 0000, 0001, 0002, 0003, 0004, 0011, 0006, 0177,
- 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017,
- 0020, 0021, 0022, 0023, 0024, 0012, 0010, 0027,
- 0030, 0031, 0032, 0033, 0033, 0035, 0036, 0037,
- 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047,
- 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057,
- 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067,
- 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077,
- 0040, 0240, 0241, 0242, 0243, 0244, 0245, 0246,
- 0247, 0250, 0325, 0056, 0074, 0050, 0053, 0174,
- 0046, 0251, 0252, 0253, 0254, 0255, 0256, 0257,
- 0260, 0261, 0041, 0044, 0052, 0051, 0073, 0176,
- 0055, 0057, 0262, 0263, 0264, 0265, 0266, 0267,
- 0270, 0271, 0313, 0054, 0045, 0137, 0076, 0077,
- 0272, 0273, 0274, 0275, 0276, 0277, 0300, 0301,
- 0302, 0140, 0072, 0043, 0100, 0047, 0075, 0042,
- 0303, 0141, 0142, 0143, 0144, 0145, 0146, 0147,
- 0150, 0151, 0304, 0305, 0306, 0307, 0310, 0311,
- 0312, 0152, 0153, 0154, 0155, 0156, 0157, 0160,
- 0161, 0162, 0136, 0314, 0315, 0316, 0317, 0320,
- 0321, 0345, 0163, 0164, 0165, 0166, 0167, 0170,
- 0171, 0172, 0322, 0323, 0324, 0133, 0326, 0327,
- 0330, 0331, 0332, 0333, 0334, 0335, 0336, 0337,
- 0340, 0341, 0342, 0343, 0344, 0135, 0346, 0347,
- 0173, 0101, 0102, 0103, 0104, 0105, 0106, 0107,
- 0110, 0111, 0350, 0351, 0352, 0353, 0354, 0355,
- 0175, 0112, 0113, 0114, 0115, 0116, 0117, 0120,
- 0121, 0122, 0356, 0357, 0360, 0361, 0362, 0363,
- 0134, 0237, 0123, 0124, 0125, 0126, 0127, 0130,
- 0131, 0132, 0364, 0365, 0366, 0367, 0370, 0371,
- 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067,
- 0070, 0071, 0372, 0373, 0374, 0375, 0376, 0377
-};
-
-/*
- * Convert a buffer worth of characters from EBCDIC to ASCII. Only useful if
- * wanting 7-bit ASCII characters out the other end.
- */
- void
-ebcdic2ascii(char_u *buffer, int len)
-{
- int i;
-
- for (i = 0; i < len; i++)
- buffer[i] = ebcdic2ascii_tab[buffer[i]];
-}
-#endif
diff --git a/src/cindent.c b/src/cindent.c
index 747b5093e9..ca21c123e0 100644
--- a/src/cindent.c
+++ b/src/cindent.c
@@ -3946,13 +3946,7 @@ in_cinkeys(
try_match_word = FALSE;
// does it look like a control character?
- if (*look == '^'
-#ifdef EBCDIC
- && (Ctrl_chr(look[1]) != 0)
-#else
- && look[1] >= '?' && look[1] <= '_'
-#endif
- )
+ if (*look == '^' && look[1] >= '?' && look[1] <= '_')
{
if (try_match && keytyped == Ctrl_chr(look[1]))
return TRUE;
diff --git a/src/digraph.c b/src/digraph.c
index f46e43f23e..bbab9584a6 100644
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -138,119 +138,7 @@ static digr_T digraphdefault[] =
};
#else // !HPUX_DIGRAPHS
-
-# ifdef EBCDIC
-
- /*
- * EBCDIC - ISO digraphs
- * TODO: EBCDIC Table is Code-Page 1047
- */
- {{'a', '^', 66}, // â
- {'a', '"', 67}, // ä
- {'a', '`', 68}, // à
- {'a', '\'', 69}, // á
- {'a', '~', 70}, // ã
- {'a', '@', 71}, // å
- {'a', 'a', 71}, // å
- {'c', ',', 72}, // ç
- {'n', '~', 73}, // ñ
- {'c', '|', 74}, // ¢
- {'e', '\'', 81}, // é
- {'e', '^', 82}, // ê
- {'e', '"', 83}, // ë
- {'e', '`', 84}, // è
- {'i', '\'', 85}, // í
- {'i', '^', 86}, // î
- {'i', '"', 87}, // ï
- {'i', '`', 88}, // ì
- {'s', 's', 89}, // ß
- {'A', '^', 98}, // Â
- {'A', '"', 99}, // Ä
- {'A', '`', 100}, // À
- {'A', '\'', 101}, // Á
- {'A', '~', 102}, // Ã
- {'A', '@', 103}, // Å
- {'A', 'A', 103}, // Å
- {'C', ',', 104}, // Ç
- {'N', '~', 105}, // Ñ
- {'|', '|', 106}, // ¦
- {'o', '/', 112}, // ø
- {'E', '\'', 113}, // É
- {'E', '^', 114}, // Ê
- {'E', '"', 115}, // Ë
- {'E', '`', 116}, // È
- {'I', '\'', 117}, // Í
- {'I', '^', 118}, // Î
- {'I', '"', 119}, // Ï
- {'I', '`', 120}, // Ì
- {'O', '/', 128}, // 0/ XX
- {'<', '<', 138}, // «
- {'>', '>', 139}, // »
- {'d', '-', 140}, // ð
- {'y', '\'', 141}, // ý
- {'i', 'p', 142}, // þ
- {'+', '-', 143}, // ±
- {'~', 'o', 144}, // °
- {'a', '-', 154}, // ª
- {'o', '-', 155}, // º
- {'a', 'e', 156}, // æ
- {',', ',', 157}, // , XX
- {'A', 'E', 158}, // Æ
- {'o', 'x', 159}, // ¤ - currency symbol in ISO 8859-1
- {'e', '=', 159}, // ¤ - euro symbol in ISO 8859-15
- {'E', 'u', 159}, // ¤ - euro symbol in ISO 8859-15
- {'j', 'u', 160}, // µ
- {'y', '"', 167}, // x XX
- {'~', '!', 170}, // ¡
- {'~', '?', 171}, // ¿
- {'D', '-', 172}, // Ð
- {'I', 'p', 174}, // Þ
- {'r', 'O', 175}, // ®
- {'-', ',', 176}, // ¬
- {'$', '$', 177}, // £
- {'Y', '-', 178}, // ¥
- {'~', '.', 179}, // ·
- {'c', 'O', 180}, // ©
- {'p', 'a', 181}, // §
- {'p', 'p', 182}, // ¶
- {'1', '4', 183}, // ¼
- {'1', '2', 184}, // ½
- {'3', '4', 185}, // ¾
- {'Y', '\'', 186}, // Ý
- {'"', '"', 187}, // ¨
- {'-', '=', 188}, // ¯
- {'\'', '\'', 190}, // ´
- {'O', 'E', 191}, // × - OE in ISO 8859-15
- {'/', '\\', 191}, // × - multiplication symbol in ISO 8859-1
- {'-', '-', 202}, // ­
- {'o', '^', 203}, // ô
- {'o', '"', 204}, // ö
- {'o', '`', 205}, // ò
- {'o', '\'', 206}, // ó
- {'o', '~', 207}, // õ
- {'1', '1', 218}, // ¹
- {'u', '^', 219}, // û
- {'u', '"', 220}, // ü
- {'u', '`', 221}, // ù
- {'u', '\'', 222}, // ú
- {':', '-', 225}, // ÷ - division symbol in ISO 8859-1
- {'o', 'e', 225}, // ÷ - oe in ISO 8859-15
- {'2', '2', 234}, // ²
- {'O', '^', 235}, // Ô
- {'O', '"', 236}, // Ö
- {'O', '`', 237}, // Ò
- {'O', '\'', 238}, // Ó
- {'O', '~', 239}, // Õ
- {'3', '3', 250}, // ³
- {'U', '^', 251}, // Û
- {'U', '"', 252}, // Ü
- {'U', '`', 253}, // Ù
- {'U', '\'', 254}, // Ú
- {NUL, NUL, NUL}
- };
-
-# else // EBCDIC
-# ifdef OLD_DIGRAPHS
+# ifdef OLD_DIGRAPHS
/*
* digraphs compatible with Vim 5.x
@@ -357,7 +245,7 @@ static digr_T digraphdefault[] =
{'y', '"', 255}, // x XX
{NUL, NUL, NUL}
};
-# else // OLD_DIGRAPHS
+# else // OLD_DIGRAPHS
/*
* digraphs for Unicode from RFC1345
@@ -1761,8 +1649,7 @@ static digr_T digraphdefault[] =
{NUL, NUL, NUL}
};
-# endif // OLD_DIGRAPHS
-# endif // EBCDIC
+# endif // OLD_DIGRAPHS
#endif // !HPUX_DIGRAPHS
/*
diff --git a/src/edit.c b/src/edit.c
index 2a889631ae..0edd38be4c 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2052,11 +2052,7 @@ insert_special(
* stop and defer processing to the "normal" mechanism.
* '0' and '^' are special, because they can be followed by CTRL-D.
*/
-#ifdef EBCDIC
-# define ISSPECIAL(c) ((c) < ' ' || (c) == '0' || (c) == '^')
-#else
-# define ISSPECIAL(c) ((c) < ' ' || (c) >= DEL || (c) == '0' || (c) == '^')
-#endif
+#define ISSPECIAL(c) ((c) < ' ' || (c) >= DEL || (c) == '0' || (c) == '^')
/*
* "flags": INSCHAR_FORMAT - force formatting
@@ -2926,9 +2922,8 @@ stuff_inserted(
stuffReadbuff(ptr);
// a trailing "0" is inserted as "<C-V>048", "^" as "<C-V>^"
if (last)
- stuffReadbuff((char_u *)(last == '0'
- ? IF_EB("\026\060\064\070", CTRL_V_STR "xf0")
- : IF_EB("\026^", CTRL_V_STR "^")));
+ stuffReadbuff(
+ (char_u *)(last == '0' ? "\026\060\064\070" : "\026^"));
}
while (--count > 0);
@@ -3316,15 +3311,11 @@ hkmap(int c)
return ' '; // \"a --> ' ' -- / --
else if (c == 252)
return ' '; // \"u --> ' ' -- / --
-#ifdef EBCDIC
- else if (islower(c))
-#else
// NOTE: islower() does not do the right thing for us on Linux so we
// do this the same was as 5.7 and previous, so it works correctly on
// all systems. Specifically, the e.g. Delete and Arrow keys are
// munged and won't work if e.g. searching for Hebrew text.
else if (c >= 'a' && c <= 'z')
-#endif
return (int)(map[CharOrdLow(c)] + p_aleph);
else
return c;
@@ -3346,12 +3337,7 @@ hkmap(int c)
default: {
static char str[] = "zqbcxlsjphmkwonu ydafe rig";
-#ifdef EBCDIC
- // see note about islower() above
- if (!islower(c))
-#else
if (c < 'a' || c > 'z')
-#endif
return c;
c = str[CharOrdLow(c)];
break;
@@ -4224,7 +4210,7 @@ ins_bs(
}
else
want_vcol = tabstop_start(want_vcol, get_sts_value(),
- curbuf->b_p_vsts_array);
+ curbuf->b_p_vsts_array);
#else
if (p_sta && in_indent)
ts = (int)get_sw_value(curbuf);
diff --git a/src/eval.c b/src/eval.c
index c2357884af..076ba1fed3 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -111,13 +111,6 @@ eval_init(void)
{
evalvars_init();
func_init();
-
-#ifdef EBCDIC
- /*
- * Sort the function table, to enable binary search.
- */
- sortFunctions();
-#endif
}
#if defined(EXITFREE) || defined(PROTO)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 500ae284b2..1b788db9c4 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -2467,33 +2467,6 @@ static funcentry_T global_functions[] =
ret_number, f_xor},
};
-#if defined(EBCDIC) || defined(PROTO)
-/*
- * Compare funcentry_T by function name.
- */
- static int
-compare_func_name(const void *s1, const void *s2)
-{
- funcentry_T *p1 = (funcentry_T *)s1;
- funcentry_T *p2 = (funcentry_T *)s2;
-
- return STRCMP(p1->f_name, p2->f_name);
-}
-
-/*
- * Sort the function table by function name.
- * The sorting of the table above is ASCII dependent.
- * On machines using EBCDIC we have to sort it.
- */
- void
-sortFunctions(void)
-{
- size_t funcCnt = ARRAY_LENGTH(global_functions);
-
- qsort(global_functions, funcCnt, sizeof(funcentry_T), compare_func_name);
-}
-#endif
-
/*
* Function given to ExpandGeneric() to obtain the list of internal
* or user defined function names.
@@ -5101,13 +5074,7 @@ f_has(typval_T *argvars, typval_T *rettv)
0
#endif
},
- {"ebcdic",
-#ifdef EBCDIC
- 1
-#else
- 0
-#endif
- },
+ {"ebcdic", 0 },
{"fname_case",
#ifndef CASE_INSENSITIVE_FILENAME
1
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 9d99571f72..d9d532c919 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -61,23 +61,17 @@ do_ascii(exarg_T *eap UNUSED)
cval = NL; // NL is stored as CR
else
cval = c;
- if (vim_isprintc_strict(c) && (c < ' '
-#ifndef EBCDIC
- || c > '~'
-#endif
- ))
+ if (vim_isprintc_strict(c) && (c < ' ' || c > '~'))
{
transchar_nonprint(curbuf, buf3, c);
vim_snprintf(buf1, sizeof(buf1), " <%s>", (char *)buf3);
}
else
buf1[0] = NUL;
-#ifndef EBCDIC
if (c >= 0x80)
vim_snprintf(buf2, sizeof(buf2), " <M-%s>",
(char *)transchar(c & 0x7f));
else
-#endif
buf2[0] = NUL;
#ifdef FEAT_DIGRAPHS
dig = get_digraph_for_char(cval);
@@ -1506,7 +1500,7 @@ do_shell(
}
else if (term_console)
{
- OUT_STR(IF_EB("\033[0 q", ESC_STR "[0 q")); // get window size
+ OUT_STR("\033[0 q"); // get window size
if (got_int && msg_silent == 0)
redraw_later_clear(); // if got_int is TRUE, redraw needed
else
diff --git a/src/feature.h b/src/feature.h
index ace02eb6eb..c7cba07d40 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -222,20 +222,16 @@
/*
* +rightleft Right-to-left editing/typing support.
- *
- * Disabled for EBCDIC as it requires multibyte.
*/
-#if defined(FEAT_BIG) && !defined(DISABLE_RIGHTLEFT) && !defined(EBCDIC)
+#if defined(FEAT_BIG) && !defined(DISABLE_RIGHTLEFT)
# define FEAT_RIGHTLEFT
#endif
/*
* +arabic Arabic keymap and shaping support.
* Requires FEAT_RIGHTLEFT
- *
- * Disabled for EBCDIC as it requires multibyte.
*/
-#if defined(FEAT_BIG) && !defined(DISABLE_ARABIC) && !defined(EBCDIC)
+#if defined(FEAT_BIG) && !defined(DISABLE_ARABIC)
# define FEAT_ARABIC
#endif
#ifdef FEAT_ARABIC
@@ -254,16 +250,8 @@
/*
* +tag_binary Can use a binary search for the tags file.
- *
- * Disabled for EBCDIC:
- * On z/OS Unix we have the problem that /bin/sort sorts ASCII instead of
- * EBCDIC. With this binary search doesn't work, as VIM expects a tag file
- * sorted by character values. I'm not sure how to fix this. Should we really
- * do a EBCDIC to ASCII conversion for this??
*/
-#if !defined(EBCDIC)
-# define FEAT_TAG_BINS
-#endif
+#define FEAT_TAG_BINS
/*
* +cscope Unix only: Cscope support.
@@ -416,10 +404,8 @@
/*
* +spell spell checking
- *
- * Disabled for EBCDIC: * Doesn't work (SIGSEGV).
*/
-#if (defined(FEAT_NORMAL) || defined(PROTO)) && !defined(EBCDIC)
+#if (defined(FEAT_NORMAL) || defined(PROTO))
# define FEAT_SPELL
#endif
diff --git a/src/filepath.c b/src/filepath.c
index add74b4707..65ea2bc6ea 100644
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -2208,16 +2208,7 @@ f_tempname(typval_T *argvars UNUSED, typval_T *rettv)
else if (x == '9')
x = 'A';
else
- {
-#ifdef EBCDIC
- if (x == 'I')
- x = 'J';
- else if (x == 'R')
- x = 'S';
- else
-#endif
- ++x;
- }
+ ++x;
} while (x == 'I' || x == 'O');
}
diff --git a/src/findfile.c b/src/findfile.c
index e8b3fa656d..12e76b444a 100644
--- a/src/findfile.c
+++ b/src/findfile.c
@@ -489,7 +489,6 @@ vim_findfile_init(
* The octet after a '**' is used as a (binary) counter.
* So '**3' is transposed to '**^C' ('^C' is ASCII value 3)
* or '**76' is transposed to '**N'( 'N' is ASCII value 76).
- * For EBCDIC you get different character values.
* If no restrict is given after '**' the default is used.
* Due to this technique the path looks awful if you print it as a
* string.
diff --git a/src/getchar.c b/src/getchar.c
index cb8a354489..9a1132aa80 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -571,11 +571,7 @@ AppendToRedobuffLit(
// Put a string of normal characters in the redo buffer (that's
// faster).
start = s;
- while (*s >= ' '
-#ifndef EBCDIC
- && *s < DEL // EBCDIC: all chars above space are normal
-#endif
- && (len < 0 || s - str < len))
+ while (*s >= ' ' && *s < DEL && (len < 0 || s - str < len))
++s;
// Don't put '0' or '^' as last character, just in case a CTRL-D is
@@ -597,13 +593,9 @@ AppendToRedobuffLit(
if (c < ' ' || c == DEL || (*s == NUL && (c == '0' || c == '^')))
add_char_buff(&redobuff, Ctrl_V);
- // CTRL-V '0' must be inserted as CTRL-V 048 (EBCDIC: xf0)
+ // CTRL-V '0' must be inserted as CTRL-V 048
if (*s == NUL && c == '0')
-#ifdef EBCDIC
- add_buff(&redobuff, (char_u *)"xf0", 3L);
-#else
add_buff(&redobuff, (char_u *)"048", 3L);
-#endif
else
add_char_buff(&redobuff, c);
}
@@ -721,11 +713,7 @@ stuffescaped(char_u *arg, int literally)
// stuff K_SPECIAL to get the effect of a special key when "literally"
// is TRUE.
start = arg;
- while ((*arg >= ' '
-#ifndef EBCDIC
- && *arg < DEL // EBCDIC: chars above space are normal
-#endif
- )
+ while ((*arg >= ' ' && *arg < DEL)
|| (*arg == K_SPECIAL && !literally))
++arg;
if (arg > start)
diff --git a/src/gui.c b/src/gui.c
index 4032721868..0cce1f111a 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -1835,7 +1835,7 @@ gui_clear_block(
void
gui_update_cursor_later(void)
{
- OUT_STR(IF_EB("\033|s", ESC_STR "|s"));
+ OUT_STR("\033|s");
}
void
@@ -1962,12 +1962,7 @@ gui_write(
len -= (int)(++p - s);
s = p;
}
- else if (
-#ifdef EBCDIC
- CtrlChar(s[0]) != 0 // Ctrl character
-#else
- s[0] < 0x20 // Ctrl character
-#endif
+ else if (s[0] < 0x20 // Ctrl character
#ifdef FEAT_SIGN_ICONS
&& s[0] != SIGN_BYTE
# ifdef FEAT_NETBEANS_INTG
@@ -2010,11 +2005,7 @@ gui_write(
{
p = s;
while (len > 0 && (
-#ifdef EBCDIC
- CtrlChar(*p) == 0
-#else
*p >= 0x20
-#endif
#ifdef FEAT_SIGN_ICONS
|| *p == SIGN_BYTE
# ifdef FEAT_NETBEANS_INTG
diff --git a/src/gui_motif.c b/src/gui_motif.c
index 1d95651fbb..8328045bab 100644
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -1259,10 +1259,6 @@ gui_mch_add_menu_item(vimmenu_T *menu, int idx)
XmString label;
vimmenu_T *parent = menu->parent;
-# ifdef EBCDIC
- menu->mnemonic = 0;
-# endif
-
# if (XmVersion <= 1002)
// Don't add Popup menu items when the popup menu isn't used.
if (menu_is_child_of_popup(menu) && !mouse_model_popup())
diff --git a/src/hardcopy.c b/src/hardcopy.c
index a41f330317..e2e5211624 100644
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -1419,9 +1419,6 @@ prt_write_file(char_u *buffer)
static void
prt_write_file_len(char_u *buffer, int bytes)
{
-#ifdef EBCDIC
- ebcdic2ascii(buffer, bytes);
-#endif
prt_write_file_raw_len(buffer, bytes);
}
@@ -1626,8 +1623,6 @@ prt_flush_buffer(void)
prt_write_string("ul\n");
}
// Draw the text
- // Note: we write text out raw - EBCDIC conversion is handled in the
- // PostScript world via the font encoding vector.
if (prt_out_mbyte)
prt_write_string("<");
else
@@ -3119,