diff options
| author | Karoly Lorentey | 2004-12-23 16:43:51 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-12-23 16:43:51 +0000 |
| commit | 17d51b68fb4e7da4f18eff72c589b7ffc4f9c22c (patch) | |
| tree | f490c1ccdbd43077ea77f953bc59ca94c2fe810c /lispref | |
| parent | 4b89585ee70a1f64543a5851f07cf7e2d89c5c62 (diff) | |
| parent | 55f4edbcd246d8ea1715687a7aeeb3afe35c0345 (diff) | |
| download | emacs-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/ChangeLog | 23 | ||||
| -rw-r--r-- | lispref/commands.texi | 12 | ||||
| -rw-r--r-- | lispref/display.texi | 102 | ||||
| -rw-r--r-- | lispref/frames.texi | 19 | ||||
| -rw-r--r-- | lispref/locals.texi | 4 | ||||
| -rw-r--r-- | lispref/text.texi | 36 |
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 @@ | |||
| 1 | 2004-12-21 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * commands.texi (Event Input Misc): Add while-no-input. | ||
| 4 | |||
| 5 | 2004-12-11 Richard M. Stallman <rms@gnu.org> | ||
| 6 | |||
| 7 | * display.texi (Line Height): Rewrite text for clarity. | ||
| 8 | |||
| 9 | 2004-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 | |||
| 1 | 2004-12-09 Thien-Thi Nguyen <ttn@gnu.org> | 24 | 2004-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 | |||
| 2388 | Emacs version 18. | 2388 | Emacs version 18. |
| 2389 | @end defvar | 2389 | @end defvar |
| 2390 | 2390 | ||
| 2391 | @defmac while-no-input body... | ||
| 2392 | This construct runs the @var{body} forms and returns the value | ||
| 2393 | of the last one---but only if no input arrives. If any input | ||
| 2394 | arrives during the execution of the @var{body} forms, it aborts | ||
| 2395 | them (working much like a quit), and the @code{while-no-input} | ||
| 2396 | form returns @code{nil}. | ||
| 2397 | |||
| 2398 | If a part of @var{body} binds @code{inhibit-quit} to non-@code{nil}, | ||
| 2399 | arrival of input during those parts won't cause an abort until | ||
| 2400 | the 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 | ||
| 1519 | contents of the line, and additional vertical line spacing below the | ||
| 1520 | display row. | ||
| 1521 | |||
| 1522 | The height of the line contents is normally determined from the | ||
| 1523 | maximum height of any character or image on that display line, | ||
| 1524 | including the final newline if there is one. (A line that is | ||
| 1525 | continued doesn't include a final newline.) In the most common case, | ||
| 1526 | the line height equals the height of the default frame font. | ||
| 1527 | |||
| 1528 | There are several ways to explicitly control or change the line | ||
| 1529 | height, either by specifying an absolute height for the display line, | ||
| 1530 | or 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 | ||
| 1534 | that controls the total height of the display line ending in that | ||
| 1535 | newline. If the property value is zero, the displayed height of the | ||
| 1536 | line is exactly what its contents need; no line-spacing is added. | ||
| 1537 | This case is useful for tiling small images or image slices without | ||
| 1538 | adding 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} | ||
| 1545 | If the property is a positive integer, @var{line-height} is that integer. | ||
| 1546 | @item @var{float} | ||
| 1547 | If the property is a float, @var{float}, @var{line-height} is @var{float} | ||
| 1548 | times the frame's default line height. | ||
| 1549 | @item (@var{ratio} . @var{face}) | ||
| 1550 | If 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 | ||
| 1552 | any type of number. If @var{face} is @code{t}, it refers to the | ||
| 1553 | current 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 | ||
| 1558 | is less than @var{line-height}, Emacs adds extra vertical space above | ||
| 1559 | the 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 | ||
| 1563 | height 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}. | ||
| 1568 | However, if the variable @code{default-line-spacing} is | ||
| 1569 | non-@code{nil}, it overrides the frame's @code{line-spacing} | ||
| 1570 | parameter. An integer value specifies the number of pixels put below | ||
| 1571 | lines on window systems. A floating point number specifies the | ||
| 1572 | spacing 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 | ||
| 1576 | buffer-local @code{line-spacing} variable. An integer value specifies | ||
| 1577 | the number of pixels put below lines on window systems. A floating | ||
| 1578 | point number specifies the spacing relative to the default frame line | ||
| 1579 | height. 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 | ||
| 1583 | property that controls the height of the display line ending with that | ||
| 1584 | newline. The property value overrides the default frame line spacing | ||
| 1585 | and the buffer local @code{line-spacing} variable. | ||
| 1586 | |||
| 1587 | One way or another, these mechanisms specify a line spacing for each | ||
| 1588 | line. Let's call the value @var{line-spacing}. | ||
| 1589 | |||
| 1590 | If the @var{line-spacing} value is a positive integer, it specifies | ||
| 1591 | the number of pixels of additional vertical space. This space appears | ||
| 1592 | below the display line contents. | ||
| 1593 | |||
| 1594 | If the @var{line-spacing} value is a floating point number or cons, | ||
| 1595 | the additional vertical space is @var{line-spacing} times the frame | ||
| 1596 | default 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})} | ||
| 1600 | where @var{spacing} is any of the forms described above, the value of | ||
| 1601 | @var{spacing} specifies the total displayed height of the line, | ||
| 1602 | regardless of the height of the characters in it. This is equivalent | ||
| 1603 | to 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} |
| 2827 | meaning the default). @xref{Window Frame Parameters}. | 2920 | meaning the default). @xref{Window Frame Parameters}. |
| 2828 | 2921 | ||
| 2829 | You 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, | ||
| 2924 | by setting the variable @code{vertical-scroll-bar}. This variable | ||
| 2925 | automatically becomes buffer-local when set. The possible values are | ||
| 2926 | @code{left}, @code{right}, @code{t}, which means to use the | ||
| 2927 | frame'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 | ||
| 609 | When this permanently buffer-local variable is non-nil, if its value is | ||
| 610 | an integer, that many pixels of extra space are put below each line. If | ||
| 611 | the value is a floating point number, compute the spacing by multiplying | ||
| 612 | the value by the default frame line height. | ||
| 613 | |||
| 614 | Note that this variable and the frame parameter @code{line-spacing} | ||
| 615 | (described above) control different things. The frame parameter is | ||
| 616 | involved in setting the frame line height (@pxref{Creating Frames}), | ||
| 617 | while the buffer-local variable is for already-created frames. | ||
| 618 | |||
| 619 | For 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 | ||
| 621 | an 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 | ||
| 623 | frame parameter is 10, a variable value of 10 would effectively put 20 | ||
| 624 | pixels of space under the text. | ||
| 625 | @end defvar | ||
| 626 | |||
| 627 | @defvar blink-cursor-alist | 608 | @defvar blink-cursor-alist |
| 628 | This variable specifies how to blink the cursor. Each element has the | 609 | This variable specifies how to blink the cursor. Each element has the |
| 629 | form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor | 610 | form @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. | |||
| 3002 | A newline can have a @code{line-spacing} text or overlay property that | 3002 | A newline can have a @code{line-spacing} text or overlay property that |
| 3003 | controls the height of the display line ending with that newline. The | 3003 | controls the height of the display line ending with that newline. The |
| 3004 | property value overrides the default frame line spacing and the buffer | 3004 | property value overrides the default frame line spacing and the buffer |
| 3005 | local @code{line-spacing} variable. We will call the property value | 3005 | local @code{line-spacing} variable. @xref{Line Height}. |
| 3006 | @var{line-spacing}. | ||
| 3007 | |||
| 3008 | If @var{line-spacing} is a positive integer, the value specifies | ||
| 3009 | additional vertical space, below the display line, in pixels. | ||
| 3010 | |||
| 3011 | If @var{line-spacing} is a floating point number or cons, the | ||
| 3012 | additional vertical space is the product of @var{line-spacing} and the | ||
| 3013 | default frame line height. | ||
| 3014 | |||
| 3015 | If the @var{line-spacing} value is a cons @code{(total . | ||
| 3016 | @var{spacing})} where @var{spacing} is any of the forms described | ||
| 3017 | above, the value of @var{spacing} specifies the total displayed height | ||
| 3018 | of the line, regardless of the height of the characters in it. This | ||
| 3019 | is 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)} |
| 3023 | A newline can have a @code{line-height} text or overlay property that | 3009 | A newline can have a @code{line-height} text or overlay property that |
| 3024 | controls the total height of the display line ending in that newline. | 3010 | controls the total height of the display line ending in that newline. |
| 3025 | We will call the property value @var{line-height}. | 3011 | @xref{Line Height}. |
| 3026 | |||
| 3027 | If @var{line-height} is 0, the height of the line is determined solely | ||
| 3028 | from its contents; nothing is added. Any @code{line-spacing} property | ||
| 3029 | on this newline is ignored. This case is useful for tiling small | ||
| 3030 | images or image slices without adding blank areas between the images. | ||
| 3031 | |||
| 3032 | If @var{line-height} is a positive integer, the value specifies the | ||
| 3033 | minimum line height in pixels. The line's ascent height is | ||
| 3034 | increased as necessary to achieve the specified height. | ||
| 3035 | |||
| 3036 | If @var{line-height} is a floating point number, the minimum line | ||
| 3037 | height is the product of @var{line-height} and the default frame line | ||
| 3038 | height. | ||
| 3039 | |||
| 3040 | If @var{line-height} is a cons @code{(@var{ratio} . @var{face})}, the | ||
| 3041 | minimum line height is calculated as @var{ratio} times the height of | ||
| 3042 | face @var{face}. The @var{ratio} is an integer or a floating point | ||
| 3043 | number. 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 |