aboutsummaryrefslogtreecommitdiffstats
path: root/lispref
diff options
context:
space:
mode:
authorKaroly Lorentey2004-12-23 16:43:51 +0000
committerKaroly Lorentey2004-12-23 16:43:51 +0000
commit17d51b68fb4e7da4f18eff72c589b7ffc4f9c22c (patch)
treef490c1ccdbd43077ea77f953bc59ca94c2fe810c /lispref
parent4b89585ee70a1f64543a5851f07cf7e2d89c5c62 (diff)
parent55f4edbcd246d8ea1715687a7aeeb3afe35c0345 (diff)
downloademacs-17d51b68fb4e7da4f18eff72c589b7ffc4f9c22c.tar.gz
emacs-17d51b68fb4e7da4f18eff72c589b7ffc4f9c22c.zip
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-726 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-727 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-728 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-729 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-730 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-731 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-732 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-733 Update from CVS: man/calc.texi: Fix some TeX definitions. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-734 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-735 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-736 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-737 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-738 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-739 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-740 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-741 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-742 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-743 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-744 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-745 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-746 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-75 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-76 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-77 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-277
Diffstat (limited to 'lispref')
-rw-r--r--lispref/ChangeLog23
-rw-r--r--lispref/commands.texi12
-rw-r--r--lispref/display.texi102
-rw-r--r--lispref/frames.texi19
-rw-r--r--lispref/locals.texi4
-rw-r--r--lispref/text.texi36
6 files changed, 140 insertions, 56 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 2760174636b..247309624de 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,26 @@
12004-12-21 Richard M. Stallman <rms@gnu.org>
2
3 * commands.texi (Event Input Misc): Add while-no-input.
4
52004-12-11 Richard M. Stallman <rms@gnu.org>
6
7 * display.texi (Line Height): Rewrite text for clarity.
8
92004-12-11 Kim F. Storm <storm@cua.dk>
10
11 * display.texi (Display): Add node "Line Height" to menu.
12 (Line Height): New node. Move full description of line-spacing
13 and line-height text properties here from text.texi.
14 (Scroll Bars): Add vertical-scroll-bar variable.
15
16 * frames.texi (Window Frame Parameters): Remove line-height defvar.
17
18 * locals.texi (Standard Buffer-Local Variables): Fix xref for
19 line-spacing and vertical-scroll-bar.
20
21 * text.texi (Special Properties): Just mention line-spacing and
22 line-height here, add xref to new "Line Height" node.
23
12004-12-09 Thien-Thi Nguyen <ttn@gnu.org> 242004-12-09 Thien-Thi Nguyen <ttn@gnu.org>
2 25
3 * frames.texi (Window Frame Parameters): New @defvar for `line-spacing'. 26 * frames.texi (Window Frame Parameters): New @defvar for `line-spacing'.
diff --git a/lispref/commands.texi b/lispref/commands.texi
index 0144123ecb5..85e2953f102 100644
--- a/lispref/commands.texi
+++ b/lispref/commands.texi
@@ -2388,6 +2388,18 @@ The alias @code{last-input-char} exists for compatibility with
2388Emacs version 18. 2388Emacs version 18.
2389@end defvar 2389@end defvar
2390 2390
2391@defmac while-no-input body...
2392This construct runs the @var{body} forms and returns the value
2393of the last one---but only if no input arrives. If any input
2394arrives during the execution of the @var{body} forms, it aborts
2395them (working much like a quit), and the @code{while-no-input}
2396form returns @code{nil}.
2397
2398If a part of @var{body} binds @code{inhibit-quit} to non-@code{nil},
2399arrival of input during those parts won't cause an abort until
2400the end of that part.
2401@end defmac
2402
2391@defun discard-input 2403@defun discard-input
2392@cindex flush input 2404@cindex flush input
2393@cindex discard input 2405@cindex discard input
diff --git a/lispref/display.texi b/lispref/display.texi
index cd836023aac..04d478b9b2a 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -23,6 +23,7 @@ that Emacs presents to the user.
23* Temporary Displays:: Displays that go away automatically. 23* Temporary Displays:: Displays that go away automatically.
24* Overlays:: Use overlays to highlight parts of the buffer. 24* Overlays:: Use overlays to highlight parts of the buffer.
25* Width:: How wide a character or string is on the screen. 25* Width:: How wide a character or string is on the screen.
26* Line Height:: Controlling the height of lines.
26* Faces:: A face defines a graphics style for text characters: 27* Faces:: A face defines a graphics style for text characters:
27 font, colors, etc. 28 font, colors, etc.
28* Fringes:: Controlling window fringes. 29* Fringes:: Controlling window fringes.
@@ -1510,6 +1511,98 @@ the beginning of the result if one multi-column character in
1510@end example 1511@end example
1511@end defun 1512@end defun
1512 1513
1514@node Line Height
1515@section Line Height
1516@cindex line height
1517
1518 The total height of each display line consists of the height of the
1519contents of the line, and additional vertical line spacing below the
1520display row.
1521
1522 The height of the line contents is normally determined from the
1523maximum height of any character or image on that display line,
1524including the final newline if there is one. (A line that is
1525continued doesn't include a final newline.) In the most common case,
1526the line height equals the height of the default frame font.
1527
1528 There are several ways to explicitly control or change the line
1529height, either by specifying an absolute height for the display line,
1530or by adding additional vertical space below one or all lines.
1531
1532@kindex line-height @r{(text property)}
1533 A newline can have a @code{line-height} text or overlay property
1534that controls the total height of the display line ending in that
1535newline. If the property value is zero, the displayed height of the
1536line is exactly what its contents need; no line-spacing is added.
1537This case is useful for tiling small images or image slices without
1538adding blank areas between the images.
1539
1540 If the property value is not zero, it specifies a desired height,
1541@var{line-height}. There are several ways it can do this:
1542
1543@table @code
1544@item @var{integer}
1545If the property is a positive integer, @var{line-height} is that integer.
1546@item @var{float}
1547If the property is a float, @var{float}, @var{line-height} is @var{float}
1548times the frame's default line height.
1549@item (@var{ratio} . @var{face})
1550If the property is a cons of the format shown, @var{line-height} is
1551@var{ratio} times the height of face @var{face}. @var{ratio} can be
1552any type of number. If @var{face} is @code{t}, it refers to the
1553current face.
1554@end table
1555
1556 Thus, any valid nonzero property value specifies a height in pixels,
1557@var{line-height}, one way or another. If the line contents' height
1558is less than @var{line-height}, Emacs adds extra vertical space above
1559the line to achieve the total height @var{line-height}. Otherwise,
1560@var{line-height} has no effect.
1561
1562 If you don't specify the @code{line-height} propery, the line's
1563height consists of the contents' height plus the line spacing.
1564
1565@vindex default-line-spacing
1566 You can specify the line spacing for all lines in a frame with the
1567@code{line-spacing} frame parameter, @xref{Window Frame Parameters}.
1568However, if the variable @code{default-line-spacing} is
1569non-@code{nil}, it overrides the frame's @code{line-spacing}
1570parameter. An integer value specifies the number of pixels put below
1571lines on window systems. A floating point number specifies the
1572spacing relative to the frame's default line height.
1573
1574@vindex line-spacing
1575 You can specify the line spacing for all lines in a buffer via the
1576buffer-local @code{line-spacing} variable. An integer value specifies
1577the number of pixels put below lines on window systems. A floating
1578point number specifies the spacing relative to the default frame line
1579height. This overrides line spacings specified for the frame.
1580
1581@kindex line-spacing @r{(text property)}
1582 Finally, a newline can have a @code{line-spacing} text or overlay
1583property that controls the height of the display line ending with that
1584newline. The property value overrides the default frame line spacing
1585and the buffer local @code{line-spacing} variable.
1586
1587 One way or another, these mechanisms specify a line spacing for each
1588line. Let's call the value @var{line-spacing}.
1589
1590 If the @var{line-spacing} value is a positive integer, it specifies
1591the number of pixels of additional vertical space. This space appears
1592below the display line contents.
1593
1594 If the @var{line-spacing} value is a floating point number or cons,
1595the additional vertical space is @var{line-spacing} times the frame
1596default line height.
1597
1598@ignore @c I think we may want to delete this, so don't document it -- rms.
1599 If the @var{line-spacing} value is a cons @code{(total . @var{spacing})}
1600where @var{spacing} is any of the forms described above, the value of
1601@var{spacing} specifies the total displayed height of the line,
1602regardless of the height of the characters in it. This is equivalent
1603to using the @code{line-height} property.
1604@end ignore
1605
1513@node Faces 1606@node Faces
1514@section Faces 1607@section Faces
1515@cindex faces 1608@cindex faces
@@ -2826,7 +2919,14 @@ non-@code{nil} parameter value means they do. The frame parameter
2826@code{scroll-bar-width} specifies how wide they are (@code{nil} 2919@code{scroll-bar-width} specifies how wide they are (@code{nil}
2827meaning the default). @xref{Window Frame Parameters}. 2920meaning the default). @xref{Window Frame Parameters}.
2828 2921
2829You can also control this for individual windows. Call the function 2922@vindex vertical-scroll-bar
2923 You can enable or disable scroll bars for a particular buffer,
2924by setting the variable @code{vertical-scroll-bar}. This variable
2925automatically becomes buffer-local when set. The possible values are
2926@code{left}, @code{right}, @code{t}, which means to use the
2927frame's default, and @code{nil} for no scroll bar.
2928
2929 You can also control this for individual windows. Call the function
2830@code{set-window-scroll-bars} to specify what to do for a specific window: 2930@code{set-window-scroll-bars} to specify what to do for a specific window:
2831 2931
2832@defun set-window-scroll-bars window width &optional vertical-type horizontal-type 2932@defun set-window-scroll-bars window width &optional vertical-type horizontal-type
diff --git a/lispref/frames.texi b/lispref/frames.texi
index e3e92c621e9..655232a8869 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -605,25 +605,6 @@ it and see if it works.)
605@end ignore 605@end ignore
606@end table 606@end table
607 607
608@defvar line-spacing
609When this permanently buffer-local variable is non-nil, if its value is
610an integer, that many pixels of extra space are put below each line. If
611the value is a floating point number, compute the spacing by multiplying
612the value by the default frame line height.
613
614Note that this variable and the frame parameter @code{line-spacing}
615(described above) control different things. The frame parameter is
616involved in setting the frame line height (@pxref{Creating Frames}),
617while the buffer-local variable is for already-created frames.
618
619For example, if the frame parameter is nil, a variable value of 1.0
620``double-spaces'' the display because for every line of text, there is
621an additional full line of space put below it. Likewise, a value of 2.0
622``triple-spaces'' the display, and so forth. If, on the other hand, the
623frame parameter is 10, a variable value of 10 would effectively put 20
624pixels of space under the text.
625@end defvar
626
627@defvar blink-cursor-alist 608@defvar blink-cursor-alist
628This variable specifies how to blink the cursor. Each element has the 609This variable specifies how to blink the cursor. Each element has the
629form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor 610form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor
diff --git a/lispref/locals.texi b/lispref/locals.texi
index 1530a318c56..942baa9dd1b 100644
--- a/lispref/locals.texi
+++ b/lispref/locals.texi
@@ -132,7 +132,7 @@ Does not work yet.
132@xref{Display Margins}. 132@xref{Display Margins}.
133 133
134@item line-spacing 134@item line-spacing
135@xref{Window Frame Parameters}. 135@xref{Line Height}.
136 136
137@item local-abbrev-table 137@item local-abbrev-table
138@xref{Abbrevs}. 138@xref{Abbrevs}.
@@ -198,7 +198,7 @@ Used for communication between mouse commands and scroll-bar commands.
198@xref{Mode Line Variables}. 198@xref{Mode Line Variables}.
199 199
200@item vertical-scroll-bar 200@item vertical-scroll-bar
201@xref{Yet to be written}. 201@xref{Scroll Bars}.
202@end table 202@end table
203 203
204@ignore 204@ignore
diff --git a/lispref/text.texi b/lispref/text.texi
index 55d931699bf..1daad58ee7f 100644
--- a/lispref/text.texi
+++ b/lispref/text.texi
@@ -3002,45 +3002,13 @@ for possible pointer shapes.
3002A newline can have a @code{line-spacing} text or overlay property that 3002A newline can have a @code{line-spacing} text or overlay property that
3003controls the height of the display line ending with that newline. The 3003controls the height of the display line ending with that newline. The
3004property value overrides the default frame line spacing and the buffer 3004property value overrides the default frame line spacing and the buffer
3005local @code{line-spacing} variable. We will call the property value 3005local @code{line-spacing} variable. @xref{Line Height}.
3006@var{line-spacing}.
3007
3008If @var{line-spacing} is a positive integer, the value specifies
3009additional vertical space, below the display line, in pixels.
3010
3011If @var{line-spacing} is a floating point number or cons, the
3012additional vertical space is the product of @var{line-spacing} and the
3013default frame line height.
3014
3015If the @var{line-spacing} value is a cons @code{(total .
3016@var{spacing})} where @var{spacing} is any of the forms described
3017above, the value of @var{spacing} specifies the total displayed height
3018of the line, regardless of the height of the characters in it. This
3019is equivalent to using the @code{line-height} property.
3020 3006
3021@item line-height 3007@item line-height
3022@kindex line-height @r{(text property)} 3008@kindex line-height @r{(text property)}
3023A newline can have a @code{line-height} text or overlay property that 3009A newline can have a @code{line-height} text or overlay property that
3024controls the total height of the display line ending in that newline. 3010controls the total height of the display line ending in that newline.
3025We will call the property value @var{line-height}. 3011@xref{Line Height}.
3026
3027If @var{line-height} is 0, the height of the line is determined solely
3028from its contents; nothing is added. Any @code{line-spacing} property
3029on this newline is ignored. This case is useful for tiling small
3030images or image slices without adding blank areas between the images.
3031
3032If @var{line-height} is a positive integer, the value specifies the
3033minimum line height in pixels. The line's ascent height is
3034increased as necessary to achieve the specified height.
3035
3036If @var{line-height} is a floating point number, the minimum line
3037height is the product of @var{line-height} and the default frame line
3038height.
3039
3040If @var{line-height} is a cons @code{(@var{ratio} . @var{face})}, the
3041minimum line height is calculated as @var{ratio} times the height of
3042face @var{face}. The @var{ratio} is an integer or a floating point
3043number. If @var{face} is @code{t}, it refers to the current face.
3044 3012
3045@item modification-hooks 3013@item modification-hooks
3046@cindex change hooks for a character 3014@cindex change hooks for a character