X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Fxemacs.info-19;h=ff8b3f6293f8f92cfd658708ec11576c284d3fb2;hb=1837c2752fe3d44c9e9f4775ef992f7716f83133;hp=a4fa596a4521cb648d79e31a9af0ed4294502857;hpb=f52a96980ed9280f8f906a20d4b899dc0b027644;p=chise%2Fxemacs-chise.git- diff --git a/info/xemacs.info-19 b/info/xemacs.info-19 index a4fa596..ff8b3f6 100644 --- a/info/xemacs.info-19 +++ b/info/xemacs.info-19 @@ -1,4 +1,4 @@ -This is ../info/xemacs.info, produced by makeinfo version 4.0 from +This is ../info/xemacs.info, produced by makeinfo version 4.0b from xemacs/xemacs.texi. INFO-DIR-SECTION XEmacs Editor @@ -30,784 +30,577 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  -File: xemacs.info, Node: Glossary, Next: Manifesto, Prev: Intro, Up: Top - -Glossary -******** - -Abbrev - An abbrev is a text string which expands into a different text - string when present in the buffer. For example, you might define - a short word as an abbrev for a long phrase that you want to insert - frequently. *Note Abbrevs::. - -Aborting - Aborting means getting out of a recursive edit (q.v.). You can use - the commands `C-]' and `M-x top-level' for this. *Note Quitting::. - -Auto Fill mode - Auto Fill mode is a minor mode in which text you insert is - automatically broken into lines of fixed width. *Note Filling::. - -Auto Saving - Auto saving means that Emacs automatically stores the contents of - an Emacs buffer in a specially-named file so the information will - not be lost if the buffer is lost due to a system error or user - error. *Note Auto Save::. - -Backup File - A backup file records the contents that a file had before the - current editing session. Emacs creates backup files automatically - to help you track down or cancel changes you later regret. *Note - Backup::. - -Balance Parentheses - Emacs can balance parentheses manually or automatically. Manual - balancing is done by the commands to move over balanced expressions - (*note Lists::). Automatic balancing is done by blinking the - parenthesis that matches one just inserted (*note Matching Parens: - Matching.). - -Bind - To bind a key is to change its binding (q.v.). *Note Rebinding::. - -Binding - A key gets its meaning in Emacs by having a binding which is a - command (q.v.), a Lisp function that is run when the key is typed. - *Note Binding: Commands. Customization often involves rebinding a - character to a different command function. The bindings of all - keys are recorded in the keymaps (q.v.). *Note Keymaps::. - -Blank Lines - Blank lines are lines that contain only whitespace. Emacs has - several commands for operating on the blank lines in a buffer. - -Buffer - The buffer is the basic editing unit; one buffer corresponds to one - piece of text being edited. You can have several buffers, but at - any time you are editing only one, the `selected' buffer, though - several buffers can be visible when you are using multiple - windows. *Note Buffers::. - -Buffer Selection History - Emacs keeps a buffer selection history which records how recently - each Emacs buffer was selected. Emacs uses this list when - choosing a buffer to select. *Note Buffers::. - -C- - `C' in the name of a character is an abbreviation for Control. - *Note C-: Keystrokes. - -C-M- - `C-M-' in the name of a character is an abbreviation for - Control-Meta. *Note C-M-: Keystrokes. - -Case Conversion - Case conversion means changing text from upper case to lower case - or vice versa. *Note Case::, for the commands for case conversion. - -Characters - Characters form the contents of an Emacs buffer; also, Emacs - commands are invoked by keys (q.v.), which are sequences of one or - more characters. *Note Keystrokes::. - -Command - A command is a Lisp function specially defined to be able to serve - as a key binding in Emacs. When you type a key (q.v.), Emacs - looks up its binding (q.v.) in the relevant keymaps (q.v.) to find - the command to run. *Note Commands::. - -Command Name - A command name is the name of a Lisp symbol which is a command - (*note Commands::). You can invoke any command by its name using - `M-x' (*note M-x::). - -Comments - A comment is text in a program which is intended only for the - people reading the program, and is marked specially so that it - will be ignored when the program is loaded or compiled. Emacs - offers special commands for creating, aligning, and killing - comments. *Note Comments::. - -Compilation - Compilation is the process of creating an executable program from - source code. Emacs has commands for compiling files of Emacs Lisp - code (*note Lisp Libraries::) and programs in C and other languages - (*note Compilation::). - -Complete Key - A complete key is a character or sequence of characters which, - when typed by the user, fully specifies one action to be performed - by Emacs. For example, `X' and `Control-f' and `Control-x m' are - keys. Keys derive their meanings from being bound (q.v.) to - commands (q.v.). Thus, `X' is conventionally bound to a command - to insert `X' in the buffer; `C-x m' is conventionally bound to a - command to begin composing a mail message. *Note Keystrokes::. - -Completion - When Emacs automatically fills an abbreviation for a name into the - entire name, that process is called completion. Completion is - done for minibuffer (q.v.) arguments when the set of possible - valid inputs is known; for example, on command names, buffer - names, and file names. Completion occurs when you type , - , or . *Note Completion::. - -Continuation Line - When a line of text is longer than the width of the frame, it - takes up more than one screen line when displayed. We say that the - text line is continued, and all screen lines used for it after the - first are called continuation lines. *Note Continuation: Basic. - -Control-Character - ASCII characters with octal codes 0 through 037, and also code - 0177, do not have graphic images assigned to them. These are the - control characters. Any control character can be typed by holding - down the key and typing some other character; some have - special keys on the keyboard. , , , , and - are all control characters. *Note Keystrokes::. - -Copyleft - A copyleft is a notice giving the public legal permission to - redistribute a program or other work of art. Copylefts are used - by leftists to enrich the public just as copyrights are used by - rightists to gain power over the public. - -Current Buffer - The current buffer in Emacs is the Emacs buffer on which most - editing commands operate. You can select any Emacs buffer as the - current one. *Note Buffers::. - -Current Line - The line point is on (*note Point::). - -Current Paragraph - The paragraph that point is in. If point is between paragraphs, - the current paragraph is the one that follows point. *Note - Paragraphs::. - -Current Defun - The defun (q.v.) that point is in. If point is between defuns, the - current defun is the one that follows point. *Note Defuns::. - -Cursor - The cursor is the rectangle on the screen which indicates the - position called point (q.v.) at which insertion and deletion takes - place. The cursor is on or under the character that follows - point. Often people speak of `the cursor' when, strictly - speaking, they mean `point'. *Note Cursor: Basic. - -Customization - Customization is making minor changes in the way Emacs works. It - is often done by setting variables (*note Variables::) or by - rebinding keys (*note Keymaps::). - -Default Argument - The default for an argument is the value that is used if you do not - specify one. When Emacs prompts you in the minibuffer for an - argument, the default argument is used if you just type . - *Note Minibuffer::. - -Default Directory - When you specify a file name that does not start with `/' or `~', - it is interpreted relative to the current buffer's default - directory. *Note Default Directory: Minibuffer File. - -Defun - A defun is a list at the top level of parenthesis or bracket - structure in a program. It is so named because most such lists in - Lisp programs are calls to the Lisp function `defun'. *Note - Defuns::. - - - The character runs the command that deletes one character of - text. *Note DEL: Basic. - -Deletion - Deleting text means erasing it without saving it. Emacs deletes - text only when it is expected not to be worth saving (all - whitespace, or only one character). The alternative is killing - (q.v.). *Note Deletion: Killing. - -Deletion of Files - Deleting a file means removing it from the file system. *Note - Misc File Ops::. - -Deletion of Messages - Deleting a message means flagging it to be eliminated from your - mail file. Until the mail file is expunged, you can undo this by - undeleting the message. - -Deletion of Frames - When working under the multi-frame X-based version of XEmacs, you - can delete individual frames using the Close menu item from the - File menu. - -Deletion of Windows - When you delete a subwindow of an Emacs frame, you eliminate it - from the frame. Other windows expand to use up the space. The - deleted window can never come back, but no actual text is lost. - *Note Windows::. - -Directory - Files in the Unix file system are grouped into file directories. - *Note Directories: ListDir. - -Dired - Dired is the Emacs facility that displays the contents of a file - directory and allows you to "edit the directory", performing - operations on the files in the directory. *Note Dired::. - -Disabled Command - A disabled command is one that you may not run without special - confirmation. Commands are usually disabled because they are - confusing for beginning users. *Note Disabling::. - -Dribble File - A file into which Emacs writes all the characters that the user - types on the keyboard. Dribble files are used to make a record for - debugging Emacs bugs. Emacs does not make a dribble file unless - you tell it to. *Note Bugs::. - -Echo Area - The area at the bottom of the Emacs frame which is used for - echoing the arguments to commands, for asking questions, and for - printing brief messages (including error messages). *Note Echo - Area::. - -Echoing - Echoing refers to acknowledging the receipt of commands by - displaying them (in the echo area). Emacs never echoes - single-character keys; longer keys echo only if you pause while - typing them. - -Error - An error occurs when an Emacs command cannot execute in the current - circumstances. When an error occurs, execution of the command - stops (unless the command has been programmed to do otherwise) and - Emacs reports the error by printing an error message (q.v.). - Type-ahead is discarded. Then Emacs is ready to read another - editing command. - -Error Messages - Error messages are single lines of output printed by Emacs when the - user asks for something impossible to do (such as killing text - forward when point is at the end of the buffer). They appear in - the echo area, accompanied by a beep. - - - is a character used as a prefix for typing Meta characters on - keyboards lacking a key. Unlike the key (which, - like the key, is held down while another character is - typed), the key is pressed and released, and applies to the - next character typed. - -Fill Prefix - The fill prefix is a string that Emacs enters at the beginning of - each line when it performs filling. It is not regarded as part of - the text to be filled. *Note Filling::. - -Filling - Filling text means moving text from line to line so that all the - lines are approximately the same length. *Note Filling::. - -Frame - When running Emacs on a TTY terminal, "frame" means the terminal's - screen. When running Emacs under X, you can have multiple frames, - each corresponding to a top-level X window and each looking like - the screen on a TTY. Each frame contains one or more - non-overlapping Emacs windows (possibly with associated - scrollbars, under X), an echo area, and (under X) possibly a - menubar, toolbar, and/or gutter. - -Global - Global means `independent of the current environment; in effect - throughout Emacs'. It is the opposite of local (q.v.). Examples - of the use of `global' appear below. - -Global Abbrev - A global definition of an abbrev (q.v.) is effective in all major - modes that do not have local (q.v.) definitions for the same - abbrev. *Note Abbrevs::. - -Global Keymap - The global keymap (q.v.) contains key bindings that are in effect - unless local key bindings in a major mode's local keymap (q.v.) - override them.*Note Keymaps::. - -Global Substitution - Global substitution means replacing each occurrence of one string - by another string through a large amount of text. *Note Replace::. - -Global Variable - The global value of a variable (q.v.) takes effect in all buffers - that do not have their own local (q.v.) values for the variable. - *Note Variables::. - -Graphic Character - Graphic characters are those assigned pictorial images rather than - just names. All the non-Meta (q.v.) characters except for the - Control (q.v.) character are graphic characters. These include - letters, digits, punctuation, and spaces; they do not include - or . In Emacs, typing a graphic character inserts that - character (in ordinary editing modes). *Note Basic Editing: Basic. - -Grinding - Grinding means adjusting the indentation in a program to fit the - nesting structure. *Note Grinding: Indentation. - -Hardcopy - Hardcopy means printed output. Emacs has commands for making - printed listings of text in Emacs buffers. *Note Hardcopy::. - - - You can type at any time to ask what options you have, or - to ask what any command does. is really `Control-h'. - *Note Help::. - -Inbox - An inbox is a file in which mail is delivered by the operating - system. Some mail handlers transfers mail from inboxes to mail - files (q.v.) in which the mail is then stored permanently or until - explicitly deleted. - -Indentation - Indentation means blank space at the beginning of a line. Most - programming languages have conventions for using indentation to - illuminate the structure of the program, and Emacs has special - features to help you set up the correct indentation. *Note - Indentation::. - -Insertion - Insertion means copying text into the buffer, either from the - keyboard or from some other place in Emacs. - -Justification - Justification means adding extra spaces to lines of text to make - them come exactly to a specified width. *Note Justification: - Filling. - -Keyboard Macros - Keyboard macros are a way of defining new Emacs commands from - sequences of existing ones, with no need to write a Lisp program. - *Note Keyboard Macros::. - -Key - A key is a sequence of characters that, when input to Emacs, - specify or begin to specify a single action for Emacs to perform. - That is, the sequence is considered a single unit. If the key is - enough to specify one action, it is a complete key (q.v.); if it - is less than enough, it is a prefix key (q.v.). *Note - Keystrokes::. - -Keymap - The keymap is the data structure that records the bindings (q.v.) - of keys to the commands that they run. For example, the keymap - binds the character `C-n' to the command function `next-line'. - *Note Keymaps::. - -Kill Ring - The kill ring is the place where all text you have killed recently - is saved. You can re-insert any of the killed text still in the - ring; this is called yanking (q.v.). *Note Yanking::. - -Killing - Killing means erasing text and saving it on the kill ring so it - can be yanked (q.v.) later. Some other systems call this - "cutting." Most Emacs commands to erase text do killing, as - opposed to deletion (q.v.). *Note Killing::. - -Killing Jobs - Killing a job (such as, an invocation of Emacs) means making it - cease to exist. Any data within it, if not saved in a file, is - lost. *Note Exiting::. - -List - A list is, approximately, a text string beginning with an open - parenthesis and ending with the matching close parenthesis. In C - mode and other non-Lisp modes, groupings surrounded by other kinds - of matched delimiters appropriate to the language, such as braces, - are also considered lists. Emacs has special commands for many - operations on lists. *Note Lists::. - -Local - Local means `in effect only in a particular context'; the relevant - kind of context is a particular function execution, a particular - buffer, or a particular major mode. Local is the opposite of - `global' (q.v.). Specific uses of `local' in Emacs terminology - appear below. - -Local Abbrev - A local abbrev definition is effective only if a particular major - mode is selected. In that major mode, it overrides any global - definition for the same abbrev. *Note Abbrevs::. - -Local Keymap - A local keymap is used in a particular major mode; the key bindings - (q.v.) in the current local keymap override global bindings of the - same keys. *Note Keymaps::. - -Local Variable - A local value of a variable (q.v.) applies to only one buffer. - *Note Locals::. - -M- - `M-' in the name of a character is an abbreviation for , one - of the modifier keys that can accompany any character. *Note - Keystrokes::. - -M-C- - `M-C-' in the name of a character is an abbreviation for - Control-Meta; it means the same thing as `C-M-'. If your terminal - lacks a real key, you type a Control-Meta character by - typing and then typing the corresponding Control character. - *Note C-M-: Keystrokes. - -M-x - `M-x' is the key which is used to call an Emacs command by name. - You use it to call commands that are not bound to keys. *Note - M-x::. - -Mail - Mail means messages sent from one user to another through the - computer system, to be read at the recipient's convenience. Emacs - has commands for composing and sending mail, and for reading and - editing the mail you have received. *Note Sending Mail::. - -Major Mode - The major modes are a mutually exclusive set of options each of - which configures Emacs for editing a certain sort of text. - Ideally, each programming language has its own major mode. *Note - Major Modes::. - -Mark - The mark points to a position in the text. It specifies one end - of the region (q.v.), point being the other end. Many commands - operate on the whole region, that is, all the text from point to - the mark. *Note Mark::. - -Mark Ring - The mark ring is used to hold several recent previous locations of - the mark, just in case you want to move back to them. *Note Mark - Ring::. - -Message - See `mail'. - -Meta - Meta is the name of a modifier bit which a command character may - have. It is present in a character if the character is typed with - the key held down. Such characters are given names that - start with `Meta-'. For example, `Meta-<' is typed by holding down - and at the same time typing `<' (which itself is done, on - most terminals, by holding down and typing `,'). *Note - Meta: Keystrokes. - -Meta Character - A Meta character is one whose character code includes the Meta bit. - -Minibuffer - The minibuffer is the window that Emacs displays inside the echo - area (q.v.) when it prompts you for arguments to commands. *Note - Minibuffer::. - -Minor Mode - A minor mode is an optional feature of Emacs which can be switched - on or off independent of the major mode. Each minor mode has a - command to turn it on or off. *Note Minor Modes::. - -Mode Line - The mode line is the line at the bottom of each text window (q.v.), - which gives status information on the buffer displayed in that - window. *Note Mode Line::. - -Modified Buffer - A buffer (q.v.) is modified if its text has been changed since the - last time the buffer was saved (or since it was created, if it has - never been saved). *Note Saving::. - -Moving Text - Moving text means erasing it from one place and inserting it in - another. This is done by killing (q.v.) and then yanking (q.v.). - *Note Killing::. - -Named Mark - A named mark is a register (q.v.) in its role of recording a - location in text so that you can move point to that location. - *Note Registers::. - -Narrowing - Narrowing means creating a restriction (q.v.) that limits editing - in the current buffer to only a part of the text in the buffer. - Text outside that part is inaccessible to the user until the - boundaries are widened again, but it is still there, and saving - the file saves the invisible text. *Note Narrowing::. - -Newline - characters in the buffer terminate lines of text and are - called newlines. *Note Newline: Keystrokes. - -Numeric Argument - A numeric argument is a number, specified before a command, to - change the effect of the command. Often the numeric argument - serves as a repeat count. *Note Arguments::. - -Option - An option is a variable (q.v.) that allows you to customize Emacs - by giving it a new value. *Note Variables::. - -Overwrite Mode - Overwrite mode is a minor mode. When it is enabled, ordinary text - characters replace the existing text after point rather than - pushing it to the right. *Note Minor Modes::. - -Page - A page is a unit of text, delimited by formfeed characters (ASCII - Control-L, code 014) coming at the beginning of a line. Some Emacs - commands are provided for moving over and operating on pages. - *Note Pages::. - -Paragraphs - Paragraphs are the medium-size unit of English text. There are - special Emacs commands for moving over and operating on paragraphs. - *Note Paragraphs::. - -Parsing - We say that Emacs parses words or expressions in the text being - edited. Really, all it knows how to do is find the other end of a - word or expression. *Note Syntax::. - -Point - Point is the place in the buffer at which insertion and deletion - occur. Point is considered to be between two characters, not at - one character. The terminal's cursor (q.v.) indicates the - location of point. *Note Point: Basic. - -Prefix Key - A prefix key is a key (q.v.) whose sole function is to introduce a - set of multi-character keys. `Control-x' is an example of a prefix - key; any two-character sequence starting with `C-x' is also a - legitimate key. *Note Keystrokes::. - -Prompt - A prompt is text printed to ask the user for input. Printing a - prompt is called prompting. Emacs prompts always appear in the - echo area (q.v.). One kind of prompting happens when the - minibuffer is used to read an argument (*note Minibuffer::); the - echoing which happens when you pause in the middle of typing a - multi-character key is also a kind of prompting (*note Echo - Area::). - -Quitting - Quitting means cancelling a partially typed command or a running - command, using `C-g'. *Note Quitting::. - -Quoting - Quoting means depriving a character of its usual special - significance. In Emacs this is usually done with `Control-q'. - What constitutes special significance depends on the context and - on convention. For example, an "ordinary" character as an Emacs - command inserts itself; so in this context, a special character is - any character that does not normally insert itself (such as , - for example), and quoting it makes it insert itself as if it were - not special. Not all contexts allow quoting. *Note Quoting: - Basic. - -Read-only Buffer - A read-only buffer is one whose text you are not allowed to change. - Normally Emacs makes buffers read-only when they contain text which - has a special significance to Emacs, such asDired buffers. - Visiting a file that is write-protected also makes a read-only - buffer. *Note Buffers::. - -Recursive Editing Level - A recursive editing level is a state in which part of the - execution of a command involves asking the user to edit some text. - This text may or may not be the same as the text to which the - command was applied. The mode line indicates recursive editing - levels with square brackets (`[' and `]'). *Note Recursive Edit::. - -Redisplay - Redisplay is the process of correcting the image on the screen to - correspond to changes that have been made in the text being edited. - *Note Redisplay: Frame. - -Regexp - See `regular expression'. - -Region - The region is the text between point (q.v.) and the mark (q.v.). - Many commands operate on the text of the region. *Note Region: - Mark. - -Registers - Registers are named slots in which text or buffer positions or - rectangles can be saved for later use. *Note Registers::. - -Regular Expression - A regular expression is a pattern that can match various text - strings; for example, `l[0-9]+' matches `l' followed by one or more - digits. *Note Regexps::. - -Replacement - See `global substitution'. - -Restriction - A buffer's restriction is the amount of text, at the beginning or - the end of the buffer, that is temporarily invisible and - inaccessible. Giving a buffer a nonzero amount of restriction is - called narrowing (q.v.). *Note Narrowing::. - - - is the character than runs the command to insert a newline - into the text. It is also used to terminate most arguments read - in the minibuffer (q.v.). *Note Return: Keystrokes. - -Saving - Saving a buffer means copying its text into the file that was - visited (q.v.) in that buffer. To actually change a file you have - edited in Emacs, you have to save it. *Note Saving::. - -Scrolling - Scrolling means shifting the text in the Emacs window to make a - different part ot the buffer visible. *Note Scrolling: Display. - -Searching - Searching means moving point to the next occurrence of a specified - string. *Note Search::. - -Selecting - Selecting a buffer means making it the current (q.v.) buffer. - *Note Selecting: Buffers. - -Self-documentation - Self-documentation is the feature of Emacs which can tell you what - any command does, or can give you a list of all commands related - to a topic you specify. You ask for self-documentation with the - help character, `C-h'. *Note Help::. - -Sentences - Emacs has commands for moving by or killing by sentences. *Note - Sentences::. - -Sexp - An sexp (short for `s-expression,' itself short for `symbolic - expression') is the basic syntactic unit of Lisp in its textual - form: either a list, or Lisp atom. Many Emacs commands operate on - sexps. The term `sexp' is generalized to languages other than - Lisp to mean a syntactically recognizable expression. *Note - Sexps: Lists. - -Simultaneous Editing - Simultaneous editing means two users modifying the same file at - once. If simultaneous editing is not detected, you may lose your - work. Emacs detects all cases of simultaneous editing and warns - the user to investigate them. *Note Simultaneous Editing: - Interlocking. - -String - A string is a kind of Lisp data object which contains a sequence of - characters. Many Emacs variables are intended to have strings as - values. The Lisp syntax for a string consists of the characters in - the string with a `"' before and another `"' after. Write a `"' - that is part of the string as `\"' and a `\' that is part of the - string as `\\'. You can include all other characters, including - newline, just by writing them inside the string. You can also - include escape sequences as in C, such as `\n' for newline or - `\241' using an octal character code. - -String Substitution - See `global substitution'. - -Syntax Table - The syntax table tells Emacs which characters are part of a word, - which characters balance each other like parentheses, etc. *Note - Syntax::. - -Tag Table - A tag table is a file that serves as an index to the function - definitions in one or more other files. *Note Tags::. - -Termscript File - A termscript file contains a record of all characters Emacs sent to - the terminal. It is used for tracking down bugs in Emacs - redisplay. Emacs does not make a termscript file unless - explicitly instructed to do so. *Note Bugs::. - -Text - Text has two meanings (*note Text::): - - * Data consisting of a sequence of characters, as opposed to - binary numbers, images, graphics commands, executable - programs, and the like. The contents of an Emacs buffer are - always text in this sense. - - * Data consisting of written human language, as opposed to - programs, or something that follows the stylistic conventions - of human language. - -Top Level - Top level is the normal state of Emacs, in which you are editing - the text of the file you have visited. You are at top level - whenever you are not in a recursive editing level (q.v.) or the - minibuffer (q.v.), and not in the middle of a command. You can - get back to top level by aborting (q.v.) and quitting (q.v.). - *Note Quitting::. - -Transposition - Transposing two units of text means putting each one into the place - formerly occupied by the other. There are Emacs commands to - transpose two adjacent characters, words, sexps (q.v.), or lines - (*note Transpose::). - -Truncation - Truncating text lines in the display means leaving out any text on - a line that does not fit within the right margin of the window - displaying it. See also `continuation line'. *Note Truncation: - Basic. - -Undoing - Undoing means making your previous editing go in reverse, bringing - back the text that existed earlier in the editing session. *Note - Undo::. - -Variable - A variable is Lisp object that can store an arbitrary value. - Emacs uses some variables for internal purposes, and has others - (known as `options' (q.v.)) you can set to control the behavior of - Emacs. The variables used in Emacs that you are likely to be - interested in are listed in the Variables Index of this manual. - *Note Variables::, for information on variables. - -Visiting - Visiting a file means loading its contents into a buffer (q.v.) - where they can be edited. *Note Visiting::. - -Whitespace - Whitespace is any run of consecutive formatting characters (spaces, - tabs, newlines, and backspaces). - -Widening - Widening is removing any restriction (q.v.) on the current buffer; - it is the opposite of narrowing (q.v.). *Note Narrowing::. - -Window - Emacs divides the frame into one or more windows, each of which can - display the contents of one buffer (q.v.) at any time. *Note - Frame::, for basic information on how Emacs uses the frame. *Note - Windows::, for commands to control the use of windows. Note that if - you are running Emacs under X, terminology can be confusing: Each - Emacs frame occupies a separate X window and can, in turn, be - divided into different subwindows. - -Word Abbrev - Synonymous with `abbrev'. - -Word Search - Word search is searching for a sequence of words, considering the - punctuation between them as insignificant. *Note Word Search::. - -Yanking - Yanking means reinserting text previously killed. It can be used - to undo a mistaken kill, or for copying or moving text. Some other - systems call this "pasting". *Note Yanking::. +File: xemacs.info, Node: Face Resources, Next: Widgets, Prev: Resource List, Up: X Resources + +Face Resources +-------------- + + The attributes of faces are also per-frame. They can be specified as: + + Emacs.FACE_NAME.parameter: value + +or + + Emacs*FRAME_NAME.FACE_NAME.parameter: value + +Faces accept the following resources: + +`attributeFont' (class `AttributeFont'): font-name + The font of this face. + +`attributeForeground' (class `AttributeForeground'): color-name +`attributeBackground' (class `AttributeBackground'): color-name + The foreground and background colors of this face. + +`attributeBackgroundPixmap' (class `AttributeBackgroundPixmap'): file-name + The name of an XBM file (or XPM file, if your version of Emacs + supports XPM), to use as a background stipple. + +`attributeUnderline' (class `AttributeUnderline'): boolean + Whether text in this face should be underlined. + + All text is displayed in some face, defaulting to the face named +`default'. To set the font of normal text, use +`Emacs*default.attributeFont'. To set it in the frame named `fred', use +`Emacs*fred.default.attributeFont'. + + These are the names of the predefined faces: + +`default' + Everything inherits from this. + +`bold' + If this is not specified in the resource database, Emacs tries to + find a bold version of the font of the default face. + +`italic' + If this is not specified in the resource database, Emacs tries to + find an italic version of the font of the default face. + +`bold-italic' + If this is not specified in the resource database, Emacs tries to + find a bold-italic version of the font of the default face. + +`modeline' + This is the face that the modeline is displayed in. If not + specified in the resource database, it is determined from the + default face by reversing the foreground and background colors. + +`highlight' + This is the face that highlighted extents (for example, Info + cross-references and possible completions, when the mouse passes + over them) are displayed in. + +`left-margin' +`right-margin' + These are the faces that the left and right annotation margins are + displayed in. + +`zmacs-region' + This is the face that mouse selections are displayed in. + +`isearch' + This is the face that the matched text being searched for is + displayed in. + +`info-node' + This is the face of info menu items. If unspecified, it is copied + from `bold-italic'. + +`info-xref' + This is the face of info cross-references. If unspecified, it is + copied from `bold'. (Note that, when the mouse passes over a + cross-reference, the cross-reference's face is determined from a + combination of the `info-xref' and `highlight' faces.) + + Other packages might define their own faces; to see a list of all +faces, use any of the interactive face-manipulation commands such as +`set-face-font' and type `?' when you are prompted for the name of a +face. + + If the `bold', `italic', and `bold-italic' faces are not specified +in the resource database, then XEmacs attempts to derive them from the +font of the default face. It can only succeed at this if you have +specified the default font using the XLFD (X Logical Font Description) +format, which looks like + + *-courier-medium-r-*-*-*-120-*-*-*-*-*-* + +If you use any of the other, less strict font name formats, some of +which look like + + lucidasanstypewriter-12 + fixed + 9x13 + + then XEmacs won't be able to guess the names of the bold and italic +versions. All X fonts can be referred to via XLFD-style names, so you +should use those forms. See the man pages for `X(1)', `xlsfonts(1)', +and `xfontsel(1)'. + + +File: xemacs.info, Node: Widgets, Next: Menubar Resources, Prev: Face Resources, Up: X Resources + +Widgets +------- + + There are several structural widgets between the terminal EmacsFrame +widget and the top level ApplicationShell; the exact names and types of +these widgets change from release to release (for example, they changed +between 19.8 and 19.9, 19.9 and 19.10, and 19.10 and 19.12) and are +subject to further change in the future, so you should avoid mentioning +them in your resource database. The above-mentioned syntaxes should be +forward- compatible. As of 19.13, the exact widget hierarchy is as +follows: + + INVOCATION-NAME "shell" "container" FRAME-NAME + x-emacs-application-class "EmacsShell" "EmacsManager" "EmacsFrame" + + where INVOCATION-NAME is the terminal component of the name of the +XEmacs executable (usually `xemacs'), and `x-emacs-application-class' +is generally `Emacs'. + + +File: xemacs.info, Node: Menubar Resources, Prev: Widgets, Up: X Resources + +Menubar Resources +----------------- + + As the menubar is implemented as a widget which is not a part of +XEmacs proper, it does not use the face mechanism for specifying fonts +and colors: It uses whatever resources are appropriate to the type of +widget which is used to implement it. + + If Emacs was compiled to use only the Lucid Motif-lookalike menu +widgets, then one way to specify the font of the menubar would be + + Emacs*menubar*font: *-courier-medium-r-*-*-*-120-*-*-*-*-*-* + + If both the Lucid Motif-lookalike menu widgets and X Font Sets are +configured to allow multilingual menubars, then one uses + + *menubar*FontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*, \ + -*-*-*-*-*-*-*-120-*-jisx0208.1983-0 + + That would specify fonts for a Japanese menubar. Specifying only one +XLFD is acceptable; specifying more than one for a given registry +(language) is also allowed. When X Font Sets are configured, some .font +resources (eg, menubars) are ignored in favor of the corresponding +.fontSet resources. + + If the Motif library is being used, then one would have to use + + Emacs*menubar*fontList: *-courier-medium-r-*-*-*-120-*-*-*-*-*-* + + because the Motif library uses the `fontList' resource name instead +of `font', which has subtly different semantics. + + The same is true of the scrollbars: They accept whichever resources +are appropriate for the toolkit in use. + + +File: xemacs.info, Node: Quitting, Next: Lossage, Prev: Customization, Up: Top + +Quitting and Aborting +===================== + +`C-g' + Quit. Cancel running or partially typed command. + +`C-]' + Abort innermost recursive editing level and cancel the command + which invoked it (`abort-recursive-edit'). + +`M-x top-level' + Abort all recursive editing levels that are currently executing. + +`C-x u' + Cancel an already-executed command, usually (`undo'). + + There are two ways of cancelling commands which are not finished +executing: "quitting" with `C-g', and "aborting" with `C-]' or `M-x +top-level'. Quitting is cancelling a partially typed command or one +which is already running. Aborting is getting out of a recursive +editing level and cancelling the command that invoked the recursive +edit. + + Quitting with `C-g' is used for getting rid of a partially typed +command or a numeric argument that you don't want. It also stops a +running command in the middle in a relatively safe way, so you can use +it if you accidentally start executing a command that takes a long +time. In particular, it is safe to quit out of killing; either your +text will ALL still be there, or it will ALL be in the kill ring (or +maybe both). Quitting an incremental search does special things +documented under searching; in general, it may take two successive +`C-g' characters to get out of a search. `C-g' works by setting the +variable `quit-flag' to `t' the instant `C-g' is typed; Emacs Lisp +checks this variable frequently and quits if it is non-`nil'. `C-g' is +only actually executed as a command if it is typed while Emacs is +waiting for input. + + If you quit twice in a row before the first `C-g' is recognized, you +activate the "emergency escape" feature and return to the shell. *Note +Emergency Escape::. + + You can use `C-]' (`abort-recursive-edit') to get out of a recursive +editing level and cancel the command which invoked it. Quitting with +`C-g' does not do this, and could not do this because it is used to +cancel a partially typed command within the recursive editing level. +Both operations are useful. For example, if you are in the Emacs +debugger (*note Lisp Debug::) and have typed `C-u 8' to enter a numeric +argument, you can cancel that argument with `C-g' and remain in the +debugger. + + The command `M-x top-level' is equivalent to "enough" `C-]' commands +to get you out of all the levels of recursive edits that you are in. +`C-]' only gets you out one level at a time, but `M-x top-level' goes +out all levels at once. Both `C-]' and `M-x top-level' are like all +other commands and unlike `C-g' in that they are effective only when +Emacs is ready for a command. `C-]' is an ordinary key and has its +meaning only because of its binding in the keymap. *Note Recursive +Edit::. + + `C-x u' (`undo') is not strictly speaking a way of cancelling a +command, but you can think of it as cancelling a command already +finished executing. *Note Undo::. + + +File: xemacs.info, Node: Lossage, Next: Bugs, Prev: Quitting, Up: Top + +Dealing With Emacs Trouble +========================== + + This section describes various conditions in which Emacs fails to +work, and how to recognize them and correct them. + +* Menu: + +* Stuck Recursive:: `[...]' in mode line around the parentheses. +* Screen Garbled:: Garbage on the screen. +* Text Garbled:: Garbage in the text. +* Unasked-for Search:: Spontaneous entry to incremental search. +* Emergency Escape:: Emergency escape--- + What to do if Emacs stops responding. +* Total Frustration:: When you are at your wits' end. + + +File: xemacs.info, Node: Stuck Recursive, Next: Screen Garbled, Prev: Lossage, Up: Lossage + +Recursive Editing Levels +------------------------ + + Recursive editing levels are important and useful features of Emacs, +but they can seem like malfunctions to the user who does not understand +them. + + If the mode line has square brackets `[...]' around the parentheses +that contain the names of the major and minor modes, you have entered a +recursive editing level. If you did not do this on purpose, or if you +don't understand what that means, you should just get out of the +recursive editing level. To do so, type `M-x top-level'. This is +called getting back to top level. *Note Recursive Edit::. + + +File: xemacs.info, Node: Screen Garbled, Next: Text Garbled, Prev: Stuck Recursive, Up: Lossage + +Garbage on the Screen +--------------------- + + If the data on the screen looks wrong, the first thing to do is see +whether the text is actually wrong. Type `C-l', to redisplay the +entire screen. If the text appears correct after this, the problem was +entirely in the previous screen update. + + Display updating problems often result from an incorrect termcap +entry for the terminal you are using. The file `etc/TERMS' in the Emacs +distribution gives the fixes for known problems of this sort. +`INSTALL' contains general advice for these problems in one of its +sections. Very likely there is simply insufficient padding for certain +display operations. To investigate the possibility that you have this +sort of problem, try Emacs on another terminal made by a different +manufacturer. If problems happen frequently on one kind of terminal but +not another kind, the real problem is likely to be a bad termcap entry, +though it could also be due to a bug in Emacs that appears for terminals +that have or lack specific features. + + +File: xemacs.info, Node: Text Garbled, Next: Unasked-for Search, Prev: Screen Garbled, Up: Lossage + +Garbage in the Text +------------------- + + If `C-l' shows that the text is wrong, try undoing the changes to it +using `C-x u' until it gets back to a state you consider correct. Also +try `C-h l' to find out what command you typed to produce the observed +results. + + If a large portion of text appears to be missing at the beginning or +end of the buffer, check for the word `Narrow' in the mode line. If it +appears, the text is still present, but marked off-limits. To make it +visible again, type `C-x n w'. *Note Narrowing::. + + +File: xemacs.info, Node: Unasked-for Search, Next: Emergency Escape, Prev: Text Garbled, Up: Lossage + +Spontaneous Entry to Incremental Search +--------------------------------------- + + If Emacs spontaneously displays `I-search:' at the bottom of the +screen, it means that the terminal is sending `C-s' and `C-q' according +to the poorly designed xon/xoff "flow control" protocol. You should +try to prevent this by putting the terminal in a mode where it will not +use flow control, or by giving it enough padding that it will never +send a `C-s'. If that cannot be done, you must tell Emacs to expect +flow control to be used, until you can get a properly designed terminal. + + Information on how to do these things can be found in the file +`INSTALL' in the Emacs distribution. + + +File: xemacs.info, Node: Emergency Escape, Next: Total Frustration, Prev: Unasked-for Search, Up: Lossage + +Emergency Escape +---------------- + + Because at times there have been bugs causing Emacs to loop without +checking `quit-flag', a special feature causes Emacs to be suspended +immediately if you type a second `C-g' while the flag is already set, +so you can always get out of XEmacs. Normally Emacs recognizes and +clears `quit-flag' (and quits!) quickly enough to prevent this from +happening. + + When you resume Emacs after a suspension caused by multiple `C-g', it +asks two questions before going back to what it had been doing: + + Auto-save? (y or n) + Abort (and dump core)? (y or n) + +Answer each one with `y' or `n' followed by . + + Saying `y' to `Auto-save?' causes immediate auto-saving of all +modified buffers in which auto-saving is enabled. + + Saying `y' to `Abort (and dump core)?' causes an illegal instruction +to be executed, dumping core. This is to enable a wizard to figure out +why Emacs was failing to quit in the first place. Execution does not +continue after a core dump. If you answer `n', execution does +continue. With luck, Emacs will ultimately check `quit-flag' and quit +normally. If not, and you type another `C-g', it is suspended again. + + If Emacs is not really hung, but is just being slow, you may invoke +the double `C-g' feature without really meaning to. In that case, +simply resume and answer `n' to both questions, and you will arrive at +your former state. Presumably the quit you requested will happen soon. + + The double-`C-g' feature may be turned off when Emacs is running +under a window system, since the window system always enables you to +kill Emacs or to create another window and run another program. + + +File: xemacs.info, Node: Total Frustration, Prev: Emergency Escape, Up: Lossage + +Help for Total Frustration +-------------------------- + + If using Emacs (or something else) becomes terribly frustrating and +none of the techniques described above solve the problem, Emacs can +still help you. + + First, if the Emacs you are using is not responding to commands, type +`C-g C-g' to get out of it and then start a new one. + + Second, type `M-x doctor '. + + The doctor will make you feel better. Each time you say something to +the doctor, you must end it by typing . This lets the +doctor know you are finished. + + +File: xemacs.info, Node: Bugs, Prev: Lossage, Up: Top + +Reporting Bugs +============== + + Sometimes you will encounter a bug in Emacs. Although we cannot +promise we can or will fix the bug, and we might not even agree that it +is a bug, we want to hear about bugs you encounter in case we do want +to fix them. + + To make it possible for us to fix a bug, you must report it. In +order to do so effectively, you must know when and how to do it. + +When Is There a Bug +------------------- + + If Emacs executes an illegal instruction, or dies with an operating +system error message that indicates a problem in the program (as +opposed to something like "disk full"), then it is certainly a bug. + + If Emacs updates the display in a way that does not correspond to +what is in the buffer, then it is certainly a bug. If a command seems +to do the wrong thing but the problem corrects itself if you type +`C-l', it is a case of incorrect display updating. + + Taking forever to complete a command can be a bug, but you must make +certain that it was really Emacs's fault. Some commands simply take a +long time. Type `C-g' and then `C-h l' to see whether the input Emacs +received was what you intended to type; if the input was such that you +KNOW it should have been processed quickly, report a bug. If you don't +know whether the command should take a long time, find out by looking +in the manual or by asking for assistance. + + If a command you are familiar with causes an Emacs error message in a +case where its usual definition ought to be reasonable, it is probably a +bug. + + If a command does the wrong thing, that is a bug. But be sure you +know for certain what it ought to have done. If you aren't familiar +with the command, or don't know for certain how the command is supposed +to work, then it might actually be working right. Rather than jumping +to conclusions, show the problem to someone who knows for certain. + + Finally, a command's intended definition may not be best for editing +with. This is a very important sort of problem, but it is also a +matter of judgment. Also, it is easy to come to such a conclusion out +of ignorance of some of the existing features. It is probably best not +to complain about such a problem until you have checked the +documentation in the usual ways, feel confident that you understand it, +and know for certain that what you want is not available. If you are +not sure what the command is supposed to do after a careful reading of +the manual, check the index and glossary for any terms that may be +unclear. If you still do not understand, this indicates a bug in the +manual. The manual's job is to make everything clear. It is just as +important to report documentation bugs as program bugs. + + If the online documentation string of a function or variable +disagrees with the manual, one of them must be wrong, so report the bug. + +How to Report a Bug +------------------- + + When you decide that there is a bug, it is important to report it +and to report it in a way which is useful. What is most useful is an +exact description of what commands you type, starting with the shell +command to run Emacs, until the problem happens. Always include the +version number of Emacs that you are using; type `M-x emacs-version' to +print this. + + The most important principle in reporting a bug is to report FACTS, +not hypotheses or categorizations. It is always easier to report the +facts, but people seem to prefer to strain to posit explanations and +report them instead. If the explanations are based on guesses about +how Emacs is implemented, they will be useless; we will have to try to +figure out what the facts must have been to lead to such speculations. +Sometimes this is impossible. But in any case, it is unnecessary work +for us. + + For example, suppose that you type `C-x C-f /glorp/baz.ugh ', +visiting a file which (you know) happens to be rather large, and Emacs +prints out `I feel pretty today'. The best way to report the bug is +with a sentence like the preceding one, because it gives all the facts +and nothing but the facts. + + Do not assume that the problem is due to the size of the file and +say, "When I visit a large file, Emacs prints out `I feel pretty +today'." This is what we mean by "guessing explanations". The problem +is just as likely to be due to the fact that there is a `z' in the file +name. If this is so, then when we got your report, we would try out +the problem with some "large file", probably with no `z' in its name, +and not find anything wrong. There is no way in the world that we +could guess that we should try visiting a file with a `z' in its name. + + Alternatively, the problem might be due to the fact that the file +starts with exactly 25 spaces. For this reason, you should make sure +that you inform us of the exact contents of any file that is needed to +reproduce the bug. What if the problem only occurs when you have typed +the `C-x a l' command previously? This is why we ask you to give the +exact sequence of characters you typed since starting to use Emacs. + + You should not even say "visit a file" instead of `C-x C-f' unless +you know that it makes no difference which visiting command is used. +Similarly, rather than saying "if I have three characters on the line," +say "after I type ` A B C C-p'," if that is the way you +entered the text. + + If you are not in Fundamental mode when the problem occurs, you +should say what mode you are in. + + If the manifestation of the bug is an Emacs error message, it is +important to report not just the text of the error message but a +backtrace showing how the Lisp program in Emacs arrived at the error. +To make the backtrace, you must execute the Lisp expression `(setq +debug-on-error t)' before the error happens (that is to say, you must +execute that expression and then make the bug happen). This causes the +Lisp debugger to run (*note Lisp Debug::). The debugger's backtrace +can be copied as text into the bug report. This use of the debugger is +possible only if you know how to make the bug happen again. Do note +the error message the first time the bug happens, so if you can't make +it happen again, you can report at least that. + + Check whether any programs you have loaded into the Lisp world, +including your init file, set any variables that may affect the +functioning of Emacs. *Note Init File::. Also, see whether the +problem happens in a freshly started Emacs without loading your init +file (start Emacs with the `-q' switch to prevent loading the init +file). If the problem does NOT occur then, it is essential that we +know the contents of any programs that you must load into the Lisp +world in order to cause the problem to occur. + + If the problem does depend on an init file or other Lisp programs +that are not part of the standard Emacs system, then you should make +sure it is not a bug in those programs by complaining to their +maintainers first. After they verify that they are using Emacs in a +way that is supposed to work, they should report the bug. + + If you can tell us a way to cause the problem without visiting any +files, please do so. This makes it much easier to debug. If you do +need files, make sure you arrange for us to see their exact contents. +For example, it can often matter whether there are spaces at the ends +of lines, or a newline after the last line in the buffer (nothing ought +to care whether the last line is terminated, but tell that to the bugs). + + The easy way to record the input to Emacs precisely is to write a +dribble file; execute the Lisp expression: + + (open-dribble-file "~/dribble") + +using `Meta-' or from the `*scratch*' buffer just after starting +Emacs. From then on, all Emacs input will be written in the specified +dribble file until the Emacs process is killed. + + For possible display bugs, it is important to report the terminal +type (the value of environment variable `TERM'), the complete termcap +entry for the terminal from `/etc/termcap' (since that file is not +identical on all machines), and the output that Emacs actually sent to +the terminal. The way to collect this output is to execute the Lisp +expression: + + (open-termscript "~/termscript") + +using `Meta-' or from the `*scratch*' buffer just after starting +Emacs. From then on, all output from Emacs to the terminal will be +written in the specified termscript file as well, until the Emacs +process is killed. If the problem happens when Emacs starts up, put +this expression into your init file so that the termscript file will be +open when Emacs displays the screen for the first time. *Note Init +File::. Be warned: it is often difficult, and sometimes impossible, to +fix a terminal-dependent bug without access to a terminal of the type +that stimulates the bug. + + The newsgroup `comp.emacs.xemacs' may be used for bug reports, other +discussions and requests for assistance. + + If you don't have access to this newgroup, you can subscribe to the +mailing list version: the newsgroup is bidirectionally gatewayed into +the mailing list `xemacs@xemacs.org'. + + To be added or removed from this mailing list, send mail to +`xemacs-request@xemacs.org'. Do not send requests for addition to the +mailing list itself. + + The mailing lists and newsgroups are archived on our anonymous FTP +server, `ftp.xemacs.org', and at various other archive sites around the +net. You should also check the `FAQ' in `/pub/xemacs' on our anonymous +FTP server. It provides some introductory information and help for +initial configuration problems.