From 0098d2be699960c3d566331429174f8466dd50be Mon Sep 17 00:00:00 2001 From: Jay Belanger Date: Sat, 10 Feb 2007 22:25:51 +0000 Subject: (calculator): Adjust previous adjustment. --- lisp/calculator.el | 56 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 23 deletions(-) (limited to 'lisp') diff --git a/lisp/calculator.el b/lisp/calculator.el index a5e527eed20..98fd5634663 100644 --- a/lisp/calculator.el +++ b/lisp/calculator.el @@ -738,29 +738,39 @@ See the documentation for `calculator-mode' for more information." ;; 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)) -- cgit v1.2.1