home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0410.ZIP / CCE_0410.PD / EMACS_58.ZOO / e-lisp / loaddefs.el < prev    next >
Lisp/Scheme  |  1992-07-15  |  74KB  |  1,994 lines

  1. ;; Define standard autoloads and keys of other files, for Emacs.
  2. ;; Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
  3.  
  4. ;; This file is part of GNU Emacs.
  5.  
  6. ;; GNU Emacs is free software; you can redistribute it and/or modify
  7. ;; it under the terms of the GNU General Public License as published by
  8. ;; the Free Software Foundation; either version 1, or (at your option)
  9. ;; any later version.
  10.  
  11. ;; GNU Emacs is distributed in the hope that it will be useful,
  12. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. ;; GNU General Public License for more details.
  15.  
  16. ;; You should have received a copy of the GNU General Public License
  17. ;; along with GNU Emacs; see the file COPYING.  If not, write to
  18. ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. ;;; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  21. ;;; Special formatting conventions are used in this file!
  22. ;;;
  23. ;;; a backslash-newline is used at the beginning of a documentation string
  24. ;;; when that string should be stored in the file etc/DOCnnn, not in core.
  25. ;;;
  26. ;;; Such strings read into Lisp as numbers (during the pure-loading phase).
  27. ;;;
  28. ;;; But you must obey certain rules to make sure the string is understood
  29. ;;; and goes into etc/DOCnnn properly.  Otherwise, the string will not go
  30. ;;; anywhere!
  31. ;;;
  32. ;;; The doc string must appear in the standard place in a call to
  33. ;;; defun, autoload, defvar or defconst.  No Lisp macros are recognized.
  34. ;;; The open-paren starting the definition must appear in column 0.
  35. ;;;
  36. ;;; In defvar and defconst, there is an additional rule:
  37. ;;; The double-quote that starts the string must be on the same
  38. ;;; line as the defvar or defconst.
  39. ;;; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  40.  
  41. ;; Know which function the debugger is!
  42. (setq debugger 'debug)
  43.  
  44. (defconst mode-line-buffer-identification (purecopy '("Emacs: %17b")) "\
  45. Mode-line control for identifying the buffer being displayed.
  46. Its default value is \"Emacs: %17b\".  Major modes that edit things
  47. other than ordinary files may change this (e.g. Info, Dired,...)")
  48.  
  49. (make-variable-buffer-local 'mode-line-buffer-identification)
  50.  
  51. (defconst mode-line-process nil "\
  52. Mode-line control for displaying info on process status.
  53. Normally nil in most modes, since there is no process to display.")
  54.  
  55. (make-variable-buffer-local 'mode-line-process)
  56.  
  57. (defconst mode-line-modified (purecopy '("--%1*%1*-")) "\
  58. Mode-line control for displaying whether current buffer is modified.")
  59.  
  60. (make-variable-buffer-local 'mode-line-modified)
  61.  
  62. (setq-default mode-line-format
  63.   (list (purecopy "")
  64.    'mode-line-modified
  65.    'mode-line-buffer-identification
  66.    (purecopy "   ")
  67.    'global-mode-string
  68.    (purecopy "   %[(")
  69.    'mode-name 'minor-mode-alist "%n" 'mode-line-process
  70.    (purecopy ")%]----")
  71.    (purecopy '(-3 . "%p"))
  72.    (purecopy "-%-")))
  73.  
  74. (defvar minor-mode-alist nil "\
  75. Alist saying how to show minor modes in the mode line.
  76. Each element looks like (VARIABLE STRING);
  77. STRING is included in the mode line iff VARIABLE's value is non-nil.")
  78. (setq minor-mode-alist (mapcar 'purecopy
  79.                    '((abbrev-mode " Abbrev")
  80.                  (overwrite-mode " Ovwrt")
  81.                  (auto-fill-hook " Fill")
  82.                  ;; not really a minor mode...
  83.                  (defining-kbd-macro " Def"))))
  84.  
  85. (defconst function-keymap (make-sparse-keymap) "\
  86. Keymap containing definitions of keypad and function keys.")
  87.  
  88. ;; These variables are used by autoloadable packages.
  89. ;; They are defined here so that they do not get overridden
  90. ;; by the loading of those packages.
  91.  
  92. (defconst paragraph-start "^[ \t\n\f]" "\
  93. *Regexp for beginning of a line that starts OR separates paragraphs.")
  94. (defconst paragraph-separate "^[ \t\f]*$" "\
  95. *Regexp for beginning of a line that separates paragraphs.
  96. If you change this, you may have to change paragraph-start also.")
  97.  
  98. (defconst sentence-end   (purecopy "[.?!][]\"')}]*\\($\\|\t\\|  \\)[ \t\n]*") "\
  99. *Regexp describing the end of a sentence.
  100. All paragraph boundaries also end sentences, regardless.")
  101.  
  102. (defconst page-delimiter "^\014" "\
  103. *Regexp describing line-beginnings that separate pages.")
  104.  
  105. (defconst case-replace t "\
  106. *Non-nil means query-replace should preserve case in replacements.")
  107.  
  108. ;; indent.el may not be autoloading, but it still loses
  109. ;; if lisp-mode is ever called before this defvar is done.
  110. (defvar indent-line-function 'indent-to-left-margin "\
  111. Function to indent current line.")
  112.  
  113. (defconst only-global-abbrevs nil "\
  114. *t means user plans to use global abbrevs only.
  115. Makes the commands to define mode-specific abbrevs define global ones instead.")
  116.  
  117. ;; Names in directory that end in one of these
  118. ;; are ignored in completion,
  119. ;; making it more likely you will get a unique match.
  120. (setq completion-ignored-extensions
  121.       (if (eq system-type 'vax-vms)
  122.       '(".obj" ".elc" ".exe" ".bin" ".lbin"
  123.         ".dvi" ".toc" ".log" ".aux"
  124.         ".lof" ".brn" ".rnt" ".mem" ".lni" ".lis"
  125.         ".olb" ".tlb" ".mlb" ".hlb" ".glo" ".idx" ".lot")
  126.     '(".o" ".elc" "~" ".bin" ".lbin" ".fasl"
  127.       ".dvi" ".toc" ".log" ".aux"
  128.       ".lof" ".blg" ".bbl" ".glo" ".idx" ".lot")))
  129.  
  130. (defvar compile-command "gcc " "\
  131. *Last shell command used to do a compilation; default for next compilation.")
  132.  
  133. (defvar dired-listing-switches "-al" "\
  134. *Switches passed to ls for Dired.  MUST contain the `l' option.
  135. MUST NOT contain the `F, `s' or `i'' option.")
  136.  
  137. (defconst lpr-switches nil "\
  138. *List of strings to pass as extra switch args to lpr when it is invoked.")
  139.  
  140. (defvar tags-file-name nil "\
  141. *File name of tag table.
  142. To switch to a new tag table, setting this variable is sufficient.
  143. Use the `etags' program to make a tag table file.")
  144.  
  145. (defconst shell-prompt-pattern "^[^#$%>]*[#$%>] *" "\
  146. *Regexp used by Newline command in shell mode to match subshell prompts.
  147. Anything from beginning of line up to the end of what this pattern matches
  148. is deemed to be prompt, and is not reexecuted.")
  149.  
  150. (defconst ledit-save-files t "\
  151. *Non-nil means Ledit should save files before transferring to Lisp.")
  152. (defconst ledit-go-to-lisp-string "%?lisp" "\
  153. *Shell commands to execute to resume Lisp job.")
  154. (defconst ledit-go-to-liszt-string "%?liszt" "\
  155. *Shell commands to execute to resume Lisp compiler job.")
  156.  
  157. (defconst display-time-day-and-date nil "\
  158. *Non-nil means M-x display-time should display day and date as well as time.")
  159.  
  160. ;;; Determine mode according to filename
  161.  
  162. (defvar auto-mode-alist nil "\
  163. Alist of filename patterns vs corresponding major mode functions.
  164. Each element looks like (REGEXP . FUNCTION).
  165. Visiting a file whose name matches REGEXP causes FUNCTION to be called.")
  166. (setq auto-mode-alist (mapcar 'purecopy
  167.                   '(("\\.text$" . text-mode)
  168.                 ("\\.c$" . c-mode)
  169.                 ("\\.h$" . c-mode)
  170.                 ("\\.tex$" . TeX-mode)
  171.                 ("\\.el$" . emacs-lisp-mode)
  172.                 ("\\.scm$" . scheme-mode)
  173.                 ("\\.l$" . lisp-mode)
  174.                 ("\\.lisp$" . lisp-mode)
  175.                 ("\\.f$" . fortran-mode)
  176.                 ("\\.mss$" . scribe-mode)
  177.                 ("\\.pl$" . prolog-mode)
  178. ;;; Less common extensions come here
  179. ;;; so more common ones above are found faster.
  180.                 ("\\.TeX$" . TeX-mode)
  181.                 ("\\.sty$" . LaTeX-mode)
  182.                 ("\\.bbl$" . LaTeX-mode)
  183.                 ("\\.bib$" . text-mode)
  184.                 ("\\.article$" . text-mode)
  185.                 ("\\.letter$" . text-mode)
  186.                 ("\\.texinfo$" . texinfo-mode)
  187.                 ("\\.texi$" . texinfo-mode)
  188.                 ("\\.lsp$" . lisp-mode)
  189.                 ("\\.prolog$" . prolog-mode)
  190.                 ;; Mailer puts message to be edited in /tmp/Re.... or Message
  191.                 ("^/tmp/Re" . text-mode)
  192.                 ;; some news reader is reported to use this
  193.                 ("^/tmp/fol/" . text-mode)
  194.                 ("/Message[0-9]*$" . text-mode)
  195.                 ("\\.y$" . c-mode)
  196.                 ("\\.cc$" . c-mode)
  197.                 ("\\.scm.[0-9]*$" . scheme-mode)
  198.                 ;; .emacs following a directory delimiter
  199.                 ;; in either Unix or VMS syntax.
  200.                 ("[]>:/]\\..*emacs$" . emacs-lisp-mode)
  201.                 ("\\.ml$" . lisp-mode))))
  202.  
  203. (make-variable-buffer-local 'indent-tabs-mode)
  204.  
  205. (defvar ctl-x-4-map (make-keymap) "\
  206. Keymap for subcommands of C-x 4")
  207.  
  208. ;; Reduce total amount of space we must allocate during this function
  209. ;; that we will not need to keep permanently.
  210. (garbage-collect)
  211.  
  212. ;; Autoload random libraries.
  213. ;; Alphabetical order by library name.
  214.  
  215. (autoload 'add-change-log-entry "add-log"
  216.   "\
  217. Find change log file and add an entry for today.
  218. First arg (interactive prefix) non-nil means prompt for user name and site.
  219. Second arg is file name of change log.
  220. Optional third arg OTHER-WINDOW non-nil means visit in other window."
  221.   t)
  222.  
  223. (define-key ctl-x-4-map "a" 'add-change-log-entry-other-window)
  224.  
  225. (autoload 'add-change-log-entry-other-window "add-log"
  226.   "\
  227. Find change log file in other window, and add an entry for today."
  228.   t)
  229.  
  230. (autoload '\` "bckquote"
  231.   "\
  232. \(` FORM) Expands to a form that will generate FORM.
  233. FORM is `almost quoted' -- see backquote.el for a description."
  234.   nil t)
  235.  
  236. (autoload 'byte-compile-file "bytecomp"
  237.   "\
  238. Compile a file of Lisp code named FILENAME into a file of byte code.
  239. The output file's name is made by appending \"c\" to the end of FILENAME."
  240.   t)
  241.  
  242. (autoload 'byte-recompile-directory "bytecomp"
  243.   "\
  244. Recompile every .el file in DIRECTORY that needs recompilation.
  245. This is if a .elc file exists but is older than the .el file.
  246. If the .elc file does not exist, offer to compile the .el file
  247. only if a prefix argument has been specified."
  248.   t)
  249.  
  250. (autoload 'batch-byte-compile "bytecomp"
  251.   "\
  252. Runs byte-compile-file on the files remaining on the command line.
  253. Must be used only with -batch, and kills emacs on completion.
  254. Each file will be processed even if an error occurred previously.
  255. For example, invoke \"emacs -batch -f batch-byte-compile $emacs/ ~/*.el\""
  256.   nil)
  257.  
  258. (autoload 'calendar "cal"
  259.   "\
  260. Display three-month calendar in another window.
  261. The three months appear side by side, with the current month in the middle
  262. surrounded by the previous and next months.  The cursor is put on today's date.
  263.  
  264. An optional prefix argument ARG causes the calendar displayed to be
  265. ARG months in the future if ARG is positive or in the past if ARG is
  266. negative; in this case the cursor goes on the first day of the month.
  267.  
  268. The Gregorian calendar is assumed.
  269.  
  270. After preparing the calendar window, the hooks calendar-hook are run
  271. when the calendar is for the current month--that is, the was no prefix
  272. argument.  If the calendar is for a future or past month--that is, there
  273. was a prefix argument--the hooks offset-calendar-hook are run.  Thus, for
  274. example, setting calendar-hooks to 'star-date will cause today's date to be
  275. replaced by asterisks to highlight it in the window."
  276.   t)
  277.  
  278. (autoload 'list-command-history "chistory"
  279.   "\
  280. List history of commands typed to minibuffer.
  281. The number of commands listed is controlled by  list-command-history-max.
  282. Calls value of  list-command-history-filter  (if non-nil) on each history
  283. element to judge if that element should be excluded from the list.
  284.  
  285. The buffer is left in Command History mode."
  286.   t)
  287.  
  288. (autoload 'command-history-mode "chistory"
  289.   "\
  290. Major mode for examining commands from  command-history.
  291. The number of commands listed is controlled by  list-command-history-max.
  292. The command history is filtered by  list-command-history-filter  if non-nil.
  293.  
  294. Like Emacs-Lisp Mode except that characters do not insert themselves and
  295. Digits provide prefix arguments.  Tab does not indent.
  296. \\{command-history-map}
  297. Calls the value of  command-history-hook  if that is non-nil
  298. The Command History listing is recomputed each time this mode is
  299. invoked."
  300.   t)
  301.  
  302. (autoload 'repeat-matching-complex-command "chistory"
  303.   "\
  304. Edit and re-evaluate complex command with name matching PATTERN.
  305. Matching occurrences are displayed, most recent first, until you
  306. select a form for evaluation.  If PATTERN is empty (or nil), every form
  307. in the command history is offered.  The form is placed in the minibuffer
  308. for editing and the result is evaluated."
  309.   t)
  310.  
  311. (autoload 'common-lisp-indent-hook "cl-indnt")
  312.  
  313. (autoload 'compare-windows "comp-wnd"
  314.   "\
  315. Compare text in current window with text in next window.
  316. Compares the text starting at point in each window,
  317. moving over text in each one as far as they match."
  318.   t)
  319.  
  320. (autoload 'compile "st/compile"
  321.   "\
  322. Compile the program including the current buffer.  Default: run `make'.
  323. Runs COMMAND, a shell command, in a separate process asynchronously
  324. with output going to the buffer *compilation*.
  325. You can then use the command \\[next-error] to find the next error message
  326. and move to the source code that caused it."
  327.   t)
  328.  
  329. (autoload 'grep "st/compile"
  330.   "\
  331. Run grep, with user-specified args, and collect output in a buffer.
  332. While grep runs asynchronously, you can use the \\[next-error] command
  333. to find the text that grep hits refer to."
  334.   t)
  335.  
  336. (define-key ctl-x-map "`" 'next-error)
  337.  
  338. (autoload 'next-error "st/compile"
  339.   "\
  340. Visit next compilation error message and corresponding source code.
  341. This operates on the output from the \\[compile] command.
  342. If all preparsed error messages have been processed,
  343. the error message buffer is checked for new ones.
  344. A non-nil argument (prefix arg, if interactive)
  345. means reparse the error message buffer and start at the first error."
  346.   t)
  347.  
  348. (define-key esc-map "/" 'dabbrev-expand)
  349.  
  350. (autoload 'dabbrev-expand "dabbrev"
  351.   "\
  352. Expand previous word \"dynamically\".
  353. Expands to the most recent, preceding word for which this is a prefix.
  354. If no suitable preceding word is found, words following point are considered.
  355.  
  356. A positive prefix argument, N, says to take the Nth backward DISTINCT
  357. possibility.  A negative argument says search forward.  The variable
  358. dabbrev-backward-only may be used to limit the direction of search to
  359. backward if set non-nil.
  360.  
  361. If the cursor has not moved from the end of the previous expansion and
  362. no argument is given, replace the previously-made expansion
  363. with the next possible expansion not yet tried."
  364.   t)
  365.  
  366. (autoload 'debug "debug"
  367.   "\
  368. Enter debugger.  Returns if user says \"continue\".
  369. Arguments are mainly for use when this is called
  370.  from the internals of the evaluator.
  371. You may call with no args, or you may
  372.  pass nil as the first arg and any other args you like.
  373.  In that case, the list of args after the first will 
  374.  be printed into the backtrace buffer.")
  375.  
  376. (autoload 'cancel-debug-on-entry "debug"
  377.   "\
  378. Undoes effect of debug-on-entry on FUNCTION."
  379.   t)
  380.  
  381. (autoload 'debug-on-entry "debug"
  382.   "\
  383. Request FUNCTION to invoke debugger each time it is called.
  384. If the user continues, FUNCTION's execution proceeds.
  385. Works by modifying the definition of FUNCTION,
  386. which must be written in Lisp, not predefined.
  387. Use `cancel-debug-on-entry' to cancel the effect of this command.
  388. Redefining FUNCTION also does that."
  389.   t)
  390.  
  391. (define-key ctl-x-map "d" 'dired)
  392.  
  393. (autoload 'dired "dired"
  394.   "\
  395. \"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.
  396. Dired displays a list of files in DIRNAME.
  397. You can move around in it with the usual commands.
  398. You can flag files for deletion with C-d
  399. and then delete them by typing `x'.
  400. Type `h' after entering dired for more info."
  401.   t)
  402.  
  403. (define-key ctl-x-4-map "d" 'dired-other-window)
  404.  
  405. (autoload 'dired-other-window "dired"
  406.   "\
  407. \"Edit\" directory DIRNAME.  Like \\[dired] but selects in another window."
  408.   t)
  409.  
  410. (autoload 'dired-noselect "dired"
  411.   "\
  412. Like M-x dired but returns the dired buffer as value, does not select it.")
  413.  
  414. (autoload 'dissociated-press "dissoc"
  415.   "\
  416. Dissociate the text of the current buffer.
  417. Output goes in buffer named *Dissociation*,
  418. which is redisplayed each time text is added to it.
  419. Every so often the user must say whether to continue.
  420. If ARG is positive, require ARG chars of continuity.
  421. If ARG is negative, require -ARG words of continuity.
  422. Default is 2."
  423.   t)
  424.  
  425. ;; 
  426. ;; (sjk)++ removed for space requirements.
  427. ;;
  428. ;(autoload 'doctor "doctor"
  429. ;  "\
  430. ;Switch to *doctor* buffer and start giving psychotherapy."
  431. ;  t)
  432.  
  433. (autoload 'disassemble "disass"
  434.   "\
  435. Print disassembled code for OBJECT on (optional) STREAM.
  436. OBJECT can be a function name, lambda expression or any function object
  437. returned by SYMBOL-FUNCTION.  If OBJECT is not already compiled, we will
  438. compile it (but not redefine it)."
  439.   t)
  440.  
  441. (autoload 'electric-buffer-list "ebuf-mnu"
  442.   "\
  443. Vaguely like ITS lunar select buffer;
  444. combining typeoutoid buffer listing with menuoid buffer selection.
  445.  
  446. This pops up a buffer describing the set of emacs buffers.
  447. If the very next character typed is a space then the buffer list
  448.  window disappears.
  449.  
  450. Otherwise, one may move around in the buffer list window, marking
  451.  buffers to be selected, saved or deleted.
  452.  
  453. To exit and select a new buffer, type Space when the cursor is on the
  454.  appropriate line of the buffer-list window.
  455.  
  456. Other commands are much like those of buffer-menu-mode.
  457.  
  458. Calls value of  electric-buffer-menu-mode-hook  on entry if non-nil.
  459.  
  460. \\{electric-buffer-menu-mode-map}"
  461.   t)
  462.  
  463.  
  464. (autoload 'electric-command-history "echistry"
  465.   "\
  466. Major mode for examining and redoing commands from  command-history.
  467. The number of command listed is controlled by  list-command-history-max.
  468. The command history is filtered by  list-command-history-filter  if non-nil.
  469. Combines typeout Command History list window with menu like selection
  470. of an expression from the history for re-evaluation in the *original* buffer.
  471.  
  472. The history displayed is filtered by  list-command-history-filter  if non-nil.
  473.  
  474. This pops up a window with the Command History listing.  If the very
  475. next character typed is Space, the listing is killed and the previous
  476. window configuration is restored.  Otherwise, you can browse in the
  477. Command History with  Return  moving down and  Delete  moving up, possibly
  478. selecting an expression to be redone with Space or quitting with `Q'.
  479.  
  480. Like Emacs-Lisp Mode except that characters do not insert themselves and
  481. Tab and linefeed do not indent.  Instead these commands are provided:
  482. Space or !    edit then evaluate current line in history inside
  483.            the ORIGINAL buffer which invoked this mode.
  484.            The previous window configuration is restored
  485.            unless the invoked command changes it.
  486. C-c C-c, C-], Q    Quit and restore previous window configuration.
  487. LFD, RET    Move to the next line in the history.
  488. DEL        Move to the previous line in the history.
  489. ?        Provides a complete list of commands.
  490.  
  491. Calls the value of  electric-command-history-hook  if that is non-nil
  492. The Command History listing is recomputed each time this mode is invoked."
  493.   t)
  494.  
  495. ;; 
  496. ;; (sjk)++ removed for space requirements, no functionality 
  497. ;;
  498. ;(autoload 'edt-emulation-on "edt"
  499. ;  "\
  500. ;Begin emulating DEC's EDT editor.
  501. ;Certain keys are rebound; including nearly all keypad keys.
  502. ;Use \\[edt-emulation-off] to undo all rebindings except the keypad keys.
  503. ;Note that this function does not work if called directly from the .emacs file.
  504. ;Instead, the .emacs file should do (setq term-setup-hook 'edt-emulation-on)
  505. ;Then this function will be called at the time when it will work."
  506. ;  t)
  507.  
  508. (autoload 'fortran-mode "fortran"
  509.   "\
  510. Major mode for editing fortran code.
  511. Tab indents the current fortran line correctly. 
  512. `do' statements must not share a common `continue'.
  513.  
  514. Type `;?' or `;\\[help-command]' to display a list of built-in abbrevs for Fortran keywords.
  515.  
  516. Variables controlling indentation style and extra features:
  517.  
  518.  comment-start
  519.     Normally nil in Fortran mode.  If you want to use comments
  520.     starting with `!', set this to the string \"!\".
  521.  fortran-do-indent
  522.     Extra indentation within do blocks.  (default 3)
  523.  fortran-if-indent
  524.     Extra indentation within if blocks.  (default 3)
  525.  fortran-continuation-indent
  526.     Extra indentation appled to continuation statements.  (default 5)
  527.  fortran-comment-line-column
  528.     Amount of indentation for text within full-line comments. (default 6)
  529.  fortran-comment-indent-style
  530.     nil    means don't change indentation of text in full-line comments,
  531.     fixed  means indent that text at column fortran-comment-line-column
  532.     relative  means indent at fortran-comment-line-column beyond the
  533.            indentation for a line of code.
  534.     Default value is fixed.
  535.  fortran-comment-indent-char
  536.     Character to be inserted instead of space for full-line comment
  537.     indentation.  (default is a space)
  538.  fortran-minimum-statement-indent
  539.     Minimum indentation for fortran statements. (default 6)
  540.  fortran-line-number-indent
  541.     Maximum indentation for line numbers.  A line number will get
  542.     less than this much indentation if necessary to avoid reaching
  543.     column 5.  (default 1)
  544.  fortran-check-all-num-for-matching-do
  545.     Non-nil causes all numbered lines to be treated as possible 'continue'
  546.     statements.  (default nil)
  547.  fortran-continuation-char
  548.     character to be inserted in column 5 of a continuation line.
  549.     (default $)
  550.  fortran-comment-region
  551.     String inserted by \\[fortran-comment-region] at start of each line in 
  552.     region.  (default \"c$$$\")
  553.  fortran-electric-line-number
  554.     Non-nil causes line number digits to be moved to the correct column 
  555.     as typed.  (default t)
  556.  fortran-startup-message
  557.     Set to nil to inhibit message first time fortran-mode is used.
  558.  
  559. Turning on Fortran mode calls the value of the variable fortran-mode-hook 
  560. with no args, if that value is non-nil.
  561. \\{fortran-mode-map}"
  562.   t)
  563.  
  564. ;; 
  565. ;; (sjk)++ removed for space requirements, no functionality 
  566. ;;
  567. ;(autoload 'ftp-find-file "ftp"
  568. ;  "\
  569. ;FTP to HOST to get FILE, logging in as USER with password PASSWORD.
  570. ;Interactively, HOST and FILE are specified by reading a string with
  571. ; a colon character separating the host from the filename.
  572. ;USER and PASSWORD are defaulted from the values used when
  573. ; last ftping from HOST (unless password-remembering is disabled).
  574. ; Supply a password of the symbol `t' to override this default
  575. ; (interactively, this is done by giving a prefix arg)"
  576. ;  t)
  577.  
  578. ;(autoload 'ftp-write-file "ftp"
  579. ;  "\
  580. ;FTP to HOST to write FILE, logging in as USER with password PASSWORD.
  581. ;Interactively, HOST and FILE are specified by reading a string with colon
  582. ;separating the host from the filename.
  583. ;USER and PASSWORD are defaulted from the values used when
  584. ; last ftping from HOST (unless password-remembering is disabled).
  585. ; Supply a password of the symbol `t' to override this default
  586. ; (interactively, this is done by giving a prefix arg)"
  587. ;  t)
  588.  
  589.  
  590. ;; 
  591. ;; (sjk)++ removed for space requirements, no functionality 
  592. ;;
  593. ;(autoload 'gdb "gdb"
  594. ;  "\
  595. ;Run gdb on program FILE in buffer *gdb-FILE*.
  596. ;The directory containing FILE becomes the initial working directory
  597. ;and source-file directory for GDB.  If you wish to change this, use
  598. ;the GDB commands `cd DIR' and `directory'."
  599. ;  t)
  600.  
  601. (autoload 'set-gosmacs-bindings "gosmacs"
  602.   "\
  603. Rebind some keys globally to make GNU Emacs resemble Gosling Emacs.
  604. Use \\[set-gnu-bindings] to restore previous global bindings."
  605.   t)
  606.  
  607. (autoload 'hanoi "hanoi"
  608.   "\
  609. Towers of Hanoi diversion.  Argument is number of rings."
  610.   t)
  611.  
  612. (autoload 'Helper-help "helper"
  613.   "\
  614. Provide help for current mode."
  615.   t)
  616.  
  617. (autoload 'Helper-describe-bindings "helper"
  618.   "\
  619. Describe local key bindings of current mode."
  620.   t)
  621.  
  622. (autoload 'info "info"
  623.   "\
  624. Enter Info, the documentation browser."
  625.   t)
  626.  
  627. (autoload 'Info-tagify "informat"
  628.   "\
  629. Create or update Info-file tag table in current buffer."
  630.   t)
  631.  
  632. (autoload 'Info-validate "informat"
  633.   "\
  634. Check current buffer for validity as an Info file.
  635. Check that every node pointer points to an existing node."
  636.   t)
  637.  
  638. (autoload 'Info-split "informat"
  639.   "\
  640. Split an info file into an indirect file plus bounded-size subfiles.
  641. Each subfile will be up to 50000 characters plus one node.
  642.  
  643. To use this command, first visit a large Info file that has a tag table.
  644. The buffer is modified into a (small) indirect info file
  645. which should be saved in place of the original visited file.
  646.  
  647. The subfiles are written in the same directory the original file is in,
  648. with names generated by appending `-' and a number to the original file name.
  649.  
  650. The indirect file still functions as an Info file, but it contains
  651. just the tag table and a directory of subfiles."
  652.   t)
  653.  
  654. (autoload 'batch-info-validate "informat"
  655.   "\
  656. Runs  Info-validate  on the files remaining on the command line.
  657. Must be used only with -batch, and kills emacs on completion.
  658. Each file will be processed even if an error occurred previously.
  659. For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\""
  660.   nil)
  661.  
  662. (autoload 'ledit-mode "ledit"
  663.   "\
  664. Major mode for editing text and stuffing it to a Lisp job.
  665. Like Lisp mode, plus these special commands:
  666.   M-C-d    -- record defun at or after point
  667.        for later transmission to Lisp job.
  668.   M-C-r -- record region for later transmission to Lisp job.
  669.   C-x z -- transfer to Lisp job and transmit saved text.
  670.   M-C-c -- transfer to Liszt (Lisp compiler) job
  671.        and transmit saved text.
  672. \\{ledit-mode-map}
  673. To make Lisp mode automatically change to Ledit mode,
  674. do (setq lisp-mode-hook 'ledit-from-lisp-mode)"
  675.   t)
  676.  
  677. (autoload 'ledit-from-lisp-mode "ledit")
  678.  
  679. (autoload 'lpr-buffer "lpr"
  680.   "\
  681. Print buffer contents as with Unix command `lpr'.
  682. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  683.   t)
  684.  
  685. (autoload 'print-buffer "lpr"
  686.   "\
  687. Print buffer contents as with Unix command `lpr -p'.
  688. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  689.   t)
  690.  
  691. (autoload 'lpr-region "lpr"
  692.   "\
  693. Print region contents as with Unix command `lpr'.
  694. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  695.   t)
  696.  
  697. (autoload 'print-region "lpr"
  698.   "\
  699. Print region contents as with Unix command `lpr -p'.
  700. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  701.   t)
  702.  
  703. (autoload 'insert-kbd-macro "macros"
  704.   "\
  705. Insert in buffer the definition of kbd macro NAME, as Lisp code.
  706. Second argument KEYS non-nil means also record the keys it is on.
  707.  (This is the prefix argument, when calling interactively.)
  708.  
  709. This Lisp code will, when executed, define the kbd macro with the
  710. same definition it has now.  If you say to record the keys,
  711. the Lisp code will also rebind those keys to the macro.
  712. Only global key bindings are recorded since executing this Lisp code
  713. always makes global bindings.
  714.  
  715. To save a kbd macro, visit a file of Lisp code such as your ~/.emacs,
  716. use this command, and then save the file."
  717.   t)
  718.  
  719. (define-key ctl-x-map "q" 'kbd-macro-query)
  720.  
  721. (autoload 'kbd-macro-query "macros"
  722.   "\
  723. Query user during kbd macro execution.
  724. With prefix argument, enters recursive edit,
  725.  reading keyboard commands even within a kbd macro.
  726.  You can give different commands each time the macro executes.
  727. Without prefix argument, reads a character.  Your options are:
  728.  Space -- execute the rest of the macro.
  729.  DEL -- skip the rest of the macro; start next repetition.
  730.  C-d -- skip rest of the macro and don't repeat it any more.
  731.  C-r -- enter a recursive edit, then on exit ask again for a character
  732.  C-l -- redisplay screen and ask again."
  733.   t)
  734.  
  735. (autoload 'name-last-kbd-macro "macros"
  736.   "\
  737. Assign a name to the last keyboard macro defined.
  738. One arg, a symbol, which is the name to define.
  739. The symbol's function definition becomes the keyboard macro string.
  740. Such a \"function\" cannot be called from Lisp, but it is a valid command
  741. definition for the editor command loop."
  742.   t)
  743.  
  744. (autoload 'make-command-summary "makesum"
  745.   "\
  746. Make a summary of current key bindings in the buffer *Summary*.
  747. Previous contents of that buffer are killed first."
  748.   t)
  749.  
  750. ;; 
  751. ;; (sjk)++ removed for space requirements, no functionality 
  752. ;;
  753. ;(autoload 'define-mail-alias "mailalias"
  754. ;  "\
  755. ;Define NAME as a mail-alias that translates to DEFINITION."
  756. ;  t)
  757.  
  758. (autoload 'manual-entry "man"
  759.   "\
  760. Display the Unix manual entry for TOPIC.
  761. TOPIC is either the title of the entry, or has the form TITLE(SECTION)
  762. where SECTION is the desired section of the manual, as in `tty(4)'."
  763.   t)
  764.  
  765. ;; 
  766. ;; (sjk)++ removed for space requirements, no functionality 
  767. ;;
  768. ;(autoload 'mh-rmail "mh-e"
  769. ;  "\
  770. ;Inc(orporate) new mail (no arg) or scan a MH mail box (arg given).
  771. ;This front end uses the MH mail system, which uses different conventions
  772. ;from the usual mail system."
  773. ;  t)
  774.  
  775. ;; 
  776. ;; (sjk)++ removed for space requirements, no functionality 
  777. ;;
  778. ;(autoload 'mh-smail "mh-e"
  779. ;  "\
  780. ;Send mail using the MH mail system."
  781. ;  t)
  782.  
  783. ;(autoload 'convert-mocklisp-buffer "mlconvrt"
  784. ;  "\
  785. ;Convert buffer of Mocklisp code to real Lisp that GNU Emacs can run."
  786. ;  t)
  787.  
  788. (autoload 'modula-2-mode "modula2"
  789.   "\
  790. This is a mode intended to support program development in Modula-2.
  791. All control constructs of Modula-2 can be reached by typing
  792. Control-C followed by the first character of the construct.
  793. \\{m2-mode-map}
  794.   Control-c b begin         Control-c c case
  795.   Control-c d definition    Control-c e else
  796.   Control-c f for           Control-c h header
  797.   Control-c i if            Control-c m module
  798.   Control-c l loop          Control-c o or
  799.   Control-c p procedure     Control-c Control-w with
  800.   Control-c r record        Control-c s stdio
  801.   Control-c t type          Control-c u until
  802.   Control-c v var           Control-c w while
  803.   Control-c x export        Control-c y import
  804.   Control-c { begin-comment Control-c } end-comment
  805.   Control-c Control-z suspend-emacs     Control-c Control-t toggle
  806.   Control-c Control-c compile           Control-x ` next-error
  807.   Control-c Control-l link
  808.  
  809.    m2-indent controls the number of spaces for each indentation.
  810.    m2-compile-command holds the command to compile a Modula-2 program.
  811.    m2-link-command holds the command to link a Modula-2 program."
  812.   t)
  813.  
  814. (setq disabled-command-hook 'disabled-command-hook)
  815.  
  816. (autoload 'disabled-command-hook "novice")
  817. (autoload 'enable-command "novice"
  818.   "\
  819. Allow COMMAND to be executed without special confirmation from now on.
  820. The user's .emacs file is altered so that this will apply
  821. to future sessions." t)
  822.  
  823. (autoload 'disable-command "novice"
  824.   "\
  825. Require special confirmation to execute COMMAND from now on.
  826. The user's .emacs file is altered so that this will apply
  827. to future sessions." t)
  828.  
  829. (autoload 'nroff-mode "nrof-mod"
  830.   "\
  831. Major mode for editing text intended for nroff to format.
  832. \\{nroff-mode-map}
  833. Turning on Nroff mode runs text-mode-hook, then nroff-mode-hook.
  834. Also, try nroff-electric-mode, for automatically inserting
  835. closing requests for requests that are used in matched pairs."
  836.   t)
  837.  
  838. (autoload 'list-options "options"
  839.   "\
  840. Display a list of Emacs user options, with values and documentation."
  841.   t)
  842.  
  843. (autoload 'edit-options "options"
  844.   "\
  845. Edit a list of Emacs user option values.
  846. Selects a buffer containing such a list,
  847. in which there are commands to set the option values.
  848. Type \\[describe-mode] in that buffer for a list of commands."
  849.   t)
  850.  
  851. (autoload 'outline-mode "outline"
  852.   "\
  853. Set major mode for editing outlines with selective display.
  854. Headings are lines which start with asterisks: one for major headings,
  855. two for subheadings, etc.  Lines not starting with asterisks are body lines. 
  856.  
  857. Body text or subheadings under a heading can be made temporarily
  858. invisible, or visible again.  Invisible lines are attached to the end 
  859. of the heading, so they move with it, if the line is killed and yanked
  860. back.  A heading with text hidden under it is marked with an ellipsis (...).
  861.  
  862. Commands:
  863. C-c C-n   outline-next-visible-heading      move by visible headings
  864. C-c C-p   outline-previous-visible-heading
  865. C-c C-f   outline-forward-same-level        similar but skip subheadings
  866. C-c C-b   outline-backward-same-level
  867. C-c C-u   outline-up-heading            move from subheading to heading
  868.  
  869. Meta-x hide-body    make all text invisible (not headings).
  870. Meta-x show-all        make everything in buffer visible.
  871.  
  872. The remaining commands are used when point is on a heading line.
  873. They apply to some of the body or subheadings of that heading.
  874. C-c C-h   hide-subtree    make body and subheadings invisible.
  875. C-c C-s   show-subtree    make body and subheadings visible.
  876. C-c C-i   show-children    make direct subheadings visible.
  877.          No effect on body, or subheadings 2 or more levels down.
  878.          With arg N, affects subheadings N levels down.
  879. M-x hide-entry       make immediately following body invisible.
  880. M-x show-entry       make it visible.
  881. M-x hide-leaves       make body under heading and under its subheadings invisible.
  882.              The subheadings remain visible.
  883. M-x show-branches  make all subheadings at all levels visible.
  884.  
  885. The variable outline-regexp can be changed to control what is a heading.
  886. A line is a heading if outline-regexp matches something at the
  887. beginning of the line.  The longer the match, the deeper the level.
  888.  
  889. Turning on outline mode calls the value of text-mode-hook and then of
  890. outline-mode-hook, if they are non-nil."
  891.   t)
  892.  
  893. (autoload 'edit-picture "picture"
  894.   "\
  895. Switch to Picture mode, in which a quarter-plane screen model is used.
  896. Printing characters replace instead of inserting themselves with motion
  897. afterwards settable by these commands:
  898.   C-c <      Move left after insertion.
  899.   C-c >      Move right after insertion.
  900.   C-c ^      Move up after insertion.
  901.   C-c .      Move down after insertion.
  902.   C-c `      Move northwest (nw) after insertion.
  903.   C-c '      Move northeast (ne) after insertion.
  904.   C-c /      Move southwest (sw) after insertion.
  905.   C-c \\   Move southeast (se) after insertion.
  906. The current direction is displayed in the mode line.  The initial
  907. direction is right.  Whitespace is inserted and tabs are changed to
  908. spaces when required by movement.  You can move around in the buffer
  909. with these commands:
  910.   C-p      Move vertically to SAME column in previous line.
  911.   C-n      Move vertically to SAME column in next line.
  912.   C-e      Move to column following last non-whitespace character.
  913.   C-f      Move right inserting spaces if required.
  914.   C-b      Move left changing tabs to spaces if required.
  915.   C-c C-f Move in direction of current picture motion.
  916.   C-c C-b Move in opposite direction of current picture motion.
  917.   Return  Move to beginning of next line.
  918. You can edit tabular text with these commands:
  919.   M-Tab      Move to column beneath (or at) next interesting charecter.
  920.         `Indents' relative to a previous line.
  921.   Tab      Move to next stop in tab stop list.
  922.   C-c Tab Set tab stops according to context of this line.
  923.         With ARG resets tab stops to default (global) value.
  924.         See also documentation of variable    picture-tab-chars
  925.         which defines \"interesting character\".  You can manually
  926.         change the tab stop list with command \\[edit-tab-stops].
  927. You can manipulate text with these commands:
  928.   C-d      Clear (replace) ARG columns after point without moving.
  929.   C-c C-d Delete char at point - the command normally assigned to C-d.
  930.   Delete  Clear (replace) ARG columns before point, moving back over them.
  931.   C-k      Clear ARG lines, advancing over them.     The cleared
  932.         text is saved in the kill ring.
  933.   C-o      Open blank line(s) beneath current line.
  934. You can manipulate rectangles with these commands:
  935.   C-c C-k Clear (or kill) a rectangle and save it.
  936.   C-c C-w Like C-c C-k except rectangle is saved in named register.
  937.   C-c C-y Overlay (or insert) currently saved rectangle at point.
  938.   C-c C-x Like C-c C-y except rectangle is taken from named register.
  939.   \\[copy-rectangle-to-register]   Copies a rectangle to a register.
  940.   \\[advertised-undo]   Can undo effects of rectangle overlay commands
  941.         commands if invoked soon enough.
  942. You can return to the previous mode with:
  943.   C-c C-c Which also strips trailing whitespace from every line.
  944.         Stripping is suppressed by supplying an argument.
  945.  
  946. Entry to this mode calls the value of  edit-picture-hook  if non-nil.
  947.  
  948. Note that Picture mode commands will work outside of Picture mode, but
  949. they are not defaultly assigned to keys."
  950.   t)
  951.  
  952. (fset 'picture-mode 'edit-picture)
  953.  
  954. (autoload 'prolog-mode "prolog"
  955.   "\
  956. Major mode for editing Prolog code for Prologs.
  957. Blank lines and `%%...' separate paragraphs.  `%'s start comments.
  958. Commands:
  959. \\{prolog-mode-map}
  960. Entry to this mode calls the value of prolog-mode-hook
  961. if that value is non-nil."
  962.   t)
  963.  
  964. ;(autoload 'run-prolog "prolog"
  965. ;  "\
  966. ;Run an inferior Prolog process, input and output via buffer *prolog*."
  967. ;  t)
  968.  
  969.  
  970. (autoload 'clear-rectangle "rect"
  971.   "\
  972. Blank out rectangle with corners at point and mark.
  973. The text previously in the region is overwritten by the blanks."
  974.   t)
  975.  
  976. (autoload 'delete-rectangle "rect"
  977.   "\
  978. Delete (don't save) text in rectangle with point and mark as corners.
  979. The same range of columns is deleted in each line
  980. starting with the line where the region begins
  981. and ending with the line where the region ends."
  982.   t)
  983.  
  984. (autoload 'delete-extract-rectangle "rect"
  985.   "\
  986. Return and delete contents of rectangle with corners at START and END.
  987. Value is list of strings, one for each line of the rectangle.")
  988.  
  989. (autoload 'extract-rectangle "rect"
  990.   "\
  991. Return contents of rectangle with corners at START and END.
  992. Value is list of strings, one for each line of the rectangle.")
  993.  
  994. (autoload 'insert-rectangle "rect"
  995.   "\
  996. Insert text of RECTANGLE with upper left corner at point.
  997. RECTANGLE's first line is inserted at point,
  998. its second line is inserted at a point vertically under point, etc.
  999. RECTANGLE should be a list of strings.")
  1000.  
  1001. (autoload 'kill-rectangle "rect"
  1002.   "\
  1003. Delete rectangle with corners at point and mark; save as last killed one.
  1004. Calling from program, supply two args START and END, buffer positions.
  1005. But in programs you might prefer to use delete-extract-rectangle."
  1006.   t)
  1007.  
  1008. (autoload 'open-rectangle "rect"
  1009.   "\
  1010. Blank out rectangle with corners at point and mark, shifting text right.
  1011. The text previously in the region is not overwritten by the blanks,
  1012. but insted winds up to the right of the rectangle."
  1013.   t)
  1014.  
  1015. (autoload 'yank-rectangle "rect"
  1016.   "\
  1017. Yank the last killed rectangle with upper left corner at point."
  1018.   t)
  1019.  
  1020. ;; 
  1021. ;; (sjk)++ removed for space requirements, no functionality 
  1022. ;;
  1023. ;(autoload 'rnews "rnews"
  1024. ;  "\
  1025. ;Read USENET news for groups for which you are a member and add or
  1026. ;delete groups.
  1027. ;You can reply to articles posted and send articles to any group.
  1028. ;
  1029. ;Type \\[describe-mode] once reading news to get a list of rnews commands."
  1030. ;  t)
  1031. ;
  1032. ;(autoload 'news-post-news "rnewspost"
  1033. ;  "\
  1034. ;Begin editing a new USENET news article to be posted.
  1035. ;Type \\[describe-mode] once editing the article to get a list of commands."
  1036. ;  t)
  1037. ;(fset 'sendnews 'news-post-news)
  1038. ;(fset 'postnews 'news-post-news)
  1039. ;
  1040. ;(autoload 'rmail "rmail"
  1041. ;  "\
  1042. ;Read and edit incoming mail.
  1043. ;Moves messages into file named by  rmail-file-name  (a babyl format file)
  1044. ; and edits that file in RMAIL Mode.
  1045. ;Type \\[describe-mode] once editing that file, for a list of RMAIL commands.
  1046. ;
  1047. ;May be called with filename as argument;
  1048. ;then performs rmail editing on that file,
  1049. ;but does not copy any new mail into the file."
  1050. ;  t)
  1051. ;
  1052. ;(autoload 'rmail-input "rmail"
  1053. ;  "\
  1054. ;Run RMAIL on file FILENAME."
  1055. ;  t)
  1056.  
  1057. ;(defconst rmail-dont-reply-to-names nil "\
  1058. ;*A regular expression specifying names to prune in replying to messages.
  1059. ;nil means don't reply to yourself.")
  1060. ;
  1061. ;(defvar rmail-default-dont-reply-to-names "info-" "\
  1062. ;A regular expression specifying part of the value of the default value of
  1063. ;the variable `rmail-dont-reply-to-names', for when the user does not set
  1064. ;`rmail-dont-reply-to-names' explicitly.  (The other part of the default
  1065. ;value is the user's name.)
  1066. ;It is useful to set this variable in the site customisation file.")
  1067. ;
  1068. ;(defconst rmail-primary-inbox-list  nil "\
  1069. ;*List of files which are inboxes for user's primary mail file ~/RMAIL.
  1070. ;`nil' means the default, which is (\"~/mbox\" \"/usr/spool/mail/$USER\")
  1071. ;(the second name varies depending on the operating system).")
  1072. ;
  1073. ;(defconst rmail-ignored-headers "^via:\\|^mail-from:\\|^origin:\\|^status:\\|^received:\\|^[a-z-]*message-id:\\|^summary-line:\\|^errors-to:" "\
  1074. ;*Gubbish header fields one would rather not see.")
  1075. ;
  1076. ;(defvar rmail-delete-after-output nil "\
  1077. ;*Non-nil means automatically delete a message that is copied to a file.")
  1078. ;
  1079. ;;; Others are in paths.el.
  1080.  
  1081.  
  1082. ;; 
  1083. ;; (sjk)++ removed for space requirements, no functionality 
  1084. ;;
  1085. ;(autoload 'run-scheme "xscheme"
  1086. ;  "\
  1087. ;Run an inferior Scheme process.
  1088. ;Output goes to the buffer `*scheme*'.
  1089. ;With argument, asks for a command line."
  1090. ;  t)
  1091.  
  1092. (autoload 'scheme-mode "scheme"
  1093.   "\
  1094. Major mode for editing Scheme code.
  1095. Editing commands are similar to those of lisp-mode.
  1096.  
  1097. In addition, if an inferior Scheme process is running, some additional
  1098. commands will be defined, for evaluating expressions and controlling
  1099. the interpreter, and the state of the process will be displayed in the
  1100. modeline of all Scheme buffers.  The names of commands that interact
  1101. with the Scheme process start with \"xscheme-\".  For more information
  1102. see the documentation for xscheme-interaction-mode.
  1103.  
  1104. Commands:
  1105. Delete converts tabs to spaces as it moves back.
  1106. Blank lines separate paragraphs.  Semicolons start comments.
  1107. \\{scheme-mode-map}
  1108. Entry to this mode calls the value of scheme-mode-hook
  1109. if that value is non-nil."
  1110.   t)
  1111.  
  1112. (autoload 'scribe-mode "scribe"
  1113.   "\
  1114. Major mode for editing files of Scribe (a text formatter) source.
  1115. Scribe-mode is similar text-mode, with a few extra commands added.
  1116. \\{scribe-mode-map}
  1117.  
  1118. Interesting variables:
  1119.  
  1120. scribe-fancy-paragraphs
  1121.   Non-nil makes Scribe mode use a different style of paragraph separation.
  1122.  
  1123. scribe-electric-quote
  1124.   Non-nil makes insert of double quote use `` or '' depending on context.
  1125.  
  1126. scribe-electric-parenthesis
  1127.   Non-nil makes an open-parenthesis char (one of `([<{')
  1128.   automatically insert its close if typed after an @Command form."
  1129.   t)
  1130.  
  1131. ;; 
  1132. ;; (sjk)++ removed for space requirements, no functionality 
  1133. ;;
  1134. ;; Useful to set in site-init.el
  1135. ;(defconst send-mail-function 'sendmail-send-it "\
  1136. ;Function to call to send the current buffer as mail.
  1137. ;The headers are delimited by a string found in mail-header-separator.")
  1138. ;
  1139. ;(defconst mail-self-blind nil "\
  1140. ;*Non-nil means insert BCC to self in messages to be sent.
  1141. ;This is done when the message is initialized,
  1142. ;so you can remove or alter the BCC field to override the default.")
  1143. ;
  1144. ;(defconst mail-interactive nil "\
  1145. ;*Non-nil means when sending a message wait for and display errors.
  1146. ;nil means let mailer mail back a message to report errors.")
  1147. ;
  1148. ;(defconst mail-yank-ignored-headers "^via:\\|^mail-from:\\|^origin:\\|^status:\\|^remailed\\|^received:\\|^[a-z-]*message-id:\\|^summary-line:\\|^to:\\|^cc:\\|^subject:\\|^in-reply-to:\\|^return-path:" "\
  1149. ;Delete these headers from old message when it's inserted in a reply.")
  1150. ;
  1151. ;(defconst mail-header-separator "--text follows this line--" "\
  1152. ;*Line used to separate headers from text in messages being composed.")
  1153. ;
  1154. ;(defconst mail-archive-file-name nil "\
  1155. ;*Name of file to write all outgoing messages in, or nil for none.")
  1156. ;
  1157. ;(defvar mail-aliases t "\
  1158. ;Alias of mail address aliases,
  1159. ;or t meaning should be initialized from .mailrc.")
  1160. ;
  1161. ;(autoload 'mail-other-window "sendmail"
  1162. ;  "\
  1163. ;Like `mail' command, but display mail buffer in another window."
  1164. ;  t)
  1165. ;
  1166. ;(autoload 'mail "sendmail"
  1167. ;  "\
  1168. ;Edit a message to be sent.  Argument means resume editing (don't erase).
  1169. ;Returns with message buffer selected; value t if message freshly initialized.
  1170. ;While editing message, type C-c C-c to send the message and exit.
  1171. ;
  1172. ;Various special commands starting with C-c are available in sendmail mode
  1173. ;to move to message header fields:
  1174. ;\\{mail-mode-map}
  1175. ;
  1176. ;if mail-self-blind is non-nil, a BCC to yourself is inserted
  1177. ;then the message is initialized.;
  1178. ;
  1179. ;If mail-default-reply-to is non-nil, it should be an address (a string);
  1180. ;a Reply-to: field with that address is inserted.
  1181. ;
  1182. ;If mail-archive-file-name is non-nil, an FCC field with that file name
  1183. ;is inserted.
  1184. ;
  1185. ;If mail-setup-hook is bound, its value is called with no arguments
  1186. ;after the message is initialized.  It can add more default fields.
  1187. ;
  1188. ;When calling from a program, the second through fifth arguments
  1189. ; TO, SUBJECT, IN-REPLY-TO and CC specify if non-nil
  1190. ; the initial contents of those header fields.
  1191. ; These arguments should not have final newlines.
  1192. ;The sixth argument REPLYBUFFER is a buffer whose contents
  1193. ; should be yanked if the user types C-c C-y."
  1194. ;  t)
  1195. ;
  1196. ;(define-key ctl-x-4-map "m" 'mail-other-window)
  1197. ;(define-key ctl-x-map "m" 'mail)
  1198. ;
  1199. ;;; used in mail-utils
  1200. ;(defvar mail-use-rfc822 nil "\
  1201. ;*If non-nil, use a full, hairy RFC822 parser on mail addresses.
  1202. ;Otherwise, (the default) use a smaller, somewhat faster and
  1203. ;often-correct parser.")
  1204.  
  1205.  
  1206. ;; 
  1207. ;; (sjk)++ removed for space requirements, no functionality 
  1208. ;;
  1209. ;
  1210. ;(autoload 'server-start "server"
  1211. ;  "\
  1212. ;Allow this Emacs process to be a server for client processes.
  1213. ;This starts a server communications subprocess through which
  1214. ;client \"editors\" can send your editing commands to this Emacs job.
  1215. ;To use the server, set up the program `etc/emacsclient' in the
  1216. ;Emacs distribution as your standard \"editor\".
  1217. ;
  1218. ;Prefix arg means just kill any existing server communications subprocess."
  1219. ;  t)
  1220. ;
  1221. ;(autoload 'run-lisp "shell"
  1222. ;  "\
  1223. ;Run an inferior Lisp process, input and output via buffer *lisp*."
  1224. ;  t)
  1225. ;
  1226. ;(autoload 'shell "shell"
  1227. ;  "\
  1228. ;Run an inferior shell, with I/O through buffer *shell*.
  1229. ;If buffer exists but shell process is not running, make new shell.
  1230. ;Program used comes from variable explicit-shell-file-name,
  1231. ; or (if that is nil) from the ESHELL environment variable,
  1232. ; or else from SHELL if there is no ESHELL.
  1233. ;If a file ~/.emacs_SHELLNAME exists, it is given as initial input
  1234. ; (Note that this may lose due to a timing error if the shell
  1235. ;  discards input when it starts up.)
  1236. ;The buffer is put in shell-mode, giving commands for sending input
  1237. ;and controlling the subjobs of the shell.  See shell-mode.
  1238. ;See also variable shell-prompt-pattern.
  1239. ;
  1240. ;The shell file name (sans directories) is used to make a symbol name
  1241. ;such as `explicit-csh-arguments'.  If that symbol is a variable,
  1242. ;its value is used as a list of arguments when invoking the shell.
  1243. ;Otherwise, one argument `-i' is passed to the shell.
  1244. ;
  1245. ;Note that many people's .cshrc files unconditionally clear the prompt.
  1246. ;If yours does, you will probably want to change it."
  1247. ;  t)
  1248.  
  1249. (autoload 'sort-lines "sort"
  1250.   "\
  1251. Sort lines in region alphabetically; argument means descending order.
  1252. Called from a program, there are three arguments:
  1253. REVERSE (non-nil means reverse order), BEG and END (region to sort)."
  1254.   t)
  1255.  
  1256. (autoload 'sort-paragraphs "sort"
  1257.   "\
  1258. Sort paragraphs in region alphabetically; argument means descending order.
  1259. Called from a program, there are three arguments:
  1260. REVERSE (non-nil means reverse order), BEG and END (region to sort)."
  1261.   t)
  1262.  
  1263. (autoload 'sort-pages "sort"
  1264.   "\
  1265. Sort pages in region alphabetically; argument means descending order.
  1266. Called from a program, there are three arguments:
  1267. REVERSE (non-nil means reverse order), BEG and END (region to sort)."
  1268.   t)
  1269.  
  1270. (autoload 'sort-numeric-fields "sort"
  1271.   "\
  1272. Sort lines in region numerically by the ARGth field of each line.
  1273. Fields are separated by whitespace and numbered from 1 up.
  1274. Specified field must contain a number in each line of the region.
  1275. With a negative arg, sorts by the -ARG'th field, in reverse order.
  1276. Called from a program, there are three arguments:
  1277. FIELD, BEG and END.  BEG and END specify region to sort."
  1278.   t)
  1279.  
  1280. (autoload 'sort-fields "sort"
  1281.   "\
  1282. Sort lines in region lexicographically by the ARGth field of each line.
  1283. Fields are separated by whitespace and numbered from 1 up.
  1284. With a negative arg, sorts by the -ARG'th field, in reverse order.
  1285. Called from a program, there are three arguments:
  1286. FIELD, BEG and END.  BEG and END specify region to sort."
  1287.   t)
  1288.  
  1289. (autoload 'sort-columns "sort"
  1290.   "\
  1291. Sort lines in region alphabetically by a certain range of columns.
  1292. For the purpose of this command, the region includes
  1293. the entire line that point is in and the entire line the mark is in.
  1294. The column positions of point and mark bound the range of columns to sort on.
  1295. A prefix argument means sort into reverse order.
  1296.  
  1297. Note that sort-columns uses the sort utility program and therefore
  1298. cannot work on text containing TAB characters.  Use M-x untabify
  1299. to convert tabs to spaces before sorting."
  1300.   t)
  1301.  
  1302. (autoload 'sort-regexp-fields "sort"
  1303.   "\
  1304. Sort the region lexicographically as specifed by RECORD-REGEXP and KEY.
  1305. RECORD-REGEXP specifies the textual units which should be sorted.
  1306.   For example, to sort lines RECORD-REGEXP would be \"^.*$\"
  1307. KEY specifies the part of each record (ie each match for RECORD-REGEXP)
  1308.   is to be used for sorting.
  1309.   If it is \"\\digit\" then the digit'th \"\\(...\\)\" match field from
  1310.   RECORD-REGEXP is used.
  1311.   If it is \"\\&\" then the whole record is used.
  1312.   Otherwise, it is a regular-expression for which to search within the record.
  1313. If a match for KEY is not found within a record then that record is ignored.
  1314.  
  1315. With a negative prefix arg sorts in reverse order.
  1316.  
  1317. For example: to sort lines in the region by the first word on each line
  1318.  starting with the letter \"f\",
  1319.  RECORD-REGEXP would be \"^.*$\" and KEY \"\\<f\\w*\\>\""
  1320.   t)
  1321.  
  1322.  
  1323. ;; 
  1324. ;; (sjk)++ removed for space requirements. No async process (boo)
  1325. ;;
  1326. ;(autoload 'spell-buffer "spell"
  1327. ;  "\
  1328. ;Check spelling of every word in the buffer.
  1329. ;For each incorrect word, you are asked for the correct spelling
  1330. ;and then put into a query-replace to fix some or all occurrences.
  1331. ;If you do not want to change a word, just give the same word
  1332. ;as its \"correct\" spelling; then the query replace is skipped."
  1333. ;  t)
  1334. ;
  1335. ;(autoload 'spell-region "spell"
  1336. ;  "\
  1337. ;Like spell-buffer but applies only to region.
  1338. ;From program, applies from START to END."
  1339. ;  t)
  1340. ;
  1341. ;(define-key esc-map "$" 'spell-word)
  1342. ;(autoload 'spell-word "spell"
  1343. ;  "\
  1344. ;Check spelling of word at or before point.
  1345. ;If it is not correct, ask user for the correct spelling
  1346. ;and query-replace the entire buffer to substitute it."
  1347. ;  t)
  1348. ;
  1349. ;(autoload 'spell-string "spell"
  1350. ;  "\
  1351. ;Check spelling of string supplied as argument."
  1352. ;  t)
  1353.  
  1354. (autoload 'untabify "tabify"
  1355.   "\
  1356. Convert all tabs in region to multiple spaces, preserving columns.
  1357. The variable tab-width controls the action."
  1358.   t)
  1359.  
  1360. (autoload 'tabify "tabify"
  1361.   "\
  1362. Convert multiple spaces in region to tabs when possible.
  1363. A group of spaces is partially replaced by tabs
  1364. when this can be done without changing the column they end at.
  1365. The variable tab-width controls the action."
  1366.   t)
  1367.  
  1368. (define-key esc-map "." 'find-tag)
  1369.  
  1370. (autoload 'find-tag "tags"
  1371.   "\
  1372. Find tag (in current tag table) whose name contains TAGNAME.
  1373.  Selects the buffer that the tag is contained in
  1374. and puts point at its definition.
  1375.  If TAGNAME is a null string, the expression in the buffer
  1376. around or before point is used as the tag name.
  1377.  If second arg NEXT is non-nil (interactively, with prefix arg),
  1378. searches for the next tag in the tag table
  1379. that matches the tagname used in the previous find-tag.
  1380.  
  1381. See documentation of variable tags-file-name."
  1382.   t)
  1383.  
  1384. (define-key ctl-x-4-map "." 'find-tag-other-window)
  1385.  
  1386. (autoload 'find-tag-other-window "tags"
  1387.   "\
  1388. Find tag (in current tag table) whose name contains TAGNAME.
  1389.  Selects the buffer that the tag is contained in in another window
  1390. and puts point at its definition.
  1391.  If TAGNAME is a null string, the expression in the buffer
  1392. around or before point is used as the tag name.
  1393.  If second arg NEXT is non-nil (interactively, with prefix arg),
  1394. searches for the next tag in the tag table
  1395. that matches the tagname used in the previous find-tag.
  1396.  
  1397. See documentation of variable tags-file-name."
  1398.   t)
  1399.  
  1400. (autoload 'list-tags "tags"
  1401.   "\
  1402. Display list of tags in file FILE.
  1403. FILE should not contain a directory spec
  1404. unless it has one in the tag table."
  1405.   t)
  1406.  
  1407. (autoload 'next-file "tags"
  1408.   "\
  1409. Select next file among files in current tag table.
  1410. Non-nil argument (prefix arg, if interactive)
  1411. initializes to the beginning of the list of files in the tag table."
  1412.   t)
  1413.  
  1414. (autoload 'tags-apropos "tags"
  1415.   "\
  1416. Display list of all tags in tag table REGEXP matches."
  1417.   t)
  1418.  
  1419. (define-key esc-map "," 'tags-loop-continue)
  1420. (autoload 'tags-loop-continue "tags"
  1421.   "\
  1422. Continue last \\[tags-search] or \\[tags-query-replace] command.
  1423. Used noninteractively with non-nil argument
  1424. to begin such a command.  See variable tags-loop-form."
  1425.   t)
  1426.  
  1427. (autoload 'tag-table-files "tags"
  1428.   "\
  1429. Return a list of files in the current tag table.
  1430. File names returned are absolute.")
  1431.  
  1432. (autoload 'tags-query-replace "tags"
  1433.   "\
  1434. Query-replace-regexp FROM with TO through all files listed in tag table.
  1435. Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
  1436. If you exit (C-G or ESC), you can resume the query-replace
  1437. with the command \\[tags-loop-continue].
  1438.  
  1439. See documentation of variable tags-file-name."
  1440.   t)
  1441.  
  1442. (autoload 'tags-search "tags"
  1443.   "\
  1444. Search through all files listed in tag table for match for REGEXP.
  1445. Stops when a match is found.
  1446. To continue searching for next match, use command \\[tags-loop-continue].
  1447.  
  1448. See documentation of variable tags-file-name."
  1449.   t)
  1450.  
  1451. (autoload 'visit-tags-table "tags"
  1452.   "\
  1453. Tell tags commands to use tag table file FILE.
  1454. FILE should be the name of a file created with the `etags' program.
  1455. A directory name is ok too; it means file TAGS in that directory."
  1456.   t)
  1457.  
  1458. ;; 
  1459. ;; (sjk)++ removed for space requirements, no functionality 
  1460. ;;
  1461. ;(autoload 'telnet "telnet"
  1462. ;  "\
  1463. ;Open a network login connection to host named HOST (a string).
  1464. ;Communication with HOST is recorded in a buffer *HOST-telnet*.
  1465. ;Normally input is edited in Emacs and sent a line at a time."
  1466. ;  t)
  1467.  
  1468.  
  1469. ;; 
  1470. ;; (sjk)++ removed for space requirements, no functionality 
  1471. ;;
  1472. ;(autoload 'terminal-emulator "terminal"
  1473. ;  "\
  1474. ;Under a display-terminal emulator in BUFFER, run PROGRAM on arguments ARGS.
  1475. ;ARGS is a list of argument-strings.  Remaining arguments are WIDTH and HEIGHT.
  1476. ;BUFFER's contents are made an image of the display generated by that program,
  1477. ;and any input typed when BUFFER is the current Emacs buffer is sent to that
  1478. ;program an keyboard input.
  1479. ;
  1480. ;Interactively, BUFFER defaults to \"*terminal*\" and PROGRAM and ARGS
  1481. ;are parsed from an input-string using your usual shell.
  1482. ;WIDTH and HEIGHT are determined from the size of the current window
  1483. ;-- WIDTH will be one less than the window's width, HEIGHT will be its height.
  1484. ;
  1485. ;To switch buffers and leave the emulator, or to give commands
  1486. ;to the emulator itself (as opposed to the program running under it),
  1487. ;type Control-^.  The following character is an emulator command.
  1488. ;Type Control-^ twice to send it to the subprogram.
  1489. ;This escape character may be changed using the variable `terminal-escape-char'
  1490. ;
  1491. ;`Meta' characters may not currently be sent through the terminal emulator.
  1492. ;
  1493. ;Here is a list of some of the variables which control the behaviour
  1494. ;of the emulator -- see their documentation for more information:
  1495. ;terminal-escape-char, terminal-scrolling, terminal-more-processing,
  1496. ;terminal-redisplay-interval.
  1497. ;
  1498. ;This function calls the value of terminal-mode-hook if that exists
  1499. ;and is non-nil after the terminal buffer has been set up and the
  1500. ;subprocess started.
  1501. ;
  1502. ;Presently with `termcap' only; if somebody sends us code to make this
  1503. ;work with `terminfo' we will try to use it."
  1504. ;  t)
  1505.  
  1506. (autoload 'latex-mode "tex-mode"
  1507.   "\
  1508. Major mode for editing files of input for LaTeX.
  1509. Makes $ and } display the characters they match.
  1510. Makes \" insert `` when it seems to be the beginning of a quotation,
  1511. and '' when it appears to be the end; it inserts \" only after a \\.
  1512.  
  1513. Use \\[TeX-region] to run LaTeX on the current region, plus the preamble
  1514. copied from the top of the file (containing \\documentstyle, etc.),
  1515. running LaTeX under a special subshell.  \\[TeX-buffer] does the whole buffer.
  1516. \\[TeX-print] prints the .dvi file made by either of these.
  1517.  
  1518. Use \\[validate-TeX-buffer] to check buffer for paragraphs containing
  1519. mismatched $'s or braces.
  1520.  
  1521. Special commands:
  1522. \\{TeX-mode-map}
  1523.  
  1524. Mode variables:
  1525. TeX-directory
  1526.     Directory in which to create temporary files for TeX jobs
  1527.     run by \\[TeX-region] or \\[TeX-buffer].
  1528. TeX-dvi-print-command
  1529.     Command string used by \\[TeX-print] to print a .dvi file.
  1530. TeX-show-queue-command
  1531.     Command string used by \\[TeX-show-print-queue] to show the print
  1532.     queue that \\[TeX-print] put your job on.
  1533.  
  1534. Entering LaTeX mode calls the value of text-mode-hook,
  1535. then the value of TeX-mode-hook, and then the value
  1536. of LaTeX-mode-hook."
  1537.   t)
  1538.  
  1539. (autoload 'plain-tex-mode "tex-mode"
  1540.   "\
  1541. Major mode for editing files of input for plain TeX.
  1542. Makes $ and } display the characters they match.
  1543. Makes \" insert `` when it seems to be the beginning of a quotation,
  1544. and '' when it appears to be the end; it inserts \" only after a \\.
  1545.  
  1546. Use \\[TeX-region] to run TeX on the current region, plus a \"header\"
  1547. copied from the top of the file (containing macro definitions, etc.),
  1548. running TeX under a special subshell.  \\[TeX-buffer] does the whole buffer.
  1549. \\[TeX-print] prints the .dvi file made by either of these.
  1550.  
  1551. Use \\[validate-TeX-buffer] to check buffer for paragraphs containing
  1552. mismatched $'s or braces.
  1553.  
  1554. Special commands:
  1555. \\{TeX-mode-map}
  1556.  
  1557. Mode variables:
  1558. TeX-directory
  1559.     Directory in which to create temporary files for TeX jobs
  1560.     run by \\[TeX-region] or \\[TeX-buffer].
  1561. TeX-dvi-print-command
  1562.     Command string used by \\[TeX-print] to print a .dvi file.
  1563. TeX-show-queue-command
  1564.     Command string used by \\[TeX-show-print-queue] to show the print
  1565.     queue that \\[TeX-print] put your job on.
  1566.  
  1567. Entering plain-TeX mode calls the value of text-mode-hook,
  1568. then the value of TeX-mode-hook, and then the value
  1569. of plain-TeX-mode-hook."
  1570.   t)
  1571.  
  1572. (autoload 'tex-mode "tex-mode"
  1573.   "\
  1574. Major mode for editing files of input for TeX or LaTeX.
  1575. Trys to intuit whether this file is for plain TeX or LaTeX and
  1576. calls plain-tex-mode or latex-mode.  If it cannot be determined
  1577. (e.g., there are no commands in the file), the value of
  1578. TeX-default-mode is used."
  1579.   t)
  1580.  
  1581. (fset 'TeX-mode 'tex-mode)
  1582. (fset 'plain-TeX-mode 'plain-tex-mode)
  1583. (fset 'LaTeX-mode 'latex-mode)
  1584.  
  1585. (autoload 'texinfo-mode "texinfo"
  1586.   "\
  1587. Major mode for editing texinfo files.
  1588. These are files that are input for TEX and also to be turned
  1589. into Info files by \\[texinfo-format-buffer].
  1590. These files must be written in a very restricted and
  1591. modified version of TEX input format.
  1592.  
  1593. As for editing commands, like text-mode except for syntax table,
  1594. which is set up so expression commands skip texinfo bracket groups."
  1595.   t)
  1596.  
  1597. (autoload 'texinfo-format-buffer "texinfmt"
  1598.   "\
  1599. Process the current buffer as texinfo code, into an Info file.
  1600. The Info file output is generated in a buffer
  1601. visiting the Info file names specified in the @setfilename command.
  1602.  
  1603. Non-nil argument (prefix, if interactive) means don't make tag table
  1604. and don't split the file if large.  You can use Info-tagify and
  1605. Info-split to do these manually."
  1606.   t)
  1607.  
  1608. (autoload 'texinfo-format-region "texinfmt"
  1609.   "\
  1610. Convert the the current region of the Texinfo file to Info format.
  1611. This lets you see what that part of the file will look like in Info.
  1612. The command is bound to \\[texinfo-format-region].  The text that is
  1613. converted to Info is stored in a temporary buffer."
  1614.   t)
  1615.  
  1616. (autoload 'batch-texinfo-format "texinfmt"
  1617.   "\
  1618. Runs  texinfo-format-buffer  on the files remaining on the command line.
  1619. Must be used only with -batch, and kills emacs on completion.
  1620. Each file will be processed even if an error occurred previously.
  1621. For example, invoke
  1622.   \"emacs -batch -funcall batch-texinfo-format $docs/ ~/*.texinfo\"."
  1623.   nil)
  1624.  
  1625. (autoload 'display-time "time"
  1626.   "\
  1627. Display current time and load level in mode line of each buffer.
  1628. Updates automatically every minute.
  1629. If display-time-day-and-date is non-nil, the current day and date
  1630. are displayed as well."
  1631.   t)
  1632.  
  1633. (autoload 'underline-region "undrline"
  1634.   "\
  1635. Underline all nonblank characters in the region.
  1636. Works by overstriking underscores.
  1637. Called from program, takes two arguments START and END
  1638. which specify the range to operate on."
  1639.   t)
  1640.  
  1641. (autoload 'ununderline-region "undrline"
  1642.   "\
  1643. Remove all underlining (overstruck underscores) in the region.
  1644. Called from program, takes two arguments START and END
  1645. which specify the range to operate on."
  1646.   t)
  1647.  
  1648. (autoload 'ask-user-about-lock "userlock"
  1649.   "\
  1650. Ask user what to do when he wants to edit FILE but it is locked by USER.
  1651. This function has a choice of three things to do:
  1652.   do (signal 'buffer-file-locked (list FILE USER))
  1653.     to refrain from editing the file
  1654.   return t (grab the lock on the file)
  1655.   return nil (edit the file even though it is locked).
  1656. You can rewrite it to use any criterion you like to choose which one to do."
  1657.   nil)
  1658.  
  1659. (autoload 'ask-user-about-supersession-threat "userlock"
  1660.   "\
  1661. Ask a user who is about to modify an obsolete buffer what to do.
  1662. This function has two choices: it can return, in which case the modification
  1663. of the buffer will proceed, or it can (signal 'file-supersession (file)),
  1664. in which case the proposed buffer modification will not be made.
  1665. You can rewrite this to use any criterion you like to choose which one to do."
  1666.   nil)
  1667.  
  1668. ;; 
  1669. ;; (sjk)++ removed for space requirements, not to mention my dislike of vi.
  1670. ;;
  1671. ;(autoload 'vi-mode "vi"
  1672. ;  "\
  1673. ;Major mode that acts like the `vi' editor.
  1674. ;The purpose of this mode is to provide you the combined power of vi (namely,
  1675. ;the \"cross product\" effect of commands and repeat last changes) and Emacs.
  1676. ;
  1677. ;This command redefines nearly all keys to look like vi commands.
  1678. ;It records the previous major mode, and any vi command for input
  1679. ;\(`i', `a', `s', etc.) switches back to that mode.
  1680. ;Thus, ordinary Emacs (in whatever major mode you had been using)
  1681. ;is \"input\" mode as far as vi is concerned.
  1682. ;
  1683. ;To get back into vi from \"input\" mode, you must issue this command again.
  1684. ;Therefore, it is recommended that you assign it to a key.
  1685. ;
  1686. ;Major differences between this mode and real vi :
  1687. ;
  1688. ;* Limitations and unsupported features
  1689. ;  - Search patterns with line offset (e.g. /pat/+3 or /pat/z.) are
  1690. ;    not supported.
  1691. ;  - Ex commands are not implemented; try ':' to get some hints.
  1692. ;  - No line undo (i.e. the 'U' command), but multi-undo is a standard feature.
  1693. ;
  1694. ;* Modifications
  1695. ;  - The stopping positions for some point motion commands (word boundary,
  1696. ;    pattern search) are slightly different from standard 'vi'.
  1697. ;    Also, no automatic wrap around at end of buffer for pattern searching.
  1698. ;  - Since changes are done in two steps (deletion then insertion), you need
  1699. ;    to undo twice to completely undo a change command.  But this is not needed
  1700. ;    for undoing a repeated change command.
  1701. ;  - No need to set/unset 'magic', to search for a string with regular expr
  1702. ;    in it just put a prefix arg for the search commands.  Replace cmds too.
  1703. ;  - ^R is bound to incremental backward search, so use ^L to redraw screen.
  1704. ;
  1705. ;* Extensions
  1706. ;  - Some standard (or modified) Emacs commands were integrated, such as
  1707. ;    incremental search, query replace, transpose objects, and keyboard macros.
  1708. ;  - In command state, ^X links to the 'ctl-x-map', and ESC can be linked to
  1709. ;    esc-map or set undefined.  These can give you the full power of Emacs.
  1710. ;  - See vi-com-map for those keys that are extensions to standard vi, e.g.
  1711. ;    `vi-name-last-change-or-macro', `vi-verify-spelling', `vi-locate-def',
  1712. ;    `vi-mark-region', and 'vi-quote-words'.  Some of them are quite handy.
  1713. ;  - Use \\[vi-switch-mode] to switch among different modes quickly.
  1714. ;  
  1715. ;Syntax table and abbrevs while in vi mode remain as they were in Emacs."
  1716. ;  t)
  1717.  
  1718. (autoload 'view-file "view"
  1719.   "\
  1720. View FILE in View mode, returning to previous buffer when done.
  1721. The usual Emacs commands are not available; instead,
  1722. a special set of commands (mostly letters and punctuation)
  1723. are defined for moving around in the buffer.
  1724. Space scrolls forward, Delete scrolls backward.
  1725. For list of all View commands, type ? or h while viewing.
  1726.  
  1727. Calls the value of  view-hook  if that is non-nil."
  1728.   t)
  1729.  
  1730. (autoload 'view-buffer "view"
  1731.   "\
  1732. View BUFFER in View mode, returning to previous buffer when done.
  1733. The usual Emacs commands are not available; instead,
  1734. a special set of commands (mostly letters and punctuation)
  1735. are defined for moving around in the buffer.
  1736. Space scrolls forward, Delete scrolls backward.
  1737. For list of all View commands, type ? or h while viewing.
  1738.  
  1739. Calls the value of  view-hook  if that is non-nil."
  1740.   t)
  1741.  
  1742. (autoload 'view-mode "view"
  1743.   "\
  1744. Major mode for viewing text but not editing it.
  1745. Letters do not insert themselves.  Instead these commands are provided.
  1746. Most commands take prefix arguments.  Commands dealing with lines
  1747. default to \"scroll size\" lines (initially size of window).
  1748. Search commands default to a repeat count of one.
  1749. M-< or <    move to beginning of buffer.
  1750. M-> or >    move to end of buffer.
  1751. C-v or Space    scroll forward lines.
  1752. M-v or DEL    scroll backward lines.
  1753. CR or LF    scroll forward one line (backward with prefix argument).
  1754. z        like Space except set number of lines for further
  1755.            scrolling commands to scroll by.
  1756. C-u and Digits    provide prefix arguments.  `-' denotes negative argument.
  1757. =        prints the current line number.
  1758. g        goes to line given by prefix argument.
  1759. / or M-C-s    searches forward for regular expression
  1760. \\ or M-C-r    searches backward for regular expression.
  1761. n        searches forward for last regular expression.
  1762. p        searches backward for last regular expression.
  1763. C-@ or .    set the mark.
  1764. x        exchanges point and mark.
  1765. C-s or s    do forward incremental search.
  1766. C-r or r    do reverse incremental search.
  1767. @ or '        return to mark and pops mark ring.
  1768.           Mark ring is pushed at start of every
  1769.           successful search and when jump to line to occurs.
  1770.           The mark is set on jump to buffer start or end.
  1771. ? or h        provide help message (list of commands).
  1772. C-h        provides help (list of commands or description of a command).
  1773. C-n        moves down lines vertically.
  1774. C-p        moves upward lines vertically.
  1775. C-l        recenters the screen.
  1776. q or C-c    exit view-mode and return to previous buffer.
  1777.  
  1778. Entry to this mode calls the value of  view-hook  if non-nil.
  1779. \\{view-mode-map}")
  1780.  
  1781. ;; 
  1782. ;; (sjk)++ removed for space requirements, not to mention my dislike of vi.
  1783. ;;
  1784. ; (autoload 'vip-mode "vip"
  1785. ;   "\
  1786. ; Begin emulating the vi editor.  This is distinct from `vi-mode'.
  1787. ; This emulator has different capabilities from the `vi-mode' emulator.
  1788. ; See the text at the beginning of the source file .../lisp/vip.el
  1789. ; in the Emacs distribution."
  1790. ;  t)
  1791.  
  1792. (autoload 'yow "yow"
  1793.   "\
  1794. Return or display a Zippy quotation" t)
  1795. (autoload 'psychoanalyze-pinhead "yow"
  1796.   "\
  1797. Zippy goes to the analyst." t)
  1798.  
  1799.  
  1800. (define-key esc-map "\C-f" 'forward-sexp)
  1801. (define-key esc-map "\C-b" 'backward-sexp)
  1802. (define-key esc-map "\C-u" 'backward-up-list)
  1803. (define-key esc-map "\C-@" 'mark-sexp)
  1804. (define-key esc-map "\C-d" 'down-list)
  1805. (define-key esc-map "\C-k" 'kill-sexp)
  1806. (define-key esc-map "\C-n" 'forward-list)
  1807. (define-key esc-map "\C-p" 'backward-list)
  1808. (define-key esc-map "\C-a" 'beginning-of-defun)
  1809. (define-key esc-map "\C-e" 'end-of-defun)
  1810. (define-key esc-map "\C-h" 'mark-defun)
  1811. (define-key esc-map "(" 'insert-parentheses)
  1812. (define-key esc-map ")" 'move-past-close-and-reindent)
  1813. (define-key esc-map "\t" 'lisp-complete-symbol)
  1814.  
  1815. (define-key ctl-x-map "\C-e" 'eval-last-sexp)
  1816.  
  1817. (define-key ctl-x-map "/" 'point-to-register)
  1818. (define-key ctl-x-map "j" 'register-to-point)
  1819. (define-key ctl-x-map "x" 'copy-to-register)
  1820. (define-key ctl-x-map "g" 'insert-register)
  1821. (define-key ctl-x-map "r" 'copy-rectangle-to-register)
  1822.  
  1823. (define-key esc-map "q" 'fill-paragraph)
  1824. (define-key esc-map "g" 'fill-region)
  1825. (define-key ctl-x-map "." 'set-fill-prefix)
  1826.  
  1827. (define-key esc-map "[" 'backward-paragraph)
  1828. (define-key esc-map "]" 'forward-paragraph)
  1829. (define-key esc-map "h" 'mark-paragraph)
  1830. (define-key esc-map "a" 'backward-sentence)
  1831. (define-key esc-map "e" 'forward-sentence)
  1832. (define-key esc-map "k" 'kill-sentence)
  1833. (define-key ctl-x-map "\177" 'backward-kill-sentence)
  1834.  
  1835. (define-key ctl-x-map "[" 'backward-page)
  1836. (define-key ctl-x-map "]" 'forward-page)
  1837. (define-key ctl-x-map "\C-p" 'mark-page)
  1838. (put 'narrow-to-region 'disabled t)
  1839. (define-key ctl-x-map "p" 'narrow-to-page)
  1840. (put 'narrow-to-page 'disabled t)
  1841. (define-key ctl-x-map "l" 'count-lines-page)
  1842.  
  1843. (defun isearch-forward ()
  1844.   "\
  1845. Do incremental search forward.
  1846. As you type characters, they add to the search string and are found.
  1847. Type Delete to cancel characters from end of search string.
  1848. Type ESC to exit, leaving point at location found.
  1849. Type C-s to search again forward, C-r to search again backward.
  1850. Type C-w to yank word from buffer onto end of search string and search for it.
  1851. Type C-y to yank rest of line onto end of search string, etc.
  1852. Type C-q to quote control character to search for it.
  1853. Other control and meta characters terminate the search
  1854.  and are then executed normally.
  1855. The above special characters are mostly controlled by parameters;
  1856.  do M-x apropos on search-.*-char to find them.
  1857. C-g while searching or when search has failed
  1858.  cancels input back to what has been found successfully.
  1859. C-g when search is successful aborts and moves point to starting point."
  1860.   (interactive)
  1861.   (isearch t))
  1862.  
  1863. (defun isearch-forward-regexp ()
  1864.   "\
  1865. Do incremental search forward for regular expression.
  1866. Like ordinary incremental search except that your input
  1867. is treated as a regexp.  See \\[isearch-forward] for more info."
  1868.   (interactive)
  1869.   (isearch t t))
  1870.  
  1871. (defun isearch-backward ()
  1872.   "\
  1873. Do incremental search backward.
  1874. See \\[isearch-forward] for more information."
  1875.   (interactive)
  1876.   (isearch nil))
  1877.  
  1878. (defun isearch-backward-regexp ()
  1879.   "\
  1880. Do incremental search backward for regular expression.
  1881. Like ordinary incremental search except that your input
  1882. is treated as a regexp.  See \\[isearch-forward] for more info."
  1883.   (interactive)
  1884.   (isearch nil t))
  1885.  
  1886. (defvar search-last-string "" "\
  1887. Last string search for by a non-regexp search command.
  1888. This does not include direct calls to the primitive search functions,
  1889. and does not include searches that are aborted.")
  1890.  
  1891. (defvar search-last-regexp "" "\
  1892. Last string searched for by a regexp search command.
  1893. This does not include direct calls to the primitive search functions,
  1894. and does not include searches that are aborted.")
  1895.  
  1896. (defconst search-repeat-char ?\C-s "\
  1897. *Character to repeat incremental search forwards.")
  1898. (defconst search-reverse-char ?\C-r "\
  1899. *Character to repeat incremental search backwards.")
  1900. (defconst search-exit-char ?\e "\
  1901. *Character to exit incremental search.")
  1902. (defconst search-delete-char ?\177 "\
  1903. *Character to delete from incremental search string.")
  1904. (defconst search-quote-char ?\C-q "\
  1905. *Character to quote special characters for incremental search.")
  1906. (defconst search-yank-word-char ?\C-w "\
  1907. *Character to pull next word from buffer into search string.")
  1908. (defconst search-yank-line-char ?\C-y "\
  1909. *Character to pull rest of line from buffer into search string.")
  1910. (defconst search-exit-option t "\
  1911. *Non-nil means random control characters terminate incremental search.")
  1912.  
  1913. (defvar search-slow-window-lines 1 "\
  1914. *Number of lines in slow search display windows.
  1915. These are the short windows used during incremental search on slow terminals.
  1916. Negative means put the slow search window at the top (normally it's at bottom)
  1917. and the value is minus the number of lines.")
  1918.  
  1919. (defvar search-slow-speed 1200 "\
  1920. *Highest terminal speed at which to use \"slow\" style incremental search.
  1921. This is the style where a one-line window is created to show the line
  1922. that the search has reached.")
  1923.  
  1924. (autoload 'isearch "isearch")
  1925.  
  1926. (define-key global-map "\C-s" 'isearch-forward)
  1927. (define-key global-map "\C-r" 'isearch-backward)
  1928. (define-key esc-map "\C-s" 'isearch-forward-regexp)
  1929.  
  1930. (defun query-replace (from-string to-string &optional arg)
  1931.   "\
  1932. Replace some occurrences of FROM-STRING with TO-STRING.
  1933. As each match is found, the user must type a character saying
  1934. what to do with it.  For directions, type \\[help-command] at that time.
  1935.  
  1936. Preserves case in each replacement if  case-replace  and  case-fold-search
  1937. are non-nil and FROM-STRING has no uppercase letters.
  1938. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1939. only matches surrounded by word boundaries."
  1940.   (interactive "sQuery replace: \nsQuery replace %s with: \nP")
  1941.   (perform-replace from-string to-string t nil arg)
  1942.   (message "Done"))
  1943.  
  1944. (defun query-replace-regexp (regexp to-string &optional arg)
  1945.   "\
  1946. Replace some things after point matching REGEXP with TO-STRING.
  1947. As each match is found, the user must type a character saying
  1948. what to do with it.  For directions, type \\[help-command] at that time.
  1949.  
  1950. Preserves case in each replacement if  case-replace  and  case-fold-search
  1951. are non-nil and REGEXP has no uppercase letters.
  1952. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1953. only matches surrounded by word boundaries.
  1954. In TO-STRING, \\& means insert what matched REGEXP,
  1955. and \\=\\<n> means insert what matched <n>th \\(...\\) in REGEXP."
  1956.   (interactive "sQuery replace regexp: \nsQuery replace regexp %s with: \nP")
  1957.   (perform-replace regexp to-string t t arg)
  1958.   (message "Done"))
  1959.  
  1960. (defun replace-string (from-string to-string &optional delimited)
  1961.   "\
  1962. Replace occurrences of FROM-STRING with TO-STRING.
  1963. Preserve case in each match if  case-replace  and  case-fold-search
  1964. are non-nil and FROM-STRING has no uppercase letters.
  1965. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1966. only matches surrounded by word boundaries."
  1967.   (interactive "sReplace string: \nsReplace string %s with: \nP")
  1968.   (perform-replace from-string to-string nil nil delimited)
  1969.   (message "Done"))
  1970.  
  1971. (defun replace-regexp (regexp to-string &optional delimited)
  1972.   "\
  1973. Replace things after point matching REGEXP with TO-STRING.
  1974. Preserve case in each match if case-replace and case-fold-search
  1975. are non-nil and REGEXP has no uppercase letters.
  1976. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1977. only matches surrounded by word boundaries.
  1978. In TO-STRING, \\& means insert what matched REGEXP,
  1979. and \\=\\<n> means insert what matched <n>th \\(...\\) in REGEXP."
  1980.   (interactive "sReplace regexp: \nsReplace regexp %s with: \nP")
  1981.   (perform-replace regexp to-string nil t delimited)
  1982.   (message "Done"))
  1983.  
  1984. (define-key esc-map "%" 'query-replace)
  1985.  
  1986. (autoload 'perform-replace "replace")
  1987.  
  1988. (define-key ctl-x-map "\C-a" 'add-mode-abbrev)
  1989. (define-key ctl-x-map "\+" 'add-global-abbrev)
  1990. (define-key ctl-x-map "\C-h" 'inverse-add-mode-abbrev)
  1991. (define-key ctl-x-map "\-" 'inverse-add-global-abbrev)
  1992. (define-key esc-map "'" 'abbrev-prefix-mark)
  1993. (define-key ctl-x-map "'" 'expand-abbrev)
  1994.