changeset 32684:303175f14c7d

(height-affecting-face-attributes): Use `defconst'.
author Miles Bader <miles@gnu.org>
date Fri, 20 Oct 2000 12:21:30 +0000
parents a676a998c839
children afd8474f34ae
files lisp/window.el
diffstat 1 files changed, 18 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/window.el	Fri Oct 20 09:23:20 2000 +0000
+++ b/lisp/window.el	Fri Oct 20 12:21:30 2000 +0000
@@ -270,10 +270,10 @@
     (split-window-save-restore-data (split-window nil size t) old-w)))
 
 (defcustom mode-line-window-height-fudge nil
-  "*Amount returned by `mode-line-window-height-fudge' on graphic displays.
-This is added to the sizes of windows in some cases to compensate for the
-extra height of mode-lines on graphic display, so they don't obscure the
-last line of text.
+  "*Fudge factor returned by `mode-line-window-height-fudge' on graphic displays.
+If non-nil, it should be the number of lines to add to the sizes of
+windows to compensate for the extra height of the mode-line, so it
+doesn't't obscure the last line of text.
 
 If nil, an attempt is made to calculate reasonable value.
 
@@ -283,13 +283,26 @@
   :group 'windows)
 
 ;; List of face attributes that might change a face's height
-(defvar height-affecting-face-attributes
+(defconst height-affecting-face-attributes
   '(:family :height :box :font :inherit))
 
 (defsubst mode-line-window-height-fudge ()
   "Return a fudge factor to compensate for the extra height of graphic mode-lines.
 On a non-graphic display, return 0.
 
+If the variable `mode-line-window-height-fudge' has a non-nil value, it
+is returned.  Otherwise, the `mode-line' face is checked to see if it
+contains any attributes that might affect its height; if it does, 1 is
+returned, otherwise 0.
+
+\[Because mode-lines on a graphics capable display may have a height
+larger than a normal text line, a window who's size is calculated to
+exactly show some text, including 1 line for the mode-line, may be
+displayed with the last text line obscured by the mode-line.
+
+To work-around this problem, call `mode-line-window-height-fudge', and
+add the return value to the requested window size.]
+
 This is a kluge."
   (if (display-graphic-p)
       (or