]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_report_frame_params): Report top and left
authorKarl Heuer <kwzh@gnu.org>
Mon, 29 May 1995 07:12:58 +0000 (07:12 +0000)
committerKarl Heuer <kwzh@gnu.org>
Mon, 29 May 1995 07:12:58 +0000 (07:12 +0000)
in a way that represents negative offsets correctly.

src/xfns.c

index 5b125682cc8929815dff19ff6b6e4c407ef5a743..790397e8edd2d8079e5a2ff46d72dbc9792ca982 100644 (file)
@@ -981,9 +981,22 @@ x_report_frame_params (f, alistptr)
      Lisp_Object *alistptr;
 {
   char buf[16];
+  Lisp_Object tem;
+
+  /* Represent negative positions (off the top or left screen edge)
+     in a way that Fmodify_frame_parameters will understand correctly.  */
+  XSETINT (tem, f->display.x->left_pos);
+  if (f->display.x->left_pos >= 0)
+    store_in_alist (alistptr, Qleft, tem);
+  else
+    store_in_alist (alistptr, Qleft, Fcons (Qplus, Fcons (tem, Qnil)));
+
+  XSETINT (tem, f->display.x->top_pos);
+  if (f->display.x->top_pos >= 0)
+    store_in_alist (alistptr, Qtop, tem);
+  else
+    store_in_alist (alistptr, Qtop, Fcons (Qplus, Fcons (tem, Qnil)));
 
-  store_in_alist (alistptr, Qleft, make_number (f->display.x->left_pos));
-  store_in_alist (alistptr, Qtop, make_number (f->display.x->top_pos));
   store_in_alist (alistptr, Qborder_width,
                   make_number (f->display.x->border_width));
   store_in_alist (alistptr, Qinternal_border_width,