diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/charset.c | 6 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/charset.c | 112 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/charset.exp | 22 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/printcmds.exp | 12 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/setvar.exp | 32 |
7 files changed, 109 insertions, 90 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f8d4d3cf8c3..cf8f63d58e5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2004-02-26 Andrew Cagney <cagney@redhat.com> + + Fix PR i18n/1570. + * charset.c (backslashable, backslashed, represented): Remove 'e' + from list of escaped characters, not part of ISO-C. + 2004-02-25 J. Brobecker <brobecker@gnat.com> From Peter Schauer <schauer@pdf.de>: diff --git a/gdb/charset.c b/gdb/charset.c index fa683743cb7..2005a49e009 100644 --- a/gdb/charset.c +++ b/gdb/charset.c @@ -518,9 +518,9 @@ identity_either_char_to_other (void *baton, int either_char, int *other_char) /* Default non-trivial conversion functions. */ -static char backslashable[] = "abefnrtv"; -static char *backslashed[] = {"a", "b", "e", "f", "n", "r", "t", "v", "0"}; -static char represented[] = "\a\b\e\f\n\r\t\v"; +static char backslashable[] = "abfnrtv"; +static char *backslashed[] = {"a", "b", "f", "n", "r", "t", "v", "0"}; +static char represented[] = "\a\b\f\n\r\t\v"; /* Translate TARGET_CHAR into the host character set, and see if it diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d2d78fc5621..09b25a4e93c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2004-02-26 Andrew Cagney <cagney@redhat.com> + + Fix PR i18n/1570. + * gdb.base/charset.c: Update copyright notice. + (main, init_string): Remove the escape character '\e' tests. + * gdb.base/printcmds.exp (test_print_all_chars): Ditto. + * gdb.base/charset.exp (valid_host_charset): Ditto. + * gdb.base/setvar.exp: Ditto. + 2004-02-24 Andrew Cagney <cagney@redhat.com> * gdb.base/corefile.exp: Use gdb_test_multiple, make "accessing diff --git a/gdb/testsuite/gdb.base/charset.c b/gdb/testsuite/gdb.base/charset.c index a7b71238c5f..4361ffc7bc2 100644 --- a/gdb/testsuite/gdb.base/charset.c +++ b/gdb/testsuite/gdb.base/charset.c @@ -1,5 +1,25 @@ -/* Test GDB's character set support - Jim Blandy <jimb@cygnus.com> --- December 2001 */ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2001, 2004 Free Software Foundation, Inc. + + Contributed by Red Hat, originally written by Jim Blandy. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Please email any bugs, comments, and/or additions to this file to: + bug-gdb@gnu.org */ #include <stdio.h> #include <string.h> @@ -14,21 +34,20 @@ [0] --- the `alert' character, '\a' [1] --- the `backspace' character, '\b' - [2] --- the `escape' character, '\e' - [3] --- the `form feed' character, '\f' - [4] --- the `line feed' character, '\n' - [5] --- the `carriage return' character, '\r' - [6] --- the `horizontal tab' character, '\t' - [7] --- the `vertical tab' character, '\v' - [8 .. 33] --- the uppercase letters A-Z - [34 .. 59] --- the lowercase letters a-z - [60 .. 69] --- the digits 0-9 - [70] --- the `cent' character - [71] --- a control character with no defined backslash escape + [2] --- the `form feed' character, '\f' + [3] --- the `line feed' character, '\n' + [4] --- the `carriage return' character, '\r' + [5] --- the `horizontal tab' character, '\t' + [6] --- the `vertical tab' character, '\v' + [7 .. 32] --- the uppercase letters A-Z + [33 .. 58] --- the lowercase letters a-z + [59 .. 68] --- the digits 0-9 + [69] --- the `cent' character + [70] --- a control character with no defined backslash escape Feel free to extend these as you like. */ -#define NUM_CHARS (72) +#define NUM_CHARS (71) char ascii_string[NUM_CHARS]; char iso_8859_1_string[NUM_CHARS]; @@ -39,21 +58,20 @@ char ibm1047_string[NUM_CHARS]; void init_string (char string[], char x, - char alert, char backspace, char escape, char form_feed, + char alert, char backspace, char form_feed, char line_feed, char carriage_return, char horizontal_tab, char vertical_tab, char cent, char misc_ctrl) { memset (string, x, NUM_CHARS); string[0] = alert; string[1] = backspace; - string[2] = escape; - string[3] = form_feed; - string[4] = line_feed; - string[5] = carriage_return; - string[6] = horizontal_tab; - string[7] = vertical_tab; - string[70] = cent; - string[71] = misc_ctrl; + string[2] = form_feed; + string[3] = line_feed; + string[4] = carriage_return; + string[5] = horizontal_tab; + string[6] = vertical_tab; + string[69] = cent; + string[70] = misc_ctrl; } @@ -77,56 +95,56 @@ int main () /* Initialize ascii_string. */ init_string (ascii_string, 120, - 7, 8, 27, 12, + 7, 8, 12, 10, 13, 9, 11, 120, 17); - fill_run (ascii_string, 8, 26, 65); - fill_run (ascii_string, 34, 26, 97); - fill_run (ascii_string, 60, 10, 48); + fill_run (ascii_string, 7, 26, 65); + fill_run (ascii_string, 33, 26, 97); + fill_run (ascii_string, 59, 10, 48); /* Initialize iso_8859_1_string. */ init_string (iso_8859_1_string, 120, - 7, 8, 27, 12, + 7, 8, 12, 10, 13, 9, 11, 162, 17); - fill_run (iso_8859_1_string, 8, 26, 65); - fill_run (iso_8859_1_string, 34, 26, 97); - fill_run (iso_8859_1_string, 60, 10, 48); + fill_run (iso_8859_1_string, 7, 26, 65); + fill_run (iso_8859_1_string, 33, 26, 97); + fill_run (iso_8859_1_string, 59, 10, 48); /* Initialize ebcdic_us_string. */ init_string (ebcdic_us_string, 167, - 47, 22, 39, 12, + 47, 22, 12, 37, 13, 5, 11, 74, 17); /* In EBCDIC, the upper-case letters are broken into three separate runs. */ - fill_run (ebcdic_us_string, 8, 9, 193); - fill_run (ebcdic_us_string, 17, 9, 209); - fill_run (ebcdic_us_string, 26, 8, 226); + fill_run (ebcdic_us_string, 7, 9, 193); + fill_run (ebcdic_us_string, 16, 9, 209); + fill_run (ebcdic_us_string, 25, 8, 226); /* The lower-case letters are, too. */ - fill_run (ebcdic_us_string, 34, 9, 129); - fill_run (ebcdic_us_string, 43, 9, 145); - fill_run (ebcdic_us_string, 52, 8, 162); + fill_run (ebcdic_us_string, 33, 9, 129); + fill_run (ebcdic_us_string, 42, 9, 145); + fill_run (ebcdic_us_string, 51, 8, 162); /* The digits, at least, are contiguous. */ - fill_run (ebcdic_us_string, 60, 10, 240); + fill_run (ebcdic_us_string, 59, 10, 240); /* Initialize ibm1047_string. */ init_string (ibm1047_string, 167, - 47, 22, 39, 12, + 47, 22, 12, 37, 13, 5, 11, 74, 17); /* In EBCDIC, the upper-case letters are broken into three separate runs. */ - fill_run (ibm1047_string, 8, 9, 193); - fill_run (ibm1047_string, 17, 9, 209); - fill_run (ibm1047_string, 26, 8, 226); + fill_run (ibm1047_string, 7, 9, 193); + fill_run (ibm1047_string, 16, 9, 209); + fill_run (ibm1047_string, 25, 8, 226); /* The lower-case letters are, too. */ - fill_run (ibm1047_string, 34, 9, 129); - fill_run (ibm1047_string, 43, 9, 145); - fill_run (ibm1047_string, 52, 8, 162); + fill_run (ibm1047_string, 33, 9, 129); + fill_run (ibm1047_string, 42, 9, 145); + fill_run (ibm1047_string, 51, 8, 162); /* The digits, at least, are contiguous. */ - fill_run (ibm1047_string, 60, 10, 240); + fill_run (ibm1047_string, 59, 10, 240); puts ("All set!"); /* all strings initialized */ } diff --git a/gdb/testsuite/gdb.base/charset.exp b/gdb/testsuite/gdb.base/charset.exp index e17bb14bbce..780e909dbca 100644 --- a/gdb/testsuite/gdb.base/charset.exp +++ b/gdb/testsuite/gdb.base/charset.exp @@ -1,4 +1,6 @@ -# Copyright 2001 Free Software Foundation, Inc. +# This testcase is part of GDB, the GNU debugger. + +# Copyright 2001, 2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,7 +17,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu +# bug-gdb@gnu.org # Test GDB's character set support. @@ -439,7 +441,7 @@ foreach target_charset [all_charset_names] { # Compute a regexp matching the results we expect. This is static, # but it's easier than writing it out. - regsub -all "." "abefnrtv" "(\\\\&|x)" escapes + regsub -all "." "abfnrtv" "(\\\\&|x)" escapes set uppercase "ABCDEFGHIJKLMNOPQRSTUVWXYZ" set lowercase "abcdefghijklmnopqrstuvwxyz" set digits "0123456789" @@ -448,7 +450,7 @@ foreach target_charset [all_charset_names] { send_gdb "print $var_name\n" # ${escapes}${uppercase}${lowercase}${digits}${octal}${octal} gdb_expect { - -re ".* = \"(\\\\a|x)(\\\\b|x)(\\\\e|x)(\\\\f|x)(\\\\n|x)(\\\\r|x)(\\\\t|x)(\\\\v|x)${uppercase}${lowercase}${digits}(\\\\\[0-9\]\[0-9\]\[0-9\]|x)(\\\\\[0-9\]\[0-9\]\[0-9\]|x).*\"\[\r\n\]+$gdb_prompt $" { + -re ".* = \"(\\\\a|x)(\\\\b|x)(\\\\f|x)(\\\\n|x)(\\\\r|x)(\\\\t|x)(\\\\v|x)${uppercase}${lowercase}${digits}(\\\\\[0-9\]\[0-9\]\[0-9\]|x)(\\\\\[0-9\]\[0-9\]\[0-9\]|x).*\"\[\r\n\]+$gdb_prompt $" { pass "print string in $target_charset" } -re "$gdb_prompt $" { @@ -465,7 +467,7 @@ foreach target_charset [all_charset_names] { "parse character literal in ${target_charset}" # Check that the character literal was encoded correctly. - gdb_test "print 'A' == $var_name\[8\]" \ + gdb_test "print 'A' == $var_name\[7\]" \ " = 1" \ "check value of parsed character literal in ${target_charset}" @@ -475,14 +477,14 @@ foreach target_charset [all_charset_names] { "parse string literal in ${target_charset}" # Check that the string literal was encoded correctly. - gdb_test "print \"q\"\[0\] == $var_name\[50\]" \ + gdb_test "print \"q\"\[0\] == $var_name\[49\]" \ " = 1" \ "check value of parsed string literal in ${target_charset}" # Test handling of characters in the target charset which # can't be translated into the host charset. if {! [string compare $target_charset iso-8859-1]} { - gdb_test "print iso_8859_1_string\[70\]" \ + gdb_test "print iso_8859_1_string\[69\]" \ " = \[0-9-\]+ '\\\\242'" \ "print character with no equivalent in host character set" gdb_test "print iso_8859_1_string + 70" \ @@ -493,7 +495,7 @@ foreach target_charset [all_charset_names] { # Make sure that we don't apply the ISO-8859-1 `print_literally' # function to ASCII. if {! [string compare $target_charset ascii]} { - gdb_test "print iso_8859_1_string\[70\]" \ + gdb_test "print iso_8859_1_string\[69\]" \ " = \[0-9-\]+ '\\\\242'" \ "print ASCII unprintable character" gdb_test "print iso_8859_1_string + 70" \ @@ -502,7 +504,7 @@ foreach target_charset [all_charset_names] { } # Try printing characters with backslash escape equivalents. - set escapees {a b e f n r t v} + set escapees {a b f n r t v} for {set i 0} {$i < [llength $escapees]} {incr i} { set escape [lindex $escapees $i] send_gdb "print $var_name\[$i\]\n" @@ -541,7 +543,7 @@ foreach target_charset [all_charset_names] { # get the unescaped character, in the target character set. gdb_test "print '\\q'" " = \[0-9-\]+ 'q'" \ "print escape that doesn't exist in $target_charset" - gdb_test "print '\\q' == $var_name\[50\]" " = 1" \ + gdb_test "print '\\q' == $var_name\[49\]" " = 1" \ "check value of escape that doesn't exist in $target_charset" } diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp index 8f3ba89eb99..e532d71de09 100644 --- a/gdb/testsuite/gdb.base/printcmds.exp +++ b/gdb/testsuite/gdb.base/printcmds.exp @@ -1,5 +1,7 @@ -# Copyright 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003 Free -# Software Foundation, Inc. +# This testcase is part of GDB, the GNU debugger. + +# Copyright 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003, 2004 +# Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +18,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu +# bug-gdb@gnu.org # This file was written by Fred Fish. (fnf@cygnus.com) @@ -161,7 +163,7 @@ proc test_print_all_chars {} { gdb_test "p ctable1\[24\]" " = 24 '\\\\030'" gdb_test "p ctable1\[25\]" " = 25 '\\\\031'" gdb_test "p ctable1\[26\]" " = 26 '\\\\032'" - gdb_test "p ctable1\[27\]" " = 27 '\\\\e'" + gdb_test "p ctable1\[27\]" " = 27 '\\\\033'" gdb_test "p ctable1\[28\]" " = 28 '\\\\034'" gdb_test "p ctable1\[29\]" " = 29 '\\\\035'" gdb_test "p ctable1\[30\]" " = 30 '\\\\036'" @@ -479,7 +481,7 @@ proc test_print_strings {} { gdb_test "p &ctable1\[2*8\]" \ " = \\(unsigned char \\*\\) \"\\\\020\\\\021\\\\022\\\\023\\\\024\\\\025\\\\026\\\\027\"..." gdb_test "p &ctable1\[3*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\030\\\\031\\\\032\\\\e\\\\034\\\\035\\\\036\\\\037\"..." + " = \\(unsigned char \\*\\) \"\\\\030\\\\031\\\\032\\\\033\\\\034\\\\035\\\\036\\\\037\"..." gdb_test "p &ctable1\[4*8\]" \ " = \\(unsigned char \\*\\) \" !\\\\\"#\\\$%&'\"..." gdb_test "p &ctable1\[5*8\]" \ diff --git a/gdb/testsuite/gdb.base/setvar.exp b/gdb/testsuite/gdb.base/setvar.exp index 5f3b02c4391..c101f9c4ce2 100644 --- a/gdb/testsuite/gdb.base/setvar.exp +++ b/gdb/testsuite/gdb.base/setvar.exp @@ -1,25 +1,7 @@ -# Copyright 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2004 -# Free Software Foundation, Inc. +# This testcase is part of GDB, the GNU debugger. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1995 -# Free Software Foundation, Inc. +# Copyright 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, +# 1999, 2000, 2001, 2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,7 +18,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu +# bug-gdb@gnu.org # This file was written by Rob Savoye. (rob@cygnus.com) @@ -140,7 +122,7 @@ proc test_set { args } { test_set "set variable v_char=0" "print v_char" ".\[0-9\]* = 0 \'.0\'" "set variable char=0" test_set "set variable v_char=1" "print v_char" ".\[0-9\]* = 1 \'.001\'" "set variable char=1" -test_set "set variable v_char=27" "print v_char" ".\[0-9\]* = 27 \'.e\'" "set variable char=27 (Esc)" +test_set "set variable v_char=7" "print v_char" ".\[0-9\]* = 7 \'.a\'" "set variable char=7 (Bel)" test_set "set variable v_char=32" "print v_char" ".\[0-9\]* = 32 \' \'" "set variable char=32 (SPC)" test_set "set variable v_char=65" "print v_char" ".\[0-9\]* = 65 \'A\'" "set variable char=65 ('A')" test_set "set variable v_char=97" "print v_char" ".\[0-9\]* = 97 \'a\'" "set variable char=97 ('a')" @@ -151,7 +133,7 @@ test_set "set variable v_char=127" "print v_char" ".\[0-9\]* = 127 \'.177\'" # test_set "set variable v_char=0" "print v_signed_char" ".\[0-9\]* = 0 \'.0\'" "set variable signed char=0" test_set "set variable v_signed_char=1" "print v_signed_char" ".\[0-9\]* = 1 \'.001\'" "set variable signed char=1" -test_set "set variable v_signed_char=27" "print v_signed_char" ".\[0-9\]* = 27 \'.e\'" "set variable signed char=27 (Esc)" +test_set "set variable v_signed_char=7" "print v_signed_char" ".\[0-9\]* = 7 \'.a\'" "set variable signed char=7 (Bel)" test_set "set variable v_signed_char=32" "print v_signed_char" ".\[0-9\]* = 32 \' \'" "set variable signed char=32 (SPC)" test_set "set variable v_signed_char=65" "print v_signed_char" ".\[0-9\]* = 65 \'A\'" "set variable signed char=65 ('A')" test_set "set variable v_signed_char=97" "print v_signed_char" ".\[0-9\]* = 97 \'a\'" "set variable signed char=97 ('a')" @@ -170,7 +152,7 @@ gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \ # test_set "set variable v_unsigned_char=0" "print v_unsigned_char" ".\[0-9\]* = 0 \'.0\'" "set variable unsigned char=0" test_set "set variable v_unsigned_char=1" "print v_unsigned_char" ".\[0-9\]* = 1 \'.001\'" "set variable unsigned char=1" -test_set "set variable v_unsigned_char=27" "print v_unsigned_char" ".\[0-9\]* = 27 \'.e\'" "set variable unsigned char=27 (Esc)" +test_set "set variable v_unsigned_char=7" "print v_unsigned_char" ".\[0-9\]* = 7 \'.a\'" "set variable unsigned char=7 (Bel)" test_set "set variable v_unsigned_char=32" "print v_unsigned_char" ".\[0-9\]* = 32 \' \'" "set variable unsigned char=32 (SPC)" test_set "set variable v_unsigned_char=65" "print v_unsigned_char" ".\[0-9\]* = 65 \'A\'" "set variable unsigned char=65 ('A')" test_set "set variable v_unsigned_char=97" "print v_unsigned_char" ".\[0-9\]* = 97 \'a\'" "set variable unsigned char=97 ('a')" |