xref: /netbsd-src/external/gpl3/gdb/dist/readline/readline/examples/rlkeymaps.c (revision 8dffb485a119f39f727115fa0bcb569045caf7cb)
1*8dffb485Schristos #include <stdlib.h>
2*8dffb485Schristos #include <unistd.h>
3*8dffb485Schristos #include <stdio.h>
4*8dffb485Schristos #include <string.h>
5*8dffb485Schristos 
6*8dffb485Schristos #if defined (READLINE_LIBRARY)
7*8dffb485Schristos #  include "readline.h"
8*8dffb485Schristos #  include "history.h"
9*8dffb485Schristos #else
10*8dffb485Schristos #  include <readline/readline.h>
11*8dffb485Schristos #  include <readline/history.h>
12*8dffb485Schristos #endif
13*8dffb485Schristos 
14*8dffb485Schristos int
main(int c,char ** v)15*8dffb485Schristos main (int c, char **v)
16*8dffb485Schristos {
17*8dffb485Schristos   Keymap nmap, emacsmap, newemacs;
18*8dffb485Schristos   int r, errs;
19*8dffb485Schristos 
20*8dffb485Schristos   errs = 0;
21*8dffb485Schristos   nmap = rl_make_keymap ();
22*8dffb485Schristos 
23*8dffb485Schristos   r = rl_set_keymap_name ("emacs", nmap);
24*8dffb485Schristos   if (r >= 0)
25*8dffb485Schristos     {
26*8dffb485Schristos       fprintf (stderr, "rlkeymaps: error: able to rename `emacs' keymap\n");
27*8dffb485Schristos       errs++;
28*8dffb485Schristos     }
29*8dffb485Schristos 
30*8dffb485Schristos   emacsmap = rl_get_keymap_by_name ("emacs");
31*8dffb485Schristos   r = rl_set_keymap_name ("newemacs", emacsmap);
32*8dffb485Schristos   if (r >= 0)
33*8dffb485Schristos     {
34*8dffb485Schristos       fprintf (stderr, "rlkeymaps: error: able to set new name for emacs keymap\n");
35*8dffb485Schristos       errs++;
36*8dffb485Schristos     }
37*8dffb485Schristos 
38*8dffb485Schristos   r = rl_set_keymap_name ("newemacs", nmap);
39*8dffb485Schristos   if (r < 0)
40*8dffb485Schristos     {
41*8dffb485Schristos       fprintf (stderr, "rlkeymaps: error: newemacs: could not set keymap name\n");
42*8dffb485Schristos       errs++;
43*8dffb485Schristos     }
44*8dffb485Schristos 
45*8dffb485Schristos   newemacs = rl_copy_keymap (emacsmap);
46*8dffb485Schristos   r = rl_set_keymap_name ("newemacs", newemacs);
47*8dffb485Schristos   if (r < 0)
48*8dffb485Schristos     {
49*8dffb485Schristos       fprintf (stderr, "rlkeymaps: error: newemacs: could not set `newemacs' keymap to new map\n");
50*8dffb485Schristos       errs++;
51*8dffb485Schristos     }
52*8dffb485Schristos 
53*8dffb485Schristos   r = rl_set_keymap_name ("emacscopy", newemacs);
54*8dffb485Schristos   if (r < 0)
55*8dffb485Schristos     {
56*8dffb485Schristos       fprintf (stderr, "rlkeymaps: error: emacscopy: could not rename created keymap\n");
57*8dffb485Schristos       errs++;
58*8dffb485Schristos     }
59*8dffb485Schristos 
60*8dffb485Schristos   exit (errs);
61*8dffb485Schristos }
62