From c9879246a2dd33a217960496fdf4606cb117c6a6 Mon Sep 17 00:00:00 2001
From: Georg Brandl <georg@python.org>
Date: Tue, 4 Sep 2007 07:07:56 +0000
Subject: Add "print" command to pdb, "print s" previously invoked the print
 statement.

---
 Doc/library/pdb.rst | 13 ++++---------
 Lib/pdb.py          |  4 +++-
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/Doc/library/pdb.rst b/Doc/library/pdb.rst
index 4befa4c..b85afde 100644
--- a/Doc/library/pdb.rst
+++ b/Doc/library/pdb.rst
@@ -61,11 +61,11 @@ Typical usage to inspect a crashed program is::
      File "./mymodule.py", line 4, in test
        test2()
      File "./mymodule.py", line 3, in test2
-       print spam
+       print(spam)
    NameError: spam
    >>> pdb.pm()
    > ./mymodule.py(3)test2()
-   -> print spam
+   -> print(spam)
    (Pdb) 
 
 The module defines the following functions; each enters the debugger in a
@@ -283,14 +283,9 @@ l(ist) [*first*\ [, *last*]]
 a(rgs)
    Print the argument list of the current function.
 
-p *expression*
+p(rint) *expression*
    Evaluate the *expression* in the current context and print its value.
 
-   .. note::
-
-      ``print`` can also be used, but is not a debugger command --- this executes the
-      Python :keyword:`print` statement.
-
 pp *expression*
    Like the ``p`` command, except the value of the expression is pretty-printed
    using the :mod:`pprint` module.
@@ -312,7 +307,7 @@ alias [*name* [command]]
    :file:`.pdbrc` file)::
 
       #Print instance variables (usage "pi classInst")
-      alias pi for k in %1.__dict__.keys(): print "%1.",k,"=",%1.__dict__[k]
+      alias pi for k in %1.__dict__.keys(): print("%1.",k,"=",%1.__dict__[k])
       #Print instance variables in self
       alias ps pi self
 
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 3bbf76b..8a52778 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -716,6 +716,8 @@ class Pdb(bdb.Bdb, cmd.Cmd):
             print(repr(self._getval(arg)), file=self.stdout)
         except:
             pass
+    # make "print" an alias of "p" since print isn't a Python statement anymore
+    do_print = do_p
 
     def do_pp(self, arg):
         try:
@@ -1009,7 +1011,7 @@ if the second argument is less than the first, it is a count.""", file=self.stdo
 Print the arguments of the current function.""", file=self.stdout)
 
     def help_p(self):
-        print("""p expression
+        print("""p(rint) expression
 Print the value of the expression.""", file=self.stdout)
 
     def help_pp(self):
-- 
cgit v0.12