<html lang="en">
<head>
<title>Guile Printing Module - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Guile-Modules.html#Guile-Modules" title="Guile Modules">
<link rel="next" href="Guile-Types-Module.html#Guile-Types-Module" title="Guile Types Module">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Guile-Printing-Module"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Guile-Types-Module.html#Guile-Types-Module">Guile Types Module</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Guile-Modules.html#Guile-Modules">Guile Modules</a>
<hr>
</div>

<h5 class="subsubsection">23.3.5.1 Guile Printing Module</h5>

<p>This module provides a collection of utilities for working with
pretty-printers.

   <p>Usage:

<pre class="smallexample">     (use-modules (gdb printing))
</pre>
   <div class="defun">
&mdash; Scheme Procedure: <b>prepend-pretty-printer!</b><var> object printer<a name="index-prepend_002dpretty_002dprinter_0021-2877"></a></var><br>
<blockquote><p>Add <var>printer</var> to the front of the list of pretty-printers for
<var>object</var>.  The <var>object</var> must either be a <code>&lt;gdb:objfile&gt;</code> object,
or <code>#f</code> in which case <var>printer</var> is added to the global list of
printers. 
</p></blockquote></div>

<div class="defun">
&mdash; Scheme Procecure: <b>append-pretty-printer!</b><var> object printer<a name="index-append_002dpretty_002dprinter_0021-2878"></a></var><br>
<blockquote><p>Add <var>printer</var> to the end of the list of pretty-printers for
<var>object</var>.  The <var>object</var> must either be a <code>&lt;gdb:objfile&gt;</code> object,
or <code>#f</code> in which case <var>printer</var> is added to the global list of
printers. 
</p></blockquote></div>

   </body></html>

