[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r106110: Edits to Display chapter of
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r106110: Edits to Display chapter of Emacs manual. |
Date: |
Mon, 17 Oct 2011 21:42:28 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 106110
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Mon 2011-10-17 21:42:28 -0400
message:
Edits to Display chapter of Emacs manual.
* doc/emacs/display.texi (Faces): Simplify discussion. Move documentation
of list-faces-display here, from Standard Faces node. Note
special role of `default' background.
(Standard Faces): Note special role of `default' background. Note
that region face may be taken fom GTK. Add xref to Text Display.
(Text Scale): Rename from "Temporary Face Changes". Callers
changed. Don't bother documenting variable-pitch-mode.
(Font Lock): Copyedits. Remove font-lock-maximum-size.
(Useless Whitespace): Simplify description of
delete-trailing-whitespace. Note active region case.
(Text Display): Fix description of escape-glyph face assignment.
Remove unibye mode discussion. Update some parts for Unicode.
Move glyphless chars documentation to Lisp manual.
* doc/emacs/frames.texi (Tooltips): Document x-gtk-use-system-tooltips.
* doc/lispref/display.texi (Glyphless Chars): New node.
modified:
doc/emacs/ChangeLog
doc/emacs/basic.texi
doc/emacs/display.texi
doc/emacs/emacs.texi
doc/emacs/frames.texi
doc/emacs/macos.texi
doc/lispref/ChangeLog
doc/lispref/display.texi
doc/lispref/elisp.texi
doc/lispref/vol1.texi
doc/lispref/vol2.texi
etc/NEWS
=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog 2011-10-15 16:37:45 +0000
+++ b/doc/emacs/ChangeLog 2011-10-18 01:42:28 +0000
@@ -1,3 +1,21 @@
+2011-10-18 Chong Yidong <address@hidden>
+
+ * display.texi (Faces): Simplify discussion. Move documentation
+ of list-faces-display here, from Standard Faces node. Note
+ special role of `default' background.
+ (Standard Faces): Note special role of `default' background. Note
+ that region face may be taken fom GTK. Add xref to Text Display.
+ (Text Scale): Rename from "Temporary Face Changes". Callers
+ changed. Don't bother documenting variable-pitch-mode.
+ (Font Lock): Copyedits. Remove font-lock-maximum-size.
+ (Useless Whitespace): Simplify description of
+ delete-trailing-whitespace. Note active region case.
+ (Text Display): Fix description of escape-glyph face assignment.
+ Remove unibye mode discussion. Update some parts for Unicode.
+ Move glyphless chars documentation to Lisp manual.
+
+ * frames.texi (Tooltips): Document x-gtk-use-system-tooltips.
+
2011-10-15 Chong Yidong <address@hidden>
* display.texi (Scrolling): Tweak explanation of scroll direction.
=== modified file 'doc/emacs/basic.texi'
--- a/doc/emacs/basic.texi 2011-10-08 16:37:46 +0000
+++ b/doc/emacs/basic.texi 2011-10-18 01:42:28 +0000
@@ -109,7 +109,7 @@
code-point, it should be a hexadecimal number (which is the convention
for Unicode). The command then inserts the corresponding character
into the buffer. For example, both of the following insert the
-infinity sign (Unicode code-point @code{#x221E}):
+infinity sign (Unicode code-point @code{U+221E}):
@example
@kbd{C-x 8 @key{RET} infinity @key{RET}}
=== modified file 'doc/emacs/display.texi'
--- a/doc/emacs/display.texi 2011-10-15 16:38:45 +0000
+++ b/doc/emacs/display.texi 2011-10-18 01:42:28 +0000
@@ -21,7 +21,7 @@
* Follow Mode:: Follow mode lets two windows scroll as one.
* Faces:: How to change the display style using faces.
* Standard Faces:: Emacs' predefined faces.
-* Temporary Face Changes:: Commands to temporarily modify the default text face
+* Text Scale:: Increasing or decreasing text size in a buffer.
* Font Lock:: Minor mode for syntactic highlighting using faces.
* Highlight Interactively:: Tell Emacs what text to highlight.
* Fringes:: Enabling or disabling window fringes.
@@ -55,7 +55,7 @@
was taken up by Emacs before the modern meaning of ``scrolling up''
and ``scrolling down'' became widely adopted. Hence the strange
result that @key{PageDown} scrolls ``up'' in the Emacs sense. In this
-manual, we refer to scrolling ``foward'' and ``backward'' where
+manual, we refer to scrolling ``forward'' and ``backward'' where
possible, in order to minimize confusion.
The portion of a buffer displayed in a window always contains point.
@@ -439,76 +439,69 @@
@section Faces: Controlling Text Display Style
@cindex faces
- Emacs can display text in several different styles, which are called
+ Emacs can display text in several different styles, called
@dfn{faces}. Each face can specify various @dfn{face attributes},
-such as the font, height, weight and slant, the foreground and
-background color, and underlining or overlining. A face does not have
-to specify all of these attributes; often it inherits most of them
-from another face.
-
- On a text-only terminal, not all face attributes are meaningful.
-Some text-only terminals support inverse video, bold, and underline
-attributes; some support colors. Text-only terminals generally do not
-support changing the height, width or font.
-
- Most major modes assign faces to the text automatically through the
-work of Font Lock mode. @xref{Font Lock}, for more information about
-Font Lock mode and syntactic highlighting. You can print the current
-buffer with the highlighting that appears on your screen using the
-command @code{ps-print-buffer-with-faces}. @xref{PostScript}.
-
- Enriched mode, the mode for editing formatted text, provides
-commands and menus for specifying faces for text in the buffer.
address@hidden Faces}.
+such as the font, height, weight, slant, foreground and background
+color, and underlining or overlining. Most major modes assign faces
+to the text automatically, via Font Lock mode. @xref{Font Lock}, for
+more information about how these faces are assigned.
+
address@hidden list-faces-display
+ To see what faces are currently defined, and what they look like,
+type @kbd{M-x list-faces-display}. With a prefix argument, this
+prompts for a regular expression, and displays only faces with names
+matching that regular expression (@pxref{Regexps}).
+
+ It's possible for a given face to look different in different
+frames. For instance, some text-only terminals do not support all
+face attributes, particularly font, height, and width, and some
+support a limited range of colors. The @code{list-faces-display}
+command shows the appearance for the selected frame.
@cindex face colors, setting
- To alter the appearance of a face, use the customization buffer.
address@hidden Customization}. You can also use X resources to specify
-attributes of any particular face (@pxref{Resources}). When
-displaying a character, any attribute that isn't specified by its face
-is taken from the @code{default} face, whose attributes reflect the
-default settings of the frame itself.
address@hidden background color
address@hidden default face
+ You can customize a face to alter its appearance, and save those
+changes for future Emacs sessions. @xref{Face Customization}. A face
+does not have to specify every single attribute; often it inherits
+most attributes from another face. Any ultimately unspecified
+attribute is taken from a face named @code{default}, whose attributes
+are all specified. The @code{default} face is the default for
+displaying text, and its background color is also used as the frame's
+background color.
+
+ You can also use X resources to specify attributes of any particular
+face. @xref{Resources}.
@findex set-face-foreground
@findex set-face-background
- You can also change the foreground and background colors of a
-specific face with @kbd{M-x set-face-foreground} and @kbd{M-x
-set-face-background}. These commands prompt in the minibuffer for a
-face name and a color name, with completion, and then set that face to
-use the specified color. @xref{Face Customization}, for information
-about color names. These commands affect the face colors on all
-frames, both existing and those to be created in the future. These
-changes do not, however, persist for future Emacs sessions; to make
-lasting changes, use the customization buffer (@pxref{Face
-Customization}).
-
- You can also set foreground and background colors for the current
-frame only; see @ref{Frame Parameters}.
-
- Emacs can display variable-width fonts, but some of the Emacs
-commands that calculate width and indentation do not know how to
-calculate variable widths. This can sometimes lead to incorrect
-results when you use variable-width fonts. In particular, indentation
-commands can give inconsistent results, so we recommend you avoid
-variable-width fonts, especially for editing program source code.
+ You can also change the foreground and background colors of a face
+with @kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}.
+These commands prompt in the minibuffer for a face name and a color
+name, with completion, and then set that face to use the specified
+color (@pxref{Face Customization}, for information about color names).
+They affect the face colors on all frames, but their effects do not
+persist for future Emacs sessions, unlike using the customization
+buffer or X resources. You can also use frame parameters to set
+foreground and background colors for a specific frame; see @ref{Frame
+Parameters}.
+
+ Emacs can display variable-width fonts, but some Emacs commands,
+particularly indentation commands, do not account for variable
+character display widths. Therefore, we recommend not using
+variable-width fonts for most faces, particularly those assigned by
+Font Lock mode.
@node Standard Faces
@section Standard Faces
address@hidden list-faces-display
- To see what faces are currently defined, and what they look like,
-type @kbd{M-x list-faces-display}. It's possible for a given face to
-look different in different frames; this command shows the appearance
-in the frame in which you type it. With a prefix argument, this
-prompts for a regular expression, and displays only faces with names
-matching that regular expression.
-
Here are the standard faces for specifying text appearance. You can
apply them to specific text when you want the effects they produce.
@table @code
@item default
This face is used for ordinary text that doesn't specify any face.
+Its background color is used as the frame's background color.
@item bold
This face uses a bold variant of the default font.
@item italic
@@ -535,37 +528,38 @@
@table @code
@item highlight
-This face is used for highlighting portions of text, in various modes.
-For example, mouse-sensitive text is highlighted using this face.
+This face is used for text highlighting in various contexts, such as
+when the mouse cursor is moved over a hyperlink.
@item isearch
-This face is used for highlighting the current Isearch match
+This face is used to highlight the current Isearch match
(@pxref{Incremental Search}).
@item query-replace
-This face is used for highlighting the current Query Replace match
+This face is used to highlight the current Query Replace match
(@pxref{Replace}).
@item lazy-highlight
-This face is used for lazy highlighting of Isearch and Query Replace
-matches other than the current one.
+This face is used to highlight ``lazy matches'' for Isearch and Query
+Replace (matches other than the current one).
@item region
-This face is used for displaying a selected region (@pxref{Mark}).
+This face is used for displaying an active region (@pxref{Mark}).
+When Emacs is built with GTK support, its colors are taken from the
+current GTK theme.
@item secondary-selection
This face is used for displaying a secondary X selection (@pxref{Secondary
Selection}).
@item trailing-whitespace
The face for highlighting excess spaces and tabs at the end of a line
-when @code{show-trailing-whitespace} is address@hidden; see
address@hidden Whitespace}.
+when @code{show-trailing-whitespace} is address@hidden (@pxref{Useless
+Whitespace}).
address@hidden escape-glyph
+The face for displaying control characters and escape sequences
+(@pxref{Text Display}).
@item nobreak-space
-The face for displaying the character ``nobreak space.''
address@hidden escape-glyph
-The face for highlighting the @samp{\} or @samp{^} that indicates
-a control character. It's also used when @samp{\} indicates a
-nobreak space or nobreak (soft) hyphen.
+The face for displaying ``non-breaking'' space characters (@pxref{Text
+Display}).
@end table
- These faces control the appearance of parts of the Emacs frame.
-They exist as faces to provide a consistent way to customize the
-appearance of these parts of the frame.
+ The following faces control the appearance of parts of the Emacs
+frame:
@table @code
@item mode-line
@@ -588,11 +582,8 @@
Most windows do not have a header line---only some special modes, such
Info mode, create one.
@item vertical-border
-This face is used for the vertical divider between windows.
-By default this face inherits from the @code{mode-line-inactive} face
-on character terminals. On graphical displays the foreground color of
-this face is used for the vertical line between windows without
-scrollbars.
+This face is used for the vertical divider between windows on
+text-only terminals.
@item minibuffer-prompt
@cindex @code{minibuffer-prompt} face
@vindex minibuffer-prompt-properties
@@ -607,35 +598,37 @@
displays. (The fringes are the narrow portions of the Emacs frame
between the text area and the window's right and left borders.)
@xref{Fringes}.
address@hidden cursor
+This face determines the color of the text cursor.
address@hidden tooltip
+This face is used for tooltip text. By default, if Emacs is built
+with GTK support, tooltips are drawn via GTK and this face has no
+effect. @xref{Tooltips}.
address@hidden mouse
+This face determines the color of the mouse pointer.
address@hidden table
+
+ The following faces likewise control the appearance of parts of the
+Emacs frame, but only on text-only terminals, or when Emacs is built
+on X with no toolkit support. (For all other cases, the appearance of
+the respective frame elements is determined by system-wide settings.)
+
address@hidden @code
@item scroll-bar
This face determines the visual appearance of the scroll bar.
@xref{Scroll Bars}.
address@hidden border
-This face determines the color of the frame border.
address@hidden cursor
-This face determines the color of the cursor.
address@hidden mouse
-This face determines the color of the mouse pointer.
@item tool-bar
This face determines the color of tool bar icons. @xref{Tool Bars}.
address@hidden tooltip
-This face is used for tooltips. @xref{Tooltips}.
@item menu
@cindex menu bar appearance
@cindex @code{menu} face, no effect if customized
@cindex customization of @code{menu} face
This face determines the colors and font of Emacs's menus. @xref{Menu
-Bars}. This has no effect in Emacs built with GTK and in the
-MS-Windows/Mac ports; you need to use system-wide styles and options
-to change the appearance of GTK, Windows, or Mac menus. Setting the
-font of LessTif/Motif menus is currently not supported; attempts to
-set the font are ignored in this case.
+Bars}.
@end table
address@hidden Temporary Face Changes
address@hidden Temporary Face Changes
-
-The following commands change the default face within a buffer.
address@hidden Text Scale
address@hidden Text Scale
@cindex adjust buffer face height
@findex text-scale-adjust
@@ -652,9 +645,11 @@
The final key of these commands may be repeated without the leading
@kbd{C-x}. For instance, @kbd{C-x C-= C-= C-=} increases the face
-height by three steps. Each step scales the height of the default
-face by the value of the variable @code{text-scale-mode-step}. As a
-special case, an argument of 0 removes any scaling currently active.
+height by three steps. Each step scales the text height by a factor
+of 1.2; to change this factor, customize the variable
address@hidden As an exception, a numeric argument of 0
+to the @code{text-scale-adjust} command restores the default height,
+similar to typing @kbd{C-x C-0}.
@cindex increase buffer face height
@findex text-scale-increase
@@ -668,21 +663,14 @@
@cindex set buffer face height
@findex text-scale-set
-The command @code{text-scale-set} sets the height of the default face
-in the current buffer to an absolute level specified by its prefix
-argument.
+ The command @code{text-scale-set} scales the height of the default
+face in the current buffer to an absolute level specified by its
+prefix argument.
@findex text-scale-mode
- The above commands automatically enable or disable the minor mode
address@hidden, depending on whether the current font scaling
-is other than 1 or not.
-
address@hidden variable pitch mode
address@hidden variable-pitch-mode
- To temporarily change the face in the current buffer to a
-variable-pitch (``proportional'') font, use the command @kbd{M-x
-variable-pitch-mode} to enable or disable the Variable Pitch minor
-mode.
+ The above commands automatically enable the minor mode
address@hidden if the current font scaling is other than 1,
+and disable it otherwise.
@node Font Lock
@section Font Lock mode
@@ -691,41 +679,36 @@
@cindex syntax highlighting and coloring
Font Lock mode is a minor mode, always local to a particular buffer,
-which highlights (or ``fontifies'') the buffer contents according to
-the syntax of the text you are editing. It can recognize comments and
-strings in most programming languages; in several languages, it can
-also recognize and properly highlight various other important
-constructs, such as names of functions being defined or reserved
-keywords. Some special modes, such as Occur mode and Info mode, have
-completely specialized ways of assigning fonts for Font Lock mode.
+which assigns faces to (or @dfn{fontifies}) the text in the buffer.
+Each buffer's major mode tells Font Lock mode which text to fontify;
+for instance, programming language modes fontify syntactically
+relevant constructs like comments, strings, and function names.
@findex font-lock-mode
- Font Lock mode is turned on by default in all modes which support it.
-You can toggle font-lock for each buffer with the command @kbd{M-x
-font-lock-mode}. Using a positive argument unconditionally turns Font
-Lock mode on, and a negative or zero argument turns it off.
+ Font Lock mode is enabled by default. To toggle it in the current
+buffer, type @kbd{M-x font-lock-mode}. A positive numeric argument
+unconditionally enables Font Lock mode, and a negative or zero
+argument disables it.
@findex global-font-lock-mode
@vindex global-font-lock-mode
- If you do not wish Font Lock mode to be turned on by default,
-customize the variable @code{global-font-lock-mode} using the Customize
-interface (@pxref{Easy Customization}), or use the function
address@hidden in your @file{.emacs} file, like this:
+ To toggle Font Lock mode in all buffers, type @kbd{M-x
+global-font-lock-mode}. To impose this setting for future Emacs
+sessions, customize the variable @code{global-font-lock-mode}
+(@pxref{Easy Customization}), or add the following line to your init
+file:
@example
(global-font-lock-mode 0)
@end example
address@hidden
-This variable, like all the variables that control Font Lock mode,
-take effect whenever fontification is done; that is, potentially at
-any time.
-
@findex turn-on-font-lock
- If you have disabled Global Font Lock mode, you can still enable Font
address@hidden
+If you have disabled Global Font Lock mode, you can still enable Font
Lock for specific major modes by adding the function
@code{turn-on-font-lock} to the mode hooks (@pxref{Hooks}). For
-example, to enable Font Lock mode for editing C files, you can do this:
+example, to enable Font Lock mode for editing C files, you can do
+this:
@example
(add-hook 'c-mode-hook 'turn-on-font-lock)
@@ -739,27 +722,19 @@
faces. @xref{Face Customization}.
@vindex font-lock-maximum-decoration
- The variable @code{font-lock-maximum-decoration} specifies the
-preferred level of fontification, for modes that provide multiple
-levels. Level 1 is the least amount of fontification; some modes
-support levels as high as 3. The normal default is ``as high as
-possible.'' You can specify an integer, which applies to all modes, or
-you can specify different numbers for particular major modes; for
-example, to use level 1 for C/C++ modes, and the default level
-otherwise, use this:
+ You can customize the variable @code{font-lock-maximum-decoration}
+to alter the amount of fontification applied by Font Lock mode, for
+major modes that support this feature. The value should be a number
+(with 1 representing a minimal amount of fontification; some modes
+support levels as high as 3); or @code{t}, meaning ``as high as
+possible'' (the default). You can also specify different numbers for
+particular major modes; for example, to use level 1 for C/C++ modes,
+and the default level otherwise, use the value
@example
-(setq font-lock-maximum-decoration
- '((c-mode . 1) (c++-mode . 1)))
+'((c-mode . 1) (c++-mode . 1)))
@end example
address@hidden font-lock-maximum-size
- Fontification can be too slow for large buffers, so you can suppress
-it for buffers above a certain size. The variable
address@hidden specifies a buffer size, beyond which
-buffer fontification is suppressed.
-
address@hidden @w is used below to prevent a bad page-break.
@vindex font-lock-beginning-of-syntax-function
@cindex incorrect fontification
@cindex parenthesis in column zero and fontification
@@ -768,11 +743,10 @@
relies on analysis of the syntactic structure of the buffer text. For
the sake of speed, some modes, including Lisp mode, rely on a special
convention: an open-parenthesis or open-brace in the leftmost column
-always defines the @w{beginning} of a defun, and is thus always
-outside any string or comment. (@xref{Left Margin Paren}.) If you
-don't follow this convention, Font Lock mode can misfontify the text
-that follows an open-parenthesis or open-brace in the leftmost column
-that is inside a string or comment.
+always defines the beginning of a defun, and is thus always outside
+any string or comment. Therefore, you should avoid placing a an
+open-parenthesis or open-brace in the leftmost column, if it is inside
+a string or comment. @xref{Left Margin Paren}, for details.
@cindex slow display during scrolling
The variable @code{font-lock-beginning-of-syntax-function}, which is
@@ -788,11 +762,11 @@
are close to the end of a large buffer.
@findex font-lock-add-keywords
- Font Lock highlighting patterns already exist for many modes, but you
-may want to fontify additional patterns. You can use the function
address@hidden, to add your own highlighting patterns for
-a particular mode. For example, to highlight @samp{FIXME:} words in C
-comments, use this:
+ Font Lock highlighting patterns already exist for most modes, but
+you may want to fontify additional patterns. You can use the function
address@hidden, to add your own highlighting patterns
+for a particular mode. For example, to highlight @samp{FIXME:} words
+in C comments, use this:
@example
(add-hook 'c-mode-hook
@@ -803,19 +777,20 @@
@end example
@findex font-lock-remove-keywords
- To remove keywords from the font-lock highlighting patterns, use the
address@hidden
+To remove keywords from the font-lock highlighting patterns, use the
function @code{font-lock-remove-keywords}. @xref{Search-based
Fontification,,, elisp, The Emacs Lisp Reference Manual}.
@cindex just-in-time (JIT) font-lock
@cindex background syntax highlighting
Fontifying large buffers can take a long time. To avoid large
-delays when a file is visited, Emacs fontifies only the visible
-portion of a buffer. As you scroll through the buffer, each portion
-that becomes visible is fontified as soon as it is displayed; this
-type of Font Lock is called @dfn{Just-In-Time} (or @dfn{JIT}) Lock.
-You can control how JIT Lock behaves, including telling it to perform
-fontification while idle, by customizing variables in the
+delays when a file is visited, Emacs initially fontifies only the
+visible portion of a buffer. As you scroll through the buffer, each
+portion that becomes visible is fontified as soon as it is displayed;
+this type of Font Lock is called @dfn{Just-In-Time} (or @dfn{JIT})
+Lock. You can control how JIT Lock behaves, including telling it to
+perform fontification while idle, by customizing variables in the
customization group @samp{jit-lock}. @xref{Specific Customization}.
@node Highlight Interactively
@@ -826,7 +801,7 @@
@findex highlight-changes-mode
Highlight Changes mode is a minor mode that @dfn{highlights} the parts
-of the buffer were changed most recently, by giving that text a
+of the buffer that were changed most recently, by giving that text a
different face. To enable or disable Highlight Changes mode, use
@kbd{M-x highlight-changes-mode}.
@@ -931,21 +906,23 @@
display symbols that provide information about the text in the window.
The most common use of the fringes is to indicate a continuation
-line, when one line of text is split into multiple lines on the
-screen. The left fringe shows a curving arrow for each screen line
-except the first, indicating that ``this is not the real beginning.''
-The right fringe shows a curving arrow for each screen line except the
-last, indicating that ``this is not the real end.'' If the line's
-direction is right-to-left (@pxref{Bidirectional Editing}), the
-meaning of the curving arrows in the left and right fringes are
+line (@pxref{Continuation Lines}). When one line of text is split
+into multiple screen lines, the left fringe shows a curving arrow for
+each screen line except the first, indicating that ``this is not the
+real beginning.'' The right fringe shows a curving arrow for each
+screen line except the last, indicating that ``this is not the real
+end.'' If the line's direction is right-to-left (@pxref{Bidirectional
+Editing}), the meanings of the curving arrows in the fringes are
swapped.
The fringes indicate line truncation with short horizontal arrows
meaning ``there's more text on this line which is scrolled
-horizontally out of view;'' clicking the mouse on one of the arrows
-scrolls the display horizontally in the direction of the arrow. The
-fringes can also indicate other things, such as empty lines, or where a
-program you are debugging is executing (@pxref{Debuggers}).
+horizontally out of view.'' Clicking the mouse on one of the arrows
+scrolls the display horizontally in the direction of the arrow.
+
+ The fringes can also indicate other things, such as buffer
+boundaries (@pxref{Displaying Boundaries}), and where a program you
+are debugging is executing (@pxref{Debuggers}).
@findex set-fringe-style
@findex fringe-mode
@@ -958,10 +935,10 @@
@vindex indicate-buffer-boundaries
On a graphical display, Emacs can indicate the buffer boundaries in
-the fringes. It indicates the first line and the last line with
-angle images in the fringes. This can be combined with up and down
-arrow images which say whether it is possible to scroll the window up
-and down.
+the fringes. If you enable this feature, the first line and the last
+line are marked with angle images in the fringes. This can be
+combined with up and down arrow images which say whether it is
+possible to scroll the window.
The buffer-local variable @code{indicate-buffer-boundaries} controls
how the buffer boundaries and window scrolling is indicated in the
@@ -1006,25 +983,22 @@
present.
@findex delete-trailing-whitespace
- Type @kbd{M-x delete-trailing-whitespace @key{RET}} to delete all
-trailing whitespace within the buffer's accessible portion
-(@pxref{Narrowing}). This command does not remove newline characters.
+ Type @kbd{M-x delete-trailing-whitespace} to delete all trailing
+whitespace within the buffer. If the region is active, it deletes all
+trailing whitespace in the region instead.
@vindex indicate-empty-lines
@cindex unused lines
@cindex fringes, and unused line indication
- Emacs can indicate unused lines at the end of the window with a
-small image in the left fringe (@pxref{Fringes}). The image appears
-for window lines that do not correspond to any buffer text. Blank
-lines at the end of the buffer then stand out because they do not have
-this image in the fringe.
-
- To enable this feature, set the buffer-local variable
address@hidden to a address@hidden value. You can enable
-or disable this feature for all new buffers by setting the default
-value of this variable, e.g.@: @code{(setq-default
-indicate-empty-lines t)};. (This feature currently doesn't work on
-text-only terminals.)
+ On graphical displays, Emacs can indicate unused lines at the end of
+the window with a small image in the left fringe (@pxref{Fringes}).
+The image appears for window lines that do not correspond to any
+buffer text. Blank lines at the end of the buffer then stand out
+because they do not have this image in the fringe. To enable this
+feature, set the buffer-local variable @code{indicate-empty-lines} to
+a address@hidden value. You can enable or disable this feature for
+all new buffers by setting the default value of this variable,
+e.g.@:@code{(setq-default indicate-empty-lines t)}.
@node Selective Display
@section Selective Display
@@ -1178,11 +1152,10 @@
@cindex mode line, 3D appearance
@cindex attributes of mode line, changing
@cindex non-integral number of lines in a window
- By default, the mode line is drawn on graphics displays with
-3D-style highlighting, like that of a button when it is not being
-pressed. If you don't like this effect, you can disable the 3D
-highlighting of the mode line, by customizing the attributes of the
address@hidden face. @xref{Face Customization}.
+ On a graphical display, the mode line is drawn as a 3D box. If you
+don't like this effect, you can disable it by customizing the
address@hidden face and setting its @code{box} attribute to
address@hidden @xref{Face Customization}.
@cindex non-selected windows, mode line appearance
By default, the mode line of nonselected windows is displayed in a
@@ -1210,51 +1183,45 @@
@node Text Display
@section How Text Is Displayed
@cindex characters (in text)
address@hidden printing character
- @acronym{ASCII} printing characters (octal codes 040 through 0176) in Emacs
-buffers are displayed with their graphics, as are address@hidden multibyte
-printing characters (octal codes above 0400).
+ Most characters are @dfn{printing characters}: when they appear in a
+buffer, they are displayed literally on the screen. Printing
+characters include @acronym{ASCII} numbers, letters, and punctuation
+characters, as well as many address@hidden characters.
@vindex tab-width
- Some @acronym{ASCII} control characters are displayed in special
-ways. The newline character (octal code 012) is displayed by starting
-a new line. The tab character (octal code 011) is displayed by moving
-to the next tab stop column (normally every 8 columns). The number of
-spaces per tab is controlled by the variable @code{tab-width}, which
-must have an integer value between 1 and 1000, inclusive, and is made
-buffer-local by changing it. Note that how the tab character in the buffer
-is displayed has nothing to do with the definition of @key{TAB} as a
-command.
-
- Other @acronym{ASCII} control characters are normally displayed as a caret
-(@samp{^}) followed by the non-control version of the character; thus,
-control-A is displayed as @samp{^A}. The caret appears in face
address@hidden
-
- address@hidden characters 0200 through 0237 (octal) are
-displayed with octal escape sequences; thus, character code 0230
-(octal) is displayed as @samp{\230}. The backslash appears in face
address@hidden
address@hidden control character
+ The @acronym{ASCII} character set contains non-printing @dfn{control
+characters}. Two of these are displayed specially: the newline
+character (Unicode code point @code{U+000A}) is displayed by starting
+a new line, while the tab character (@code{U+0009}) is displayed as a
+space that extends to the next tab stop column (normally every 8
+columns). The number of spaces per tab is controlled by the
+buffer-local variable @code{tab-width}, which must have an integer
+value between 1 and 1000, inclusive. Note that how the tab character
+in the buffer is displayed has nothing to do with the definition of
address@hidden as a command.
+
+ Other @acronym{ASCII} control characters are displayed as a caret
+(@samp{^}) followed by the non-control version of the character, with
+the @code{escape-glyph} face. For instance, the @samp{control-A}
+character, @code{U+0001}, is displayed as @samp{^A}.
@vindex ctl-arrow
- If the variable @code{ctl-arrow} is @code{nil}, control characters in
-the buffer are displayed with octal escape sequences, except for newline
-and tab. Altering the value of @code{ctl-arrow} makes it local to the
-current buffer; until that time, the default value is in effect. The
-default is initially @code{t}.
-
- The display of character codes 0240 through 0377 (octal) may be
-either as escape sequences or as graphics. They do not normally occur
-in multibyte buffers, but if they do, they are displayed as Latin-1
-graphics. In unibyte mode, if you enable European display they are
-displayed using their graphics (assuming your terminal supports them),
-otherwise as escape sequences. @xref{Unibyte Mode}.
+ The address@hidden, non-printing characters @code{U+0080}
+(octal 200) through @code{U+009F} (octal 237) are displayed as octal
+escape sequences, with the @code{escape-glyph} face. For instance,
+character code @code{U+0098} (octal 230) is displayed as @samp{\230}.
+If you change the buffer-local variable @code{ctl-arrow} to
address@hidden, @acronym{ASCII} control characters are also displayed as
+octal escape sequences instead of caret escape sequences.
@vindex nobreak-char-display
address@hidden no-break space, display
address@hidden no-break hyphen, display
address@hidden non-breaking space, display
address@hidden non-breaking hyphen, display
@cindex soft hyphen, display
- Some character sets define ``no-break'' versions of the space and
+ There are two special ``non-breaking'' versions of the space and
hyphen characters, which are used where a line should not be broken.
Emacs normally displays these characters with special faces
(respectively, @code{nobreak-space} and @code{escape-glyph}) to
@@ -1269,45 +1236,13 @@
@cindex glyphless characters
@cindex characters with no font glyphs
- On graphics displays, some characters could have no glyphs in any of
-the fonts available to Emacs. On text terminals, some characters
-could be impossible to encode with the terminal coding system
-(@pxref{Terminal Coding}). Emacs can display such @dfn{glyphless}
-characters using one of the following methods:
-
address@hidden @code
address@hidden zero-width
-Don't display the character.
-
address@hidden thin-space
-Display a thin space, 1-pixel wide on graphics displays or 1-character
-wide on text terminals.
-
address@hidden empty-box
-Display an empty box.
-
address@hidden acronym
-Display the acronym of the character's name (such as @sc{zwnj} or
address@hidden) in a box.
-
address@hidden hex-code
-Display the Unicode codepoint of the character in hexadecimal
-notation, in a box.
address@hidden table
-
address@hidden
address@hidden @code{glyphless-char} face
-With the exception of @code{zero-width}, all other methods draw these
-characters in a special face @code{glyphless-char}, which you can
-customize.
-
address@hidden glyphless-char-display-control
address@hidden char-acronym-table
-To control what glyphless characters are displayed using which method,
-customize the variable @code{glyphless-char-display-control}; see its
-doc string for the details. For even finer control, set the elements
-of 2 char-tables: @code{glyphless-char-display} and
address@hidden
+ On graphical displays, some characters may have no glyphs in any of
+the fonts available to Emacs. These @dfn{glyphless characters} are
+normally displayed as boxes containing the hexadecimal character code.
+You can control the display method by customizing the variable
address@hidden @xref{Glyphless Chars,,
+Glyphless Character Display, elisp, The Emacs Lisp Reference Manual},
+for details.
@node Cursor Display
@section Displaying the Cursor
=== modified file 'doc/emacs/emacs.texi'
--- a/doc/emacs/emacs.texi 2011-10-13 16:03:49 +0000
+++ b/doc/emacs/emacs.texi 2011-10-18 01:42:28 +0000
@@ -350,7 +350,7 @@
* Follow Mode:: Follow mode lets two windows scroll as one.
* Faces:: How to change the display style using faces.
* Standard Faces:: Emacs' predefined faces.
-* Temporary Face Changes:: Commands to temporarily modify the default text face
+* Text Scale:: Increasing or decreasing text size in a buffer.
* Font Lock:: Minor mode for syntactic highlighting using faces.
* Highlight Interactively:: Tell Emacs what text to highlight.
* Fringes:: Enabling or disabling window fringes.
=== modified file 'doc/emacs/frames.texi'
--- a/doc/emacs/frames.texi 2011-10-13 16:03:49 +0000
+++ b/doc/emacs/frames.texi 2011-10-18 01:42:28 +0000
@@ -299,7 +299,7 @@
@item S-Mouse-1
This menu is for changing the default face within the window's buffer.
address@hidden Face Changes}.
address@hidden Scale}.
@end table
@node Mode Line Mouse
@@ -1185,6 +1185,13 @@
@key{RET} tooltip @key{RET}}. @xref{X Resources}, for information on
customizing the windows that display tooltips.
address@hidden x-gtk-use-system-tooltips
+ If Emacs is built with GTK support, it displays tooltips via GTK,
+using the default appearance of GTK tooltips. To disable this, change
+the variable @code{x-gtk-use-system-tooltips} to @code{nil}. If you
+do this, or if Emacs is built without GTK support, the @code{tooltip}
+face specifies most attributes of the tooltip text.
+
@node Mouse Avoidance
@section Mouse Avoidance
@cindex avoiding mouse in the way of your typing
=== modified file 'doc/emacs/macos.texi'
--- a/doc/emacs/macos.texi 2011-05-17 02:26:56 +0000
+++ b/doc/emacs/macos.texi 2011-10-18 01:42:28 +0000
@@ -54,12 +54,12 @@
instead). To discard the settings, create a new frame and close the
altered one.
- @key{S-Mouse-1} (i.e., clicking the left mouse button
-while holding down the @key{Shift} key) adjusts the region to the
-click position, just like @key{Mouse-3} (@code{mouse-save-then-kill});
-it does not pop up a menu for changing the default face, as
address@hidden normally does (@pxref{Temporary Face Changes}). This
-change makes Emacs behave more like other Mac / GNUstep applications.
+ @key{S-Mouse-1} (i.e., clicking the left mouse button while holding
+down the @key{Shift} key) adjusts the region to the click position,
+just like @key{Mouse-3} (@code{mouse-save-then-kill}); it does not pop
+up a menu for changing the default face, as @key{S-Mouse-1} normally
+does (@pxref{Text Scale}). This change makes Emacs behave more like
+other Mac / GNUstep applications.
When you open or save files using the menus, or using the
@key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file
=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog 2011-10-13 16:03:49 +0000
+++ b/doc/lispref/ChangeLog 2011-10-18 01:42:28 +0000
@@ -1,3 +1,7 @@
+2011-10-18 Chong Yidong <address@hidden>
+
+ * display.texi (Glyphless Chars): New node.
+
2011-10-13 Chong Yidong <address@hidden>
* text.texi (Yanking): Document yank-excluded-properties.
=== modified file 'doc/lispref/display.texi'
--- a/doc/lispref/display.texi 2011-10-05 21:39:54 +0000
+++ b/doc/lispref/display.texi 2011-10-18 01:42:28 +0000
@@ -36,6 +36,7 @@
* Window Systems:: Which window system is being used.
* Bidirectional Display:: Display of bidirectional scripts, such as
Arabic and Farsi.
+* Glyphless Chars:: How glyphless characters are drawn.
@end menu
@node Refresh Screen
@@ -6242,3 +6243,96 @@
appropriate mirrored character in the reordered text. Lisp programs
can affect the mirrored display by changing this property. Again, any
such changes affect all of Emacs display.
+
address@hidden Glyphless Chars
address@hidden Glyphless Character Display
address@hidden glyphless characters
+
+ @dfn{Glyphless characters} are not displayed in the usual way when
+they appear in a buffer, but in some special way (e.g. as a box
+containing a hexadecimal code). These include characters that cannot
+be displayed with any available font (on a graphical display), or that
+cannot be encoded by the terminal's coding system (on a text-only
+terminal). Specific characters can also be defined to be glyphless.
+
address@hidden glyphless-char-display
+The value of this variable is a char-table that defines glyphless
+characters and how they are displayed. If an entry is @code{nil}, the
+corresponding character is displayed in its usual way. Otherwise, an
+entry should be one of the following display methods:
+
address@hidden @asis
address@hidden @code{zero-width}
+Don't display the character.
+
address@hidden @code{thin-space}
+Display a thin space, 1-pixel wide on graphical displays, or
+1-character wide on text-only terminals.
+
address@hidden @code{empty-box}
+Display an empty box.
+
address@hidden @code{hex-code}
+Display a box containing the Unicode codepoint of the character, in
+hexadecimal notation.
+
address@hidden an @acronym{ASCII} string
+Display a box containing that string.
address@hidden table
+
address@hidden
+Except for @code{zero-width}, these methods display using the
address@hidden face.
+
+An entry can also be a cons cell @code{(@var{graphical}
+. @var{text})}, where @var{graphical} and @var{text} are the display
+methods on graphical displays and text-only terminals respectively.
+
+The char-table has one extra slot, which determines how to display any
+character that cannot be displayed with any available font, or cannot
+be encoded by the terminal's coding system. Its value should be one
+of the above display methods, except @code{zero-width} or a cons cell.
address@hidden defvar
+
address@hidden glyphless-char-display-control
+This user option provides a convenient way to set
address@hidden for groups of similar characters. It
+takes effect via a custom @code{:set} function (@pxref{Variable
+Definitions}), which update @code{glyphless-char-display}.
+
+Its value should be an alist of elements @code{(@var{group}
+. @var{method})}, where @var{group} is a symbol specifying a group of
+characters, and @var{method} is a symbol specifying how to display
+them.
+
address@hidden should be one of the following:
+
address@hidden @code
address@hidden c0-control
address@hidden control characters @code{U+0000} to @code{U+001F},
+excluding the newline and tab characters (normally displayed as escape
+sequences like @samp{^A}; @pxref{Text Display,, How Text Is Displayed,
+emacs, The GNU Emacs Manual}).
+
address@hidden c1-control
address@hidden, non-printing characters @code{U+0080} to
address@hidden (normally displayed as octal escape sequences like
address@hidden).
+
address@hidden format-control
+Characters of Unicode General Category `Cf', such as @samp{U+200E}
+(Left-to-Right Mark), but excluding characters that have graphic
+images, such as @samp{U+00AD} (Soft Hyphen).
+
address@hidden no-font
+Characters for there is no suitable font, or which cannot be encoded
+by the terminal's coding system.
address@hidden table
+
address@hidden FIXME: this can also be `acronym', but that's not currently
address@hidden completely implemented; it applies only to the format-control
address@hidden group, and only works if the acronym is in `char-acronym-table'.
+The @var{method} symbol should be one of @code{zero-width},
address@hidden, @code{empty-box}, or @code{hex-code}. These have
+the same meanings as in @code{glyphless-char-display}, above.
address@hidden defopt
=== modified file 'doc/lispref/elisp.texi'
--- a/doc/lispref/elisp.texi 2011-09-25 15:08:25 +0000
+++ b/doc/lispref/elisp.texi 2011-10-18 01:42:28 +0000
@@ -1278,6 +1278,9 @@
* Display Tables:: How to specify other conventions.
* Beeping:: Audible signal to the user.
* Window Systems:: Which window system is being used.
+* Bidirectional Display:: Display of bidirectional scripts, such as
+ Arabic and Farsi.
+* Glyphless Chars:: How glyphless characters are drawn.
The Echo Area
=== modified file 'doc/lispref/vol1.texi'
--- a/doc/lispref/vol1.texi 2011-09-25 03:32:51 +0000
+++ b/doc/lispref/vol1.texi 2011-10-18 01:42:28 +0000
@@ -1299,6 +1299,9 @@
* Display Tables:: How to specify other conventions.
* Beeping:: Audible signal to the user.
* Window Systems:: Which window system is being used.
+* Bidirectional Display:: Display of bidirectional scripts, such as
+ Arabic and Farsi.
+* Glyphless Chars:: How glyphless characters are drawn.
The Echo Area
=== modified file 'doc/lispref/vol2.texi'
--- a/doc/lispref/vol2.texi 2011-09-25 03:32:51 +0000
+++ b/doc/lispref/vol2.texi 2011-10-18 01:42:28 +0000
@@ -1298,6 +1298,9 @@
* Display Tables:: How to specify other conventions.
* Beeping:: Audible signal to the user.
* Window Systems:: Which window system is being used.
+* Bidirectional Display:: Display of bidirectional scripts, such as
+ Arabic and Farsi.
+* Glyphless Chars:: How glyphless characters are drawn.
The Echo Area
=== modified file 'etc/NEWS'
--- a/etc/NEWS 2011-10-17 22:21:48 +0000
+++ b/etc/NEWS 2011-10-18 01:42:28 +0000
@@ -236,10 +236,10 @@
The frame-parameter tool-bar-position controls this. It takes the values
top, left, right or bottom. The Options => Show/Hide menu has entries
for this.
-
++++
*** The colors for selected text (the `region' face) are taken from
the GTK theme when Emacs is built with GTK.
-
++++
*** Emacs uses GTK tooltips by default if built with GTK. You can turn that
off by customizing x-gtk-use-system-tooltips.
@@ -1146,6 +1146,7 @@
*** New variable `completing-read-function' allows overriding the
behavior of `completing-read'.
++++
** `glyphless-char-display' can now distinguish between graphical and
text terminal display, via a char-table entry that is a cons cell.
@@ -1311,7 +1312,7 @@
*** `byte-compile-disable-print-circle' is obsolete.
*** `deferred-action-list' and `deferred-action-function' are obsolete.
-
++++
*** `font-lock-maximum-size' is obsolete.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r106110: Edits to Display chapter of Emacs manual.,
Chong Yidong <=