]> git.pld-linux.org Git - packages/slang.git/blame - slang-keymap.patch
- adapterized, cosmetics
[packages/slang.git] / slang-keymap.patch
CommitLineData
7a3ceb62 1diff -ru slang-1.4.4.vanilla/src/slcurses.c slang-1.4.4/src/slcurses.c
2--- slang-1.4.4.vanilla/src/slcurses.c Wed Feb 21 02:17:36 2001
3+++ slang-1.4.4/src/slcurses.c Sun Jun 24 14:50:06 2001
4@@ -127,7 +127,10 @@
5 }
6 else if (ch == 0xFFFF) return ERR;
7 SLang_ungetkey (ch);
8- return SLkp_getkey ();
9+ if ((ch = SLkp_getkey ()) != SL_KEY_ERR)
10+ return ch;
11+ else
12+ return SLang_getkey ();
13 }
14 return SLang_getkey ();
15 }
16diff -ru slang-1.4.4.vanilla/src/slkeymap.c slang-1.4.4/src/slkeymap.c
17--- slang-1.4.4.vanilla/src/slkeymap.c Wed Feb 21 02:17:37 2001
18+++ slang-1.4.4/src/slkeymap.c Sun Jun 24 14:50:06 2001
19@@ -335,6 +335,8 @@
20
21 SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *kml, int (*getkey)(void))
22 {
23+ unsigned char SLang_Undo_Buffer [SL_MAX_INPUT_BUFFER_LEN];
24+ int SLang_Undo_Len = 0;
25 register SLang_Key_Type *key, *next, *kmax;
26 unsigned int len;
27 unsigned char input_ch;
28@@ -348,6 +350,7 @@
29 return NULL;
30
31 input_ch = (unsigned char) SLang_Last_Key_Char;
32+ SLang_Undo_Buffer [SLang_Undo_Len++] = input_ch;
33
34 key = (SLang_Key_Type *) &((kml->keymap)[input_ch]);
35
36@@ -364,7 +367,11 @@
37
38 key = kml->keymap + input_ch;
39 if (key->type == 0)
40+ {
41+ if (getkey == (int (*)(void)) SLang_getkey)
42+ SLang_ungetkey_string (SLang_Undo_Buffer, SLang_Undo_Len);
43 return NULL;
44+ }
45 }
46
47 /* It appears to be a prefix character in a key sequence. */
48@@ -377,6 +384,7 @@
49 {
50 SLang_Key_TimeOut_Flag = 1;
51 SLang_Last_Key_Char = (*getkey)();
52+ SLang_Undo_Buffer [SLang_Undo_Len++] = (unsigned char) SLang_Last_Key_Char;
53 SLang_Key_TimeOut_Flag = 0;
54
55 len++;
56@@ -450,6 +458,8 @@
57 kmax = next;
58 }
59
60+ if (getkey == (int (*)(void)) SLang_getkey)
61+ SLang_ungetkey_string (SLang_Undo_Buffer, SLang_Undo_Len);
62 return NULL;
63 }
64
65diff -ru slang-1.4.4.vanilla/src/slkeypad.c slang-1.4.4/src/slkeypad.c
66--- slang-1.4.4.vanilla/src/slkeypad.c Wed Feb 21 02:17:37 2001
67+++ slang-1.4.4/src/slkeypad.c Sun Jun 24 14:50:06 2001
68@@ -122,7 +122,7 @@
69 key = SLang_do_key (Keymap_List, (int (*)(void)) SLang_getkey);
70 if ((key == NULL) || (key->type != SLKEY_F_KEYSYM))
71 {
72- SLang_flush_input ();
73+ /* SLang_flush_input (); */
74 return SL_KEY_ERR;
75 }
76
This page took 0.120551 seconds and 4 git commands to generate.