|
|
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.