(index ("dissect" 0) ("dissection-prompt" 1115) ("dissection-menu-section-size" 1294) ("dissection-overview-printer" 1561) ("dissection-right-margin" 2108))
(def (sig (procedure "(dissect object [inport [outport]])" (id dissect))) (p (tt "Dissect") " invokes the dissector.  If given, " (tt "inport") " & " (tt "outport") " specify the ports to & from which commands & output are read & written.") (p "Dissector commands are put each on single lines.  The first part of the line should be a symbol.  The remainder of the line consists of arguments to the command.  After certain commands, a summary of the focus object may be printed.  This summary is truncated to fit within your terminal.  (Actually, it's truncated to fit within 72 lines.  But that's usually enough for most terminals.  And this doesn't necessarily apply if using a custom printer.)  Other commands may print a selection from the menu of an object's components.  In this selection is printed summaries of a number of an object's components. Each component is given a particular index; this index may be used to select the respective subcomponent of the focus object.  A list of dissector commands and help for them can be acquired with the " (tt "help") " command, or the " (tt "?") " alias for it."))
(def (sig (parameter "dissection-prompt" (id dissection-prompt))) (p "This specifies the prompt to be printed before waiting for the user to send a command.  Must be a string."))
(def (sig (parameter "dissection-menu-section-size -> exact, positive integer" (id dissection-menu-section-size))) (p "This specifies the maximum number of entries to be printed when disclosing a section of a menu to the user.  Must be an exact, positive integer."))
(def (sig (parameter "dissection-overview-printer" (id dissection-overview-printer))) (p "The function to print a dissection's overview.  The function takes two arguments: the object to print and the port to print it to.  Must be a procedure.") (p "<parameter>dissection-menu-entry-printer</procedure>") (p "The function to print a dissected object's components.  It takes three arguments: the object to print, the number of characters already printed to the port on the current line, and the port to print the object to.  Must be a procedure."))
(def (sig (parameter "dissection-right-margin" (id dissection-right-margin))) (p "The right margin for printing objects.  This is merely a hint to the " (tt "dissection-...-printer") " parameters.  Its default is 71, to fit nearly all terminals. Must be an exact, positive integer."))
