]> code.delx.au - gnu-emacs/blobdiff - lispref/display.texi
(calendar-mouse-view-other-diary-entries): Fix name
[gnu-emacs] / lispref / display.texi
index 4f218de4b1b89ba2e163e5978c2bb77dc2018660..70b2524147ce084ddd5d9ee36284fb284aaaa42c 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001
 @c   Free Software Foundation, Inc. 
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/display
@@ -841,7 +841,7 @@ the range of the overlay.
 @kindex display @r{(overlay property)}
 This property activates various features that change the
 way text is displayed.  For example, it can make text appear taller
-or shorter, higher or lower, wider or narror, or replaced with an image.
+or shorter, higher or lower, wider or narrower, or replaced with an image.
 @xref{Display Property}.
 
 @item help-echo
@@ -1065,7 +1065,7 @@ overlays that specify property @var{prop} for the character at point:
   (let ((overlays (overlays-at (point)))
         found)
     (while overlays
-      (let ((overlay (cdr overlays)))
+      (let ((overlay (car overlays)))
         (if (overlay-get overlay prop)
             (setq found (cons overlay found))))
       (setq overlays (cdr overlays)))
@@ -1278,12 +1278,12 @@ one.
 @kindex underline @r{(face name)}
 This face underlines text.
 
-@item fixed-patch
-@kindex fixed-patch @r{(face name)}
+@item fixed-pitch
+@kindex fixed-pitch @r{(face name)}
 This face forces use of a particular fixed-width font.
 
-@item variable-patch
-@kindex variable-patch @r{(face name)}
+@item variable-pitch
+@kindex variable-pitch @r{(face name)}
 This face forces use of a particular variable-width font.  It's
 reasonable to customize this to use a different variable-width font, if
 you like, but you should not make it a fixed-width font.
@@ -2278,6 +2278,10 @@ instead of the text that has the display specification, at the same
 position as that text.  This is a special case of marginal display
 (@pxref{Display Margins}).
 
+Recursive display specifications are not supported, i.e.@: string
+display specifications that have a display specification property
+themselves.
+
 @item (space-width @var{factor})
 This display specification affects all the space characters within the
 text that has the specification.  It displays all of these spaces
@@ -2367,11 +2371,11 @@ Thus, you can make changes take effect by calling
 
   You can also set the margin widths immediately.
 
-@defun set-window-margins window left right
+@defun set-window-margins window left &optional right
 @tindex set-window-margins
 This function specifies the margin widths for window @var{window}.
 The argument @var{left} controls the left margin and 
-@var{right} controls the right margin.
+@var{right} controls the right margin (default @code{0}).
 @end defun
 
 @defun window-margins &optional window
@@ -2389,8 +2393,12 @@ If @var{window} is @code{nil}, the selected window is used.
 package it in another list of the form @code{(when @var{condition} .
 @var{spec})}.  Then the specification @var{spec} applies only when
 @var{condition} evaluates to a non-@code{nil} value.  During the
-evaluation, point is temporarily set at the end position of the text
-having this conditional display specification.
+evaluation, @code{object} is bound to the string or buffer having the
+conditional @code{display} property.  @code{position} and
+@code{buffer-position} are bound to the position within @code{object}
+and the buffer position where the @code{display} property was found,
+respectively.  Both positions can be different when @code{object} is a
+string.
 
 @node Images
 @section Images
@@ -2450,6 +2458,31 @@ XPM format.
 types:
 
 @table @code
+@item :file @var{file}
+The @code{:file} property specifies to load the image from file
+@var{file}.  If @var{file} is not an absolute file name, it is expanded
+in @code{data-directory}.
+
+@item :data @var{data}
+The @code{:data} property specifies the actual contents of the image.
+Each image must use either @code{:data} or @code{:file}, but not both.
+For most image types, the value of the @code{:data} property should be a
+string containing the image data; we recommend using a unibyte string.
+
+Before using @code{:data}, look for further information in the section
+below describing the specific image format.  For some image types,
+@code{:data} may not be supported; for some, it allows other data types;
+for some, @code{:data} alone is not enough, so you need to use other
+image properties along with @code{:data}.
+
+@item :margin @var{margin}
+The @code{:margin} property specifies how many pixels to add as an
+extra margin around the image.  The value, @var{margin}, must be a a
+non-negative number, or a pair @code{(@var{x} . @var{y})} of such
+numbers.  If it is a pair, @var{x} specifies how many pixels to add
+horizontally, and @var{y} specifies how many pixels to add vertically.
+If @code{:margin} is not specified, the default is zero.
+
 @item :ascent @var{ascent}
 The @code{:ascent} property specifies the amount of the image's
 height to use for its ascent---that is, the part above the baseline.
@@ -2466,14 +2499,6 @@ properties and overlays that apply to the image.
 
 If this property is omitted, it defaults to 50.
 
-@item :margin @var{margin}
-The @code{:margin} property specifies how many pixels to add as an
-extra margin around the image.  The value, @var{margin}, must be a a
-non-negative number, or a pair @code{(@var{x} . @var{y})} of such
-numbers.  If it is a pair, @var{x} specifies how many pixels to add
-horizontally, and @var{y} specifies how many pixels to add vertically.
-If @code{:margin} is not specified, the default is zero.
-
 @item :relief @var{relief}
 The @code{:relief} property, if non-@code{nil}, adds a shadow rectangle
 around the image.  The value, @var{relief}, specifies the width of the
@@ -2481,8 +2506,8 @@ shadow lines, in pixels.  If @var{relief} is negative, shadows are drawn
 so that the image appears as a pressed button; otherwise, it appears as
 an unpressed button.
 
-@item :algorithm @var{algorithm}
-The @code{:algorithm} property, if non-@code{nil}, specifies a
+@item :conversion @var{algorithm}
+The @code{:conversion} property, if non-@code{nil}, specifies a
 conversion algorithm that should be applied to the image before it is
 displayed; the value, @var{algorithm}, specifies which algorithm.
 
@@ -2572,23 +2597,6 @@ specifying the color to assume for the background of the image.
 If @var{mask} is nil, remove a mask from the image, if it has one.  Images
 in some formats include a mask which can be removed by specifying
 @code{:mask nil}.
-
-@item :file @var{file}
-The @code{:file} property specifies to load the image from file
-@var{file}.  If @var{file} is not an absolute file name, it is expanded
-in @code{data-directory}.
-
-@item :data @var{data}
-The @code{:data} property specifies the actual contents of the image.
-Each image must use either @code{:data} or @code{:file}, but not both.
-For most image types, the value of the @code{:data} property should be a
-string containing the image data; we recommend using a unibyte string.
-
-Before using @code{:data}, look for further information in the section
-below describing the specific image format.  For some image types,
-@code{:data} may not be supported; for some, it allows other data types;
-for some, @code{:data} alone is not enough, so you need to use other
-image properties along with @code{:data}.
 @end table
 
 @defun image-mask-p spec &optional frame
@@ -2611,13 +2619,15 @@ always supported.
 @table @code
 @item :foreground @var{foreground}
 The value, @var{foreground}, should be a string specifying the image
-foreground color.  This color is used for each pixel in the XBM that is
-1.  The default is the frame's foreground color.
+foreground color, or @code{nil} for the default color.  This color is
+used for each pixel in the XBM that is 1.  The default is the frame's
+foreground color.
 
 @item :background @var{background}
 The value, @var{background}, should be a string specifying the image
-background color.  This color is used for each pixel in the XBM that is
-0.  The default is the frame's background color.
+background color, or @code{nil} for the default color.  This color is
+used for each pixel in the XBM that is 0.  The default is the frame's
+background color.
 @end table
 
   If you specify an XBM image using data within Emacs instead of an
@@ -2754,13 +2764,15 @@ image properties are supported.
 @table @code
 @item :foreground @var{foreground}
 The value, @var{foreground}, should be a string specifying the image
-foreground color.  This color is used for each pixel in the XBM that is
-1.  The default is the frame's foreground color.
+foreground color, or @code{nil} for the default color.  This color is
+used for each pixel in the XBM that is 1.  The default is the frame's
+foreground color.
 
 @item :background @var{background}
 The value, @var{background}, should be a string specifying the image
-background color.  This color is used for each pixel in the XBM that is
-0.  The default is the frame's background color.
+background color, or @code{nil} for the default color.  This color is
+used for each pixel in the XBM that is 0.  The default is the frame's
+background color.
 @end table
 
   For JPEG images, specify image type @code{jpeg}.