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