]> git.eshelyaron.com Git - emacs.git/commitdiff
(calculator): Adjust previous adjustment.
authorJay Belanger <jay.p.belanger@gmail.com>
Sat, 10 Feb 2007 22:25:51 +0000 (22:25 +0000)
committerJay Belanger <jay.p.belanger@gmail.com>
Sat, 10 Feb 2007 22:25:51 +0000 (22:25 +0000)
lisp/calculator.el

index a5e527eed2039f6123d0277313b24473c143c2ff..98fd5634663ee7e83095596a01fad65f1b0c5f9d 100644 (file)
@@ -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))