diff options
author | Stu Grossman <grossman@cygnus> | 1991-10-28 02:20:47 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1991-10-28 02:20:47 +0000 |
commit | 8b3c897ae978c4460d8df779ebedc94b5e0d32b2 (patch) | |
tree | 6705534604e7ccd7c4afc19b9e833a6d7fdb0041 /gdb/main.c | |
parent | da6745fd6897fbeab013a8e5d693c248921a50b7 (diff) | |
download | gdb-8b3c897ae978c4460d8df779ebedc94b5e0d32b2.zip gdb-8b3c897ae978c4460d8df779ebedc94b5e0d32b2.tar.gz gdb-8b3c897ae978c4460d8df779ebedc94b5e0d32b2.tar.bz2 |
* main.c (initialize_history): Read history after reading all
init files.
Diffstat (limited to 'gdb/main.c')
-rw-r--r-- | gdb/main.c | 50 |
1 files changed, 32 insertions, 18 deletions
@@ -170,6 +170,7 @@ extern void init_malloc (); void free_command_lines (); char *gdb_readline (); char *command_line_input (); +static void initialize_history (); static void initialize_main (); static void initialize_cmd_lists (); static void init_signals (); @@ -211,7 +212,7 @@ char *baud_rate; #define HAVE_SIGSETMASK !defined (USG) #endif -#if !HAVE_SIGSETMASK +#if 0 == (HAVE_SIGSETMASK) #define sigsetmask(n) #endif @@ -677,6 +678,9 @@ GDB manual (available as on-line info or a printed manual).\n", stderr); } free (cmdarg); + /* Read in the old history after all the command files have been read. */ + initialize_history(); + if (batch) { /* We have hit the end of the batch file. */ @@ -1993,41 +1997,51 @@ initialize_cmd_lists () unsethistlist = (struct cmd_list_element *) 0; } +/* Init the history buffer. Note that we are called after the init file(s) + * have been read so that the user can change the history file via his + * .gdbinit file (for instance). The GDBHISTFILE environment variable + * overrides all of this. + */ + static void -initialize_main () +initialize_history() { - struct cmd_list_element *c; - char *tmpenv; - -#ifdef DEFAULT_PROMPT - prompt = savestring (DEFAULT_PROMPT, strlen(DEFAULT_PROMPT)); -#else - prompt = savestring ("(gdb) ", 6); -#endif - /* Set the important stuff up for command editing. */ - command_editing_p = 1; - history_expansion_p = 0; - write_history_p = 0; - if (tmpenv = getenv ("HISTSIZE")) history_size = atoi (tmpenv); - else + else if (!history_size) history_size = 256; stifle_history (history_size); if (tmpenv = getenv ("GDBHISTFILE")) history_filename = savestring (tmpenv, strlen(tmpenv)); - else + else if (!history_filename) { /* We include the current directory so that if the user changes directories the file written will be the same as the one that was read. */ history_filename = concat (current_directory, "/.gdb_history", ""); - + } read_history (history_filename); +} +static void +initialize_main () +{ + struct cmd_list_element *c; + +#ifdef DEFAULT_PROMPT + prompt = savestring (DEFAULT_PROMPT, strlen(DEFAULT_PROMPT)); +#else + prompt = savestring ("(gdb) ", 6); +#endif + + /* Set the important stuff up for command editing. */ + command_editing_p = 1; + history_expansion_p = 0; + write_history_p = 0; + /* Setup important stuff for command line editing. */ rl_completion_entry_function = (int (*)()) symbol_completion_function; rl_completer_word_break_characters = gdb_completer_word_break_characters; |