home *** CD-ROM | disk | FTP | other *** search
/ BURKS 2 / BURKS_AUG97.ISO / SLAKWARE / AP5 / TEXINFO.TGZ / TEXINFO.tar / usr / share / emacs / site-lisp / texinfo.el < prev    next >
Lisp/Scheme  |  1996-09-26  |  35KB  |  933 lines

  1. ;;; texinfo.el--major mode for editing Texinfo files.
  2.  
  3. ;; Copyright (C) 1985, '88, '89, '90, '91,
  4. ;;                '92, '93, '96 Free Software Foundation, Inc.
  5.  
  6. ;; Author: Robert J. Chassell          
  7. ;; Date:   6 Sep 1996
  8. ;; Maintainer: bug-texinfo@prep.ai.mit.edu
  9. ;; Keywords: maint, tex, docs
  10.  
  11. ;; This file is part of GNU Emacs.
  12.  
  13. ;; GNU Emacs is free software; you can redistribute it and/or modify
  14. ;; it under the terms of the GNU General Public License as published by
  15. ;; the Free Software Foundation; either version 2, or (at your option)
  16. ;; any later version.
  17.  
  18. ;; GNU Emacs is distributed in the hope that it will be useful,
  19. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21. ;; GNU General Public License for more details.
  22.  
  23. ;; You should have received a copy of the GNU General Public License
  24. ;; along with GNU Emacs; see the file COPYING.  If not, write to the
  25. ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  26. ;; Boston, MA 02111-1307, USA.
  27.  
  28.  
  29. ;;; Autoloads:
  30.  
  31. (autoload 'makeinfo-region
  32.   "makeinfo"
  33.   "Make Info file from region of current Texinfo file, and switch to it.
  34.  
  35. This command does not offer the `next-error' feature since it would
  36. apply to a temporary file, not the original; use the `makeinfo-buffer'
  37. command to gain use of `next-error'."
  38.   t nil)
  39.  
  40. (autoload 'makeinfo-buffer
  41.   "makeinfo"
  42.   "Make Info file from current buffer.
  43.  
  44. Use the \\[next-error] command to move to the next error 
  45. \(if there are errors\)."
  46.   t nil)
  47.  
  48. (autoload 'kill-compilation
  49.   "compile"
  50.   "Kill the process made by the \\[compile] command."
  51.   t nil)
  52.  
  53. (autoload 'makeinfo-recenter-compilation-buffer
  54.   "makeinfo"
  55.   "Redisplay `*compilation*' buffer so most recent output can be seen.
  56. The last line of the buffer is displayed on
  57. line LINE of the window, or centered if LINE is nil."
  58.   t nil)
  59.  
  60. (autoload 'texinfo-update-node
  61.   "texnfo-upd"
  62.   "Without any prefix argument, update the node in which point is located.
  63. Non-nil argument (prefix, if interactive) means update the nodes in the
  64. marked region.
  65.  
  66. The functions for creating or updating nodes and menus, and their
  67. keybindings, are:
  68.  
  69.     texinfo-update-node (&optional region-p)    \\[texinfo-update-node]
  70.     texinfo-every-node-update ()                \\[texinfo-every-node-update]
  71.     texinfo-sequential-node-update (&optional region-p)
  72.  
  73.     texinfo-make-menu (&optional region-p)      \\[texinfo-make-menu]
  74.     texinfo-all-menus-update ()                 \\[texinfo-all-menus-update]
  75.     texinfo-master-menu ()
  76.  
  77.     texinfo-indent-menu-description (column &optional region-p)
  78.  
  79. The `texinfo-column-for-description' variable specifies the column to
  80. which menu descriptions are indented. Its default value is 32."
  81.   t nil)
  82.  
  83. (autoload 'texinfo-every-node-update
  84.   "texnfo-upd"
  85.   "Update every node in a Texinfo file."
  86.   t nil)
  87.  
  88. (autoload 'texinfo-sequential-node-update
  89.   "texnfo-upd"
  90.   "Update one node (or many) in a Texinfo file with sequential pointers.
  91.  
  92. This function causes the `Next' or `Previous' pointer to point to the
  93. immediately preceding or following node, even if it is at a higher or
  94. lower hierarchical level in the document.  Continually pressing `n' or
  95. `p' takes you straight through the file.
  96.  
  97. Without any prefix argument, update the node in which point is located.
  98. Non-nil argument (prefix, if interactive) means update the nodes in the
  99. marked region.
  100.  
  101. This command makes it awkward to navigate among sections and
  102. subsections; it should be used only for those documents that are meant
  103. to be read like a novel rather than a reference, and for which the
  104. Info `g*' command is inadequate."
  105.   t nil)
  106.  
  107. (autoload 'texinfo-make-menu
  108.   "texnfo-upd"
  109.   "Without any prefix argument, make or update a menu.
  110. Make the menu for the section enclosing the node found following point.
  111.  
  112. Non-nil argument (prefix, if interactive) means make or update menus
  113. for nodes within or part of the marked region.
  114.  
  115. Whenever a menu exists, and is being updated, the descriptions that
  116. are associated with node names in the pre-existing menu are
  117. incorporated into the new menu.  Otherwise, the nodes' section titles
  118. are inserted as descriptions."
  119.   t nil)
  120.  
  121. (autoload 'texinfo-all-menus-update
  122.   "texnfo-upd"
  123.   "Update every regular menu in a Texinfo file.
  124. Remove pre-existing master menu, if there is one.
  125.  
  126. If called with a non-nil argument, this function first updates all the
  127. nodes in the buffer before updating the menus."
  128.   t nil)
  129.  
  130. (autoload 'texinfo-master-menu
  131.   "texnfo-upd"
  132.   "Make a master menu for a whole Texinfo file.
  133. Non-nil argument (prefix, if interactive) means first update all
  134. existing nodes and menus.  Remove pre-existing master menu, if there is one.
  135.  
  136. This function creates a master menu that follows the top node.  The
  137. master menu includes every entry from all the other menus.  It
  138. replaces any existing ordinary menu that follows the top node.
  139.  
  140. If called with a non-nil argument, this function first updates all the
  141. menus in the buffer (incorporating descriptions from pre-existing
  142. menus) before it constructs the master menu.
  143.  
  144. The function removes the detailed part of an already existing master
  145. menu.  This action depends on the pre-existing master menu using the
  146. standard `texinfo-master-menu-header'.
  147.  
  148. The master menu has the following format, which is adapted from the
  149. recommendation in the Texinfo Manual:
  150.  
  151.    * The first part contains the major nodes in the Texinfo file: the
  152.      nodes for the chapters, chapter-like sections, and the major
  153.      appendices.  This includes the indices, so long as they are in
  154.      chapter-like sections, such as unnumbered sections.
  155.  
  156.    * The second and subsequent parts contain a listing of the other,
  157.      lower level menus, in order.  This way, an inquirer can go
  158.      directly to a particular node if he or she is searching for
  159.      specific information.
  160.  
  161. Each of the menus in the detailed node listing is introduced by the
  162. title of the section containing the menu."
  163.   t nil)
  164.  
  165. (autoload 'texinfo-indent-menu-description
  166.   "texnfo-upd"
  167.   "Indent every description in menu following point to COLUMN.  
  168. Non-nil argument (prefix, if interactive) means indent every
  169. description in every menu in the region.  Does not indent second and
  170. subsequent lines of a multi-line description."
  171.   t nil)
  172.  
  173. (autoload 'texinfo-insert-node-lines
  174.   "texnfo-upd"
  175.   "Insert missing `@node' lines in region of Texinfo file.
  176. Non-nil argument (prefix, if interactive) means also to insert the
  177. section titles as node names; and also to insert the section titles as
  178. node names in pre-existing @node lines that lack names."
  179.   t nil)
  180.  
  181. (autoload 'texinfo-start-menu-description
  182.   "texnfo-upd"
  183.   "In this menu entry, insert the node's section title as a description. 
  184. Position point at beginning of description ready for editing.
  185. Do not insert a title if the line contains an existing description.
  186.  
  187. You will need to edit the inserted text since a useful description
  188. complements the node name rather than repeats it as a title does."
  189.   t nil)
  190.  
  191. (autoload 'texinfo-multiple-files-update
  192.   "texnfo-upd"
  193.   "Update first node pointers in each file included in OUTER-FILE;
  194. create or update main menu in the outer file that refers to such nodes. 
  195. This does not create or update menus or pointers within the included files.
  196.  
  197. With optional MAKE-MASTER-MENU argument (prefix arg, if interactive),
  198. insert a master menu in OUTER-FILE.  This does not create or update
  199. menus or pointers within the included files.
  200.  
  201. With optional UPDATE-EVERYTHING argument (numeric prefix arg, if
  202. interactive), update all the menus and all the `Next', `Previous', and
  203. `Up' pointers of all the files included in OUTER-FILE before inserting
  204. a master menu in OUTER-FILE.
  205.  
  206. The command also updates the `Top' level node pointers of OUTER-FILE.
  207.  
  208. Notes: 
  209.  
  210.   * this command does NOT save any files--you must save the
  211.     outer file and any modified, included files.
  212.  
  213.   * except for the `Top' node, this command does NOT handle any
  214.     pre-existing nodes in the outer file; hence, indices must be
  215.     enclosed in an included file.
  216.  
  217. Requirements:
  218.  
  219.   * each of the included files must contain exactly one highest
  220.     hierarchical level node, 
  221.   * this highest node must b