emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32fns.c,v


From: Eli Zaretskii
Subject: [Emacs-diffs] Changes to emacs/src/w32fns.c,v
Date: Fri, 04 Aug 2006 11:36:03 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Eli Zaretskii <eliz>    06/08/04 11:36:02

Index: w32fns.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/w32fns.c,v
retrieving revision 1.273
retrieving revision 1.274
diff -u -b -r1.273 -r1.274
--- w32fns.c    4 Aug 2006 02:49:58 -0000       1.273
+++ w32fns.c    4 Aug 2006 11:36:02 -0000       1.274
@@ -2066,7 +2066,8 @@
 {
   HWND hwnd;
   RECT rect;
-  Lisp_Object top, left;
+  Lisp_Object top = Qunbound;
+  Lisp_Object left = Qunbound;
 
   rect.left = rect.top = 0;
   rect.right = FRAME_PIXEL_WIDTH (f);
@@ -2079,13 +2080,41 @@
 
   if (!hprevinst)
     {
+      Lisp_Object ifa;
+
       w32_init_class (hinst);
+
+      /* Handle the -geometry command line option and the geometry
+        settings in the registry.  They are decoded and put into
+        initial-frame-alist by w32-win.el:x-handle-geometry.  */
+      ifa = Fsymbol_value (intern ("initial-frame-alist"));
+      if (CONSP (ifa))
+       {
+         Lisp_Object lt = Fassq (Qleft, ifa);
+         Lisp_Object tp = Fassq (Qtop,  ifa);
+
+         if (!NILP (lt))
+           {
+             lt = XCDR (lt);
+             if (INTEGERP (lt))
+               left = lt;
+           }
+         if (!NILP (tp))
+           {
+             tp = XCDR (tp);
+             if (INTEGERP (tp))
+               top = tp;
+           }
+       }
     }
 
+  if (EQ (left, Qunbound) && EQ (top, Qunbound))
+    {
   /* When called with RES_TYPE_NUMBER, w32_get_arg will return zero
      for anything that is not a number and is not Qunbound.  */
   left = w32_get_arg (Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER);
   top = w32_get_arg (Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER);
+    }
 
   FRAME_W32_WINDOW (f) = hwnd
     = CreateWindow (EMACS_CLASS,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]