* 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>
* 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>
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
@dfn{subprinters} are the printers for the individual data types.
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}.
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:
[object-regexp [name-regexp]].
Individual printers in a collection are named as
printer-name:subprinter-name.
printer-name;subprinter-name.
Returns:
The result is a 3-tuple of compiled regular expressions, except that
@ -48,7 +48,7 @@ def parse_printer_regexps(arg):
if argc >= 1:
object_regexp = argv[0]
if argc >= 2:
name_subname = argv[1].split(":", 1)
name_subname = argv[1].split(";", 1)
name_regexp = name_subname[0]
if len(name_subname) == 2:
subname_regexp = name_subname[1]
@ -92,7 +92,7 @@ class InfoPrettyPrinter(gdb.Command):
NAME-REGEXP matches the name of the pretty-printer.
Individual printers in a collection are named as
printer-name:subprinter-name.
printer-name;subprinter-name.
"""
def __init__ (self):
@ -328,7 +328,7 @@ class EnablePrettyPrinter (gdb.Command):
NAME-REGEXP matches the name of the pretty-printer.
Individual printers in a collection are named as
printer-name:subprinter-name.
printer-name;subprinter-name.
"""
def __init__(self):
@ -351,7 +351,7 @@ class DisablePrettyPrinter (gdb.Command):
NAME-REGEXP matches the name of the pretty-printer.
Individual printers in a collection are named as
printer-name:subprinter-name.
printer-name;subprinter-name.
"""
def __init__(self):

View File

@ -85,7 +85,7 @@ def register_pretty_printer(obj, printer):
Raises:
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
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 not isinstance(printer.name, basestring):
raise TypeError("printer name is not a string")
# If printer provides a name, make sure it doesn't contain ":".
# Colon is used by the info/enable/disable pretty-printer commands
# If printer provides a name, make sure it doesn't contain ";".
# Semicolon is used by the info/enable/disable pretty-printer commands
# to delimit subprinters.
if printer.name.find(":") >= 0:
raise ValueError("colon ':' in printer name")
if printer.name.find(";") >= 0:
raise ValueError("semicolon ';' in printer name")
# Also make sure the name is unique.
# Alas, we can't do the same for functions and __name__, they could
# 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>
* 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" \
"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" \
"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" \
"0 printers disabled.*0 of 5 printers enabled"
"1 printer disabled.*4 of 5 printers enabled"
gdb_test "disable pretty-printer global pp-test:.*" \
"0 printers disabled.*0 of 5 printers enabled"
gdb_test "disable pretty-printer global pp-test;.*" \
"4 printers disabled.*0 of 5 printers enabled"
gdb_test "info pretty-printer global .*function" \
{.*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" \
"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"
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"
gdb_test "info pretty-printer" \