Bram Moolenaar <[email protected]> writes:
> Please suggest a patch.  I don't have a vt52 to try it out on :-).

Many vt100 emulators (and a real vt100, should you happen to have one)
can be put in vt52 mode by echoing '\e[?2l' ('\e<' to get back).

Removing the offending codes, and doing a simple ifdef for terminfo,
seems to work well. In my patch below I also added a few codes that
really are standard that were in the Atari extension section.

diff --git a/src/term.c b/src/term.c
index d35a57e..c9ca5d7 100644
--- a/src/term.c
+++ b/src/term.c
@@ -837,28 +837,33 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_NAME,     "vt52"},
     {(int)KS_CE,       IF_EB("\033K", ESC_STR "K")},
     {(int)KS_CD,       IF_EB("\033J", ESC_STR "J")},
+#  ifdef TERMINFO
+    {(int)KS_CM,       IF_EB("\033Y%p1%' '%+%c%p2%' '%+%c",
+           ESC_STR "Y%p1%' '%+%c%p2%' '%+%c")},
+#  else
     {(int)KS_CM,       IF_EB("\033Y%+ %+ ", ESC_STR "Y%+ %+ ")},
+#  endif
     {(int)KS_LE,       "\b"},
+    {(int)KS_SR,       IF_EB("\033I", ESC_STR "I")},
+    {K_UP,             IF_EB("\033A", ESC_STR "A")},
+    {K_DOWN,           IF_EB("\033B", ESC_STR "B")},
+    {K_LEFT,           IF_EB("\033D", ESC_STR "D")},
+    {K_RIGHT,          IF_EB("\033C", ESC_STR "C")},
+    {K_F1,             IF_EB("\033P", ESC_STR "P")},
+    {K_F2,             IF_EB("\033Q", ESC_STR "Q")},
+    {K_F3,             IF_EB("\033R", ESC_STR "R")},
 #  ifdef __MINT__
     {(int)KS_AL,       IF_EB("\033L", ESC_STR "L")},
     {(int)KS_DL,       IF_EB("\033M", ESC_STR "M")},
     {(int)KS_CL,       IF_EB("\033E", ESC_STR "E")},
-    {(int)KS_SR,       IF_EB("\033I", ESC_STR "I")},
     {(int)KS_VE,       IF_EB("\033e", ESC_STR "e")},
     {(int)KS_VI,       IF_EB("\033f", ESC_STR "f")},
     {(int)KS_SO,       IF_EB("\033p", ESC_STR "p")},
     {(int)KS_SE,       IF_EB("\033q", ESC_STR "q")},
-    {K_UP,             IF_EB("\033A", ESC_STR "A")},
-    {K_DOWN,           IF_EB("\033B", ESC_STR "B")},
-    {K_LEFT,           IF_EB("\033D", ESC_STR "D")},
-    {K_RIGHT,          IF_EB("\033C", ESC_STR "C")},
     {K_S_UP,           IF_EB("\033a", ESC_STR "a")},
     {K_S_DOWN,         IF_EB("\033b", ESC_STR "b")},
     {K_S_LEFT,         IF_EB("\033d", ESC_STR "d")},
     {K_S_RIGHT,                IF_EB("\033c", ESC_STR "c")},
-    {K_F1,             IF_EB("\033P", ESC_STR "P")},
-    {K_F2,             IF_EB("\033Q", ESC_STR "Q")},
-    {K_F3,             IF_EB("\033R", ESC_STR "R")},
     {K_F4,             IF_EB("\033S", ESC_STR "S")},
     {K_F5,             IF_EB("\033T", ESC_STR "T")},
     {K_F6,             IF_EB("\033U", ESC_STR "U")},
@@ -881,11 +886,7 @@ static struct builtin_term builtin_termcaps[] =
     {K_PAGEDOWN,       IF_EB("\033b", ESC_STR "b")},
     {K_PAGEUP,         IF_EB("\033a", ESC_STR "a")},
 #  else
-    {(int)KS_AL,       IF_EB("\033T", ESC_STR "T")},
-    {(int)KS_DL,       IF_EB("\033U", ESC_STR "U")},
     {(int)KS_CL,       IF_EB("\033H\033J", ESC_STR "H" ESC_STR_nc "J")},
-    {(int)KS_ME,       IF_EB("\033SO", ESC_STR "SO")},
-    {(int)KS_MR,       IF_EB("\033S2", ESC_STR "S2")},
     {(int)KS_MS,       "y"},
 #  endif
 # endif

-- 
-- 
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/d/optout.

Raspunde prin e-mail lui