|
|
1.1 root 1: This is Info file ../info/emacs, produced by Makeinfo-1.49 from the
2: input file emacs.texi.
3:
4: This file documents the GNU Emacs editor.
5:
6: Copyright (C) 1985, 1986, 1988, 1992 Richard M. Stallman.
7:
8: Permission is granted to make and distribute verbatim copies of this
9: manual provided the copyright notice and this permission notice are
10: preserved on all copies.
11:
12: Permission is granted to copy and distribute modified versions of
13: this manual under the conditions for verbatim copying, provided also
14: that the sections entitled "The GNU Manifesto", "Distribution" and "GNU
15: General Public License" are included exactly as in the original, and
16: provided that the entire resulting derived work is distributed under the
17: terms of a permission notice identical to this one.
18:
19: Permission is granted to copy and distribute translations of this
20: manual into another language, under the above conditions for modified
21: versions, except that the sections entitled "The GNU Manifesto",
22: "Distribution" and "GNU General Public License" may be included in a
23: translation approved by the author instead of in the original English.
24:
25:
26: File: emacs, Node: TeX Mode Changes, Next: Shell Changes, Prev: Filling Changes, Up: Version 19
27:
28: Changes in TeX Mode
29: ===================
30:
31: The old TeX mode bindings of `M-{' and `M-}' have been moved to `C-c
32: {' and `C-c }'. (These commands are `up-list' and `tex-insert-braces';
33: they are the TeX equivalents of `M-(' and `M-)'.)
34:
35: The new command `C-c C-o' (`tex-latex-block') inserts a matching
36: `\begin'--`\end' pair. The new command `C-c C-e'
37: (`tex-close-latex-block') inserts a matching `\end' for the last
38: unterminated `\begin'.
39:
40: You can run BibTeX on the current file using `C-c TAB'
41: (`tex-bibtex-file').
42:
43: There is a new command `C-c C-v' (`tex-view') for running a DVI
44: previewer.
45:
46: You can specify the directory to use for running TeX by setting the
47: variable `tex-directory'. `"."' is the default value. If your
48: environment variable `TEXINPUTS' contains relative directory names, or
49: if your files contains `\input' commands with relative file names, then
50: `tex-directory' *must* be `"."' or you will get the wrong results.
51: Otherwise, it is safe to specify some other directory, such as `/tmp'.
52:
53: There is now a third variant of TeX mode, for SliTeX. This is in
54: addition to the variants for plain TeX and LaTeX. As before, the
55: correct variant is chosen automatically when you visit a file.
56:
57:
58: File: emacs, Node: Shell Changes, Next: Spell Changes, Prev: TeX Mode Changes, Up: Version 19
59:
60: Changes in Shell Mode
61: =====================
62:
63: Shell mode has been completely replaced with a new implementation.
64: The basic idea is the same: Emacs runs a subshell, and all input and
65: output to the subshell go through the shell buffer. But the special
66: commands of Shell mode have been redesigned.
67:
68: `TAB'
69: Complete the file name before point in the shell buffer
70: (`comint-dynamic-complete').
71:
72: `M-?'
73: To get a list of all possible completions of the file name before,
74: type `M-?' (`comint-dynamic-list-completions').
75:
76: `M-p'
77: `M-n'
78: There is a new convenient history mechanism for repeating previous
79: shell inputs. Use the command `M-p' (`comint-previous-input') to
80: recall the last input; it copies the text of that input to the
81: place where you are editing. If you repeat `M-p', it replaces the
82: copied input with successively earlier inputs. `M-n' is similar
83: but goes in the opposite direction, towards the present
84: (`comint-next-input').
85:
86: When you find the previous input you want, you can resubmit it by
87: typing RET, or you can edit it first and then resubmit it if you
88: wish.
89:
90: These shell history commands operate outside the minibuffer, but
91: they are completely analogous to the minibuffer history commands.
92:
93: `M-r'
94: `M-s'
95: You can also use `M-r' and `M-s' to search for (respectively)
96: earlier or later inputs starting with a given string. First type
97: the string, then type `M-r' (`comint-previous-matching-input') to
98: yank a previous input from the history which starts with that
99: string. You can repeat `M-r' to find successively earlier inputs
100: starting with the same string.
101:
102: You can start moving in the opposite direction (toward more recent
103: inputs) by typing `M-s' (`comint-next-matching-input') instead of
104: `M-r'. As long as you don't use any commands except `M-r' and
105: `M-s', they keep using the same string that you had entered
106: initially.
107:
108: These commands serve a purpose similar to that of `M-r' and `M-s'
109: in the minibuffer, but do not work in quite the same way. We may
110: change the interface of these commands, as well as that of the
111: analogous minibuffer commands; one goal will be to make the two
112: sets of commands compatible. But we haven't yet figured out which
113: of the possible interfaces is best. To find out what interface is
114: actually supported in Emacs 19, type `C-h f
115: comint-previous-matching-input RET'.
116:
117: `C-c C-o'
118: Kill the last batch of output from a shell command
119: (`comint-kill-output'). This is useful if a shell command spews
120: out lots of output that just gets in the way.
121:
122: `C-c C-r'
123: Scroll to display the beginning of the last batch of output at the
124: top of the window; it also moves the cursor there
125: (`comint-show-output').
126:
127: `C-a'
128: If you type `C-a' on a line that starts with a shell prompt, it
129: moves to the end of the prompt, not to the very beginning of the
130: line.
131:
132: `C-d'
133: Typed at the end of the shell buffer, `C-d' sends EOF to the
134: subshell. Typed at any other position in the buffer, `C-d'
135: deletes a character as usual.
136:
137: `M-x dirs'
138: If Emacs gets confused while trying to track changes in the shell's
139: current directory, type `M-x dirs' to re-synchronize.
140:
141: `M-x send-invisible'
142: This command reads a line of text without echoing it, and sends it
143: to the shell.
144:
145: `M-x comint-continue-subjob'
146: If you accidentally suspend your process, use this command to
147: continue it.
148:
149:
150: File: emacs, Node: Spell Changes, Next: Tags Changes, Prev: Shell Changes, Up: Version 19
151:
152: Changes in Spell Checking
153: =========================
154:
155: Emacs 19 uses the Ispell program for spelling correction instead of
156: the Unix spell program. Ispell has many advantages; one is that it can
157: be started the first time you check a word, and left running thereafter,
158: which makes further checking much faster. If you want to get rid of the
159: Ispell process, use `M-x kill-ispell'.
160:
161: To check the entire current buffer, use `M-x ispell-buffer'. Use
162: `M-x ispell-region' to check just the current region.
163:
164: Ispell commands often involve interactive replacement of words. You
165: can interrupt the interactive replacement with `C-g'. You can restart
166: it again afterward with `C-u M-$'.
167:
168: Interactive replacement shows you one misspelling at a time and asks
169: you what to do. To answer, type one of the following characters:
170:
171: `DIGIT'
172: Replace the word (this time) with one of the displayed near-misses.
173: The digit you use says which near-miss to use.
174:
175: `a'
176: Accept this word this time.
177:
178: `i'
179: Insert this word in your private dictionary so that Ispell will
180: consider it correct it from now on.
181:
182: `r'
183: Replace the word this time with a string typed by you.
184:
185: When the Ispell process starts, it reads your private dictionary
186: which is the file `~/ispell.words'. Words that you "insert" with the
187: `i' command are added to that file, but not right away--only at the end
188: of the interactive replacement procedure.
189:
190: Use the `M-x reload-ispell' command to reload your private
191: dictionary from `~/ispell.words' if you edit the file outside of Ispell.
192:
193:
194: File: emacs, Node: Mail Changes, Next: Info Changes, Prev: Tags Changes, Up: Version 19
195:
196: Changes in Mail Reading and Sending
197: ===================================
198:
199: `%' is now a word-separator character in Mail mode. This is because
200: that character frequently appears in addresses.
201:
202: If you set the variable `mail-signature' non-`nil', then `mail'
203: inserts the contents of your `.signature' file automatically when it
204: initializes a mail buffer. If you don't want your signature in a
205: particular message, just delete it from the buffer before you send the
206: message.
207:
208: You can specify the text to insert at the beginning of each line when
209: you use `C-c C-y' to yank the message you are replying to. Set
210: `mail-yank-prefix' to the desired string. A value of `nil' (the
211: default) means to use indentation, as in Emacs 18. If you use `C-u' by
212: itself as the prefix argument to `C-c C-y', then it does not insert
213: anything at the beginning of the lines, regardless of the value of
214: `mail-yank-prefix'.
215:
216: You can easily convert an Rmail file to system mailbox format with
217: the command `unrmail'. This command reads two arguments, the name of
218: the Rmail file to convert, and the name of the new mailbox file. The
219: Rmail file is unchanged by this command.
220:
221: Rmail now initially positions you at the first message in the Rmail
222: file that you have not seen. This may not be a message that just
223: arrived; it may have arrived in a previous session during which you did
224: not select it. You can then read all the unseen messages going
225: forwards.
226:
227: When a message that you sent "bounces" back to you, you can retry
228: sending it by typing `C-M-m' (`rmail-retry-failure') on the failure
229: message.
230:
231: By contrast, the new command `M-x rmail-resend' is used for
232: forwarding a message and marking it as "resentby" you, with the special
233: header fields `Resent-by:' and `Resent-to:'.
234:
235: Another new Rmail command is `<', which moves to the first message.
236: (This is for symmetry with `>'.) `<' is actually an alias for `j'.
237:
238: `e' (`rmail-edit-current-message') is now the command to edit a
239: message. To expunge, type `x'. We know this will surprise people some
240: of the time, but the surprise will not be disastrous--if you type `e'
241: meaning to expunge, just type `C-c C-c' to leave Rmail Edit mode, and
242: then type `x'.
243:
244: The variable `rmail-output-file-alist' now controls the default for
245: the file to output a message to.
246:
247: In the Rmail summary, `C-n' and `C-p' are now ordinary cursor motion
248: commands. To move in the summary *and* select a new message, use `n'
249: and `p' (which skip deleted messages) or `M-n' and `M-p' (which stop at
250: all messages). These are, of course, the same commands you would use
251: in the Rmail buffer.
252:
253:
254: File: emacs, Node: Tags Changes, Next: Mail Changes, Prev: Spell Changes, Up: Version 19
255:
256: Changes in Tags Commands
257: ========================
258:
259: `M-.' (`find-tag') and the other commands to find a tag now look
260: first for an exact match in the tags table, and try substring matches
261: only afterward.
262:
263: Another change in `M-.' is that it has no effect on what `M-,' will
264: do subsequently. You can no longer use `M-,' to find the next similar
265: tag; instead, use `M-.' with a prefix argument.
266:
267: The new command `find-tag-regexp' successively visits the tags that
268: match a specified regular expression.
269:
270: You can now use more than one tags table. Using `visit-tags-table'
271: to load a new tags table does not discard the other tables previously
272: loaded. The other tags commands use all the tags tables that are
273: loaded; the first one they use is the one that mentions the current
274: visited file.
275:
276: You can specify a precise list of tags tables by setting the variable
277: `tags-table-list' to a list of strings, like this:
278:
279: (setq tags-table-list
280: '("~/emacs" "/usr/local/lib/emacs/src"))
281:
282: This tells `find-tag' to look at the `TAGS' files in your `~/emacs'
283: directory and in the `/usr/local/lib/emacs/src' directory. The order
284: depends on which file you are in and which tags table mentions that
285: file, as explained above.
286:
287: You can now use the tags table for completion of names during
288: ordinary editing. The command `M-TAB' (except in Emacs Lisp and Lisp
289: Interaction modes) completes the identifier in the buffer before point,
290: using the set of all tags as the list of possible completions.
291:
292: `tags-query-replace' and `tags-search' now create buffers only
293: temporarily for the files that they have to search (those which are not
294: already visited in Emacs buffers). If one of these files contains a
295: match for the search pattern, then its buffer continues to exist;
296: otherwise, it is killed.
297:
298:
299: File: emacs, Node: Info Changes, Next: Dired Changes, Prev: Mail Changes, Up: Version 19
300:
301: Changes in Info
302: ===============
303:
304: There are new commands in Info mode.
305:
306: `]'
307: Move forward a node, going up and down levels as needed in a
308: depth-first tree walk. This command treats all the nodes in the
309: file as forming a single sequence in which the "children" of a
310: node follow that node. It is the equivalent of reading a printed
311: manual sequentially.
312:
313: `['
314: Similar, but move backward.
315:
316: `<'
317: Move to the top node of the current Info file.
318:
319: `>'
320: Move to the last node of the file.
321:
322: `SPC'
323: Scroll through this node, or advance to the next node in
324: depth-first order (like `]').
325:
326: `i STRING RET'
327: Move to the node associated with STRING in the index or indices of
328: this manual. If there is more than one match for STRING, the `i'
329: command finds the first match.
330:
331: `,'
332: Find the next match for the string in the previous `i' command, and
333: go to that node.
334:
335: If you click the middle mouse button near a cross-reference, menu
336: item or node pointer while in Info, you will go to the node which is
337: referenced.
338:
339: The variable `Info-directory-list' specifies a list of directory
340: names that contain Info files. Each time Info looks for an Info file,
341: it searches all these directories. This makes it easy to install the
342: Info files that come with various packages. You can specify the path
343: with the environment variable `INFOPATH'.
344:
345:
346: File: emacs, Node: Dired Changes, Next: GNUS, Prev: Info Changes, Up: Version 19
347:
348: Changes in Dired
349: ================
350:
351: Dired has many new features which allow you to do these things:
352:
353: * Make distinguishable types of marks for different operations.
354:
355: * Rename, copy, or make links to many files at once.
356:
357: * Display contents of subdirectories in the same Dired buffer as the
358: parent directory.
359:
360: * Menu:
361:
362: * Marks in Dired:: Flagging for deletion vs marking for other actions.
363: * Multiple Files:: How to copy, rename, print, compress, etc.
364: either one file or several files.
365: * Shell Commands in Dired:: Running a shell command on the marked files.
366: * Dired Regexps:: Using patterns to rename multiple files.
367: * Dired Case Conversion:: Converting file names to upper or lower case.
368: * Comparison in Dired:: Running `diff' by way of Dired.
369: * Subdirectories in Dired:: Adding subdirectories to the Dired buffer.
370: * Hiding Subdirectories:: Making subdirectories visible or invisible.
371: * Editing Dired Buffer:: Discarding lines for files of no interest.
372: * Dired and Find:: Using `find' to select the files for Dired to show.
373:
374:
375: File: emacs, Node: Marks in Dired, Next: Multiple Files, Up: Dired Changes
376:
377: Setting and Clearing Marks
378: --------------------------
379:
380: There are now two kinds of marker that you can put on a file in
381: Dired: `D' for deletion, and `*' for any other kind of operation. The
382: `x' command deletes only files marked with `D', and most other Dired
383: commands operate only on the files marked with `*'.
384:
385: To mark files with `D' (also called "flagging" the files), you can
386: use `d' as usual. Here are some commands for marking with `*' (and
387: also for unmarking):
388:
389: `m'
390: Mark the current file with `*', for an operation other than
391: deletion (`dired-mark').
392:
393: `*'
394: Mark all executable files (`dired-mark-executables'). With a
395: prefix argument, unmark all those files.
396:
397: `@'
398: Mark all symbolic links (`dired-mark-symlinks'). With a prefix
399: argument, unmark all those files.
400:
401: `/'
402: Mark all files which are actually directories, except for `.' and
403: `..' (`dired-mark-directories'). With a prefix argument, unmark
404: all those files.
405:
406: `M-DEL'
407: Remove a specific or all marks from every file
408: (`dired-unmark-all-files'). With an argument, query for each
409: marked file. Type your help character, usually `C-h', at that time
410: for help.
411:
412: `c OLD NEW'
413: Replace all marks that use the character OLD with marks that use
414: the character NEW. You can use almost any character as a mark
415: character by means of this command, to distinguish various classes
416: of files. If OLD is ` ', then the command operates on all
417: unmarked files; if NEW is ` ', then the command unmarks the files
418: it acts on.
419:
420: To illustrate the power of this command, here is how to put `*'
421: marks on all the files that were unmarked, while unmarking all
422: those that had `*' marks:
423:
424: c * t c SPC * c t SPC
425:
426:
427: File: emacs, Node: Multiple Files, Next: Shell Commands in Dired, Prev: Marks in Dired, Up: Dired Changes
428:
429: Operating on Multiple Files
430: ---------------------------
431:
432: The Dired commands to operate on files (rename them, copy them, and
433: so on) have been generalized to work on multiple files. There are also
434: some additional commands in this series.
435:
436: All of these commands use the same convention to decide which files
437: to manipulate:
438:
439: * If you give the command a numeric prefix argument N, it operates
440: on the next N files, starting with the current file.
441:
442: * Otherwise, if there are marked files, the commands operate on all
443: the marked files.
444:
445: * Otherwise, the command operates on the current file only.
446:
447: Here are the commands that operate on multiple files in this way:
448:
449: `C'
450: Copy the specified files (`dired-do-copy'). You must specify a
451: directory to copy into, or (if copying a single file) a new name.
452:
453: If `dired-copy-preserve-time' is non-`nil', then copying with this
454: command sets the modification time of the new file to be the same
455: as that of the old file.
456:
457: `R'
458: Rename the specified files (`dired-do-rename'). You must specify
459: a directory to rename into, or (if renaming a single file) a new
460: name.
461:
462: Dired automatically changes the visited file name of buffers
463: associated with renamed files so that they refer to the new names.
464:
465: `H'
466: Make hard links to the specified files (`dired-do-hardlink'). You
467: must specify a directory to make the links in, or (if making just
468: one link) the name to give the link.
469:
470: `S'
471: Make symbolic links to the specified files (`dired-do-symlink').
472: You must specify a directory to make the links in, or (if making
473: just one link) the name to give the link.
474:
475: `M'
476: Change the mode (also called "permission bits") of the specified
477: files (`dired-do-chmod'). This calls the `chmod' program, so you
478: can describe the desired mode change with any argument that
479: `chmod' would handle.
480:
481: `G'
482: Change the group of the specified files (`dired-do-chgrp').
483:
484: `O'
485: Change the owner of the specified files (`dired-do-chown'). (On
486: most systems, only the superuser can do this.)
487:
488: The variable `dired-chown-program' specifies the name of the
489: program to use to do the work (different systems put `chown' in
490: different places.
491:
492: `Z'
493: Compress or uncompress the specified files. If the file appears to
494: be a compressed file, it is uncompressed; otherwise, it is
495: compressed (`dired-do-compress').
496:
497: `L'
498: Load the specified Emacs Lisp files (`dired-do-load').
499:
500: `B'
501: Byte compile the specified Emacs Lisp files
502: (`dired-do-byte-compile').
503:
504: `P'
505: Print the specified files (`dired-do-print'). This command uses
506: the variables `lpr-command' and `lpr-switches' just as `lpr-file'
507: does (*note Hardcopy::.).
508:
509:
510: File: emacs, Node: Shell Commands in Dired, Next: Dired Regexps, Prev: Multiple Files, Up: Dired Changes
511:
512: Shell Commands in Dired
513: -----------------------
514:
515: The dired command `!' (`dired-do-shell-command') reads a shell
516: command string in the minibuffer and runs the shell command on all the
517: specified files. There are two ways of applying a shell command to
518: multiple files:
519:
520: * If you use `*' in the shell command, then it runs just once, with
521: the list of file names substituted for the `*'.
522:
523: Thus, `! tar cf foo.tar * RET' runs `tar' on the entire list of
524: file names, putting them into one tar file `foo.tar'. The file
525: names are inserted in the order that they appear in the Dired
526: buffer.
527:
528: * If the command string doesn't contain `*', then it runs once *for
529: each file*, with the file name attached at the end.
530:
531: For example, `! uudecode RET' runs `uudecode' on each file.
532:
533: What if you want to run the shell command once for each file but with
534: the file name inserted in the middle? Or if you want to use the file
535: names in a more complicated fashion? Use a shell loop. For example,
536: this shell command would run `uuencode' on each of the specified files,
537: writing the output into a corresponding `.uu' file:
538:
539: for file in *; uuencode $file $file >$file.uu; done
540:
541: The working directory for the shell command is the top level
542: directory of the Dired buffer.
543:
544: The `!' command does not attempt to update the Dired buffer to show
545: new or modified files, because it doesn't know what those files might
546: be. Type `g' to update the Dired buffer.
547:
548:
549: File: emacs, Node: Dired Regexps, Next: Dired Case Conversion, Prev: Shell Commands in Dired, Up: Dired Changes
550:
551: Regular Expression File Name Substitution
552: -----------------------------------------
553:
554: Here are commands that select files according to a regular
555: expression:
556:
557: `% m REGEXP RET'
558: Mark all files whose names match the regular expression REGEXP
559: (`dired-mark-files-regexp').
560:
561: Only the non-directory part of the file name is used in matching.
562: Use `^' and `$' to anchor matches. Exclude subdirs by hiding them
563: (*note Hiding Subdirectories::.).
564:
565: `% d REGEXP RET'
566: Flag for deletion all files whose names match the regular
567: expression REGEXP (`dired-flag-files-regexp').
568:
569: `% R FROM RET TO RET'
570: `% C FROM RET TO RET'
571: `% H FROM RET TO RET'
572: `% S FROM RET TO RET'
573: These four commands rename, copy, make hard links and make soft
574: links, in each case computing the new name by regular expression
575: substitution from the name of the old file.
576:
577: The four regular expression substitution commands effectively perform
578: `query-replace-regexp' on the selected file names in the Dired buffer.
579: They read two arguments: a regular expression FROM, and a substitution
580: pattern TO. Each selected file name is matched against the regular
581: expression, and then the part which matched is replaced with the
582: substitution pattern. You can use `\&' and `\DIGIT' in the
583: substitution pattern to refer to all or part of the old file name.
584:
585: Thus, `% R ^.*$ RET x-\& RET' renames each selected file by
586: prepending `x-' to its name. The inverse of this is to remove `x-'
587: from the front of each file name. One way to do that is `% R ^x-.*$
588: RET \& RET'; another is `% R ^x- RET RET'. (Use `^' and `$' to anchor
589: matches that should span the whole filename.)
590:
591: If the regular expression matches more than once in a file name,
592: only the first match is replaced.
593:
594: Normally, the replacement process does not consider the directory
595: names; it operates on the file name within the directory. If you
596: specify a prefix argument of zero, then replacement affects the entire
597: file name.
598:
599: Often you will want to apply the command to all files matching the
600: same REGEXP that you use in the command. To do this, mark those files
601: with `% m REGEXP RET', then use the same regular expression in `% R'.
602: To make this easier, `% R' uses the last regular expression specified
603: in a `%' command as a default.
604:
605:
606: File: emacs, Node: Dired Case Conversion, Next: Comparison in Dired, Prev: Dired Regexps, Up: Dired Changes
607:
608: Dired Case Conversion
609: ---------------------
610:
611: Here are commands for changing the case of selected files:
612:
613: `% u'
614: Rename each of the selected files to an upper case name
615: (`dired-upcase').
616:
617: `% l'
618: Rename each of the selected files to a lower case name
619: (`dired-downcase').
620:
621:
622: File: emacs, Node: Comparison in Dired, Next: Subdirectories in Dired, Prev: Dired Case Conversion, Up: Dired Changes
623:
624: File Comparison with Dired
625: --------------------------
626:
627: Here are two commands to run `diff' on selected files:
628:
629: `='
630: Compare the current file with another file (the file at the mark),
631: by running the `diff' program (`dired-diff'). The file at the
632: mark is the first argument of `diff', and the file at point is the
633: second argument.
634:
635: `M-='
636: Compare the current file with its backup file
637: (`dired-backup-diff'). If there are several numerical backups, use
638: the most recent one. If this file is a backup, compare it to its
639: original. The backup file is the first file given to `diff'.
640:
641:
642: File: emacs, Node: Subdirectories in Dired, Next: Hiding Subdirectories, Prev: Comparison in Dired, Up: Dired Changes
643:
644: Subdirectories in Dired
645: -----------------------
646:
647: One Dired buffer can now display more than one directory.
648:
649: The simplest way to include multiple directories is to specify the
650: options `-lR' for running `ls'. That produces a recursive directory
651: listing showing all subdirectories, all within the same Dired buffer.
652:
653: But the simplest way is not usually the most convenient way--usually
654: the complete recursive listing is more than you want. So there is a
655: Dired command to insert a single subdirectory into the Dired buffer:
656:
657: `i'
658: Use the `i' (`dired-maybe-insert-subdir') command on a line that
659: describes a file which is a directory. It inserts the contents of
660: that directory into the same Dired buffer. Inserted subdirectory
661: contents follow the top-level directory of the Dired buffer, just
662: as they do in `ls -lR' output.
663:
664: If the subdirectory's contents are already present in the buffer,
665: the `i' command just moves to it (type `l' (`dired-do-redisplay')
666: to refresh it). It sets the Emacs mark before moving, so `C-x
667: C-x' takes you back to the old position in the buffer.
668:
669: When you have subdirectories in the Dired buffer, you can use the
670: page motion commands `C-x [' and `C-x ]' to move by entire directories.
671:
672: The following commands move up and down in the tree of directories
673: in one Dired buffer:
674:
675: `C-M-u'
676: Go up to the parent directory's headerline (`dired-tree-up').
677:
678: `C-M-d'
679: Go down in the tree, to the first subdirectory's headerline
680: (`dired-tree-down').
681:
682: The following commands move forwards and backwards to subdirectory
683: headerlines:
684:
685: `C-M-n'
686: Go to next subdirectory headerline, regardless of level
687: (`dired-next-subdir').
688:
689: `C-M-p'
690: Go to previous subdirectory headerline, regardless of level
691: (`dired-prev-subdir').
692:
693:
694: File: emacs, Node: Hiding Subdirectories, Next: Editing Dired Buffer, Prev: Subdirectories in Dired, Up: Dired Changes
695:
696: Hiding Subdirectories
697: ---------------------
698:
699: "Hiding" a subdirectory means to make it invisible, except for its
700: headerline. Files inside a hidden subdirectory are never considered by
701: Dired. For example, the commands to operate on marked files ignore
702: files in hidden directories even if they are marked. Thus you can use
703: hiding to temporarily exclude subdirectories from operations without
704: having to remove the markers.
705:
706: The hiding commands toggle; that is they unhide what was hidden and
707: vice versa.
708:
709: `$'
710: Hide or reveal the current subdirectory and move point to the next
711: subdirectory (`dired-hide-subdir'). A prefix argument serves as a
712: repeat count.
713:
714: `M-$'
715: Hide all subdirectories, leaving only their header lines
716: (`dired-hide-all'). Or, if any subdirectory is currently hidden,
717: make all subdirectories visible again. You can use this command
718: to get an overview in very deep directory trees or to move quickly
719: to subdirectories far away.
720:
721:
722: File: emacs, Node: Editing Dired Buffer, Next: Dired and Find, Prev: Hiding Subdirectories, Up: Dired Changes
723:
724: Editing the Dired Buffer
725: ------------------------
726:
727: `l'
728: Update the specified files in a Dired buffer. This means reading
729: their current status from the file system and changing the buffer
730: to reflect it properly (`dired-do-redisplay').
731:
732: If you use this command on a subdirectory header line, it updates
733: the contents of the subdirectory.
734:
735: `g'
736: Update the entire contents of the Dired buffer (`revert-buffer').
737: Preserve all marks except for those on files that have vanished.
738: Hidden subdirectories are updated but remain hidden.
739:
740: `k'
741: Kill all marked lines (`dired-do-kill-lines'). With a prefix
742: argument, kill that many lines starting with the current line.
743:
744: This command does not delete files; it just deletes text from the
745: Dired buffer.
746:
747: If you kill the line for a file that is a directory, then its
748: contents are also deleted from the buffer. Typing `C-u k' on the
749: header line for a subdirectory is another way to delete a
750: subdirectory from the Dired buffer.
751:
752: The `g' command will bring back any individual lines that you have
753: killed in this way, but not subdirectories--you must use `i' to
754: reinsert each subdirectory.
755:
756:
757: File: emacs, Node: Dired and Find, Prev: Editing Dired Buffer, Up: Dired Changes
758:
759: Dired and `find'
760: ----------------
761:
762: You can select a set of files for display in a Dired buffer more
763: flexibly by using the `find' utility to choose the files.
764:
765: To search for files with names matching a wildcard pattern use
766: `find-name-dired'. Its arguments are DIRECTORY and PATTERN. It
767: selects all the files in DIRECTORY or its subdirectories whose own
768: names match PATTERN.
769:
770: The files thus selected are displayed in a Dired buffer in which the
771: ordinary Dired commands are available.
772:
773: If you want to test the contents of files, rather than their names,
774: use `find-grep-dired'. This command takes two minibuffer arguments,
775: DIRECTORY and REGEXP; it selects all the files in DIRECTORY or its
776: subdirectories that contain a match for REGEXP. It works by running
777: `find' and `grep'.
778:
779: The most general command in this series is `find-dired', which lets
780: you specify any condition that `find' can test. It takes two
781: minibuffer arguments, DIRECTORY and FIND-ARGS; it runs `find' in
782: DIRECTORY with FIND-ARGS as the arguments to `find' that specify which
783: files to accept. To use this command, you need to know how to use
784: `find'.
785:
786:
787: File: emacs, Node: GNUS, Next: Calendar/Diary, Prev: Dired Changes, Up: Version 19
788:
789: GNUS
790: ====
791:
792: GNUS is an Emacs subsystem for reading and responding to netnews.
793: You can use GNUS to browse through news groups, look at summaries of
794: articles in specific group, and read articles of interest. You can
795: respond to authors or write replies to all the readers of a news group.
796:
797: This document introduces GNUS and describes several basic features.
798: Full documentation will appear in `The GNU Emacs Extensions Manual'.
799:
800: To start GNUS, type `M-x gnus RET'.
801:
802: * Menu:
803:
804: * Buffers of GNUS:: The Newsgroups, Summary and Article buffers.
805: * GNUS Startup:: What you should know about starting GNUS.
806: * Summary of GNUS:: A short description of the basic GNUS commands.
807:
808:
809: File: emacs, Node: Buffers of GNUS, Next: GNUS Startup, Up: GNUS
810:
811: GNUS's Three Buffers
812: --------------------
813:
814: GNUS creates and uses three Emacs buffers, each with its own
815: particular purpose and its own major mode.
816:
817: The "Newsgroup buffer" contains a list of newsgroups. This is the
818: first buffer that GNUS displays when it starts up. Normally the list
819: contains only the newsgroups to which you subscribe (which are listed in
820: your `.newsrc' file) and which contain unread articles. Use this
821: buffer to select a specific newsgroup.
822:
823: The "Summary buffer" lists the articles in a single newsgroup,
824: including their subjects, their numbers, and who posted them. GNUS
825: creates a Summary buffer for a newsgroup when you select the group in
826: the Newsgroup buffer. Use this buffer to select an article, and to move
827: around in an article.
828:
829: The "Article buffer" displays the text of an article. You rarely
830: need to select this buffer because you can read the text while keeping
831: the Summary buffer selected.
832:
833:
834: File: emacs, Node: GNUS Startup, Next: Summary of GNUS, Prev: Buffers of GNUS, Up: GNUS
835:
836: When GNUS Starts Up
837: -------------------
838:
839: At startup, GNUS reads your `.newsrc' news initialization file and
840: attempts to communicate with the local news server, which is a
841: repository of news articles. The news server need not be the same
842: computer you are logged in on.
843:
844: If you start GNUS and connect to the server, but do not see any
845: newsgroups listed in the Newsgroup buffer, type `L' to get a listing of
846: all the newsgroups. Then type `u' to unsubscribe from particular
847: newsgroups. (Move the cursor using `n' and `p' or the usual Emacs
848: commands.) When you quit with `q', GNUS automatically records the
849: subscribed groups in your `.newsrc' initialization file. (You do not
850: have to edit this file yourself, although you may.) Next time you start
851: GNUS, you will see only the subscribed groups.
852:
853:
854: File: emacs, Node: Summary of GNUS, Prev: GNUS Startup, Up: GNUS
855:
856: Summary of GNUS Commands
857: ------------------------
858:
859: Reading news is a two step process:
860:
861: 1. Choose a newsgroup in the Newsgroup buffer.
862:
863: 2. Choose an article in the Summary buffer. The article is displayed
864: in the Article buffer in a large window, below the Summary buffer
865: in its small window.
866:
867: Each buffer has commands particular to it, but commands that do the
868: same things have similar keybindings. Here are commands for the
869: Newsgroup and Summary buffers:
870:
871: `z'
872: In the Newsgroup buffer, suspend GNUS. You can return to GNUS
873: later by selecting the Newsgroup buffer and typing `g' to get
874: newly arrived articles.
875:
876: `q'
877: In the Newsgroup buffer, update your `.newsrc' initialization file
878: and quit GNUS.
879:
880: In the Summary buffer, exit the current newsgroup and return to the
881: Newsgroup buffer. Thus, typing `q' twice quits GNUS.
882:
883: `L'
884: In the Newsgroup buffer, list all the newsgroups available on your
885: news server. This may be a long list!
886:
887: `l'
888: In the Newsgroup buffer, list only the newsgroups to which you
889: subscribe and which contain unread articles.
890:
891: `u'
892: In the Newsgroup buffer, unsubscribe from (or subscribe to) the
893: newsgroup listed in the line that point is on. When you quit GNUS
894: by typing `q', GNUS lists your subscribed-to newsgroups in your
895: `.newsrc' file. The next time you start GNUS, you see only the
896: newsgroups listed in your `.newsrc' file.
897:
898: You may also edit your `.newsrc' file directly in Emacs. First
899: quit GNUS, then visit the `.newsrc' file. For example, you can
900: remove all the `alt.' groups by going to the beginning of the file
901: and typing `M-x flush-lines RET alt RET'. Next time you start
902: GNUS, you will see only the newsgroups still listed in the
903: `.newsrc' file.
904:
905: `SPC'
906: In the Newsgroup buffer, select the group on the line under the
907: cursor and display the first unread article in that group.
908:
909: In the Summary buffer,
910:
911: - Select the article on the line under the cursor if none is
912: selected.
913:
914: - Scroll the text of the article if one is selected.
915:
916: - Select the next unread article if at the end of the current
917: article.
918:
919: Thus, you can move through all the articles by repeatedly typing
920: SPC.
921:
922: `DEL'
923: In the Newsgroup Buffer, move point to the previous newsgroup
924: containing unread articles.
925:
926: In the Summary buffer, scroll the text of the article backwards.
927:
928: `n'
929: Move point to the next unread newsgroup, or select the next unread
930: article.
931:
932: `p'
933: Move point to the previous unread newsgroup, or select the previous
934: unread article.
935:
936: `C-n'
937: `C-p'
938: Move point to the next or previous item, even if it is marked as
939: read. This does not select the article or newsgroup on that line.
940:
941: `s'
942: In the Summary buffer, do an incremental search of the current
943: text in the Article buffer, just as if you switched to the Article
944: buffer and typed `C-s'.
945:
946: `M-s REGEXP RET'
947: In the Summary buffer, search forward for articles containing a
948: match for REGEXP.
949:
950: `C-c C-s C-n'
951: `C-c C-s C-s'
952: `C-c C-s C-d'
953: `C-c C-s C-a'
954: In the Summary buffer, sort the list of articles by number,
955: subject, date, or author.
956:
957: `C-M-n'
958: `C-M-p'
959: In the Summary buffer, read the next or previous article with the
960: same subject as the current article.
961:
962:
963: File: emacs, Node: Calendar/Diary, Next: Version Control, Prev: GNUS, Up: Version 19
964:
965: Calendar and Diary
966: ==================
967:
968: The calendar facility in Emacs 19 is almost completely new, and it
969: comes with a diary feature. You can use the diary to keep track of
970: appointments, anniversaries, and other events.
971:
972: To use the diary, you must write diary entries in a particular file,
973: called your "diary file". Its name is `~/diary'. Emacs displays the
974: entries for particular dates by finding them in the diary file,
975: formatting them, and displaying them in a diary display buffer.
976:
977: * Menu:
978:
979: * Calendar:: New features of the calendar proper.
980: * Entries: Diary Entries. The location and form of a diary entry.
981: * New Entries:: Inserting diary entries using the calendar.
982: * Displaying Diary:: How to display diary entries from the calendar.
983: * European Calendar Style :: Day-month-year style for dates.
984: * Simple and Fancy:: The diary has two modes for display.
985: * Other Diary Features:: The diary has many advanced commands.
986: * Startup Diary:: How to display your diary when you start Emacs.
987: * Printing Diary:: Print selected entries of the diary.
988:
989:
990: File: emacs, Node: Calendar, Next: Diary Entries, Up: Calendar/Diary
991:
992: Calendar
993: --------
994:
995: In Emacs 19 you can use ordinary Emacs cursor commands to move
996: through the calendar, which scrolls automatically to display different
997: months or different years. Character motion translates to days, line
998: motion to weeks, sentence and paragraph motion to months, and page
999: motion to years. The vertical and horizontal scroll commands also
1000: handle the calendar suitably.
1001:
1002: `p d' displays the selected date as a day within the year. `g d'
1003: selects a date given as month, day, year. Type `.' to go back to
1004: today's date.
1005:
1006: The command `M-=', which normally gives the number of lines in the
1007: region, in Calendar mode gives the number of days in the region
1008: (`calendar-count-days-region').
1009:
1010: The calendar facility also knows about other important calendars.
1011: The commands for these come in pairs; the commands to convert *to*
1012: another calendar start with the `p' prefix (short for "print"), and the
1013: commands to convert from another calendar start with the `g' prefix
1014: (short for "go to"). Here is a complete list:
1015:
1016: `g a', `p a'
1017: The astronomical calendar, a simple count of days elapsed since
1018: noon, Monday, January 1, 4713 B.C. on the Julian calendar. The
1019: number of days elapsed is also called the "Julian day number"
1020: (`calendar-goto-astro-date', `calendar-print-astro-date').
1021:
1022: `g c', `p c'
1023: ISO commercial calendar
1024: (`calendar-goto-iso-date', `calendar-print-iso-date').
1025:
1026: `g f', `p f'
1027: French revolutionary calendar
1028: (`calendar-goto-french-date',
1029: `calendar-print-french-date').
1030:
1031: `g h', `p h'
1032: Hebrew calendar
1033: (`calendar-goto-hebrew-date',
1034: `calendar-print-hebrew-date').
1035:
1036: `g i', `p i'
1037: Islamic calendar
1038: (`calendar-goto-islamic-date',
1039: `calendar-print-islamic-date').
1040:
1041: `g j', `p j'
1042: Julian calendar
1043: (`calendar-goto-julian-date',
1044: `calendar-print-julian-date').
1045:
1046: `p m'
1047: Mayan calendar (`calendar-print-mayan-date').
1048:
1049: The calendar also knows the dates of standard holidays. Type `h'
1050: (`calendar-cursor-holidays') to display a list of holidays for the
1051: selected date. This list appears in another window. Type `x'
1052: (`mark-calendar-holidays') to mark each day that is a holiday with `*'
1053: in the calendar itself. The command `u' (`calendar-unmark') turns off
1054: this marking.
1055:
1056: At any time, you can use `M-x holidays' to display a list of
1057: holidays for the present month and the preceding and following months.
1058:
1059:
1060: File: emacs, Node: Diary Entries, Next: New Entries, Prev: Calendar, Up: Calendar/Diary
1061:
1062: Diary Entries
1063: -------------
1064:
1065: To use the diary feature, you must write "diary entries" that
1066: describe plans associated with particular dates, and put them in your
1067: "diary file", which is normally the file `~/diary'. You can specify a
1068: different name for it by setting the variable `diary-file'; you would
1069: do this before using any of the commands that operate on the diary.
1070:
1071: Diary file entries follow a simple convention: begin entries with a
1072: date at the beginning of a line, followed optionally by a time, and
1073: then by the text of the entry:
1074:
1075: DATE OPTIONAL-TIME-OF-DAY TEXT-OF-ENTRY
1076:
1077: To continue an entry over two or more lines, indent the second and
1078: subsequent lines. The lines of the entry after the first are called
1079: "continuation lines". Other lines in the diary file that are not part
1080: of any entry are comment lines; Emacs does not display these.
1081:
1082: When you make diary entries using Calendar mode, Emacs inserts the
1083: date for you in the appropriate format and places the cursor so you can
1084: type the text of the entry.
1085:
1086: You can write entries in any order and Emacs will display the
1087: entries by date. However, time-of-day entries can be sorted
1088: chronologically only in a diary mode called Fancy mode; in Simple mode,
1089: Emacs displays time-of-day entries in their order in the diary file.
1090:
1091:
1092: File: emacs, Node: Displaying Diary, Next: European Calendar Style, Prev: New Entries, Up: Calendar/Diary
1093:
1094: Calendar Commands to Display Diary Entries
1095: ------------------------------------------
1096:
1097: In Calendar mode, use the following commands to display your diary
1098: entries:
1099:
1100: `d'
1101: Display any diary entries for the date under the cursor
1102: (`view-diary-entries').
1103:
1104: With a numeric argument, Emacs shows the diary entries for that
1105: many successive days, starting with and including the date under
1106: the cursor. Thus, `2 d' displays all the entries for the selected
1107: date and for the following day.
1108:
1109: `s'
1110: Display your entire diary file (`show-all-diary-entries').
1111:
1112: `m'
1113: In the calendar, mark all visible dates that have diary entries
1114: (`mark-diary-entries').
1115:
1116: `u'
1117: Unmark the calendar (`calendar-unmark').
1118:
1119: At any time, not just in Calendar mode, you can display today's diary
1120: entries by typing:
1121:
1122: M-x diary
1123:
1124: With a prefix argument N, this command displays diary entries for N
1125: successive days, starting from and including today.
1126:
1127:
1128: File: emacs, Node: New Entries, Next: Displaying Diary, Prev: Diary Entries, Up: Calendar/Diary
1129:
1130: Calendar Commands for Making Diary Entries
1131: ------------------------------------------
1132:
1133: Calendar mode provides several commands to help you make diary file
1134: entries. These commands work by visiting the diary file and inserting
1135: the date information; you must finish the job by inserting the text of
1136: the entry, and then save the diary file with `C-x C-s'. The commands
1137: are:
1138:
1139: `i d'
1140: Add a diary entry for the selected date in the calendar
1141: (`insert-diary-entry').
1142:
1143: `i w'
1144: Add a diary entry for the selected day of the week
1145: (`insert-weekly-diary-entry'). This entry is displayed each week
1146: on the selected day.
1147:
1148: `i m'
1149: Add a diary entry for the selected day of the month
1150: (`insert-monthly-diary-entry'). This entry is displayed each month
1151: on the selected day.
1152:
1153: `i y'
1154: Add a diary entry for the selected day of the year
1155: (`insert-yearly-diary-entry'). This entry is displayed each year
1156: on the selected day.
1157:
1158: Here are commands for entering more complex kinds of diary entries in
1159: Calendar mode. These kinds of entries operate properly only in Fancy
1160: Diary Display mode (*note Simple and Fancy::.).
1161:
1162: `i a'
1163: Add an anniversary diary entry for the selected date
1164: (`insert-anniversary-diary-entry').
1165:
1166: Select the date you want remembered, in the proper year--if it is a
1167: birthday, remember to go to the person's year of birth! Then type
1168: `i a' and enter the text of the entry.
1169:
1170: In the textual part of the entry you can type `%d'. When Emacs
1171: displays the entry in the diary buffer, the `%d' is replaced by the
1172: number of years since the date. Thus, if you use `%d years old' as
1173: the text of the entry, it will display as `53 years old' on the
1174: 53rd birthday.
1175:
1176: `i c'
1177: Add a cyclic diary entry starting at the date
1178: (`insert-cyclic-diary-entry'). An entry is displayed on a
1179: specified starting date and then is repeatedly displayed at the
1180: specified interval. This is useful for ten day cycles of
1181: preventive maintenance and similar activities.
1182:
1183: To use this command, first select the start date. The command
1184: reads the interval (the number of days between repetitions) using
1185: the minibuffer, then inserts the beginning of the entry.
1186:
1187: `i b'
1188: Add a block diary entry for the current region
1189: (`insert-block-diary-entry'). With a block entry, Emacs writes
1190: the same message in the display for successive days.
1191:
1192: Position point and mark at the beginning and end of the block of
1193: days you want entered and type `i b'. This sets up the diary
1194: entry's date info and positions point so you can write the text of
1195: the entry. People usually use this command for trips or vacations.
1196:
1197:
1198: File: emacs, Node: European Calendar Style, Next: Simple and Fancy, Prev: Displaying Diary, Up: Calendar/Diary
1199:
1200: European Calendar Style
1201: -----------------------
1202:
1203: By default, Emacs interprets and displays diary dates in civilian
1204: American form, `MONTH/DAY/YEAR': `2/15/1993', or `February 15, 1993'.
1205:
1206: Alternatively, you can specify the European calendar style for
1207: writing dates: `DAY/MONTH/YEAR', `15/2/1993' or `15 February 1993'. To
1208: do this, set the variable `european-calendar-style' to `t', before
1209: using any calendar or diary command. This also affects display of
1210: dates.
1211:
1212: Here's how to do this in your `.emacs' file:
1213:
1214: (setq european-calendar-style t)
1215:
1216:
1217: File: emacs, Node: Simple and Fancy, Next: Other Diary Features, Prev: European Calendar Style, Up: Calendar/Diary
1218:
1219: Simple and Fancy Diary Display
1220: ------------------------------
1221:
1222: There are two modes for displaying a subset of diary entries: Simple
1223: mode and Fancy mode. Fancy mode provides a more dramatic display for
1224: the diary, and can also display the actual matching date for diary
1225: entries that match more than one date.
1226:
1227: By default, Emacs uses Simple mode, which is quicker than Fancy mode.
1228: Another advantage of Simple mode is that you can edit the displayed
1229: diary entries "in place" and save them. When you use Fancy mode, it is
1230: useless to edit the displayed subset of the diary; instead you must
1231: visit the diary file separately. To select Fancy mode, set
1232: `diary-display-hook' to `fancy-diary-display' like this:
1233:
1234: (setq diary-display-hook 'fancy-diary-display)
1235:
1236:
1237: File: emacs, Node: Other Diary Features, Next: Startup Diary, Prev: Simple and Fancy, Up: Calendar/Diary
1238:
1239: Other Diary Features
1240: --------------------
1241:
1242: Here are some additional diary features. These will be explained in
1243: full in `The GNU Emacs Extensions Manual'.
1244:
1245: You can schedule meetings on a date such as the first Tuesday of
1246: every month. This is called an "offset" date. The diary has commands
1247: for specifying such meetings, but not in Calendar mode. To create such
1248: an entry, you need to edit the diary file yourself.
1249:
1250: You can make entries according to Hebrew and Islamic dates. Calendar
1251: mode provides commands of the form `i h d' to add a diary entry for the
1252: Hebrew date corresponding to the selected date and `i i d' to add a
1253: diary entry for the Islamic date corresponding to the selected date.
1254: You can make entries that repeat every week, month, or year. Before
1255: using these commands, you must set the
1256: `nongregorian-diary-listing-hook' and the
1257: `nongregorian-diary-marking-hook' in your `.emacs' file.
1258:
1259: You can include other diary files in your diary display. This way, a
1260: group of people can share a common diary file.
1261:
1262:
1263: File: emacs, Node: Startup Diary, Next: Printing Diary, Prev: Other Diary Features, Up: Calendar/Diary
1264:
1265: Displaying your Diary on Emacs Startup
1266: --------------------------------------
1267:
1268: If you start a new Emacs each day, you might want to display your
1269: diary automatically at that time. To do so, put this in your `.emacs'
1270: file:
1271:
1272: (diary)
1273:
1274: If you want to see both the calendar and your diary at startup, use
1275: this instead:
1276:
1277: (setq view-diary-entries-initially t)
1278: (calendar)
1279:
1280:
1281: File: emacs, Node: Printing Diary, Prev: Startup Diary, Up: Calendar/Diary
1282:
1283: Printing the Displayed Part of the Diary
1284: ----------------------------------------
1285:
1286: To print the selected diary entries as they appear on the screen, use
1287: `M-x print-diary-entries'. The same variables that customize
1288: `lpr-buffer' also affect this command.
1289:
1290: In Simple mode, the diary display buffer uses selective display
1291: (*note Selective Display::.). This means that what you see on the
1292: screen is just part of the text in the Emacs buffer. The diary entries
1293: that don't apply to the dates you asked for are still in the buffer, but
1294: hidden. The ordinary printing commands such as `lpr-buffer' would not
1295: do what you want; they print the entire text, including the hidden
1296: parts. This is why we need `print-diary-entries'.
1297:
1298:
1299: File: emacs, Node: Version Control, Next: Emerge, Prev: Calendar/Diary, Up: Version 19
1300:
1301: Version Control
1302: ===============
1303:
1304: "Version control systems" are packages that can record multiple
1305: versions of a source file, usually storing the unchanged parts of the
1306: file just once. Version control systems also record history information
1307: such as the creation time of each version, who created it, and a
1308: description of what was changed in that version.
1309:
1310: The GNU project recommends the version control system known as RCS,
1311: which is free software and available from the Free Software Foundation.
1312: Emacs supports use of either RCS or SCCS (a proprietary, but widely
1313: used, version control system that is not quite as powerful as RCS)
1314: through a facility called VC. The same Emacs commands work with either
1315: RCS or SCCS, so you hardly have to know which one of them you are using.
1316:
1317: * Menu:
1318:
1319: * Concepts of VC::
1320: * Editing with VC::
1321: * Variables for Check-in/out::
1322: * Comparing Versions::
1323: * VC Status::
1324: * Renaming and VC::
1325: * Snapshots::
1326: * Log Entries::
1327: * Change Logs and VC::
1328: * Version Headers::
1329:
1330:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.