Document remaining GHCi commands in users_guide (#7501)
authorBen Gamari <bgamari.foss@gmail.com>
Fri, 20 Sep 2013 18:28:51 +0000 (14:28 -0400)
committerKrzysztof Gogolewski <krz.gogolewski@gmail.com>
Sun, 22 Sep 2013 02:08:08 +0000 (04:08 +0200)
Also a small formatting change in GHCi :help

docs/users_guide/ghci.xml
ghc/InteractiveUI.hs

index 7792da2..fe7c8cf 100644 (file)
@@ -1528,8 +1528,8 @@ _result :: IO ()
         <replaceable>expr</replaceable></literal> begins the evaluation of
         <replaceable>expr</replaceable> in single-stepping mode.  If
         <replaceable>expr</replaceable> is omitted, then it single-steps from
-        the current breakpoint. <literal>:stepover</literal>
-        works similarly.</para>
+        the current breakpoint. <literal>:steplocal</literal> and
+        <literal>:stepmodule</literal> work similarly.</para>
 
       <para>The <literal>:list</literal> command is particularly useful when
         single-stepping, to see where you currently are:</para>
@@ -2509,6 +2509,18 @@ Prelude> :. cmds.ghci
 
       <varlistentry>
        <term>
+          <literal>:issafe</literal><optional><replaceable>module</replaceable></optional>
+          <indexterm><primary><literal>:issafe</literal></primary></indexterm>
+        </term>
+        <listitem>
+          <para>Displays Safe Haskell information about the given
+          module (or the current module if omitted). This includes the trust
+          type of the module and its containing package.</para>
+        </listitem>
+      </varlistentry>
+      
+      <varlistentry>
+       <term>
           <literal>:kind</literal><optional><literal>!</literal></optional> 
                         <replaceable>type</replaceable>
           <indexterm><primary><literal>:kind</literal></primary></indexterm>
@@ -2540,6 +2552,34 @@ T Int :: * -> *
 
       <varlistentry>
        <term>
+          <literal>:list</literal> <replaceable>identifier</replaceable>
+          <indexterm><primary><literal>:list</literal></primary></indexterm>
+        </term>
+        <listitem>
+          <para>Lists the source code around the definition of
+          <replaceable>identifier</replaceable> or the current
+          breakpoint is not given. This requires the identifier be
+          defined in an interpreted module.  If your output device
+          supports it, then GHCi will highlight the active
+          subexpression in bold.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
+          <literal>:list</literal> <optional><replaceable>module</replaceable></optional> <replaceable>line</replaceable>
+          <indexterm><primary><literal>:list</literal></primary></indexterm>
+        </term>
+        <listitem>
+          <para>Lists the source code around the given line number of
+          <replaceable>module</replaceable>. This requires that the module be
+          interpreted. If your output device supports it, then GHCi will
+          highlight the active subexpression in bold.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
           <literal>:load</literal> <optional><literal>*</literal></optional><replaceable>module</replaceable> ...
           <indexterm><primary><literal>:load</literal></primary></indexterm>
         </term>
@@ -2984,19 +3024,47 @@ bar
 
       <varlistentry>
        <term>
-          <literal>:step [<replaceable>expr</replaceable>]</literal>
+          <literal>:step</literal> <optional><replaceable>expr</replaceable></optional>
           <indexterm><primary><literal>:step</literal></primary></indexterm>
         </term>
        <listitem>
-         <para>Single-step from the last breakpoint.  With an expression
-            argument, begins evaluation of the expression with a
-            single-step.</para>
+         <para>Enable all breakpoints and begin evaluating an
+          expression in single-stepping mode. In this
+          mode evaluation will be stopped after every reduction,
+          allowing local variables to be inspected.
+
+          If <replaceable>expr</replaceable> is not given, evaluation will
+          resume at the last breakpoint.
+
+          See <xref linkend="single-stepping" />.</para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
+          <literal>:steplocal</literal>
+          <indexterm><primary><literal>:steplocal</literal></primary></indexterm>
+        </term>
+       <listitem>
+         <para>Enable only breakpoints in the current top-level
+          binding and resume evaluation at the last breakpoint.</para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
+          <literal>:stepmodule</literal>
+          <indexterm><primary><literal>:stepmodule</literal></primary></indexterm>
+        </term>
+       <listitem>
+         <para>Enable only breakpoints in the current module and
+          resume evaluation at the last breakpoint.</para>
        </listitem>
       </varlistentry>
 
       <varlistentry>
        <term>
-          <literal>:trace [<replaceable>expr</replaceable>]</literal>
+          <literal>:trace <optional><replaceable>expr</replaceable></optional></literal>
           <indexterm><primary><literal>:trace</literal></primary></indexterm>
         </term>
        <listitem>
index f5c820c..220ee17 100644 (file)
@@ -272,7 +272,7 @@ defFullHelpText =
   "   :forward                    go forward in the history (after :back)\n" ++
   "   :history [<n>]              after :trace, show the execution history\n" ++
   "   :list                       show the source code around current breakpoint\n" ++
-  "   :list identifier            show the source code for <identifier>\n" ++
+  "   :list <identifier>          show the source code for <identifier>\n" ++
   "   :list [<module>] <line>     show the source code around line number <line>\n" ++
   "   :print [<name> ...]         prints a value without forcing its computation\n" ++
   "   :sprint [<name> ...]        simplifed version of :print\n" ++