changeset 83016:1d7467694692

Fix initialization of the window-system variable. lisp/faces.el (x-create-frame-with-faces) (tty-create-frame-with-faces): Don't set the window-system parameter here, it seems to be unreliable. lisp/frame.el (make-frame): Don't forget to return the new frame (d'oh). src/frame.c (Qwindow_system): New symbol. (syms_of_frame): Intern it. (Fmake_terminal_frame): Initialize window-system frame parameter. src/frame.h (Qwindow_system): New declaration. src/xfns.c (Fx_create_frame, x_create_tip_frame): Initialize window-system frame parameter. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-56
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 12 Jan 2004 00:45:42 +0000
parents ae6d0d2ecb1d
children 4c6128c0d7e2
files lisp/faces.el lisp/frame.el src/frame.c src/frame.h src/xfns.c
diffstat 5 files changed, 14 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/faces.el	Sun Jan 11 23:12:24 2004 +0000
+++ b/lisp/faces.el	Mon Jan 12 00:45:42 2004 +0000
@@ -1658,7 +1658,7 @@
   (setq parameters (x-handle-named-frame-geometry parameters))
   (let ((visibility-spec (assq 'visibility parameters))
 	(frame-list (frame-list))
-	(frame (x-create-frame `((window-system . x) (visibility . nil) . ,parameters)))
+	(frame (x-create-frame `((visibility . nil) . ,parameters)))
 	success)
     (unwind-protect
 	(progn
@@ -1744,7 +1744,7 @@
 `default-frame-alist'.  If either PARAMETERS or `default-frame-alist'
 contains a `reverse' parameter, handle that.  Value is the new frame
 created."
-  (let ((frame (make-terminal-frame `((window-system . nil) . ,parameters)))
+  (let ((frame (make-terminal-frame parameters))
 	success)
     (unwind-protect
 	(progn
--- a/lisp/frame.el	Sun Jan 11 23:12:24 2004 +0000
+++ b/lisp/frame.el	Mon Jan 12 00:45:42 2004 +0000
@@ -636,7 +636,7 @@
     (unless frame-creation-function
       (error "Don't know how to create a frame on window system %s" w))
     (run-hooks 'before-make-frame-hook)
-    (funcall frame-creation-function parameters)
+    (setq frame (funcall frame-creation-function parameters))
     (run-hook-with-args 'after-make-frame-functions frame)
     frame))
 
--- a/src/frame.c	Sun Jan 11 23:12:24 2004 +0000
+++ b/src/frame.c	Mon Jan 12 00:45:42 2004 +0000
@@ -108,6 +108,7 @@
 Lisp_Object Qbuffer_predicate, Qbuffer_list;
 Lisp_Object Qtty_color_mode;
 Lisp_Object Qtty, Qtty_type;
+Lisp_Object Qwindow_system;
 
 Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth;
 
@@ -750,6 +751,7 @@
   XSETFRAME (frame, f);
   Fmodify_frame_parameters (frame, Vdefault_frame_alist);
   Fmodify_frame_parameters (frame, parms);
+  Fmodify_frame_parameters (frame, Fcons (Fcons (Qwindow_system, Qnil), Qnil));
 
   /* Make the frame face alist be frame-specific, so that each
      frame could change its face definitions independently.  */
@@ -4134,7 +4136,9 @@
   staticpro (&Qtty);
   Qtty_type = intern ("tty-type");
   staticpro (&Qtty_type);
-
+  Qwindow_system = intern ("window-system");
+  staticpro (&Qwindow_system);
+  
   Qface_set_after_frame_default = intern ("face-set-after-frame-default");
   staticpro (&Qface_set_after_frame_default);
 
--- a/src/frame.h	Sun Jan 11 23:12:24 2004 +0000
+++ b/src/frame.h	Mon Jan 12 00:45:42 2004 +0000
@@ -1002,6 +1002,8 @@
 extern Lisp_Object Qleft, Qright, Qtop, Qbox;
 extern Lisp_Object Qdisplay;
 
+extern Lisp_Object Qwindow_system;
+
 #ifdef HAVE_WINDOW_SYSTEM
 
 /* The class of this X application.  */
--- a/src/xfns.c	Sun Jan 11 23:12:24 2004 +0000
+++ b/src/xfns.c	Mon Jan 12 00:45:42 2004 +0000
@@ -3334,6 +3334,8 @@
       specbind (Qx_resource_name, name);
     }
 
+  Fmodify_frame_parameters (frame, Fcons (Fcons (Qwindow_system, Qx), Qnil));
+
   /* Extract the window parameters from the supplied values
      that are needed to determine window geometry.  */
   {
@@ -10210,6 +10212,8 @@
 					      Qnil));
   }
 
+  Fmodify_frame_parameters (frame, Fcons (Fcons (Qwindow_system, Qx), Qnil));
+
   f->no_split = 1;
 
   UNGCPRO;