<html lang="en">
<head>
<title>Prompting - GDB's Obsolete Annotations</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GDB's Obsolete Annotations">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Displays.html#Displays" title="Displays">
<link rel="next" href="Errors.html#Errors" title="Errors">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1994-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 no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the section entitled ``GNU
Free Documentation License''.-->
<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="Prompting"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Errors.html#Errors">Errors</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Displays.html#Displays">Displays</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>

<h2 class="chapter">8 Annotation for <span class="sc">gdb</span> Input</h2>

<p><a name="index-annotations-for-prompts-44"></a>When <span class="sc">gdb</span> prompts for input, it annotates this fact so it is possible
to know when to send output, when the output from a given command is
over, etc.

   <p>Different kinds of input each have a different <dfn>input type</dfn>.  Each
input type has three annotations: a <code>pre-</code> annotation, which
denotes the beginning of any prompt which is being output, a plain
annotation, which denotes the end of the prompt, and then a <code>post-</code>
annotation which denotes the end of any echo which may (or may not) be
associated with the input.  For example, the <code>prompt</code> input type
features the following annotations:

<pre class="smallexample">     ^Z^Zpre-prompt
     ^Z^Zprompt
     ^Z^Zpost-prompt
</pre>
   <p>The input types are

     
<a name="index-pre_002dprompt-45"></a>
<a name="index-prompt-46"></a>
<a name="index-post_002dprompt-47"></a>
<dl><dt><code>prompt</code><dd>When <span class="sc">gdb</span> is prompting for a command (the main <span class="sc">gdb</span> prompt).

     <p><a name="index-pre_002dcommands-48"></a><a name="index-commands-49"></a><a name="index-post_002dcommands-50"></a><br><dt><code>commands</code><dd>When <span class="sc">gdb</span> prompts for a set of commands, like in the <code>commands</code>
command.  The annotations are repeated for each command which is input.

     <p><a name="index-pre_002doverload_002dchoice-51"></a><a name="index-overload_002dchoice-52"></a><a name="index-post_002doverload_002dchoice-53"></a><br><dt><code>overload-choice</code><dd>When <span class="sc">gdb</span> wants the user to select between various overloaded functions.

     <p><a name="index-pre_002dquery-54"></a><a name="index-query-55"></a><a name="index-post_002dquery-56"></a><br><dt><code>query</code><dd>When <span class="sc">gdb</span> wants the user to confirm a potentially dangerous operation.

     <p><a name="index-pre_002dprompt_002dfor_002dcontinue-57"></a><a name="index-prompt_002dfor_002dcontinue-58"></a><a name="index-post_002dprompt_002dfor_002dcontinue-59"></a><br><dt><code>prompt-for-continue</code><dd>When <span class="sc">gdb</span> is asking the user to press return to continue.  Note: Don't
expect this to work well; instead use <code>set height 0</code> to disable
prompting.  This is because the counting of lines is buggy in the
presence of annotations. 
</dl>

   </body></html>

