Mercurial > emacs
comparison src/term.c @ 2239:be1ff9cf72eb
Less klugey version of fix.
author | Eric S. Raymond <esr@snark.thyrsus.com> |
---|---|
date | Wed, 17 Mar 1993 23:50:29 +0000 |
parents | 49bda4cf498c |
children | 23228edebc59 |
comparison
equal
deleted
inserted
replaced
2238:1a0fd1591b0d | 2239:be1ff9cf72eb |
---|---|
1236 void | 1236 void |
1237 term_get_fkeys (address) | 1237 term_get_fkeys (address) |
1238 char **address; | 1238 char **address; |
1239 { | 1239 { |
1240 extern char *tgetstr (); | 1240 extern char *tgetstr (); |
1241 char capval[32]; | |
1242 int i; | 1241 int i; |
1243 | 1242 |
1244 for (i = 0; i < (sizeof (keys)/sizeof (keys[0])); i++) | 1243 for (i = 0; i < (sizeof (keys)/sizeof (keys[0])); i++) |
1245 { | 1244 { |
1246 char *sequence = tgetstr (keys[i].cap, address); | 1245 char *sequence = tgetstr (keys[i].cap, address); |
1286 else if (i <= 45) | 1285 else if (i <= 45) |
1287 fcap[1] = 'A' + i - 11; | 1286 fcap[1] = 'A' + i - 11; |
1288 else | 1287 else |
1289 fcap[1] = 'a' + i - 11; | 1288 fcap[1] = 'a' + i - 11; |
1290 | 1289 |
1291 if (tgetstr(fcap, &capval)) | 1290 if (tgetstr(fcap, address)) |
1292 { | 1291 { |
1293 (void) sprintf(fkey, "f%d", i); | 1292 (void) sprintf(fkey, "f%d", i); |
1294 Fdefine_key (Vfunction_key_map, | 1293 Fdefine_key (Vfunction_key_map, |
1295 build_string (fcap), | 1294 build_string (fcap), |
1296 Fmake_vector (make_number (1), intern (fkey))); | 1295 Fmake_vector (make_number (1), intern (fkey))); |
1301 /* | 1300 /* |
1302 * Various mappings to try and get a better fit. | 1301 * Various mappings to try and get a better fit. |
1303 */ | 1302 */ |
1304 { | 1303 { |
1305 #define CONDITIONAL_REASSIGN(cap1, cap2, sym) \ | 1304 #define CONDITIONAL_REASSIGN(cap1, cap2, sym) \ |
1306 if (!tgetstr(cap1, &capval) && tgetstr(cap2, &capval)) \ | 1305 if (!tgetstr(cap1, address) && tgetstr(cap2, address)) \ |
1307 Fdefine_key (Vfunction_key_map, \ | 1306 Fdefine_key (Vfunction_key_map, \ |
1308 build_string (cap2), \ | 1307 build_string (cap2), \ |
1309 Fmake_vector (make_number (1), intern (sym))) | 1308 Fmake_vector (make_number (1), intern (sym))) |
1310 | 1309 |
1311 /* if there's no key_next keycap, map key_npage to `next' keysym */ | 1310 /* if there's no key_next keycap, map key_npage to `next' keysym */ |