X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Fxemacs.info-7;h=ceaf16ba06c1bcc48c946a3705a5435daa601237;hb=1e912a0f48fc9197a04b9843a716ac98d9db377e;hp=c6c017ae79cd13d62e5638ce6b7ca547545d8bb7;hpb=81572e9b4653c5545c2eb43e87dec439f356c19c;p=chise%2Fxemacs-chise.git- diff --git a/info/xemacs.info-7 b/info/xemacs.info-7 index c6c017a..ceaf16b 100644 --- a/info/xemacs.info-7 +++ b/info/xemacs.info-7 @@ -1,5 +1,5 @@ -This is Info file ../info/xemacs.info, produced by Makeinfo version -1.68 from the input file xemacs/xemacs.texi. +This is ../info/xemacs.info, produced by makeinfo version 4.0 from +xemacs/xemacs.texi. INFO-DIR-SECTION XEmacs Editor START-INFO-DIR-ENTRY @@ -30,6 +30,235 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  +File: xemacs.info, Node: Transpose, Next: Fixing Case, Prev: Kill Errors, Up: Fixit + +Transposing Text +================ + +`C-t' + Transpose two characters (`transpose-chars'). + +`M-t' + Transpose two words (`transpose-words'). + +`C-M-t' + Transpose two balanced expressions (`transpose-sexps'). + +`C-x C-t' + Transpose two lines (`transpose-lines'). + + The common error of transposing two adjacent characters can be fixed +with the `C-t' command (`transpose-chars'). Normally, `C-t' transposes +the two characters on either side of point. When given at the end of a +line, `C-t' transposes the last two characters on the line, rather than +transposing the last character of the line with the newline, which +would be useless. If you catch a transposition error right away, you +can fix it with just `C-t'. If you catch the error later, move the +cursor back to between the two transposed characters. If you +transposed a space with the last character of the word before it, the +word motion commands are a good way of getting there. Otherwise, a +reverse search (`C-r') is often the best way. *Note Search::. + + `Meta-t' (`transpose-words') transposes the word before point with +the word after point. It moves point forward over a word, dragging the +word preceding or containing point forward as well. The punctuation +characters between the words do not move. For example, `FOO, BAR' +transposes into `BAR, FOO' rather than `BAR FOO,'. + + `C-M-t' (`transpose-sexps') is a similar command for transposing two +expressions (*note Lists::), and `C-x C-t' (`transpose-lines') +exchanges lines. It works like `M-t' but in determines the division of +the text into syntactic units differently. + + A numeric argument to a transpose command serves as a repeat count: +it tells the transpose command to move the character (word, sexp, line) +before or containing point across several other characters (words, +sexps, lines). For example, `C-u 3 C-t' moves the character before +point forward across three other characters. This is equivalent to +repeating `C-t' three times. `C-u - 4 M-t' moves the word before point +backward across four words. `C-u - C-M-t' would cancel the effect of +plain `C-M-t'. + + A numeric argument of zero transposes the character (word, sexp, +line) ending after point with the one ending after the mark (otherwise a +command with a repeat count of zero would do nothing). + + +File: xemacs.info, Node: Fixing Case, Next: Spelling, Prev: Transpose, Up: Fixit + +Case Conversion +=============== + +`M-- M-l' + Convert last word to lower case. Note that `Meta--' is + "Meta-minus." + +`M-- M-u' + Convert last word to all upper case. + +`M-- M-c' + Convert last word to lower case with capital initial. + + A common error is to type words in the wrong case. Because of this, +the word case-conversion commands `M-l', `M-u', and `M-c' do not move +the cursor when used with a negative argument. As soon as you see you +have mistyped the last word, you can simply case-convert it and +continue typing. *Note Case::. + + +File: xemacs.info, Node: Spelling, Prev: Fixing Case, Up: Fixit + +Checking and Correcting Spelling +================================ + +`M-$' + Check and correct spelling of word (`spell-word'). + +`M-x spell-buffer' + Check and correct spelling of each word in the buffer. + +`M-x spell-region' + Check and correct spelling of each word in the region. + +`M-x spell-string' + Check spelling of specified word. + + To check the spelling of the word before point, and optionally +correct it, use the command `M-$' (`spell-word'). This command runs an +inferior process containing the `spell' program to see whether the word +is correct English. If it is not, it asks you to edit the word (in the +minibuffer) into a corrected spelling, and then performs a +`query-replace' to substitute the corrected spelling for the old one +throughout the buffer. + + If you exit the minibuffer without altering the original spelling, it +means you do not want to do anything to that word. In that case, the +`query-replace' is not done. + + `M-x spell-buffer' checks each word in the buffer the same way that +`spell-word' does, doing a `query-replace' for every incorrect word if +appropriate. + + `M-x spell-region' is similar to `spell-buffer' but operates only on +the region, not the entire buffer. + + `M-x spell-string' reads a string as an argument and checks whether +that is a correctly spelled English word. It prints a message giving +the answer in the echo area. + + +File: xemacs.info, Node: Files, Next: Buffers, Prev: Fixit, Up: Top + +File Handling +************* + + The basic unit of stored data in Unix is the "file". To edit a file, +you must tell Emacs to examine the file and prepare a buffer containing +a copy of the file's text. This is called "visiting" the file. Editing +commands apply directly to text in the buffer; that is, to the copy +inside Emacs. Your changes appear in the file itself only when you +"save" the buffer back into the file. + + In addition to visiting and saving files, Emacs can delete, copy, +rename, and append to files, and operate on file directories. + +* Menu: + +* File Names:: How to type and edit file name arguments. +* Visiting:: Visiting a file prepares Emacs to edit the file. +* Saving:: Saving makes your changes permanent. +* Reverting:: Reverting cancels all the changes not saved. +* Auto Save:: Auto Save periodically protects against loss of data. +* Version Control:: Version control systems (RCS and SCCS). +* ListDir:: Listing the contents of a file directory. +* Comparing Files:: Finding where two files differ. +* Dired:: ``Editing'' a directory to delete, rename, etc. + the files in it. +* Misc File Ops:: Other things you can do on files. + + +File: xemacs.info, Node: File Names, Next: Visiting, Prev: Files, Up: Files + +File Names +========== + + Most Emacs commands that operate on a file require you to specify the +file name. (Saving and reverting are exceptions; the buffer knows which +file name to use for them.) File names are specified in the minibuffer +(*note Minibuffer::). "Completion" is available, to make it easier to +specify long file names. *Note Completion::. + + There is always a "default file name" which is used if you enter an +empty argument by typing just . Normally the default file name is +the name of the file visited in the current buffer; this makes it easy +to operate on that file with any of the Emacs file commands. + + Each buffer has a default directory, normally the same as the +directory of the file visited in that buffer. When Emacs reads a file +name, the default directory is used if you do not specify a directory. +If you specify a directory in a relative fashion, with a name that does +not start with a slash, it is interpreted with respect to the default +directory. The default directory of the current buffer is kept in the +variable `default-directory', which has a separate value in every +buffer. The value of the variable should end with a slash. + + For example, if the default file name is `/u/rms/gnu/gnu.tasks' then +the default directory is `/u/rms/gnu/'. If you type just `foo', which +does not specify a directory, it is short for `/u/rms/gnu/foo'. +`../.login' would stand for `/u/rms/.login'. `new/foo' would stand for +the filename `/u/rms/gnu/new/foo'. + + The variable `default-directory-alist' takes an alist of major modes +and their opinions on `default-directory' as a Lisp expression to +evaluate. A resulting value of `nil' is ignored in favor of +`default-directory'. + + You can create a new directory with the function `make-directory', +which takes as an argument a file name string. The current directory is +displayed in the minibuffer when the function is called; you can delete +the old directory name and supply a new directory name. For example, if +the current directory is `/u/rms/gnu', you can delete `gnu' and type +`oryx' and to create `/u/rms/oryx'. Removing a directory is +similar to creating one. To remove a directory, use +`remove-directory'; it takes one argument, a file name string. + + The command `M-x pwd' prints the current buffer's default directory, +and the command `M-x cd' sets it (to a value read using the +minibuffer). A buffer's default directory changes only when the `cd' +command is used. A file-visiting buffer's default directory is +initialized to the directory of the file that is visited there. If a +buffer is created with `C-x b', its default directory is copied from +that of the buffer that was current at the time. + + The default directory name actually appears in the minibuffer when +the minibuffer becomes active to read a file name. This serves two +purposes: it shows you what the default is, so that you can type a +relative file name and know with certainty what it will mean, and it +allows you to edit the default to specify a different directory. To +inhibit the insertion of the default directory, set the variable +`insert-default-directory' to `nil'. + + Note that it is legitimate to type an absolute file name after you +enter the minibuffer, ignoring the presence of the default directory +name. The final minibuffer contents may look invalid, but that is not +so. *Note Minibuffer File::. + + `$' in a file name is used to substitute environment variables. For +example, if you have used the shell command `setenv FOO rms/hacks' to +set up an environment variable named `FOO', then you can use +`/u/$FOO/test.c' or `/u/${FOO}/test.c' as an abbreviation for +`/u/rms/hacks/test.c'. The environment variable name consists of all +the alphanumeric characters after the `$'; alternatively, it may be +enclosed in braces after the `$'. Note that the `setenv' command +affects Emacs only if done before Emacs is started. + + To access a file with `$' in its name, type `$$'. This pair is +converted to a single `$' at the same time variable substitution is +performed for single `$'. The Lisp function that performs the +substitution is called `substitute-in-file-name'. The substitution is +performed only on filenames read as such using the minibuffer. + + File: xemacs.info, Node: Visiting, Next: Saving, Prev: File Names, Up: Files Visiting Files @@ -80,10 +309,9 @@ the command with the name of the file you wish to visit, terminated by a . If you are using XEmacs under X, you can also use the Open... command from the File menu bar item. - The file name is read using the minibuffer (*note Minibuffer::.), -with defaulting and completion in the standard manner (*note File -Names::.). While in the minibuffer, you can abort `C-x C-f' by typing -`C-g'. + The file name is read using the minibuffer (*note Minibuffer::), with +defaulting and completion in the standard manner (*note File Names::). +While in the minibuffer, you can abort `C-x C-f' by typing `C-g'. `C-x C-f' has completed successfully when text appears on the screen and a new buffer name appears in the mode line. If the specified file @@ -115,9 +343,11 @@ symbolic link anywhere in its directory path. In other words, the the `find-file' command will check the `buffer-file-truename' of all visited files when deciding whether a given file is already in a buffer, instead of just `buffer-file-name'. If you attempt to visit -another file which is a hard-link or symbolic-link to a file that is -already in a buffer, the existing buffer will be found instead of a -newly created one. +another file which is a symbolic link to a file that is already in a +buffer, the existing buffer will be found instead of a newly created +one. This works if any component of the pathname (including a +non-terminal component) is a symbolic link as well, but doesn't work +with hard links (nothing does). If you want to create a file, just visit it. Emacs prints `(New File)' in the echo area, but in other respects behaves as if you had @@ -132,7 +362,7 @@ modified). `C-x C-v' is allowed even if the current buffer is not visiting a file. If the file you specify is actually a directory, Dired is called on -that directory (*note Dired::.). To inhibit this, set the variable +that directory (*note Dired::). To inhibit this, set the variable `find-file-run-dired' to `nil'; then it is an error to try to visit a directory. @@ -361,10 +591,9 @@ keep, each time a new backup is made. The values are used just after a new backup version is made; that newly made backup is included in the count in `kept-new-versions'. By default, both variables are 2. - If `trim-versions-without-asking' is non-`nil', excess middle -versions are deleted without notification. If it is `nil', the -default, you are asked whether the excess middle versions should really -be deleted. + If `delete-old-versions' is non-`nil', excess middle versions are +deleted without notification. If it is `nil', the default, you are +asked whether the excess middle versions should really be deleted. You can also use Dired's `.' (Period) command to delete old versions. *Note Dired::. @@ -392,7 +621,7 @@ owner is always the person who last edited the file. Occasionally there is a file whose owner should not change. Since most files should change owners, it is a good idea to use local variable lists to set `backup-by-copying-when-mismatch' for the special cases where the owner -should not change (*note File Variables::.). +should not change (*note File Variables::). Three variables control the choice of renaming or copying. Normally, renaming is done. If the variable `backup-by-copying' is @@ -500,7 +729,7 @@ result in very extensive changes, you must confirm it with `yes'. If the current buffer has been auto-saved more recently than it has been saved explicitly, `revert-buffer' offers to read the auto save file -instead of the visited file (*note Auto Save::.). Emacs asks you about +instead of the visited file (*note Auto Save::). Emacs asks you about the auto-save file before the request for confirmation of the `revert-buffer' operation, and demands `y' or `n' as an answer. If you have started to type `yes' for confirmation without realizing that the @@ -594,7 +823,7 @@ Controlling Auto-Saving Each time you visit a file, auto-saving is turned on for that file's buffer if the variable `auto-save-default' is non-`nil' (but not in -batch mode; *note Entering Emacs::.). The default for this variable is +batch mode; *note Entering Emacs::). The default for this variable is `t', so Emacs auto-saves buffers that visit files by default. You can use the command `M-x auto-save-mode' to turn auto-saving for a buffer on or off. Like other minor mode commands, `M-x auto-save-mode' turns @@ -838,273 +1067,3 @@ that `C-x C-q' uses to do the "real work" when the visited file uses version control. When used for checkin, and given a prefix argument, it reads the version number with the minibuffer. - -File: xemacs.info, Node: Variables for Check-in/out, Next: Log Entries, Prev: Editing with VC, Up: Version Control - -Variables Affecting Check-in and Check-out ------------------------------------------- - - If `vc-suppress-confirm' is non-`nil', then `C-x C-q' and `C-x v i' -can save the current buffer without asking, and `C-x v u' also operates -without asking for confirmation. (This variable does not affect `C-x v -c'; that is so drastic that it should always ask for confirmation.) - - VC mode does much of its work by running the shell commands for RCS -and SCCS. If `vc-command-messages' is non-`nil', VC displays messages -to indicate which shell commands it runs, and additional messages when -the commands finish. - - Normally, VC assumes that it can deduce the locked/unlocked state of -files by looking at the file permissions of the work file; this is -fast. However, if the `RCS' or `SCCS' subdirectory is actually a -symbolic link, then VC does not trust the file permissions to reflect -this status. - - You can specify the criterion for whether to trust the file -permissions by setting the variable `vc-mistrust-permissions'. Its -value may be `t' (always mistrust the file permissions and check the -master file), `nil' (always trust the file permissions), or a function -of one argument which makes the decision. The argument is the directory -name of the `RCS' or `SCCS' subdirectory. A non-`nil' value from the -function says to mistrust the file permissions. - - If you find that the file permissions of work files are changed -erroneously, set `vc-mistrust-permissions' to `t'. Then VC always -checks the master file to determine the file's status. - - You can specify additional directories to search for version control -programs by setting the variable `vc-path'. These directories are -searched before the usual search path. The proper result usually -happens automatically. - - -File: xemacs.info, Node: Log Entries, Next: Change Logs and VC, Prev: Variables for Check-in/out, Up: Version Control - -Log Entries ------------ - - When you're editing an initial comment or log entry for inclusion in -a master file, finish your entry by typing `C-c C-c'. - -`C-c C-c' - Finish the comment edit normally (`vc-finish-logentry'). This - finishes check-in. - - To abort check-in, just don't type `C-c C-c' in that buffer. You -can switch buffers and do other editing. As long as you don't try to -check in another file, the entry you were editing remains in its -buffer, and you can go back to that buffer at any time to complete the -check-in. - - If you change several source files for the same reason, it is often -convenient to specify the same log entry for many of the files. To do -this, use the history of previous log entries. The commands `M-n', -`M-p', `M-s' and `M-r' for doing this work just like the minibuffer -history commands (except that these versions are used outside the -minibuffer). - - Each time you check in a file, the log entry buffer is put into VC -Log mode, which involves running two hooks: `text-mode-hook' and -`vc-log-mode-hook'. - - -File: xemacs.info, Node: Change Logs and VC, Next: Old Versions, Prev: Log Entries, Up: Version Control - -Change Logs and VC ------------------- - - If you use RCS for a program and also maintain a change log file for -it (*note Change Log::.), you can generate change log entries -automatically from the version control log entries: - -`C-x v a' - Visit the current directory's change log file and create new - entries for versions checked in since the most recent entry in the - change log file (`vc-update-change-log'). - - This command works with RCS only; it does not work with SCCS. - - For example, suppose the first line of `ChangeLog' is dated 10 April -1992, and that the only check-in since then was by Nathaniel Bowditch -to `rcs2log' on 8 May 1992 with log text `Ignore log messages that -start with `#'.'. Then `C-x v a' visits `ChangeLog' and inserts text -like this: - - Fri May 8 21:45:00 1992 Nathaniel Bowditch (nat@apn.org) - - * rcs2log: Ignore log messages that start with `#'. - -You can then edit the new change log entry further as you wish. - - Normally, the log entry for file `foo' is displayed as `* foo: TEXT -OF LOG ENTRY'. The `:' after `foo' is omitted if the text of the log -entry starts with `(FUNCTIONNAME): '. For example, if the log entry -for `vc.el' is `(vc-do-command): Check call-process status.', then the -text in `ChangeLog' looks like this: - - Wed May 6 10:53:00 1992 Nathaniel Bowditch (nat@apn.org) - - * vc.el (vc-do-command): Check call-process status. - - When `C-x v a' adds several change log entries at once, it groups -related log entries together if they all are checked in by the same -author at nearly the same time. If the log entries for several such -files all have the same text, it coalesces them into a single entry. -For example, suppose the most recent checkins have the following log -entries: - -For `vc.texinfo': - Fix expansion typos. -For `vc.el': - Don't call expand-file-name. -For `vc-hooks.el': - Don't call expand-file-name. - - They appear like this in `ChangeLog': - - Wed Apr 1 08:57:59 1992 Nathaniel Bowditch (nat@apn.org) - - * vc.texinfo: Fix expansion typos. - - * vc.el, vc-hooks.el: Don't call expand-file-name. - - Normally, `C-x v a' separates log entries by a blank line, but you -can mark several related log entries to be clumped together (without an -intervening blank line) by starting the text of each related log entry -with a label of the form `{CLUMPNAME} '. The label itself is not -copied to `ChangeLog'. For example, suppose the log entries are: - -For `vc.texinfo': - {expand} Fix expansion typos. -For `vc.el': - {expand} Don't call expand-file-name. -For `vc-hooks.el': - {expand} Don't call expand-file-name. - -Then the text in `ChangeLog' looks like this: - - Wed Apr 1 08:57:59 1992 Nathaniel Bowditch (nat@apn.org) - - * vc.texinfo: Fix expansion typos. - * vc.el, vc-hooks.el: Don't call expand-file-name. - - A log entry whose text begins with `#' is not copied to `ChangeLog'. -For example, if you merely fix some misspellings in comments, you can -log the change with an entry beginning with `#' to avoid putting such -trivia into `ChangeLog'. - - -File: xemacs.info, Node: Old Versions, Next: VC Status, Prev: Change Logs and VC, Up: Version Control - -Examining And Comparing Old Versions ------------------------------------- - -`C-x v ~ VERSION ' - Examine version VERSION of the visited file, in a buffer of its - own (`vc-version-other-window'). - -`C-x v =' - Compare the current buffer contents with the latest checked-in - version of the file. - -`C-u C-x v = FILE OLDVERS NEWVERS ' - Compare the specified two versions of FILE. - - You can examine any version of a file by first visiting it, and then -using `C-x v ~ VERSION ' (`vc-version-other-window'). This puts -the text of version VERSION in a file named `FILENAME.~VERSION~', then -visits it in a separate window. - - To compare two versions of a file, use the command `C-x v =' -(`vc-diff'). - - Plain `C-x v =' compares the current buffer contents (saving them in -the file if necessary) with the last checked-in version of the file. -With a prefix argument, `C-x v =' reads a file name and two version -numbers, then compares those versions of the specified file. - - If you supply a directory name instead of the name of a work file, -this command compares the two specified versions of all registered files -in that directory and its subdirectories. You can also specify a -snapshot name (*note Snapshots::.) instead of one or both version -numbers. - - You can specify a checked-in version by its number; you can specify -the most recent checked-in version with an empty version number. - - This command works by running the `vcdiff' utility, getting the -options from the variable `diff-switches'. It displays the output in a -special buffer in another window. Unlike the `M-x diff' command, `C-x -v =' does not try to find the changes in the old and new versions. -This is because one or both versions normally do not exist as files. -They exist only in the records of the master file. *Note Comparing -Files::, for more information about `M-x diff'. - - -File: xemacs.info, Node: VC Status, Next: Renaming and VC, Prev: Old Versions, Up: Version Control - -VC Status Commands ------------------- - - To view the detailed version control status and history of a file, -type `C-x v l' (`vc-print-log'). It displays the history of changes to -the current file, including the text of the log entries. The output -appears in a separate window. - - When you are working on a large program, it's often useful to find -all the files that are currently locked, or all the files maintained in -version control at all. You can use `C-x v d' (`vc-directory') to show -all the locked files in or beneath the current directory. This -includes all files that are locked by any user. `C-u C-x v d' lists -all files in or beneath the current directory that are maintained with -version control. - - The list of files is displayed as a buffer that uses an augmented -Dired mode. The names of the users locking various files are shown (in -parentheses) in place of the owner and group. All the normal Dired -commands work in this buffer. Most interactive VC commands work also, -and apply to the file name on the current line. - - The `C-x v v' command (`vc-next-action'), when used in the augmented -Dired buffer, operates on all the marked files (or the file on the -current line). If it operates on more than one file, it handles each -file according to its current state; thus, it may check out one file -and check in another (because it is already checked out). If it has to -check in any files, it reads a single log entry, then uses that text -for all the files being checked in. This can be convenient for -registering or checking in several files at once, as part of the same -change. - - -File: xemacs.info, Node: Renaming and VC, Next: Snapshots, Prev: VC Status, Up: Version Control - -Renaming VC Work Files and Master Files ---------------------------------------- - - When you rename a registered file, you must also rename its master -file correspondingly to get proper results. Use `vc-rename-file' to -rename the source file as you specify, and rename its master file -accordingly. It also updates any snapshots (*note Snapshots::.) that -mention the file, so that they use the new name; despite this, the -snapshot thus modified may not completely work (*note Snapshot -Caveats::.). - - You cannot use `vc-rename-file' on a file that is locked by someone -else. - - -File: xemacs.info, Node: Snapshots, Next: Version Headers, Prev: Renaming and VC, Up: Version Control - -Snapshots ---------- - - A "snapshot" is a named set of file versions (one for each -registered file) that you can treat as a unit. One important kind of -snapshot is a "release", a (theoretically) stable version of the system -that is ready for distribution to users. - -* Menu: - -* Making Snapshots:: The snapshot facilities. -* Snapshot Caveats:: Things to be careful of when using snapshots. -