* python/lib/gdb/printing.py (register_pretty_printer): Change

printer-name:subprinter-name to printer-name;subprinter-name.
	* python/lib/gdb/command/pretty_printers.py (parse_printer_regexps):
	Ditto.
	(InfoPrettyPrinter, EnablePrettyPrinter, DisablePrettyPrinter): Ditto.

	doc/
	* gdb.texinfo (Pretty-Printer Introduction): Change
	printer-name:subprinter-name to printer-name;subprinter-name.

	testsuite/
	* gdb.python/py-pp-maint.exp: Change printer-name:subprinter-name to
	printer-name;subprinter-name.
This commit is contained in:
Doug Evans
2010-11-29 23:20:58 +00:00
parent 0e75fdc4e0
commit 4e04c971fb
7 changed files with 41 additions and 17 deletions

View File

@ -1,3 +1,11 @@
2010-11-29 Doug Evans <dje@google.com>
* python/lib/gdb/printing.py (register_pretty_printer): Change
printer-name:subprinter-name to printer-name;subprinter-name.
* python/lib/gdb/command/pretty_printers.py (parse_printer_regexps):
Ditto.
(InfoPrettyPrinter, EnablePrettyPrinter, DisablePrettyPrinter): Ditto.
2010-11-29 Tom Tromey <tromey@redhat.com> 2010-11-29 Tom Tromey <tromey@redhat.com>
* opencl-lang.c (lval_func_check_synthetic_pointer): New * opencl-lang.c (lval_func_check_synthetic_pointer): New

View File

@ -1,3 +1,8 @@
2010-11-29 Doug Evans <dje@google.com>
* gdb.texinfo (Pretty-Printer Introduction): Change
printer-name:subprinter-name to printer-name;subprinter-name.
2010-11-29 Phil Muldoon <pmuldoon@redhat.com> 2010-11-29 Phil Muldoon <pmuldoon@redhat.com>
PR python/12199 PR python/12199

View File

@ -8160,7 +8160,7 @@ pretty-printers with their names.
If a pretty-printer can handle multiple data types, then its If a pretty-printer can handle multiple data types, then its
@dfn{subprinters} are the printers for the individual data types. @dfn{subprinters} are the printers for the individual data types.
Each such subprinter has its own name. Each such subprinter has its own name.
The format of the name is @var{printer-name}:@var{subprinter-name}. The format of the name is @var{printer-name};@var{subprinter-name}.
Pretty-printers are installed by @dfn{registering} them with @value{GDBN}. Pretty-printers are installed by @dfn{registering} them with @value{GDBN}.
Typically they are automatically loaded and registered when the corresponding Typically they are automatically loaded and registered when the corresponding

View File

@ -28,7 +28,7 @@ def parse_printer_regexps(arg):
arg: The arguments to the command. The format is: arg: The arguments to the command. The format is:
[object-regexp [name-regexp]]. [object-regexp [name-regexp]].
Individual printers in a collection are named as Individual printers in a collection are named as
printer-name:subprinter-name. printer-name;subprinter-name.
Returns: Returns:
The result is a 3-tuple of compiled regular expressions, except that The result is a 3-tuple of compiled regular expressions, except that
@ -48,7 +48,7 @@ def parse_printer_regexps(arg):
if argc >= 1: if argc >= 1:
object_regexp = argv[0] object_regexp = argv[0]
if argc >= 2: if argc >= 2:
name_subname = argv[1].split(":", 1) name_subname = argv[1].split(";", 1)
name_regexp = name_subname[0] name_regexp = name_subname[0]
if len(name_subname) == 2: if len(name_subname) == 2:
subname_regexp = name_subname[1] subname_regexp = name_subname[1]
@ -92,7 +92,7 @@ class InfoPrettyPrinter(gdb.Command):
NAME-REGEXP matches the name of the pretty-printer. NAME-REGEXP matches the name of the pretty-printer.
Individual printers in a collection are named as Individual printers in a collection are named as
printer-name:subprinter-name. printer-name;subprinter-name.
""" """
def __init__ (self): def __init__ (self):
@ -328,7 +328,7 @@ class EnablePrettyPrinter (gdb.Command):
NAME-REGEXP matches the name of the pretty-printer. NAME-REGEXP matches the name of the pretty-printer.
Individual printers in a collection are named as Individual printers in a collection are named as
printer-name:subprinter-name. printer-name;subprinter-name.
""" """
def __init__(self): def __init__(self):
@ -351,7 +351,7 @@ class DisablePrettyPrinter (gdb.Command):
NAME-REGEXP matches the name of the pretty-printer. NAME-REGEXP matches the name of the pretty-printer.
Individual printers in a collection are named as Individual printers in a collection are named as
printer-name:subprinter-name. printer-name;subprinter-name.
""" """
def __init__(self): def __init__(self):

View File

@ -85,7 +85,7 @@ def register_pretty_printer(obj, printer):
Raises: Raises:
TypeError: A problem with the type of the printer. TypeError: A problem with the type of the printer.
ValueError: The printer's name contains a colon ":". ValueError: The printer's name contains a semicolon ";".
If the caller wants the printer to be listable and disableable, it must If the caller wants the printer to be listable and disableable, it must
follow the PrettyPrinter API. This applies to the old way (functions) too. follow the PrettyPrinter API. This applies to the old way (functions) too.
@ -116,11 +116,11 @@ def register_pretty_printer(obj, printer):
if hasattr(printer, "name"): if hasattr(printer, "name"):
if not isinstance(printer.name, basestring): if not isinstance(printer.name, basestring):
raise TypeError("printer name is not a string") raise TypeError("printer name is not a string")
# If printer provides a name, make sure it doesn't contain ":". # If printer provides a name, make sure it doesn't contain ";".
# Colon is used by the info/enable/disable pretty-printer commands # Semicolon is used by the info/enable/disable pretty-printer commands
# to delimit subprinters. # to delimit subprinters.
if printer.name.find(":") >= 0: if printer.name.find(";") >= 0:
raise ValueError("colon ':' in printer name") raise ValueError("semicolon ';' in printer name")
# Also make sure the name is unique. # Also make sure the name is unique.
# Alas, we can't do the same for functions and __name__, they could # Alas, we can't do the same for functions and __name__, they could
# all have a canonical name like "lookup_function". # all have a canonical name like "lookup_function".

View File

@ -1,3 +1,8 @@
2010-11-29 Doug Evans <dje@google.com>
* gdb.python/py-pp-maint.exp: Change printer-name:subprinter-name to
printer-name;subprinter-name.
2010-11-29 Tom Tromey <tromey@redhat.com> 2010-11-29 Tom Tromey <tromey@redhat.com>
* gdb.dwarf2/implptr.exp: New file. * gdb.dwarf2/implptr.exp: New file.

View File

@ -80,14 +80,20 @@ gdb_test "print ss" " = a=<a=<1> b=<$hex>> b=<a=<2> b=<$hex>>" \
gdb_test "disable pretty-printer" \ gdb_test "disable pretty-printer" \
"5 printers disabled.*0 of 5 printers enabled" "5 printers disabled.*0 of 5 printers enabled"
gdb_test "enable pretty-printer" \
"5 printers enabled.*5 of 5 printers enabled"
gdb_test "disable pretty-printer global" \ gdb_test "disable pretty-printer global" \
"0 printers disabled.*0 of 5 printers enabled" "5 printers disabled.*0 of 5 printers enabled"
gdb_test "enable pretty-printer" \
"5 printers enabled.*5 of 5 printers enabled"
gdb_test "disable pretty-printer global lookup_function_lookup_test" \ gdb_test "disable pretty-printer global lookup_function_lookup_test" \
"0 printers disabled.*0 of 5 printers enabled" "1 printer disabled.*4 of 5 printers enabled"
gdb_test "disable pretty-printer global pp-test:.*" \ gdb_test "disable pretty-printer global pp-test;.*" \
"0 printers disabled.*0 of 5 printers enabled" "4 printers disabled.*0 of 5 printers enabled"
gdb_test "info pretty-printer global .*function" \ gdb_test "info pretty-printer global .*function" \
{.*function_lookup_test \[disabled\].*} {.*function_lookup_test \[disabled\].*}
@ -110,10 +116,10 @@ gdb_test "enable pretty-printer global lookup_function_lookup_test" \
gdb_test "enable pretty-printer global pp-test" \ gdb_test "enable pretty-printer global pp-test" \
"0 printers enabled.*1 of 5 printers enabled" "0 printers enabled.*1 of 5 printers enabled"
gdb_test "enable pretty-printer global pp-test:.*ss.*" \ gdb_test "enable pretty-printer global pp-test;.*ss.*" \
"2 printers enabled.*3 of 5 printers enabled" "2 printers enabled.*3 of 5 printers enabled"
gdb_test "enable pretty-printer global pp-test:.*s.*" \ gdb_test "enable pretty-printer global pp-test;.*s.*" \
"2 printers enabled.*5 of 5 printers enabled" "2 printers enabled.*5 of 5 printers enabled"
gdb_test "info pretty-printer" \ gdb_test "info pretty-printer" \