Mercurial > emacs
changeset 75762:a57328de9ea2
(calculator): Adjust previous adjustment.
author | Jay Belanger <jay.p.belanger@gmail.com> |
---|---|
date | Sat, 10 Feb 2007 22:25:51 +0000 |
parents | 7eb1181ffb91 |
children | a188fe783bbe |
files | lisp/calculator.el |
diffstat | 1 files changed, 33 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calculator.el Sat Feb 10 22:25:03 2007 +0000 +++ b/lisp/calculator.el Sat Feb 10 22:25:51 2007 +0000 @@ -738,29 +738,39 @@ ;; If the modeline might interfere with the calculator buffer, ;; use 3 lines instead. (if (and (fboundp 'face-attr-construct) - ;; If the modeline is shorter than the default, - ;; stick with 2 lines. (It may be necessary to - ;; check how much shorter.) - (let ((dh (plist-get (face-attr-construct 'default) :height)) - (mh (plist-get (face-attr-construct 'modeline) :height))) - (not - (or (and (integerp dh) - (integerp mh) - (< mh dh)) - (and (numberp mh) - (not (integerp mh)) - (< mh 1))))) - (or - ;; If the modeline has a box with non-negative line-width, - ;; use 3 lines. - (let* ((bx (plist-get (face-attr-construct 'modeline) :box)) - (lh (plist-get bx :line-width))) - (and bx - (or - (not lh) - (> lh 0)))) - ;; If the modeline has an overline, use 3 lines. - (plist-get (face-attr-construct 'modeline) :overline))) + (let* ((dh (plist-get (face-attr-construct 'default) :height)) + (mf (face-attr-construct 'modeline)) + (mh (plist-get mf :height))) + ;; If the modeline is shorter than the default, + ;; stick with 2 lines. (It may be necessary to + ;; check how much shorter.) + (and + (not + (or (and (integerp dh) + (integerp mh) + (< mh dh)) + (and (numberp mh) + (not (integerp mh)) + (< mh 1)))) + (or + ;; If the modeline is taller than the default, + ;; use 3 lines. + (and (integerp dh) + (integerp mh) + (> mh dh)) + (and (numberp mh) + (not (integerp mh)) + (> mh 1)) + ;; If the modeline has a box with non-negative line-width, + ;; use 3 lines. + (let* ((bx (plist-get mf :box)) + (lh (plist-get bx :line-width))) + (and bx + (or + (not lh) + (> lh 0)))) + ;; If the modeline has an overline, use 3 lines. + (plist-get (face-attr-construct 'modeline) :overline))))) -3 -2))) (switch-to-buffer calculator-buffer))) ((not (eq (current-buffer) calculator-buffer))