comparison src/xfns.c @ 15566:3d03a3fb8757

(Fx_create_frame): Gcpro parms, parent, and name.
author Richard M. Stallman <rms@gnu.org>
date Sat, 29 Jun 1996 06:45:08 +0000
parents 94467271b641
children 5dca1a2581b4
comparison
equal deleted inserted replaced
15565:2a0d1c1d2746 15566:3d03a3fb8757
3009 Lisp_Object name; 3009 Lisp_Object name;
3010 int minibuffer_only = 0; 3010 int minibuffer_only = 0;
3011 long window_prompting = 0; 3011 long window_prompting = 0;
3012 int width, height; 3012 int width, height;
3013 int count = specpdl_ptr - specpdl; 3013 int count = specpdl_ptr - specpdl;
3014 struct gcpro gcpro1; 3014 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
3015 Lisp_Object display; 3015 Lisp_Object display;
3016 struct x_display_info *dpyinfo; 3016 struct x_display_info *dpyinfo;
3017 Lisp_Object parent; 3017 Lisp_Object parent;
3018 struct kboard *kb; 3018 struct kboard *kb;
3019 3019
3047 if (EQ (parent, Qunbound)) 3047 if (EQ (parent, Qunbound))
3048 parent = Qnil; 3048 parent = Qnil;
3049 if (! NILP (parent)) 3049 if (! NILP (parent))
3050 CHECK_NUMBER (parent, 0); 3050 CHECK_NUMBER (parent, 0);
3051 3051
3052 /* make_frame_without_minibuffer can run Lisp code and garbage collect. */
3053 /* No need to protect DISPLAY because that's not used after passing
3054 it to make_frame_without_minibuffer. */
3055 frame = Qnil;
3056 GCPRO4 (parms, parent, name, frame);
3052 tem = x_get_arg (parms, Qminibuffer, 0, 0, symbol); 3057 tem = x_get_arg (parms, Qminibuffer, 0, 0, symbol);
3053 if (EQ (tem, Qnone) || NILP (tem)) 3058 if (EQ (tem, Qnone) || NILP (tem))
3054 f = make_frame_without_minibuffer (Qnil, kb, display); 3059 f = make_frame_without_minibuffer (Qnil, kb, display);
3055 else if (EQ (tem, Qonly)) 3060 else if (EQ (tem, Qonly))
3056 { 3061 {
3060 else if (WINDOWP (tem)) 3065 else if (WINDOWP (tem))
3061 f = make_frame_without_minibuffer (tem, kb, display); 3066 f = make_frame_without_minibuffer (tem, kb, display);
3062 else 3067 else
3063 f = make_frame (1); 3068 f = make_frame (1);
3064 3069
3070 XSETFRAME (frame, f);
3071
3065 /* Note that X Windows does support scroll bars. */ 3072 /* Note that X Windows does support scroll bars. */
3066 FRAME_CAN_HAVE_SCROLL_BARS (f) = 1; 3073 FRAME_CAN_HAVE_SCROLL_BARS (f) = 1;
3067
3068 XSETFRAME (frame, f);
3069 GCPRO1 (frame);
3070 3074
3071 f->output_method = output_x_window; 3075 f->output_method = output_x_window;
3072 f->output_data.x = (struct x_output *) xmalloc (sizeof (struct x_output)); 3076 f->output_data.x = (struct x_output *) xmalloc (sizeof (struct x_output));
3073 bzero (f->output_data.x, sizeof (struct x_output)); 3077 bzero (f->output_data.x, sizeof (struct x_output));
3074 f->output_data.x->icon_bitmap = -1; 3078 f->output_data.x->icon_bitmap = -1;