summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2003-10-06 22:41:17 +0000
committerJoel Brobecker <brobecker@gnat.com>2003-10-06 22:41:17 +0000
commitc8b33eea10b94ac396a1843f705c249c71a5e3d7 (patch)
treed1fafd27cae704a462547b012aa5a453398fc7ca /gdb
parent4cd9a1be6be6600df1edf0c3969ca41c06ad989a (diff)
downloadgdb-c8b33eea10b94ac396a1843f705c249c71a5e3d7.tar.gz
* 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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog15
-rw-r--r--gdb/Makefile.in3
-rw-r--r--gdb/completer.c19
-rw-r--r--gdb/completer.h2
-rw-r--r--gdb/top.c3
5 files changed, 24 insertions, 18 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1afa47e2909..d08b904a7d3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,20 @@
2003-10-06 J. Brobecker <brobecker@gnat.com>
+ * 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 <brobecker@gnat.com>
+
* language.h (language_defn): new field, la_word_break_characters.
* language.c (unknown_language_defn): Set new field to
default_word_break_characters.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index d3cfd8c210e..cdbb92a159e 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 4274241b00e..1ab71bea188 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
@@ -91,12 +90,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)
{
return gdb_completer_quote_characters;
@@ -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 7a96951aae3..0a8e9fa8cfe 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 baeaa933921..0e22c1fa3e8 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");