Commit e3678b64 authored by Karl Heuer's avatar Karl Heuer

Removed support for !MULTI_FRAME.

parent 8c09486a
...@@ -572,12 +572,6 @@ otherobj= $(termcapobj) lastfile.o $(mallocobj) $(allocaobj) $(widgetobj) ...@@ -572,12 +572,6 @@ otherobj= $(termcapobj) lastfile.o $(mallocobj) $(allocaobj) $(widgetobj)
#define FLOAT_SUPPORT #define FLOAT_SUPPORT
#endif #endif
#ifdef MULTI_FRAME
#define FRAME_SUPPORT ${lispsource}frame.elc
#else
#define FRAME_SUPPORT
#endif
#ifdef HAVE_MOUSE #ifdef HAVE_MOUSE
#define MOUSE_SUPPORT ${lispsource}menu-bar.elc ${lispsource}mouse.elc \ #define MOUSE_SUPPORT ${lispsource}menu-bar.elc ${lispsource}mouse.elc \
${lispsource}select.elc ${lispsource}scroll-bar.elc ${lispsource}select.elc ${lispsource}scroll-bar.elc
...@@ -631,7 +625,7 @@ lisp= \ ...@@ -631,7 +625,7 @@ lisp= \
FACE_SUPPORT \ FACE_SUPPORT \
MOUSE_SUPPORT \ MOUSE_SUPPORT \
FLOAT_SUPPORT \ FLOAT_SUPPORT \
FRAME_SUPPORT \ ${lispsource}frame.elc\
X_WINDOWS_SUPPORT \ X_WINDOWS_SUPPORT \
${lispsource}help.elc \ ${lispsource}help.elc \
${lispsource}indent.elc \ ${lispsource}indent.elc \
......
...@@ -1802,7 +1802,6 @@ mark_object (argptr) ...@@ -1802,7 +1802,6 @@ mark_object (argptr)
objptr = (Lisp_Object *) &ptr1->contents[COMPILED_CONSTANTS]; objptr = (Lisp_Object *) &ptr1->contents[COMPILED_CONSTANTS];
goto loop; goto loop;
} }
#ifdef MULTI_FRAME
else if (GC_FRAMEP (obj)) else if (GC_FRAMEP (obj))
{ {
/* See comment above under Lisp_Vector for why this is volatile. */ /* See comment above under Lisp_Vector for why this is volatile. */
...@@ -1826,7 +1825,6 @@ mark_object (argptr) ...@@ -1826,7 +1825,6 @@ mark_object (argptr)
mark_object (&ptr->menu_bar_vector); mark_object (&ptr->menu_bar_vector);
mark_object (&ptr->buffer_predicate); mark_object (&ptr->buffer_predicate);
} }
#endif /* MULTI_FRAME */
else if (GC_BOOL_VECTOR_P (obj)) else if (GC_BOOL_VECTOR_P (obj))
{ {
register struct Lisp_Vector *ptr = XVECTOR (obj); register struct Lisp_Vector *ptr = XVECTOR (obj);
......
...@@ -853,7 +853,6 @@ If BUFFER is omitted or nil, some interesting buffer is returned.") ...@@ -853,7 +853,6 @@ If BUFFER is omitted or nil, some interesting buffer is returned.")
continue; continue;
if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ') if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ')
continue; continue;
#ifdef MULTI_FRAME
/* If the selected frame has a buffer_predicate, /* If the selected frame has a buffer_predicate,
disregard buffers that don't fit the predicate. */ disregard buffers that don't fit the predicate. */
tem = frame_buffer_predicate (); tem = frame_buffer_predicate ();
...@@ -863,7 +862,6 @@ If BUFFER is omitted or nil, some interesting buffer is returned.") ...@@ -863,7 +862,6 @@ If BUFFER is omitted or nil, some interesting buffer is returned.")
if (NILP (tem)) if (NILP (tem))
continue; continue;
} }
#endif
if (NILP (visible_ok)) if (NILP (visible_ok))
tem = Fget_buffer_window (buf, Qt); tem = Fget_buffer_window (buf, Qt);
......
...@@ -225,11 +225,8 @@ for example, (type-of 1) returns `integer'.") ...@@ -225,11 +225,8 @@ for example, (type-of 1) returns `integer'.")
return Qchar_table; return Qchar_table;
if (GC_BOOL_VECTOR_P (object)) if (GC_BOOL_VECTOR_P (object))
return Qbool_vector; return Qbool_vector;
#ifdef MULTI_FRAME
if (GC_FRAMEP (object)) if (GC_FRAMEP (object))
return Qframe; return Qframe;
#endif
return Qvector; return Qvector;
#ifdef LISP_FLOAT_TYPE #ifdef LISP_FLOAT_TYPE
......
...@@ -99,9 +99,7 @@ typedef int FACE; ...@@ -99,9 +99,7 @@ typedef int FACE;
struct frame_glyphs struct frame_glyphs
{ {
#ifdef MULTI_FRAME
struct frame *frame; /* Frame these glyphs belong to. */ struct frame *frame; /* Frame these glyphs belong to. */
#endif /* MULTI_FRAME */
int height; int height;
int width; int width;
......
...@@ -144,18 +144,6 @@ FRAME_PTR selected_frame; ...@@ -144,18 +144,6 @@ FRAME_PTR selected_frame;
the address of the_only_frame. */ the address of the_only_frame. */
FRAME_PTR last_nonminibuf_frame; FRAME_PTR last_nonminibuf_frame;
/* In a single-frame version, the information that would otherwise
exist inside frame objects lives in the following structure instead.
NOTE: the_only_frame is not checked for garbage collection; don't
store collectible objects in any of its fields!
You're not/The only frame in town/... */
#ifndef MULTI_FRAME
struct frame the_only_frame;
#endif
/* This is a vector, made larger whenever it isn't large enough, /* This is a vector, made larger whenever it isn't large enough,
which is used inside `update_frame' to hold the old contents which is used inside `update_frame' to hold the old contents
of the FRAME_PHYS_LINES of the frame being updated. */ of the FRAME_PHYS_LINES of the frame being updated. */
...@@ -169,8 +157,6 @@ struct cm Wcm; /* Structure for info on cursor positioning */ ...@@ -169,8 +157,6 @@ struct cm Wcm; /* Structure for info on cursor positioning */
int delayed_size_change; /* 1 means SIGWINCH happened when not safe. */ int delayed_size_change; /* 1 means SIGWINCH happened when not safe. */
#ifdef MULTI_FRAME
DEFUN ("redraw-frame", Fredraw_frame, Sredraw_frame, 1, 1, 0, DEFUN ("redraw-frame", Fredraw_frame, Sredraw_frame, 1, 1, 0,
"Clear frame FRAME and output again what is supposed to appear on it.") "Clear frame FRAME and output again what is supposed to appear on it.")
(frame) (frame)
...@@ -203,30 +189,6 @@ redraw_frame (f) ...@@ -203,30 +189,6 @@ redraw_frame (f)
Fredraw_frame (frame); Fredraw_frame (frame);
} }
#else
DEFUN ("redraw-frame", Fredraw_frame, Sredraw_frame, 1, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
update_begin (0);
set_terminal_modes ();
clear_frame ();
update_end (0);
fflush (stdout);
clear_frame_records (0);
windows_or_buffers_changed++;
/* Mark all windows as INaccurate,
so that every window will have its redisplay done. */
mark_window_display_accurate (FRAME_ROOT_WINDOW (0), 0);
return Qnil;
}
#endif
DEFUN ("redraw-display", Fredraw_display, Sredraw_display, 0, 0, "", DEFUN ("redraw-display", Fredraw_display, Sredraw_display, 0, 0, "",
"Clear and redisplay all visible frames.") "Clear and redisplay all visible frames.")
() ()
...@@ -2589,9 +2551,7 @@ For types not defined in VMS, use define emacs_term \"TYPE\".\n\ ...@@ -2589,9 +2551,7 @@ For types not defined in VMS, use define emacs_term \"TYPE\".\n\
syms_of_display () syms_of_display ()
{ {
#ifdef MULTI_FRAME
defsubr (&Sredraw_frame); defsubr (&Sredraw_frame);
#endif
defsubr (&Sredraw_display); defsubr (&Sredraw_display);
defsubr (&Sframe_or_buffer_changed_p); defsubr (&Sframe_or_buffer_changed_p);
defsubr (&Sopen_termscript); defsubr (&Sopen_termscript);
......
...@@ -62,8 +62,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -62,8 +62,6 @@ Boston, MA 02111-1307, USA. */
(setq symbol-list (cdr symbol-list))))) (setq symbol-list (cdr symbol-list)))))
*/ */
/* We need most of these symbols even if not MULTI_FRAME;
easiest to define them all, all of the time. */
/*&&& symbols declared here &&&*/ /*&&& symbols declared here &&&*/
Lisp_Object Qframep; Lisp_Object Qframep;
Lisp_Object Qframe_live_p; Lisp_Object Qframe_live_p;
...@@ -172,7 +170,7 @@ set_menu_bar_lines (f, value, oldval) ...@@ -172,7 +170,7 @@ set_menu_bar_lines (f, value, oldval)
/* Right now, menu bars don't work properly in minibuf-only frames; /* Right now, menu bars don't work properly in minibuf-only frames;
most of the commands try to apply themselves to the minibuffer most of the commands try to apply themselves to the minibuffer
frame itslef, and get an error because you can't switch buffers frame itself, and get an error because you can't switch buffers
in or split the minibuffer window. */ in or split the minibuffer window. */
if (FRAME_MINIBUF_ONLY_P (f)) if (FRAME_MINIBUF_ONLY_P (f))
return; return;
...@@ -191,8 +189,6 @@ set_menu_bar_lines (f, value, oldval) ...@@ -191,8 +189,6 @@ set_menu_bar_lines (f, value, oldval)
} }
} }
#ifdef MULTI_FRAME
#include "buffer.h" #include "buffer.h"
/* These help us bind and responding to switch-frame events. */ /* These help us bind and responding to switch-frame events. */
...@@ -2133,427 +2129,3 @@ keys_of_frame () ...@@ -2133,427 +2129,3 @@ keys_of_frame ()
initial_define_lispy_key (global_map, "iconify-frame", "ignore-event"); initial_define_lispy_key (global_map, "iconify-frame", "ignore-event");
initial_define_lispy_key (global_map, "make-frame-visible", "ignore-event"); initial_define_lispy_key (global_map, "make-frame-visible", "ignore-event");
} }
#else /* not MULTI_FRAME */
/* If we're not using multi-frame stuff, we still need to provide some
support functions. */
/* Unless this function is defined, providing set-frame-height and
set-frame-width doesn't help compatibility any, since they both
want this as their first argument. */
DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
()
{
/* For your possible information, this code is unfolded into the
second WINDOW_FRAME in frame.h. */
Lisp_Object tem;
XSETFASTINT (tem, 0);
return tem;
}
DEFUN ("active-minibuffer-window", Factive_minibuffer_window,
Sactive_minibuffer_window, 0, 0, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
()
{
return minibuf_level ? minibuf_window : Qnil;
}
DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(window)
Lisp_Object window;
{
/* For your possible information, this code is unfolded into the
second WINDOW_FRAME in frame.h. */
Lisp_Object tem;
XSETFASTINT (tem, 0);
return tem;
}
DEFUN ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0,
0)
(frame)
Lisp_Object frame;
{
Lisp_Object w;
w = FRAME_ROOT_WINDOW (selected_frame);
while (NILP (XWINDOW (w)->buffer))
{
if (! NILP (XWINDOW (w)->hchild))
w = XWINDOW (w)->hchild;
else if (! NILP (XWINDOW (w)->vchild))
w = XWINDOW (w)->vchild;
else
abort ();
}
return w;
}
DEFUN ("framep", Fframep, Sframep, 1, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(object)
Lisp_Object object;
{
#ifdef MSDOS
if (FRAME_X_P (object))
return intern ("pc");
#endif
return Qnil;
}
DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame, rows, pretend)
Lisp_Object frame, rows, pretend;
{
CHECK_NUMBER (rows, 0);
change_frame_size (0, XINT (rows), 0, !NILP (pretend), 0);
return Qnil;
}
DEFUN ("set-frame-width", Fset_frame_width, Sset_frame_width, 2, 3, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame, cols, pretend)
Lisp_Object frame, cols, pretend;
{
CHECK_NUMBER (cols, 0);
change_frame_size (0, 0, XINT (cols), !NILP (pretend), 0);
return Qnil;
}
DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame, cols, rows)
Lisp_Object frame, cols, rows;
{
CHECK_NUMBER (cols, 2);
CHECK_NUMBER (rows, 1);
change_frame_size (0, XINT (rows), XINT (cols), 0, 0);
return Qnil;
}
DEFUN ("frame-height", Fframe_height, Sframe_height, 0, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return make_number (FRAME_HEIGHT (selected_frame));
}
DEFUN ("frame-width", Fframe_width, Sframe_width, 0, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return make_number (FRAME_WIDTH (selected_frame));
}
DEFUN ("frame-char-height", Fframe_char_height, Sframe_char_height,
0, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return make_number (1);
}
DEFUN ("frame-char-width", Fframe_char_width, Sframe_char_width,
0, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return make_number (1);
}
DEFUN ("frame-pixel-height", Fframe_pixel_height,
Sframe_pixel_height, 0, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return make_number (FRAME_HEIGHT (f));
}
DEFUN ("frame-pixel-width", Fframe_pixel_width,
Sframe_pixel_width, 0, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return make_number (FRAME_WIDTH (f));
}
/* These are for backward compatibility with Emacs 18. */
DEFUN ("set-screen-height", Fset_screen_height, Sset_screen_height, 1, 2, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(lines, pretend)
Lisp_Object lines, pretend;
{
CHECK_NUMBER (lines, 0);
change_frame_size (0, XINT (lines), 0, !NILP (pretend), 0);
return Qnil;
}
DEFUN ("set-screen-width", Fset_screen_width, Sset_screen_width, 1, 2, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(cols, pretend)
Lisp_Object cols, pretend;
{
CHECK_NUMBER (cols, 0);
change_frame_size (0, 0, XINT (cols), !NILP (pretend), 0);
return Qnil;
}
DEFUN ("mouse-position", Fmouse_position, Smouse_position, 0, 0, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
()
{
#ifdef HAVE_MOUSE
if (mouse_position_hook)
{
FRAME_PTR f;
Lisp_Object lispy_dummy;
enum scroll_bar_part party_dummy;
Lisp_Object x, y;
unsigned long long_dummy;
(*mouse_position_hook) (&f, 0,
&lispy_dummy, &party_dummy,
&x, &y,
&long_dummy);
return Fcons (Fselected_frame (), Fcons (x, y));
}
#endif
return Fcons (Qnil, Fcons (Qnil, Qnil));
}
void
store_in_alist (alistptr, prop, val)
Lisp_Object *alistptr, val;
Lisp_Object prop;
{
register Lisp_Object tem;
tem = Fassq (prop, *alistptr);
if (EQ (tem, Qnil))
*alistptr = Fcons (Fcons (prop, val), *alistptr);
else
Fsetcdr (tem, val);
}
DEFUN ("frame-parameters", Fframe_parameters, Sframe_parameters, 0, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
Lisp_Object alist;
FRAME_PTR f;
int height, width;
if (EQ (frame, Qnil))
f = selected_frame;
else
{
CHECK_FRAME (frame, 0);
f = XFRAME (frame);
}
if (!FRAME_LIVE_P (f))
return Qnil;
alist = Qnil;
#ifdef MSDOS
if (FRAME_X_P (f))
{
static char *colornames[16] =
{
"black", "blue", "green", "cyan", "red", "magenta", "brown",
"lightgray", "darkgray", "lightblue", "lightgreen", "lightcyan",
"lightred", "lightmagenta", "yellow", "white"
};
store_in_alist (&alist, intern ("foreground-color"),
build_string (colornames[FRAME_FOREGROUND_PIXEL (f)]));
store_in_alist (&alist, intern ("background-color"),
build_string (colornames[FRAME_BACKGROUND_PIXEL (f)]));
}
#endif
store_in_alist (&alist, intern ("font"), build_string ("default"));
store_in_alist (&alist, Qname, build_string ("emacs"));
height = (FRAME_NEW_HEIGHT (f) ? FRAME_NEW_HEIGHT (f) : FRAME_HEIGHT (f));
store_in_alist (&alist, Qheight, make_number (height));
width = (FRAME_NEW_WIDTH (f) ? FRAME_NEW_WIDTH (f) : FRAME_WIDTH (f));
store_in_alist (&alist, Qwidth, make_number (width));
store_in_alist (&alist, Qmodeline, (FRAME_WANTS_MODELINE_P (f) ? Qt : Qnil));
store_in_alist (&alist, Qminibuffer, FRAME_MINIBUF_WINDOW (f));
store_in_alist (&alist, Qunsplittable, (FRAME_NO_SPLIT_P (f) ? Qt : Qnil));
store_in_alist (&alist, Qmenu_bar_lines, (FRAME_MENU_BAR_LINES (f)));
return alist;
}
DEFUN ("modify-frame-parameters", Fmodify_frame_parameters,
Smodify_frame_parameters, 2, 2, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame, alist)
Lisp_Object frame, alist;
{
Lisp_Object tail, elt, prop, val;
FRAME_PTR f;
if (NILP (frame))
f = selected_frame;
else
{
CHECK_LIVE_FRAME (frame, 0);
f = XFRAME (frame);
}
#ifdef MSDOS
if (FRAME_X_P (frame))
IT_set_frame_parameters (XFRAME (frame), alist);
else
#endif
for (tail = alist; !EQ (tail, Qnil); tail = Fcdr (tail))
{
elt = Fcar (tail);
prop = Fcar (elt);
val = Fcdr (elt);
if (EQ (prop, Qmenu_bar_lines))
set_menu_bar_lines (f, val, make_number (FRAME_MENU_BAR_LINES (f)));
}
return Qnil;
}
DEFUN ("frame-live-p", Fframe_live_p, Sframe_live_p, 1, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return Qt;
}
DEFUN ("frame-visible-p", Fframe_visible_p, Sframe_visible_p, 1, 1, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
(frame)
Lisp_Object frame;
{
return Qt;
}
DEFUN ("frame-list", Fframe_list, Sframe_list, 0, 0, 0,
/* Don't confuse make-docfile by having two doc strings for this function.
make-docfile does not pay attention to #if, for good reason! */
0)
()
{
return Fcons (Fselected_frame (), Qnil);
}
syms_of_frame ()
{
syms_of_frame_1 ();
DEFVAR_LISP ("terminal-frame", &Vterminal_frame,
/* Don't confuse make-docfile by having two doc strings for this variable.
make-docfile does not pay attention to #if, for good reason! */
0);
XSETFASTINT (Vterminal_frame, 0);
defsubr (&Sselected_frame);
defsubr (&Sactive_minibuffer_window);
defsubr (&Swindow_frame);
defsubr (&Sframe_first_window);
defsubr (&Sframep);
defsubr (&Sframe_char_height);
defsubr (&Sframe_char_width);
defsubr (&Sframe_pixel_height);
defsubr (&Sframe_pixel_width);
defsubr (&Sset_frame_height);
defsubr (&Sset_frame_width);
defsubr (&Sset_frame_size);
defsubr (&Sset_screen_height);
defsubr (&Sset_screen_width);
defsubr (&Sframe_height);
Ffset (intern ("screen-height"), intern ("frame-height"));
defsubr (&Sframe_width);
Ffset (intern ("screen-width"), intern ("frame-width"));
defsubr (&Smouse_position);
Ffset (intern ("mouse-pixel-position"), intern ("mouse-position"));
defsubr (&Sframe_parameters);
defsubr (&Smodify_frame_parameters);
defsubr (&Sframe_live_p);
defsubr (&Sframe_visible_p);
defsubr (&Sframe_list);