changeset 95839:564317b2d075

(dframe-reposition-frame-emacs): Reorder test, and use unless. (x-display-pixel-width, x-display-pixel-height): Define for compiler, for builds without X.
author Glenn Morris <rgm@gnu.org>
date Thu, 12 Jun 2008 03:53:47 +0000
parents e7b40b183291
children 0e3c2e18b9c3
files lisp/dframe.el
diffstat 1 files changed, 19 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/dframe.el	Thu Jun 12 03:53:07 2008 +0000
+++ b/lisp/dframe.el	Thu Jun 12 03:53:47 2008 +0000
@@ -417,22 +417,24 @@
       (dframe-reposition-frame-xemacs new-frame parent-frame location)
     (dframe-reposition-frame-emacs new-frame parent-frame location)))
 
+;; Not defined in builds without X, but behind window-system test.
+(declare-function x-display-pixel-width "xfns.c" (&optional terminal))
+(declare-function x-display-pixel-height "xfns.c" (&optional terminal))
+
 (defun dframe-reposition-frame-emacs (new-frame parent-frame location)
   "Move NEW-FRAME to be relative to PARENT-FRAME.
 LOCATION can be one of 'random, 'left-right, 'top-bottom, or
 a cons cell indicationg a position of the form (LEFT . TOP)."
-  (let* ((pfx (dframe-frame-parameter parent-frame 'left))
-	 (pfy (dframe-frame-parameter parent-frame 'top))
-	 (pfw (frame-pixel-width parent-frame))
-	 (pfh (frame-pixel-height parent-frame))
-	 (nfw (frame-pixel-width new-frame))
-	 (nfh (frame-pixel-height new-frame))
-	 newleft newtop
-	 )
-    ;; Position dframe.
-    (if (or (not window-system) (eq window-system 'pc))
-	;; Do no positioning if not on a windowing system,
-	nil
+  ;; Position dframe.
+  ;; Do no positioning if not on a windowing system,
+  (unless (or (not window-system) (eq window-system 'pc))
+    (let* ((pfx (dframe-frame-parameter parent-frame 'left))
+	   (pfy (dframe-frame-parameter parent-frame 'top))
+	   (pfw (frame-pixel-width parent-frame))
+	   (pfh (frame-pixel-height parent-frame))
+	   (nfw (frame-pixel-width new-frame))
+	   (nfh (frame-pixel-height new-frame))
+	   newleft newtop)
       ;; Rebuild pfx,pfy to be absolute positions.
       (setq pfx (if (not (consp pfx))
 		    pfx
@@ -455,8 +457,7 @@
 		      ;; A - means distance from the right edge
 		      ;; of the display, or DW - pfx - framewidth
 		      (- (x-display-pixel-height) (car (cdr pfy)) pfh)
-		    (car (cdr pfy))))
-	    )
+		    (car (cdr pfy)))))
       (cond ((eq location 'right)
 	     (setq newleft (+ pfx pfw 5)
 		   newtop pfy))
@@ -479,8 +480,7 @@
 			   ;; otherwise choose side we overlap less
 			   ((> left-margin right-margin) 0)
 			   (t (- (x-display-pixel-width) nfw 5))))
-		   newtop pfy
-		   ))
+		   newtop pfy))
 	    ((eq location 'top-bottom)
 	     (setq newleft pfx
 		   newtop
@@ -494,15 +494,14 @@
 			   ((>= bottom-margin 0) bottom-guess)
 			   ;; Choose a side to overlap the least.
 			   ((> top-margin bottom-margin) 0)
-			   (t (- (x-display-pixel-height) nfh 5)))))
-	     )
+			   (t (- (x-display-pixel-height) nfh 5))))))
 	    ((consp location)
 	     (setq newleft (or (car location) 0)
 		   newtop (or (cdr location) 0)))
 	    (t nil))
       (modify-frame-parameters new-frame
-       (list (cons 'left newleft)
-	     (cons 'top newtop))))))
+			       (list (cons 'left newleft)
+				     (cons 'top newtop))))))
 
 (defun dframe-reposition-frame-xemacs (new-frame parent-frame location)
   "Move NEW-FRAME to be relative to PARENT-FRAME.