X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Fxemacs.info-8;h=ceb42a914a30a87f9aed550235f66d1f05ba2103;hb=4ed57cfee6165320a51f1dd2432f2cc610d0bfcf;hp=81d0b0911b7f9d2c17b08571b1d94a8e384fb4f2;hpb=7d6edaefa00e7b7e102354283824a4f6a721b71a;p=chise%2Fxemacs-chise.git- diff --git a/info/xemacs.info-8 b/info/xemacs.info-8 index 81d0b09..ceb42a9 100644 --- a/info/xemacs.info-8 +++ b/info/xemacs.info-8 @@ -30,6 +30,276 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  +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. + + File: xemacs.info, Node: Making Snapshots, Next: Snapshot Caveats, Prev: Snapshots, Up: Snapshots Making and Using Snapshots @@ -598,11 +868,11 @@ buffer list: *Help* 1287 Fundamental files.el 23076 Emacs-Lisp /u2/emacs/lisp/files.el % RMAIL 64042 RMAIL /u/rms/RMAIL - *% man 747 Dired /u2/emacs/man/ + *% man 747 Dired /u2/emacs/man/ net.emacs 343885 Fundamental /u/rms/net.emacs fileio.c 27691 C /u2/emacs/src/fileio.c NEWS 67340 Text /u2/emacs/etc/NEWS - *scratch* 0 Lisp Interaction + *scratch* 0 Lisp Interaction Note that the buffer `*Help*' was made by a help request; it is not visiting any file. The buffer `man' was made by Dired on the directory @@ -716,10 +986,10 @@ buffer, the following special commands apply to that buffer: Like `d' but move up afterwards instead of down. `s' - Request to save the buffer. An `S' befor the buffer name on a line - indicates the request. Requested saves actually take place when - you use the `x' command. You can request both saving and deletion - for the same buffer. + Request to save the buffer. An `S' before the buffer name on a + line indicates the request. Requested saves actually take place + when you use the `x' command. You can request both saving and + deletion for the same buffer. `~' Mark buffer "unmodified". The command `~' does this immediately @@ -888,267 +1158,3 @@ supplying a REGISTER argument to `window-configuration-to-register' (`C-x 6'). To return to the window configuration established with `window-configuration-to-register', use `jump-to-register' (`C-x j'). - -File: xemacs.info, Node: Other Window, Next: Pop Up Window, Prev: Split Window, Up: Windows - -Using Other Windows -=================== - -`C-x o' - Select another window (`other-window'). That is the letter `o', - not zero. - -`M-C-v' - Scroll the next window (`scroll-other-window'). - -`M-x compare-windows' - Find the next place where the text in the selected window does not - match the text in the next window. - -`M-x other-window-any-frame N' - Select the Nth different window on any frame. - - To select a different window, use `C-x o' (`other-window'). That is -an `o', for `other', not a zero. When there are more than two windows, -the command moves through all the windows in a cyclic order, generally -top to bottom and left to right. From the rightmost and bottommost -window, it goes back to the one at the upper left corner. A numeric -argument, N, moves several steps in the cyclic order of windows. A -negative numeric argument moves around the cycle in the opposite order. -If the optional second argument ALL-FRAMES is non-`nil', the function -cycles through all frames. When the minibuffer is active, the -minibuffer is the last window in the cycle; you can switch from the -minibuffer window to one of the other windows, and later switch back -and finish supplying the minibuffer argument that is requested. *Note -Minibuffer Edit::. - - The command `M-x other-window-any-frame' also selects the window N -steps away in the cyclic order. However, unlike `other-window', this -command selects a window on the next or previous frame instead of -wrapping around to the top or bottom of the current frame, when there -are no more windows. - - The usual scrolling commands (*note Display::) apply to the selected -window only. `M-C-v' (`scroll-other-window') scrolls the window that -`C-x o' would select. Like `C-v', it takes positive and negative -arguments. - - The command `M-x compare-windows' compares the text in the current -window with the text in the next window. Comparison starts at point in -each window. Point moves forward in each window, a character at a time, -until the next set of characters in the two windows are different. -Then the command is finished. - - A prefix argument IGNORE-WHITESPACE means ignore changes in -whitespace. The variable `compare-windows-whitespace' controls how -whitespace is skipped. - - If `compare-ignore-case' is non-`nil', changes in case are also -ignored. - - -File: xemacs.info, Node: Pop Up Window, Next: Change Window, Prev: Other Window, Up: Windows - -Displaying in Another Window -============================ - - `C-x 4' is a prefix key for commands that select another window -(splitting the window if there is only one) and select a buffer in that -window. Different `C-x 4' commands have different ways of finding the -buffer to select. - -`C-x 4 b BUFNAME ' - Select buffer BUFNAME in another window. This runs - `switch-to-buffer-other-window'. - -`C-x 4 f FILENAME ' - Visit file FILENAME and select its buffer in another window. This - runs `find-file-other-window'. *Note Visiting::. - -`C-x 4 d DIRECTORY ' - Select a Dired buffer for directory DIRECTORY in another window. - This runs `dired-other-window'. *Note Dired::. - -`C-x 4 m' - Start composing a mail message in another window. This runs - `mail-other-window', and its same-window version is `C-x m' (*note - Sending Mail::). - -`C-x 4 .' - Find a tag in the current tag table in another window. This runs - `find-tag-other-window', the multiple-window variant of `M-.' - (*note Tags::). - - If the variable `display-buffer-function' is non-`nil', its value is -the function to call to handle `display-buffer'. It receives two -arguments, the buffer and a flag that if non-`nil' means that the -currently selected window is not acceptable. Commands such as -`switch-to-buffer-other-window' and `find-file-other-window' work using -this function. - - -File: xemacs.info, Node: Change Window, Prev: Pop Up Window, Up: Windows - -Deleting and Rearranging Windows -================================ - -`C-x 0' - Get rid of the selected window (`delete-window'). That is a zero. - If there is more than one Emacs frame, deleting the sole remaining - window on that frame deletes the frame as well. If the current - frame is the only frame, it is not deleted. - -`C-x 1' - Get rid of all windows except the selected one - (`delete-other-windows'). - -`C-x ^' - Make the selected window taller, at the expense of the other(s) - (`enlarge-window'). - -`C-x }' - Make the selected window wider (`enlarge-window-horizontally'). - - To delete a window, type `C-x 0' (`delete-window'). (That is a -zero.) The space occupied by the deleted window is distributed among -the other active windows (but not the minibuffer window, even if that -is active at the time). Once a window is deleted, its attributes are -forgotten; there is no automatic way to make another window of the same -shape or showing the same buffer. The buffer continues to exist, and -you can select it in any window with `C-x b'. - - `C-x 1' (`delete-other-windows') is more powerful than `C-x 0'; it -deletes all the windows except the selected one (and the minibuffer). -The selected window expands to use the whole frame except for the echo -area. - - To readjust the division of space among existing windows, use `C-x -^' (`enlarge-window'). It makes the currently selected window longer -by one line or as many lines as a numeric argument specifies. With a -negative argument, it makes the selected window smaller. `C-x }' -(`enlarge-window-horizontally') makes the selected window wider by the -specified number of columns. The extra screen space given to a window -comes from one of its neighbors, if that is possible; otherwise, all -the competing windows are shrunk in the same proportion. If this makes -some windows too small, those windows are deleted and their space is -divided up. Minimum window size is specified by the variables -`window-min-height' and `window-min-width'. - - You can also resize windows within a frame by clicking the left mouse -button on a modeline, and dragging. - - Clicking the right button on a mode line pops up a menu of common -window manager operations. This menu contains the following options: - -Delete Window - Remove the window above this modeline from the frame. - -Delete Other Windows - Delete all windows on the frame except for the one above this - modeline. - -Split Window - Split the window above the mode line in half, creating another - window. - -Split Window Horizontally - Split the window above the mode line in half horizontally, so that - there will be two windows side-by-side. - -Balance Windows - Readjust the sizes of all windows on the frame until all windows - have roughly the same number of lines. - - -File: xemacs.info, Node: Mule, Next: Major Modes, Prev: Windows, Up: Top - -World Scripts Support -********************* - - If you compile XEmacs with mule option, it supports a wide variety of -world scripts, including Latin script, as well as Arabic script, -Simplified Chinese script (for mainland of China), Traditional Chinese -script (for Taiwan and Hong-Kong), Greek script, Hebrew script, IPA -symbols, Japanese scripts (Hiragana, Katakana and Kanji), Korean scripts -(Hangul and Hanja) and Cyrillic script (for Beylorussian, Bulgarian, -Russian, Serbian and Ukrainian). These features have been merged from -the modified version of Emacs known as MULE (for "MULti-lingual -Enhancement to GNU Emacs"). - -* Menu: - -* Mule Intro:: Basic concepts of Mule. -* Language Environments:: Setting things up for the language you use. -* Input Methods:: Entering text characters not on your keyboard. -* Select Input Method:: Specifying your choice of input methods. -* Coding Systems:: Character set conversion when you read and - write files, and so on. -* Recognize Coding:: How XEmacs figures out which conversion to use. -* Specify Coding:: Various ways to choose which conversion to use. - - -File: xemacs.info, Node: Mule Intro, Next: Language Environments, Prev: Mule, Up: Mule - -Introduction to world scripts -============================= - - The users of these scripts have established many more-or-less -standard coding systems for storing files. XEmacs translates between -the internal character encoding and various other coding systems when -reading and writing files, when exchanging data with subprocesses, and -(in some cases) in the `C-q' command (see below). - - The command `C-h h' (`view-hello-file') displays the file -`etc/HELLO', which shows how to say "hello" in many languages. This -illustrates various scripts. - - Keyboards, even in the countries where these character sets are used, -generally don't have keys for all the characters in them. So XEmacs -supports various "input methods", typically one for each script or -language, to make it convenient to type them. - - The prefix key `C-x ' is used for commands that pertain to -world scripts, coding systems, and input methods. - - -File: xemacs.info, Node: Language Environments, Next: Input Methods, Prev: Mule Intro, Up: Mule - -Language Environments -===================== - - All supported character sets are supported in XEmacs buffers if it is -compile with mule; there is no need to select a particular language in -order to display its characters in an XEmacs buffer. However, it is -important to select a "language environment" in order to set various -defaults. The language environment really represents a choice of -preferred script (more or less) rather that a choice of language. - - The language environment controls which coding systems to recognize -when reading text (*note Recognize Coding::). This applies to files, -incoming mail, netnews, and any other text you read into XEmacs. It may -also specify the default coding system to use when you create a file. -Each language environment also specifies a default input method. - - The command to select a language environment is `M-x -set-language-environment'. It makes no difference which buffer is -current when you use this command, because the effects apply globally to -the XEmacs session. The supported language environments include: - - Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ISO, English, - Ethiopic, Greek, Japanese, Korean, Latin-1, Latin-2, Latin-3, - Latin-4, Latin-5. - - Some operating systems let you specify the language you are using by -setting locale environment variables. XEmacs handles one common special -case of this: if your locale name for character types contains the -string `8859-N', XEmacs automatically selects the corresponding -language environment. - - To display information about the effects of a certain language -environment LANG-ENV, use the command `C-h L LANG-ENV ' -(`describe-language-environment'). This tells you which languages this -language environment is useful for, and lists the character sets, -coding systems, and input methods that go with it. It also shows some -sample text to illustrate scripts used in this language environment. -By default, this command describes the chosen language environment. -