comparison src/console.c @ 185:3d6bfa290dbd r20-3b19

Import from CVS: tag r20-3b19
author cvs
date Mon, 13 Aug 2007 09:55:28 +0200
parents 0132846995bd
children a2f645c6b9f8
comparison
equal deleted inserted replaced
184:bcd2674570bf 185:3d6bfa290dbd
70 70
71 If a slot is -1, then there is a DEFVAR_CONSOLE_LOCAL for it 71 If a slot is -1, then there is a DEFVAR_CONSOLE_LOCAL for it
72 as well as a default value which is used to initialize newly-created 72 as well as a default value which is used to initialize newly-created
73 consoles and as a reset-value when local-vars are killed. 73 consoles and as a reset-value when local-vars are killed.
74 74
75 If a slot is -2, there is no DEFVAR_CONSOLE_LOCAL for it. 75 If a slot is -2, there is no DEFVAR_CONSOLE_LOCAL for it.
76 (The slot is always local, but there's no lisp variable for it.) 76 (The slot is always local, but there's no lisp variable for it.)
77 The default value is only used to initialize newly-creation consoles. 77 The default value is only used to initialize newly-creation consoles.
78 78
79 If a slot is -3, then there is no DEFVAR_CONSOLE_LOCAL for it but 79 If a slot is -3, then there is no DEFVAR_CONSOLE_LOCAL for it but
80 there is a default which is used to initialize newly-creation 80 there is a default which is used to initialize newly-creation
81 consoles and as a reset-value when local-vars are killed. 81 consoles and as a reset-value when local-vars are killed.
82 82
83 83
84 */ 84 */
85 struct console console_local_flags; 85 struct console console_local_flags;
86 86
87 /* This structure holds the names of symbols whose values may be 87 /* This structure holds the names of symbols whose values may be
88 console-local. It is indexed and accessed in the same way as the above. */ 88 console-local. It is indexed and accessed in the same way as the above. */
148 148
149 static struct console * 149 static struct console *
150 allocate_console (void) 150 allocate_console (void)
151 { 151 {
152 Lisp_Object console = Qnil; 152 Lisp_Object console = Qnil;
153 struct console *con = alloc_lcrecord (sizeof (struct console), 153 struct console *con = alloc_lcrecord_type (struct console, lrecord_console);
154 lrecord_console);
155 struct gcpro gcpro1; 154 struct gcpro gcpro1;
156 155
157 copy_lcrecord (con, XCONSOLE (Vconsole_defaults)); 156 copy_lcrecord (con, XCONSOLE (Vconsole_defaults));
158 157
159 XSETCONSOLE (console, con); 158 XSETCONSOLE (console, con);
533 { 532 {
534 Lisp_Object con = XCAR (concons); 533 Lisp_Object con = XCAR (concons);
535 if (!CONSOLE_STREAM_P (XCONSOLE (con)) 534 if (!CONSOLE_STREAM_P (XCONSOLE (con))
536 && !EQ (con, console) 535 && !EQ (con, console)
537 && !NILP (CONSOLE_SELECTED_DEVICE (XCONSOLE (con))) 536 && !NILP (CONSOLE_SELECTED_DEVICE (XCONSOLE (con)))
538 && !NILP (DEVICE_SELECTED_FRAME 537 && !NILP (DEVICE_SELECTED_FRAME
539 (XDEVICE (CONSOLE_SELECTED_DEVICE (XCONSOLE (con)))))) 538 (XDEVICE (CONSOLE_SELECTED_DEVICE (XCONSOLE (con))))))
540 break; 539 break;
541 } 540 }
542 if (!NILP (concons)) 541 if (!NILP (concons))
543 return XCAR (concons); 542 return XCAR (concons);
546 CONSOLE_LOOP (concons) 545 CONSOLE_LOOP (concons)
547 { 546 {
548 Lisp_Object con = XCAR (concons); 547 Lisp_Object con = XCAR (concons);
549 if (!EQ (con, console) 548 if (!EQ (con, console)
550 && !NILP (CONSOLE_SELECTED_DEVICE (XCONSOLE (con))) 549 && !NILP (CONSOLE_SELECTED_DEVICE (XCONSOLE (con)))
551 && !NILP (DEVICE_SELECTED_FRAME 550 && !NILP (DEVICE_SELECTED_FRAME
552 (XDEVICE (CONSOLE_SELECTED_DEVICE (XCONSOLE (con)))))) 551 (XDEVICE (CONSOLE_SELECTED_DEVICE (XCONSOLE (con))))))
553 break; 552 break;
554 } 553 }
555 if (!NILP (concons)) 554 if (!NILP (concons))
556 return XCAR (concons); 555 return XCAR (concons);
593 (we do an emergency exit instead of `save-buffers-kill-emacs'.) 592 (we do an emergency exit instead of `save-buffers-kill-emacs'.)
594 */ 593 */
595 594
596 void 595 void
597 delete_console_internal (struct console *con, int force, 596 delete_console_internal (struct console *con, int force,
598 int called_from_kill_emacs, int from_io_error) 597 int called_from_kill_emacs, int from_io_error)
599 { 598 {
600 /* This function can GC */ 599 /* This function can GC */
601 Lisp_Object console = Qnil; 600 Lisp_Object console = Qnil;
602 struct gcpro gcpro1; 601 struct gcpro gcpro1;
603 602
693 UNGCPRO; 692 UNGCPRO;
694 return; 693 return;
695 } 694 }
696 } 695 }
697 } 696 }
698 697
699 CONSOLE_SELECTED_DEVICE (con) = Qnil; 698 CONSOLE_SELECTED_DEVICE (con) = Qnil;
700 699
701 /* try to select another console */ 700 /* try to select another console */
702 701
703 if (EQ (console, Fselected_console ())) 702 if (EQ (console, Fselected_console ()))
704 { 703 {
705 Lisp_Object other_dev = find_other_console (console); 704 Lisp_Object other_dev = find_other_console (console);
706 if (!NILP (other_dev)) 705 if (!NILP (other_dev))
707 Fselect_console (other_dev); 706 Fselect_console (other_dev);
713 } 712 }
714 } 713 }
715 714
716 if (con->input_enabled) 715 if (con->input_enabled)
717 event_stream_unselect_console (con); 716 event_stream_unselect_console (con);
718 717
719 MAYBE_CONMETH (con, delete_console, (con)); 718 MAYBE_CONMETH (con, delete_console, (con));
720 719
721 Vconsole_list = delq_no_quit (console, Vconsole_list); 720 Vconsole_list = delq_no_quit (console, Vconsole_list);
722 RESET_CHANGED_SET_FLAGS; 721 RESET_CHANGED_SET_FLAGS;
723 con->conmeths = dead_console_methods; 722 con->conmeths = dead_console_methods;
868 #endif 867 #endif
869 868
870 /* Call value of suspend-resume-hook 869 /* Call value of suspend-resume-hook
871 if it is bound and value is non-nil. */ 870 if it is bound and value is non-nil. */
872 run_hook (Qsuspend_resume_hook); 871 run_hook (Qsuspend_resume_hook);
873 872
874 UNGCPRO; 873 UNGCPRO;
875 return Qnil; 874 return Qnil;
876 } 875 }
877 876
878 /* If STUFFSTRING is a string, stuff its contents as pending terminal input. 877 /* If STUFFSTRING is a string, stuff its contents as pending terminal input.
928 struct console *c; 927 struct console *c;
929 928
930 #ifdef HAVE_TTY 929 #ifdef HAVE_TTY
931 c = decode_console (console); 930 c = decode_console (console);
932 931
933 if (CONSOLE_TTY_P (c)) 932 if (CONSOLE_TTY_P (c))
934 { 933 {
935 /* 934 /*
936 * hide all the unhidden frames so the display code won't update 935 * hide all the unhidden frames so the display code won't update
937 * them while the console is suspended. 936 * them while the console is suspended.
938 */ 937 */
967 struct console *c; 966 struct console *c;
968 967
969 #ifdef HAVE_TTY 968 #ifdef HAVE_TTY
970 c = decode_console (console); 969 c = decode_console (console);
971 970
972 if (CONSOLE_TTY_P (c)) 971 if (CONSOLE_TTY_P (c))
973 { 972 {
974 /* raise the selected frame */ 973 /* raise the selected frame */
975 Lisp_Object device = CONSOLE_SELECTED_DEVICE (c); 974 Lisp_Object device = CONSOLE_SELECTED_DEVICE (c);
976 if (!NILP (device)) 975 if (!NILP (device))
977 { 976 {
1063 */ 1062 */
1064 (console)) 1063 (console))
1065 { 1064 {
1066 Lisp_Object val[4]; 1065 Lisp_Object val[4];
1067 struct console *con = decode_console (console); 1066 struct console *con = decode_console (console);
1068 1067
1069 val[0] = Qnil; 1068 val[0] = Qnil;
1070 val[1] = CONSOLE_TTY_P (con) && TTY_FLAGS (con).flow_control ? Qt : Qnil; 1069 val[1] = CONSOLE_TTY_P (con) && TTY_FLAGS (con).flow_control ? Qt : Qnil;
1071 val[2] = (!CONSOLE_TTY_P (con) || TTY_FLAGS (con).meta_key == 1) ? 1070 val[2] = (!CONSOLE_TTY_P (con) || TTY_FLAGS (con).meta_key == 1) ?
1072 Qt : TTY_FLAGS (con).meta_key == 2 ? make_int (0) : Qnil; 1071 Qt : TTY_FLAGS (con).meta_key == 2 ? make_int (0) : Qnil;
1073 val[3] = make_char (CONSOLE_QUIT_CHAR (con)); 1072 val[3] = make_char (CONSOLE_QUIT_CHAR (con));
1074 1073
1075 return Flist (sizeof (val) / sizeof (val[0]), val); 1074 return Flist (sizeof (val) / sizeof (val[0]), val);
1076 } 1075 }
1077 1076
1078 1077
1079 /************************************************************************/ 1078 /************************************************************************/
1101 DEFSUBR (Fconsole_enable_input); 1100 DEFSUBR (Fconsole_enable_input);
1102 DEFSUBR (Fconsole_disable_input); 1101 DEFSUBR (Fconsole_disable_input);
1103 DEFSUBR (Fconsole_on_window_system_p); 1102 DEFSUBR (Fconsole_on_window_system_p);
1104 DEFSUBR (Fsuspend_console); 1103 DEFSUBR (Fsuspend_console);
1105 DEFSUBR (Fresume_console); 1104 DEFSUBR (Fresume_console);
1106 1105
1107 DEFSUBR (Fsuspend_emacs); 1106 DEFSUBR (Fsuspend_emacs);
1108 DEFSUBR (Fset_input_mode); 1107 DEFSUBR (Fset_input_mode);
1109 DEFSUBR (Fcurrent_input_mode); 1108 DEFSUBR (Fcurrent_input_mode);
1110 1109
1111 defsymbol (&Qconsolep, "consolep"); 1110 defsymbol (&Qconsolep, "consolep");
1119 } 1118 }
1120 1119
1121 void 1120 void
1122 console_type_create (void) 1121 console_type_create (void)
1123 { 1122 {
1124 the_console_type_entry_dynarr = Dynarr_new (struct console_type_entry); 1123 the_console_type_entry_dynarr = Dynarr_new (console_type_entry);
1125 1124
1126 Vconsole_type_list = Qnil; 1125 Vconsole_type_list = Qnil;
1127 staticpro (&Vconsole_type_list); 1126 staticpro (&Vconsole_type_list);
1128 1127
1129 /* Initialize the dead console type */ 1128 /* Initialize the dead console type */
1161 #ifdef HAVE_WINDOW_SYSTEM 1160 #ifdef HAVE_WINDOW_SYSTEM
1162 Fprovide (intern ("window-system")); 1161 Fprovide (intern ("window-system"));
1163 #endif 1162 #endif
1164 } 1163 }
1165 1164
1166 /* DOC is ignored because it is snagged and recorded externally 1165 /* DOC is ignored because it is snagged and recorded externally
1167 * by make-docfile */ 1166 * by make-docfile */
1168 /* Declaring this stuff as const produces 'Cannot reinitialize' messages 1167 /* Declaring this stuff as const produces 'Cannot reinitialize' messages
1169 from SunPro C's fix-and-continue feature (a way neato feature that 1168 from SunPro C's fix-and-continue feature (a way neato feature that
1170 makes debugging unbelievably more bearable) */ 1169 makes debugging unbelievably more bearable) */
1171 #define DEFVAR_CONSOLE_LOCAL(lname, field_name) \ 1170 #define DEFVAR_CONSOLE_LOCAL(lname, field_name) do { \
1172 do { static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \ 1171 static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \
1173 = { { { { lrecord_symbol_value_forward }, \ 1172 = { { { { lrecord_symbol_value_forward }, \
1174 (void *) &(console_local_flags.field_name), 69 }, \ 1173 (struct lcrecord_header *) &(console_local_flags.field_name), 69 }, \
1175 SYMVAL_SELECTED_CONSOLE_FORWARD }, 0 }; \ 1174 SYMVAL_SELECTED_CONSOLE_FORWARD }, 0 }; \
1176 defvar_console_local ((lname), &I_hate_C); \ 1175 defvar_console_local ((lname), &I_hate_C); \
1177 } while (0) 1176 } while (0)
1178 1177
1179 #define DEFVAR_CONSOLE_LOCAL_MAGIC(lname, field_name, magicfun) \ 1178 #define DEFVAR_CONSOLE_LOCAL_MAGIC(lname, field_name, magicfun) do { \
1180 do { static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \ 1179 static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \
1181 = { { { { lrecord_symbol_value_forward }, \ 1180 = { { { { lrecord_symbol_value_forward }, \
1182 (void *) &(console_local_flags.field_name), 69 }, \ 1181 (struct lcrecord_header *) &(console_local_flags.field_name), 69 }, \
1183 SYMVAL_SELECTED_CONSOLE_FORWARD }, magicfun }; \ 1182 SYMVAL_SELECTED_CONSOLE_FORWARD }, magicfun }; \
1184 defvar_console_local ((lname), &I_hate_C); \ 1183 defvar_console_local ((lname), &I_hate_C); \
1185 } while (0) 1184 } while (0)
1186 1185
1187 #define DEFVAR_CONST_CONSOLE_LOCAL(lname, field_name) \ 1186 #define DEFVAR_CONST_CONSOLE_LOCAL(lname, field_name) do { \
1188 do { static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \ 1187 static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \
1189 = { { { { lrecord_symbol_value_forward }, \ 1188 = { { { { lrecord_symbol_value_forward }, \
1190 (void *) &(console_local_flags.field_name), 69 }, \ 1189 (struct lcrecord_header *) &(console_local_flags.field_name), 69 }, \
1191 SYMVAL_CONST_SELECTED_CONSOLE_FORWARD }, 0 }; \ 1190 SYMVAL_CONST_SELECTED_CONSOLE_FORWARD }, 0 }; \
1192 defvar_console_local ((lname), &I_hate_C); \ 1191 defvar_console_local ((lname), &I_hate_C); \
1193 } while (0) 1192 } while (0)
1194 1193
1195 #define DEFVAR_CONST_CONSOLE_LOCAL_MAGIC(lname, field_name, magicfun) \ 1194 #define DEFVAR_CONST_CONSOLE_LOCAL_MAGIC(lname, field_name, magicfun) do { \
1196 do { static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \ 1195 static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \
1197 = { { { { lrecord_symbol_value_forward }, \ 1196 = { { { { lrecord_symbol_value_forward }, \
1198 (void *) &(console_local_flags.field_name), 69 }, \ 1197 (struct lcrecord_header *) &(console_local_flags.field_name), 69 }, \
1199 SYMVAL_CONST_SELECTED_CONSOLE_FORWARD }, magicfun }; \ 1198 SYMVAL_CONST_SELECTED_CONSOLE_FORWARD }, magicfun }; \
1200 defvar_console_local ((lname), &I_hate_C); \ 1199 defvar_console_local ((lname), &I_hate_C); \
1201 } while (0) 1200 } while (0)
1202 1201
1203 #define DEFVAR_CONSOLE_DEFAULTS(lname, field_name) \ 1202 #define DEFVAR_CONSOLE_DEFAULTS(lname, field_name) do { \
1204 do { static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \ 1203 static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \
1205 = { { { { lrecord_symbol_value_forward }, \ 1204 = { { { { lrecord_symbol_value_forward }, \
1206 (void *) &(console_local_flags.field_name), 69 }, \ 1205 (struct lcrecord_header *) &(console_local_flags.field_name), 69 }, \
1207 SYMVAL_DEFAULT_CONSOLE_FORWARD }, 0 }; \ 1206 SYMVAL_DEFAULT_CONSOLE_FORWARD }, 0 }; \
1208 defvar_mumble ((lname), &I_hate_C, sizeof (I_hate_C)); \ 1207 defvar_mumble ((lname), &I_hate_C, sizeof (I_hate_C)); \
1209 } while (0) 1208 } while (0)
1210 1209
1211 #define DEFVAR_CONSOLE_DEFAULTS_MAGIC(lname, field_name, magicfun) \ 1210 #define DEFVAR_CONSOLE_DEFAULTS_MAGIC(lname, field_name, magicfun) do { \
1212 do { static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \ 1211 static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \
1213 = { { { { lrecord_symbol_value_forward }, \ 1212 = { { { { lrecord_symbol_value_forward }, \
1214 (void *) &(console_local_flags.field_name), 69 }, \ 1213 (struct lcrecord_header *) &(console_local_flags.field_name), 69 }, \
1215 SYMVAL_DEFAULT_CONSOLE_FORWARD }, magicfun }; \ 1214 SYMVAL_DEFAULT_CONSOLE_FORWARD }, magicfun }; \
1216 defvar_mumble ((lname), &I_hate_C, sizeof (I_hate_C)); \ 1215 defvar_mumble ((lname), &I_hate_C, sizeof (I_hate_C)); \
1217 } while (0) 1216 } while (0)
1218 1217
1219 static void 1218 static void
1220 defvar_console_local (CONST char *namestring, 1219 defvar_console_local (CONST char *namestring,
1221 CONST struct symbol_value_forward *m) 1220 CONST struct symbol_value_forward *m)
1222 { 1221 {
1223 int offset = ((char *)symbol_value_forward_forward (m) 1222 int offset = ((char *)symbol_value_forward_forward (m)
1224 - (char *)&console_local_flags); 1223 - (char *)&console_local_flags);
1225 1224
1226 defvar_mumble (namestring, m, sizeof (*m)); 1225 defvar_mumble (namestring, m, sizeof (*m));
1227 1226
1228 *((Lisp_Object *)(offset + (char *)XCONSOLE (Vconsole_local_symbols))) 1227 *((Lisp_Object *)(offset + (char *)XCONSOLE (Vconsole_local_symbols)))
1229 = intern (namestring); 1228 = intern (namestring);
1230 } 1229 }
1231 1230
1232 static void 1231 static void
1233 nuke_all_console_slots (struct console *con, Lisp_Object zap) 1232 nuke_all_console_slots (struct console *con, Lisp_Object zap)
1243 complex_vars_of_console (void) 1242 complex_vars_of_console (void)
1244 { 1243 {
1245 /* Make sure all markable slots in console_defaults 1244 /* Make sure all markable slots in console_defaults
1246 are initialized reasonably, so mark_console won't choke. 1245 are initialized reasonably, so mark_console won't choke.
1247 */ 1246 */
1248 struct console *defs = alloc_lcrecord (sizeof (struct console), 1247 struct console *defs = alloc_lcrecord_type (struct console, lrecord_console);
1249 lrecord_console); 1248 struct console *syms = alloc_lcrecord_type (struct console, lrecord_console);
1250 struct console *syms = alloc_lcrecord (sizeof (struct console),
1251 lrecord_console);
1252 1249
1253 staticpro (&Vconsole_defaults); 1250 staticpro (&Vconsole_defaults);
1254 staticpro (&Vconsole_local_symbols); 1251 staticpro (&Vconsole_local_symbols);
1255 XSETCONSOLE (Vconsole_defaults, defs); 1252 XSETCONSOLE (Vconsole_defaults, defs);
1256 XSETCONSOLE (Vconsole_local_symbols, syms); 1253 XSETCONSOLE (Vconsole_local_symbols, syms);
1257 1254
1258 nuke_all_console_slots (syms, Qnil); 1255 nuke_all_console_slots (syms, Qnil);
1259 nuke_all_console_slots (defs, Qnil); 1256 nuke_all_console_slots (defs, Qnil);
1260 1257
1261 /* Set up the non-nil default values of various console slots. 1258 /* Set up the non-nil default values of various console slots.
1262 Must do these before making the first console. 1259 Must do these before making the first console.
1263 */ 1260 */
1264 /* #### Anything needed here? */ 1261 /* #### Anything needed here? */
1265 1262
1266 { 1263 {
1267 /* 0 means var is always local. Default used only at creation. 1264 /* 0 means var is always local. Default used only at creation.
1268 * -1 means var is always local. Default used only at reset and 1265 * -1 means var is always local. Default used only at reset and
1269 * creation. 1266 * creation.
1270 * -2 means there's no lisp variable corresponding to this slot 1267 * -2 means there's no lisp variable corresponding to this slot
1280 1277
1281 #if 0 /* not used */ 1278 #if 0 /* not used */
1282 Lisp_Object always_local_no_default = make_int (0); 1279 Lisp_Object always_local_no_default = make_int (0);
1283 Lisp_Object resettable = make_int (-3); 1280 Lisp_Object resettable = make_int (-3);
1284 #endif 1281 #endif
1285 1282
1286 /* Assign the local-flags to the slots that have default values. 1283 /* Assign the local-flags to the slots that have default values.
1287 The local flag is a bit that is used in the console 1284 The local flag is a bit that is used in the console
1288 to say that it has its own local value for the slot. 1285 to say that it has its own local value for the slot.
1289 The local flag bits are in the local_var_flags slot of the 1286 The local flag bits are in the local_var_flags slot of the
1290 console. */ 1287 console. */
1291 1288
1292 nuke_all_console_slots (&console_local_flags, make_int (-2)); 1289 nuke_all_console_slots (&console_local_flags, make_int (-2));
1293 console_local_flags.defining_kbd_macro = always_local_resettable; 1290 console_local_flags.defining_kbd_macro = always_local_resettable;
1294 console_local_flags.last_kbd_macro = always_local_resettable; 1291 console_local_flags.last_kbd_macro = always_local_resettable;
1295 console_local_flags.prefix_arg = always_local_resettable; 1292 console_local_flags.prefix_arg = always_local_resettable;
1296 console_local_flags.default_minibuffer_frame = always_local_resettable; 1293 console_local_flags.default_minibuffer_frame = always_local_resettable;
1297 console_local_flags.overriding_terminal_local_map = 1294 console_local_flags.overriding_terminal_local_map =
1298 always_local_resettable; 1295 always_local_resettable;
1299 console_local_flags.tty_erase_char = always_local_resettable; 1296 console_local_flags.tty_erase_char = always_local_resettable;
1300 1297
1301 console_local_flags.function_key_map = make_int (1); 1298 console_local_flags.function_key_map = make_int (1);
1302 1299
1303 /* #### Warning, 0x4000000 (that's six zeroes) is the largest number 1300 /* #### Warning, 0x4000000 (that's six zeroes) is the largest number
1304 currently allowable due to the XINT() handling of this value. 1301 currently allowable due to the XINT() handling of this value.
1305 With some rearrangement you can get 4 more bits. */ 1302 With some rearrangement you can get 4 more bits. */
1306 } 1303 }
1307 1304
1358 or nil if no argument has been specified. 1355 or nil if no argument has been specified.
1359 1356
1360 You cannot examine this variable to find the argument for this command 1357 You cannot examine this variable to find the argument for this command
1361 since it has been set to nil by the time you can look. 1358 since it has been set to nil by the time you can look.
1362 Instead, you should use the variable `current-prefix-arg', although 1359 Instead, you should use the variable `current-prefix-arg', although
1363 normally commands can get this prefix argument with (interactive \"P\"). 1360 normally commands can get this prefix argument with (interactive "P").
1364 */ ); 1361 */ );
1365 1362
1366 DEFVAR_CONSOLE_LOCAL ("default-minibuffer-frame", 1363 DEFVAR_CONSOLE_LOCAL ("default-minibuffer-frame",
1367 default_minibuffer_frame /* 1364 default_minibuffer_frame /*
1368 Minibufferless frames use this frame's minibuffer. 1365 Minibufferless frames use this frame's minibuffer.