The world's most popular open source database
#include <sys/cdefs.h>#include "compat.h"#include "sys.h"#include <stdio.h>#include <string.h>#include <signal.h>#include <sys/wait.h>#include <ctype.h>#include <stdlib.h>#include <unistd.h>#include <dirent.h>#include "histedit.h"#include "tokenizer.h"Include dependency graph for test.c:

Go to the source code of this file.
Functions | |
| __COPYRIGHT ("@(#) Copyright (c) 1992, 1993\n\ The Regents of the University of California. All rights reserved.\n") | |
| __RCSID ("$NetBSD: test.c,v 1.9 2000/09/04 23:36:41 lukem Exp $") | |
| static u_char | complete (EditLine *, int) |
| int | main (int, char **) |
| static char * | prompt (EditLine *) |
| static void | sig (int) |
| int | main (int argc, char *argv[]) |
Variables | |
| static int | continuation = 0 |
| static EditLine * | el = NULL |
| __COPYRIGHT | ( | "@(#) Copyright (c) | 1992, | |
| 1993\n\The Regents of the University of California.All rights reserved.\n" | ||||
| ) |
| __RCSID | ( | "$NetBSD: test. | c, | |
| v 1.9 2000/09/04 23:36:41 lukem Exp $" | ||||
| ) |
| static unsigned char complete | ( | EditLine * | , | |
| int | ||||
| ) | [static] |
Definition at line 96 of file test.c.
References lineinfo::buffer, CC_ERROR, CC_REFRESH, lineinfo::cursor, dirent, el, el_insertstr(), el_line(), NULL, and strlen().
Referenced by main().
00097 { 00098 DIR *dd = opendir("."); 00099 struct dirent *dp; 00100 const char* ptr; 00101 const LineInfo *lf = el_line(el); 00102 int len; 00103 00104 /* 00105 * Find the last word 00106 */ 00107 for (ptr = lf->cursor - 1; !isspace(*ptr) && ptr > lf->buffer; ptr--) 00108 continue; 00109 len = lf->cursor - ++ptr; 00110 00111 for (dp = readdir(dd); dp != NULL; dp = readdir(dd)) { 00112 if (len > strlen(dp->d_name)) 00113 continue; 00114 if (strncmp(dp->d_name, ptr, len) == 0) { 00115 closedir(dd); 00116 if (el_insertstr(el, &dp->d_name[len]) == -1) 00117 return (CC_ERROR); 00118 else 00119 return (CC_REFRESH); 00120 } 00121 } 00122 00123 closedir(dd); 00124 return (CC_ERROR); 00125 }
Here is the call graph for this function:

Here is the caller graph for this function:

| int main | ( | int | argc, | |
| char * | argv[] | |||
| ) |
Definition at line 128 of file test.c.
References buf, complete(), continuation, el, EL_ADDFN, EL_BIND, EL_EDITOR, el_end(), el_gets(), EL_HIST, el_init(), el_parse(), EL_PROMPT, el_set(), EL_SIGNAL, el_source(), err, H_ADD, H_APPEND, H_CLEAR, H_ENTER, H_LAST, H_LOAD, H_PREV, H_SAVE, H_SET, H_SETSIZE, history(), history_end(), history_init(), NULL, HistEvent::num, perror(), prompt, sig(), SIGQUIT, HistEvent::str, strcmp(), tok_end(), tok_init(), tok_line(), and tok_reset().
00129 { 00130 int num; 00131 const char *buf; 00132 Tokenizer *tok; 00133 int lastevent = 0, ncontinuation; 00134 History *hist; 00135 HistEvent ev; 00136 00137 (void) signal(SIGINT, sig); 00138 (void) signal(SIGQUIT, sig); 00139 (void) signal(SIGHUP, sig); 00140 (void) signal(SIGTERM, sig); 00141 00142 hist = history_init(); /* Init the builtin history */ 00143 /* Remember 100 events */ 00144 history(hist, &ev, H_SETSIZE, 100); 00145 00146 tok = tok_init(NULL); /* Initialize the tokenizer */ 00147 00148 /* Initialize editline */ 00149 el = el_init(*argv, stdin, stdout, stderr); 00150 00151 el_set(el, EL_EDITOR, "vi"); /* Default editor is vi */ 00152 el_set(el, EL_SIGNAL, 1); /* Handle signals gracefully */ 00153 el_set(el, EL_PROMPT, prompt); /* Set the prompt function */ 00154 00155 /* Tell editline to use this history interface */ 00156 el_set(el, EL_HIST, history, hist); 00157 00158 /* Add a user-defined function */ 00159 el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); 00160 00161 /* Bind tab to it */ 00162 el_set(el, EL_BIND, "^I", "ed-complete", NULL); 00163 00164 /* 00165 * Bind j, k in vi command mode to previous and next line, instead 00166 * of previous and next history. 00167 */ 00168 el_set(el, EL_BIND, "-a", "k", "ed-prev-line", NULL); 00169 el_set(el, EL_BIND, "-a", "j", "ed-next-line", NULL); 00170 00171 /* 00172 * Source the user's defaults file. 00173 */ 00174 el_source(el, NULL); 00175 00176 while ((buf = el_gets(el, &num)) != NULL && num != 0) { 00177 int ac; 00178 char **av; 00179 #ifdef DEBUG 00180 (void) fprintf(stderr, "got %d %s", num, buf); 00181 #endif 00182 if (!continuation && num == 1) 00183 continue; 00184 00185 if (tok_line(tok, buf, &ac, &av) > 0) 00186 ncontinuation = 1; 00187 00188 #if 0 00189 if (continuation) { 00190 /* 00191 * Append to the right event in case the user 00192 * moved around in history. 00193 */ 00194 if (history(hist, &ev, H_SET, lastevent) == -1) 00195 err(1, "%d: %s\n", lastevent, ev.str); 00196 history(hist, &ev, H_ADD , buf); 00197 } else { 00198 history(hist, &ev, H_ENTER, buf); 00199 lastevent = ev.num; 00200 } 00201 #else 00202 /* Simpler */ 00203 history(hist, &ev, continuation ? H_APPEND : H_ENTER, buf); 00204 #endif 00205 00206 continuation = ncontinuation; 00207 ncontinuation = 0; 00208 00209 if (strcmp(av[0], "history") == 0) { 00210 int rv; 00211 00212 switch (ac) { 00213 case 1: 00214 for (rv = history(hist, &ev, H_LAST); rv != -1; 00215 rv = history(hist, &ev, H_PREV)) 00216 (void) fprintf(stdout, "%4d %s", 00217 ev.num, ev.str); 00218 break; 00219 00220 case 2: 00221 if (strcmp(av[1], "clear") == 0) 00222 history(hist, &ev, H_CLEAR); 00223 else 00224 goto badhist; 00225 break; 00226 00227 case 3: 00228 if (strcmp(av[1], "load") == 0) 00229 history(hist, &ev, H_LOAD, av[2]); 00230 else if (strcmp(av[1], "save") == 0) 00231 history(hist, &ev, H_SAVE, av[2]); 00232 break; 00233 00234 badhist: 00235 default: 00236 (void) fprintf(stderr, 00237 "Bad history arguments\n"); 00238 break; 00239 } 00240 } else if (el_parse(el, ac, av) == -1) { 00241 switch (fork()) { 00242 case 0: 00243 execvp(av[0], av); 00244 perror(av[0]); 00245 _exit(1); 00246 /*NOTREACHED*/ 00247 break; 00248 00249 case -1: 00250 perror("fork"); 00251 break; 00252 00253 default: 00254 if (wait(&num) == -1) 00255 perror("wait"); 00256 (void) fprintf(stderr, "Exit %x\n", num); 00257 break; 00258 } 00259 } 00260 00261 tok_reset(tok); 00262 } 00263 00264 el_end(el); 00265 tok_end(tok); 00266 history_end(hist); 00267 00268 return (0); 00269 }
Here is the call graph for this function:

| int main | ( | int | , | |
| char ** | ||||
| ) |
Definition at line 200 of file mysql_upgrade.c.
00201 { 00202 char bindir[FN_REFLEN]; 00203 char *bindir_end, *buf_end; 00204 char datadir_buf[FN_REFLEN]; 00205 char mysqlcheck_line[FN_REFLEN], *mysqlcheck_end; 00206 char check_file_name[FN_REFLEN]; 00207 int check_file; 00208 char fix_priv_tables_cmd[FN_REFLEN], *fix_cmd_end; 00209 char script_line[FN_REFLEN]; 00210 int error; 00211 char *forced_defaults_file; 00212 char *forced_extra_defaults; 00213 char *defaults_group_suffix; 00214 char upgrade_defaults_path[FN_REFLEN], *defaults_to_use= 0; 00215 char port_socket[100], *port_socket_end; 00216 00217 MY_INIT(argv[0]); 00218 #ifdef __NETWARE__ 00219 setscreenmode(SCR_AUTOCLOSE_ON_EXIT); 00220 #endif 00221 00222 load_defaults("my", load_default_groups, &argc, &argv); 00223 00224 if ((error= handle_options(&argc, &argv, my_long_options, get_one_option))) 00225 exit(error); 00226 00227 if (tty_password) 00228 opt_password= get_tty_password(NullS); 00229 00230 /* Check if we want to force the use a specific default file */ 00231 get_defaults_options(argc, argv, 00232 &forced_defaults_file, &forced_extra_defaults, 00233 &defaults_group_suffix); 00234 00235 port_socket_end= port_socket; 00236 if (opt_mysql_port) 00237 port_socket_end= strxnmov(port_socket, sizeof(port_socket) - 1, " --port=", 00238 opt_mysql_port, NullS); 00239 if (opt_mysql_unix_port) 00240 port_socket_end= strxnmov(port_socket_end, 00241 sizeof(port_socket) - 00242 (int)(port_socket_end - port_socket) - 1, 00243 " --socket=", opt_mysql_unix_port, NullS); 00244 *port_socket_end= 0; 00245 00246 if (basedir) 00247 { 00248 bindir_end= strmake(bindir, basedir, sizeof(bindir)-1); 00249 } 00250 else 00251 { 00252 if (test_file_exists("./share/mysql/english", "errmsg.sys") 00253 && (test_file_exists("./bin", "mysqld") || 00254 test_file_exists("./libexec", "mysqld"))) 00255 { 00256 my_getwd(bindir, sizeof(bindir), MYF(0)); 00257 bindir_end= bindir + strlen(bindir); 00258 } 00259 else 00260 { 00261 bindir_end= strmake(bindir, DEFAULT_MYSQL_HOME, sizeof(bindir)-1); 00262 } 00263 } 00264 00265 if (!datadir) 00266 { 00267 datadir= datadir_buf; 00268 if (test_file_exists(bindir, "data/mysql")) 00269 { 00270 *strxnmov(datadir_buf, sizeof(datadir_buf)-1, bindir, "/data", NullS)= 0; 00271 } 00272 else if (test_file_exists(bindir, "var/mysql")) 00273 { 00274 *strxnmov(datadir_buf, sizeof(datadir_buf)-1, bindir, "/var", NullS)= 0; 00275 } 00276 else 00277 datadir= (char*) DATADIR; 00278 } 00279 00280 strmake(bindir_end, "/bin", sizeof(bindir) - (int) (bindir_end - bindir)-1); 00281 00282 if (!test_file_exists_res 00283 (bindir, mysqlcheck_name, mysqlcheck_line, &mysqlcheck_end)) 00284 { 00285 printf("Can't find program '%s'\n", mysqlcheck_line); 00286 puts("Please restart with --basedir=mysql-install-directory"); 00287 exit(1); 00288 } 00289 00290 if (!test_file_exists(datadir, "mysql/user.frm")) 00291 { 00292 puts 00293 ("Can't find data directory. Please restart with --datadir=path-to-data-dir"); 00294 exit(1); 00295 } 00296 00297 /* create the modified defaults file to be used by mysqlcheck */ 00298 /* and mysql tools */ 00299 *strxnmov(upgrade_defaults_path, sizeof(upgrade_defaults_path)-1, 00300 datadir, "/upgrade_defaults", NullS)= 0; 00301 unpack_filename(upgrade_defaults_path, upgrade_defaults_path); 00302 if ((error= 00303 create_defaults_file(upgrade_defaults_path, forced_extra_defaults))) 00304 goto err_exit; 00305 00306 defaults_to_use= upgrade_defaults_created ? 00307 upgrade_defaults_path : forced_extra_defaults; 00308 00309 if (test_file_exists_res(datadir, "mysql_upgrade_info", check_file_name, 00310 &buf_end) && !opt_force) 00311 { 00312 char chf_buffer[50]; 00313 int b_read; 00314 check_file= my_open(check_file_name, O_RDONLY, MYF(0)); 00315 b_read= my_read(check_file, chf_buffer, sizeof(chf_buffer)-1, MYF(0)); 00316 chf_buffer[b_read]= 0; 00317 my_close(check_file, MYF(0)); 00318 if (!strcmp(chf_buffer, MYSQL_SERVER_VERSION)) 00319 { 00320 if (opt_verbose) 00321 puts("mysql_upgrade already done for this version"); 00322 goto fix_priv_tables; 00323 } 00324 } 00325 00326 if (defaults_to_use) 00327 { 00328 mysqlcheck_end= strxnmov(mysqlcheck_end, 00329 sizeof(mysqlcheck_line) - (int) (mysqlcheck_end - 00330 mysqlcheck_line), 00331 " --defaults-extra-file=", defaults_to_use,NullS); 00332 } 00333 00334 mysqlcheck_end= strxnmov(mysqlcheck_end, 00335 sizeof(mysqlcheck_line) - 00336 (int) (mysqlcheck_end - mysqlcheck_line - 1), 00337 " --check-upgrade --all-databases --auto-repair --user=", 00338 user, port_socket, NullS); 00339 *mysqlcheck_end= 0; 00340 00341 if (opt_verbose) 00342 printf("Running %s\n", mysqlcheck_line); 00343 if ((error= system(mysqlcheck_line))) 00344 { 00345 printf("Error executing '%s'\n", mysqlcheck_line); 00346 goto err_exit; 00347 } 00348 00349 if ((error= create_check_file(check_file_name))) 00350 goto err_exit; 00351 00352 fix_priv_tables: 00353 if (!test_file_exists_res(bindir, mysql_name, 00354 fix_priv_tables_cmd, &fix_cmd_end)) 00355 { 00356 puts("Could not find MySQL command-line client (mysql)."); 00357 puts 00358 ("Please use --basedir to specify the directory where MySQL is installed."); 00359 error= 1; 00360 goto err_exit; 00361 } 00362 00363 if (!test_file_exists_res(basedir, 00364 "support_files/mysql_fix_privilege_tables.sql", 00365 script_line, &buf_end) 00366 && !test_file_exists_res(basedir, "share/mysql_fix_privilege_tables.sql", 00367 script_line, &buf_end) 00368 && !test_file_exists_res(basedir, 00369 "share/mysql/mysql_fix_privilege_tables.sql", 00370 script_line, &buf_end) 00371 && !test_file_exists_res(basedir, 00372 "scripts/mysql_fix_privilege_tables.sql", 00373 script_line, &buf_end) 00374 && !test_file_exists_res("/usr/local/mysql/share/mysql", 00375 "mysql_fix_privilege_tables.sql", script_line, 00376 &buf_end)) 00377 { 00378 puts("Could not find file mysql_fix_privilege_tables.sql"); 00379 puts 00380 ("Please use --basedir to specify the directory where MySQL is installed"); 00381 error= 1; 00382 goto err_exit; 00383 } 00384 00385 if (defaults_to_use) 00386 { 00387 fix_cmd_end= strxnmov(fix_cmd_end, 00388 sizeof(fix_priv_tables_cmd) - 00389 (int) (fix_cmd_end - fix_priv_tables_cmd - 1), 00390 " --defaults-extra-file=", defaults_to_use, NullS); 00391 } 00392 fix_cmd_end= strxnmov(fix_cmd_end, 00393 sizeof(fix_priv_tables_cmd) - (int) (fix_cmd_end - 00394 fix_priv_tables_cmd), 00395 " --user=", user, port_socket, " mysql < ", script_line, NullS); 00396 *fix_cmd_end= 0; 00397 00398 if ((error= system(fix_priv_tables_cmd))) 00399 { 00400 /* Problem is that the 'Duplicate column' error */ 00401 /* which is not a bug for the script makes 'mysql' return */ 00402 /* an error */ 00403 /* printf("Error executing '%s'\n", fix_priv_tables_cmd); */ 00404 } 00405 00406 err_exit: 00407 if (upgrade_defaults_created) 00408 my_delete(upgrade_defaults_path, MYF(0)); 00409 my_end(info_flag ? MY_CHECK_ERROR | MY_GIVE_INFO : 0); 00410 return error; 00411 } /* main */
| static char * prompt | ( | EditLine * | ) | [static] |
Definition at line 79 of file test.c.
References continuation.
00080 { 00081 static char a[] = "Edit$"; 00082 static char b[] = "Edit>"; 00083 00084 return (continuation ? b : a); 00085 }
| static void sig | ( | int | ) | [static] |
Definition at line 88 of file test.c.
References el, and el_reset().
Referenced by OSE_Transporter::allocPrioASignal(), yaSSL::CertificateVerify::Build(), Backup::closeFiles(), OSE_Transporter::connectConf(), OSE_Transporter::connectRef(), OSE_Transporter::connectReq(), NdbDictInterface::dictSignal(), OSE_Transporter::disconnectOrd(), OSE_Transporter::doDisconnect(), OSE_Receiver::doReceive(), Dbacc::execACC_LOCKREQ(), NdbDictInterface::execALTER_TABLE_REF(), SimulatedBlock::execCONTINUE_FRAGMENTED(), NdbDictInterface::execCREATE_INDX_REF(), NdbDictInterface::execCREATE_TABLE_REF(), Cmvmi::execDUMP_STATE_ORD(), Dbtux::execTUX_BOUND_INFO(), Dbtux::execTUX_MAINT_REQ(), OSE_Transporter::huntReceived(), kill_server(), main(), my_pipe_sig_handler(), NDB_COMMAND(), printABORT_BACKUP_ORD(), printACC_LOCKREQ(), printALTER_TRIG_CONF(), printALTER_TRIG_REF(), printALTER_TRIG_REQ(), printBACKUP_ABORT_REP(), printBACKUP_COMPLETE_REP(), printBACKUP_CONF(), printBACKUP_DATA(), printBACKUP_FRAGMENT_CONF(), printBACKUP_FRAGMENT_REF(), printBACKUP_FRAGMENT_REQ(), printBACKUP_REF(), printBACKUP_REQ(), printCNTR_START_CONF(), printCNTR_START_REF(), printCNTR_START_REQ(), printCOPY_GCI_REQ(), printCREATE_FRAGMENTATION_CONF(), printCREATE_FRAGMENTATION_REF(), printCREATE_FRAGMENTATION_REQ(), printCREATE_TRIG_CONF(), printCREATE_TRIG_REF(), printCREATE_TRIG_REQ(), printDEFINE_BACKUP_CONF(), printDEFINE_BACKUP_REF(), printDEFINE_BACKUP_REQ(), printDISCONNECT_REP(), printDROP_TAB_CONF(), printDROP_TAB_REF(), printDROP_TAB_REQ(), printDROP_TRIG_CONF(), printDROP_TRIG_REF(), printDROP_TRIG_REQ(), printFAIL_REP(), printFIRE_TRIG_ORD(), printFSAPPENDREQ(), printFSCLOSEREQ(), printFSCONF(), printFSOPENREQ(), printFSREADWRITEREQ(), printFSREF(), printLCP_COMPLETE_REP(), printLCP_FRAG_ORD(), printLCP_FRAG_REP(), printLQH_FRAG_CONF(), printLQH_FRAG_REF(), printLQH_FRAG_REQ(), printLQH_TRANSCONF(), printLQHKEYREQ(), printMASTER_LCP_CONF(), printMASTER_LCP_REF(), printMASTER_LCP_REQ(), printNDB_STTOR(), printNDB_STTORRY(), printNF_COMPLETE_REP(), printPREP_DROP_TAB_CONF(), printPREP_DROP_TAB_REF(), printPREP_DROP_TAB_REQ(), printREAD_NODES_CONF(), printSCAN_FRAGREQ(), printSCANFRAGNEXTREQ(), printSCANNEXTREQ(), printSCANTABCONF(), printSCANTABREF(), printSCANTABREQ(), printSIGNAL_DROPPED_REP(), printSTART_BACKUP_CONF(), printSTART_BACKUP_REF(), printSTART_BACKUP_REQ(), printSTART_FRAG_REQ(), printSTART_LCP_CONF(), printSTART_LCP_REQ(), printSTART_REC_CONF(), printSTART_REC_REQ(), printSTOP_BACKUP_CONF(), printSTOP_BACKUP_REF(), printSTOP_BACKUP_REQ(), printSUB_CREATE_CONF(), printSUB_CREATE_REF(), printSUB_CREATE_REQ(), printSUB_GCP_COMPLETE_REP(), printSUB_REMOVE_CONF(), printSUB_REMOVE_REF(), printSUB_REMOVE_REQ(), printSUB_START_CONF(), printSUB_START_REF(), printSUB_START_REQ(), printSUB_STOP_CONF(), printSUB_STOP_REF(), printSUB_STOP_REQ(), printSUB_SYNC_CONF(), printSUB_SYNC_CONTINUE_CONF(), printSUB_SYNC_CONTINUE_REF(), printSUB_SYNC_CONTINUE_REQ(), printSUB_SYNC_REF(), printSUB_SYNC_REQ(), printSUB_TABLE_DATA(), printSYSTEM_ERROR(), printTCINDXCONF(), printTCKEYCONF(), printTCKEYREQ(), printTRIG_ATTRINFO(), printTUX_MAINT_REQ(), printUTIL_CREATE_LOCK_CONF(), printUTIL_CREATE_LOCK_REF(), printUTIL_CREATE_LOCK_REQ(), printUTIL_DELETE_CONF(), printUTIL_DELETE_REF(), printUTIL_DELETE_REQ(), printUTIL_DESTROY_LOCK_CONF(), printUTIL_DESTROY_LOCK_REF(), printUTIL_DESTROY_LOCK_REQ(), printUTIL_EXECUTE_CONF(), printUTIL_EXECUTE_REF(), printUTIL_EXECUTE_REQ(), printUTIL_LOCK_CONF(), printUTIL_LOCK_REF(), printUTIL_LOCK_REQ(), printUTIL_PREPARE_CONF(), printUTIL_PREPARE_REF(), printUTIL_PREPARE_REQ(), printUTIL_SEQUENCE_CONF(), printUTIL_SEQUENCE_REF(), printUTIL_SEQUENCE_REQ(), printUTIL_UNLOCK_CONF(), printUTIL_UNLOCK_REF(), printUTIL_UNLOCK_REQ(), runTest(), SimulatedBlock::sendFragmentedSignal(), signal_hand(), trx_finish_error_processing(), trx_finish_partial_rollback_off_kernel(), trx_finish_rollback_off_kernel(), trx_handle_commit_sig_off_kernel(), trx_rollback(), trx_sig_is_compatible(), trx_sig_remove(), trx_sig_reply(), trx_sig_reply_wait_to_suspended(), trx_sig_send(), and trx_sig_start_handle().
Here is the call graph for this function:

Here is the caller graph for this function:

int continuation = 0 [static] |
Definition at line 71 of file test.c.
Referenced by _rl_event_read_char(), c_delafter(), c_delafter1(), c_delbefore(), c_delbefore1(), c_gets(), c_hmatch(), c_hpos(), c_insert(), c_setpat(), ce_inc_search(), ce_search_line(), ch_end(), ch_init(), ch_reset(), complete(), cv_action(), cv_csearch(), cv_delfini(), cv_next_word(), cv_paste(), cv_repeat_srch(), cv_search(), cv_undo(), cv_yank(), ed_argument_digit(), ed_clear_screen(), ed_command(), ed_delete_next_char(), ed_delete_prev_char(), ed_delete_prev_word(), ed_digit(), ed_end_of_file(), ed_insert(), ed_kill_line(), ed_move_to_beg(), ed_move_to_end(), ed_newline(), ed_next_char(), ed_next_history(), ed_next_line(), ed_prev_char(), ed_prev_history(), ed_prev_line(), ed_prev_word(), ed_quoted_insert(), ed_search_next_history(), ed_search_prev_history(), ed_start_over(), ed_transpose_chars(), el_beep(), el_deletestr(), el_editmode(), el_end(), el_get(), el_getc(), el_gets(), el_init(), el_insertstr(), el_line(), el_parse(), el_push(), el_read_getfn(), el_read_setfn(), el_reset(), el_resize(), el_set(), el_source(), em_capitol_case(), em_copy_prev_word(), em_copy_region(), em_delete_next_word(), em_delete_or_list(), em_delete_prev_char(), em_exchange_mark(), em_gosmacs_transpose(), em_inc_search_next(), em_inc_search_prev(), em_kill_line(), em_kill_region(), em_lower_case(), em_meta_next(), em_next_word(), em_set_mark(), em_toggle_overwrite(), em_universal_argument(), em_upper_case(), em_yank(), find_order_in_list(), hist_command(), hist_end(), hist_enlargebuf(), hist_get(), hist_init(), hist_set(), key_add(), key_clear(), key_delete(), key_end(), key_get(), key_init(), key_kprint(), key_map_cmd(), key_map_str(), key_print(), key_reset(), main(), map_addfunc(), map_bind(), map_end(), map_get_editor(), map_init(), map_init_emacs(), map_init_meta(), map_init_nls(), map_init_vi(), map_print_all_keys(), map_print_key(), map_print_some_keys(), map_set_editor(), node__delete(), node__put(), node__try(), node_enum(), node_lookup(), node_trav(), parse_cmd(), parse_line(), prompt_get(), prompt_init(), prompt_print(), prompt_set(), re_addc(), re_clear_display(), re_clear_lines(), re_fastaddc(), re_fastputc(), re_goto_bottom(), re_putc(), re_refresh(), re_refresh_cursor(), re_update_line(), read_char(), read_finish(), read_getcmd(), read_init(), read_prepare(), read_preread(), search_end(), search_init(), sig(), sig_clr(), sig_end(), sig_init(), sig_set(), term_alloc(), term_alloc_display(), term_bind_arrow(), term_change_size(), term_clear_arrow(), term_clear_EOL(), term_deletechars(), term_echotc(), term_end(), term_free_display(), term_get(), term_get_size(), term_init(), term_init_arrow(), term_insertwrite(), term_move_to_char(), term_move_to_line(), term_overwrite(), term_print_arrow(), term_rebuffer_display(), term_reset_arrow(), term_set(), term_set_arrow(), term_setflags(), term_settc(), term_telltc(), tty_bind_char(), tty_cookedmode(), tty_init(), tty_noquotemode(), tty_quotemode(), tty_rawmode(), tty_setup(), tty_stty(), vi_add(), vi_add_at_eol(), vi_alias(), vi_change_case(), vi_change_meta(), vi_change_to_eol(), vi_command_mode(), vi_comment_out(), vi_delete_meta(), vi_delete_prev_char(), vi_end_big_word(), vi_end_word(), vi_histedit(), vi_history_word(), vi_insert(), vi_insert_at_bol(), vi_kill_line_prev(), vi_list_or_eof(), vi_match(), vi_next_big_word(), vi_next_char(), vi_next_word(), vi_paste_next(), vi_paste_prev(), vi_prev_big_word(), vi_prev_char(), vi_prev_word(), vi_redo(), vi_repeat_next_char(), vi_repeat_prev_char(), vi_repeat_search_next(), vi_repeat_search_prev(), vi_replace_char(), vi_replace_mode(), vi_search_next(), vi_search_prev(), vi_substitute_char(), vi_substitute_line(), vi_to_column(), vi_to_history_line(), vi_to_next_char(), vi_to_prev_char(), vi_undo(), vi_undo_line(), vi_yank(), vi_yank_end(), and vi_zero().
1.4.7

