From 51065942b417e9d2cf910bba720833c3a136e57f Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Mon, 6 Oct 2003 22:41:17 +0000 Subject: [PATCH] * completer.h (get_gdb_completer_word_break_characters): Delete. * completer.c: include language.h. (gdb_completer_word_break_characters): Delete. (get_gdb_completer_word_break_characters): Delete. (location_completer): Use the word break characters of the current language. (complete_line): Likewise. (line_completion_function): Likewise. (skip_quoted_chars): Likewise. * Makefile.in (completer.o): Add dependency on language.h. * top.c (init_main): Set the readline word break characters to GDB's default word break characters. --- gdb/ChangeLog | 15 +++++++++++++++ gdb/Makefile.in | 3 ++- gdb/completer.c | 19 ++++++------------- gdb/completer.h | 2 -- gdb/top.c | 3 +-- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1afa47e290..d08b904a7d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,18 @@ +2003-10-06 J. Brobecker + + * completer.h (get_gdb_completer_word_break_characters): Delete. + * completer.c: include language.h. + (gdb_completer_word_break_characters): Delete. + (get_gdb_completer_word_break_characters): Delete. + (location_completer): Use the word break characters of the current + language. + (complete_line): Likewise. + (line_completion_function): Likewise. + (skip_quoted_chars): Likewise. + * Makefile.in (completer.o): Add dependency on language.h. + * top.c (init_main): Set the readline word break characters + to GDB's default word break characters. + 2003-10-06 J. Brobecker * language.h (language_defn): new field, la_word_break_characters. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index d3cfd8c210..cdbb92a159 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -1631,7 +1631,8 @@ coff-solib.o: coff-solib.c $(defs_h) $(frame_h) $(bfd_h) $(gdbcore_h) \ complaints.o: complaints.c $(defs_h) $(complaints_h) $(gdb_assert_h) \ $(command_h) $(gdbcmd_h) completer.o: completer.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ - $(filenames_h) $(cli_decode_h) $(gdbcmd_h) $(completer_h) + $(filenames_h) $(cli_decode_h) $(gdbcmd_h) $(completer_h) \ + $(language_h) copying.o: copying.c $(defs_h) $(command_h) $(gdbcmd_h) core-aout.o: core-aout.c $(defs_h) $(gdbcore_h) $(value_h) $(regcache_h) \ $(gdb_dirent_h) $(gdb_stat_h) diff --git a/gdb/completer.c b/gdb/completer.c index 4274241b00..1ab71bea18 100644 --- a/gdb/completer.c +++ b/gdb/completer.c @@ -23,6 +23,7 @@ #include "gdbtypes.h" #include "expression.h" #include "filenames.h" /* for DOSish file names */ +#include "language.h" #include "cli/cli-decode.h" @@ -51,13 +52,11 @@ char *line_completion_function (const char *text, int matches, char *line_buffer it does affect how much stuff M-? lists. (2) If one of the matches contains a word break character, readline will quote it. That's why we switch between - gdb_completer_word_break_characters and + current_language->la_word_break_characters() and gdb_completer_command_word_break_characters. I'm not sure when we need this behavior (perhaps for funky characters in C++ symbols?). */ /* Variables which are necessary for fancy command line editing. */ -static char *gdb_completer_word_break_characters = -" \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,-"; /* When completing on command names, we remove '-' from the list of word break characters, since we use it in command names. If the @@ -90,12 +89,6 @@ static char *gdb_completer_quote_characters = "'"; /* Accessor for some completer data that may interest other files. */ -char * -get_gdb_completer_word_break_characters (void) -{ - return gdb_completer_word_break_characters; -} - char * get_gdb_completer_quote_characters (void) { @@ -251,7 +244,7 @@ location_completer (char *text, char *word) colon = p; symbol_start = p + 1; } - else if (strchr (gdb_completer_word_break_characters, *p)) + else if (strchr (current_language->la_word_break_characters(), *p)) symbol_start = p + 1; } @@ -399,7 +392,7 @@ complete_line (const char *text, char *line_buffer, int point) '-' character used in some commands. */ rl_completer_word_break_characters = - gdb_completer_word_break_characters; + current_language->la_word_break_characters(); /* Decide whether to complete on a list of gdb commands or on symbols. */ tmp_command = (char *) alloca (point + 1); @@ -674,7 +667,7 @@ line_completion_function (const char *text, int matches, char *line_buffer, int /* Make sure the word break characters are set back to normal for the next time that readline tries to complete something. */ rl_completer_word_break_characters = - gdb_completer_word_break_characters; + current_language->la_word_break_characters(); #endif return (output); @@ -696,7 +689,7 @@ skip_quoted_chars (char *str, char *quotechars, char *breakchars) quotechars = gdb_completer_quote_characters; if (breakchars == NULL) - breakchars = gdb_completer_word_break_characters; + breakchars = current_language->la_word_break_characters(); for (scan = str; *scan != '\0'; scan++) { diff --git a/gdb/completer.h b/gdb/completer.h index 7a96951aae..0a8e9fa8cf 100644 --- a/gdb/completer.h +++ b/gdb/completer.h @@ -31,8 +31,6 @@ extern char **location_completer (char *, char *); extern char **command_completer (char *, char *); -extern char *get_gdb_completer_word_break_characters (void); - extern char *get_gdb_completer_quote_characters (void); /* Exported to linespec.c */ diff --git a/gdb/top.c b/gdb/top.c index baeaa93392..0e22c1fa3e 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -1719,8 +1719,7 @@ init_main (void) /* Setup important stuff for command line editing. */ rl_completion_entry_function = readline_line_completion_function; - rl_completer_word_break_characters = - get_gdb_completer_word_break_characters (); + rl_completer_word_break_characters = default_word_break_characters (); rl_completer_quote_characters = get_gdb_completer_quote_characters (); rl_readline_name = "gdb"; rl_terminal_name = getenv ("TERM"); -- 2.34.1