Document lazy computation for pretty-printer "children" method
authorTom Tromey <tromey@adacore.com>
Fri, 10 May 2019 14:19:04 +0000 (08:19 -0600)
committerTom Tromey <tromey@adacore.com>
Fri, 10 May 2019 18:35:26 +0000 (12:35 -0600)
I found out recently that some users didn't know that the Python
pretty-printers "children" method should compute its result lazily.
This has been a good idea since the earliest days, but wasn't
mentioned in the docs.  This patch adds some text to this effect.

gdb/doc/ChangeLog
2019-05-10  Tom Tromey  <tromey@adacore.com>

* python.texi (Pretty Printing API): Mention lazy computation for
"children".

gdb/doc/ChangeLog
gdb/doc/python.texi

index d05b5a381a36da2111ae875b3d4742a4ab3a1152..fe7f33ba7bfda5b161cf94e42d0b1c111b42b729 100644 (file)
@@ -1,3 +1,8 @@
+2019-05-10  Tom Tromey  <tromey@adacore.com>
+
+       * python.texi (Pretty Printing API): Mention lazy computation for
+       "children".
+
 2019-05-10  Tom Tromey  <tromey@adacore.com>
 
        * gdb.texinfo (Set Catchpoints): Add text for parameter to "catch
index b47c38deef70b3d394b9e22b839379062175afac..98e52bb770ca8f0e94b7e592720a6957458e98e6 100644 (file)
@@ -1371,6 +1371,12 @@ object which is convertible to a @value{GDBN} value.
 This method is optional.  If it does not exist, @value{GDBN} will act
 as though the value has no children.
 
+For efficiency, the @code{children} method should lazily compute its
+results.  This will let @value{GDBN} read as few elements as
+necessary, for example when various print settings (@pxref{Print
+Settings}) or @code{-var-list-children} (@pxref{GDB/MI Variable
+Objects}) limit the number of elements to be displayed.
+
 Children may be hidden from display based on the value of @samp{set
 print max-depth} (@pxref{Print Settings}).
 @end defun