| #include <stdlib.h> |
| #include <unistd.h> |
| #include <stdio.h> |
| #include <string.h> |
| |
| #if defined (READLINE_LIBRARY) |
| # include "readline.h" |
| # include "history.h" |
| #else |
| # include <readline/readline.h> |
| # include <readline/history.h> |
| #endif |
| |
| int |
| main (int c, char **v) |
| { |
| Keymap nmap, emacsmap, newemacs; |
| int r, errs; |
| |
| errs = 0; |
| nmap = rl_make_keymap (); |
| |
| r = rl_set_keymap_name ("emacs", nmap); |
| if (r >= 0) |
| { |
| fprintf (stderr, "rlkeymaps: error: able to rename `emacs' keymap\n"); |
| errs++; |
| } |
| |
| emacsmap = rl_get_keymap_by_name ("emacs"); |
| r = rl_set_keymap_name ("newemacs", emacsmap); |
| if (r >= 0) |
| { |
| fprintf (stderr, "rlkeymaps: error: able to set new name for emacs keymap\n"); |
| errs++; |
| } |
| |
| r = rl_set_keymap_name ("newemacs", nmap); |
| if (r < 0) |
| { |
| fprintf (stderr, "rlkeymaps: error: newemacs: could not set keymap name\n"); |
| errs++; |
| } |
| |
| newemacs = rl_copy_keymap (emacsmap); |
| r = rl_set_keymap_name ("newemacs", newemacs); |
| if (r < 0) |
| { |
| fprintf (stderr, "rlkeymaps: error: newemacs: could not set `newemacs' keymap to new map\n"); |
| errs++; |
| } |
| |
| r = rl_set_keymap_name ("emacscopy", newemacs); |
| if (r < 0) |
| { |
| fprintf (stderr, "rlkeymaps: error: emacscopy: could not rename created keymap\n"); |
| errs++; |
| } |
| |
| exit (errs); |
| } |