[Top][All Lists]
[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,