aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1991-08-13 09:50:00 +0000
committerJim Blandy1991-08-13 09:50:00 +0000
commit5bce042c029e374b749f1661d1ada14d84c87440 (patch)
tree0123fb363306b9338229437f4d359ede2b998cc8 /src
parent4f0f077cae86d4789001c37e3b42cddf7054e64f (diff)
downloademacs-5bce042c029e374b749f1661d1ada14d84c87440.tar.gz
emacs-5bce042c029e374b749f1661d1ada14d84c87440.zip
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/frame.c29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/frame.c b/src/frame.c
index 0371a0f3e8a..4e02463857a 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -30,6 +30,7 @@ Lisp_Object Qscreenp;
30Lisp_Object Vscreen_list; 30Lisp_Object Vscreen_list;
31Lisp_Object Vterminal_screen; 31Lisp_Object Vterminal_screen;
32Lisp_Object Vglobal_minibuffer_screen; 32Lisp_Object Vglobal_minibuffer_screen;
33Lisp_Object Vdefault_screen_alist;
33 34
34/* A screen which is not just a minibuffer, or 0 if there are no 35/* A screen which is not just a minibuffer, or 0 if there are no
35 such screens. This is usually the most recent such screen that 36 such screens. This is usually the most recent such screen that
@@ -128,8 +129,19 @@ make_screen (mini_p)
128 XFASTINT (XWINDOW (mini_window)->height) = 1; 129 XFASTINT (XWINDOW (mini_window)->height) = 1;
129 } 130 }
130 131
131 XWINDOW (root_window)->buffer = Qt; 132 /* Choose a buffer for the screen's root window. */
132 Fset_window_buffer (root_window, Fcurrent_buffer ()); 133 {
134 Lisp_Object buf;
135
136 XWINDOW (root_window)->buffer = Qt;
137 buf = Fcurrent_buffer ();
138 /* If buf is a 'hidden' buffer (i.e. one whose name starts with
139 a space), try to find another one. */
140 if (XSTRING (Fbuffer_name (buf))->data[0] == ' ')
141 buf = Fother_buffer (buf);
142 Fset_window_buffer (root_window, buf);
143 }
144
133 if (mini_p) 145 if (mini_p)
134 { 146 {
135 XWINDOW (mini_window)->buffer = Qt; 147 XWINDOW (mini_window)->buffer = Qt;
@@ -1115,12 +1127,23 @@ syms_of_screen ()
1115 Vemacs_iconified = Qnil; 1127 Vemacs_iconified = Qnil;
1116 1128
1117 DEFVAR_LISP ("global-minibuffer-screen", &Vglobal_minibuffer_screen, 1129 DEFVAR_LISP ("global-minibuffer-screen", &Vglobal_minibuffer_screen,
1118 "A screen whose minibuffer is used by minibufferless screens.\n\ 1130 "A screen whose minibuffer is used by minibufferless screens.\n\
1119When you create a minibufferless screen, by default it will use the\n\ 1131When you create a minibufferless screen, by default it will use the\n\
1120minibuffer of this screen. It is up to you to create a suitable screen\n\ 1132minibuffer of this screen. It is up to you to create a suitable screen\n\
1121and store it in this variable."); 1133and store it in this variable.");
1122 Vglobal_minibuffer_screen = Qnil; 1134 Vglobal_minibuffer_screen = Qnil;
1123 1135
1136 DEFVAR_LISP ("default-screen-alist", &Vdefault_screen_alist,
1137 "Alist of default values for screen creation.\n\
1138These may be set in your init file, like this:\n\
1139 (setq default-screen-alist '((width . 80) (height . 55)))\n\
1140These override values given in window system configuration data, like\n\
1141X Windows' defaults database.\n\
1142For values specific to the first emacs screen, see initial-screen-alist.\n\
1143For values specific to the separate minibuffer screen, see\n\
1144minibuffer-screen-alist.");
1145 Vdefault_screen_alist = Qnil;
1146
1124 defsubr (&Sscreenp); 1147 defsubr (&Sscreenp);
1125 defsubr (&Sselect_screen); 1148 defsubr (&Sselect_screen);
1126 defsubr (&Sselected_screen); 1149 defsubr (&Sselected_screen);