Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
emacs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
emacs
emacs
Commits
e3678b64
Commit
e3678b64
authored
Sep 01, 1996
by
Karl Heuer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed support for !MULTI_FRAME.
parent
8c09486a
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
10 additions
and
768 deletions
+10
-768
src/Makefile.in
src/Makefile.in
+1
-7
src/alloc.c
src/alloc.c
+0
-2
src/buffer.c
src/buffer.c
+0
-2
src/data.c
src/data.c
+0
-3
src/dispextern.h
src/dispextern.h
+0
-2
src/dispnew.c
src/dispnew.c
+0
-40
src/frame.c
src/frame.c
+1
-429
src/frame.h
src/frame.h
+6
-110
src/keyboard.c
src/keyboard.c
+0
-34
src/keyboard.h
src/keyboard.h
+0
-3
src/lisp.h
src/lisp.h
+0
-11
src/minibuf.c
src/minibuf.c
+0
-4
src/print.c
src/print.c
+0
-2
src/puresize.h
src/puresize.h
+0
-4
src/sysdep.c
src/sysdep.c
+0
-2
src/w32faces.c
src/w32faces.c
+0
-2
src/window.c
src/window.c
+2
-101
src/xdisp.c
src/xdisp.c
+0
-8
src/xfaces.c
src/xfaces.c
+0
-2
No files found.
src/Makefile.in
View file @
e3678b64
...
...
@@ -572,12 +572,6 @@ otherobj= $(termcapobj) lastfile.o $(mallocobj) $(allocaobj) $(widgetobj)
#define FLOAT_SUPPORT
#endif
#ifdef MULTI_FRAME
#define FRAME_SUPPORT ${lispsource}frame.elc
#else
#define FRAME_SUPPORT
#endif
#ifdef HAVE_MOUSE
#define MOUSE_SUPPORT ${lispsource}menu-bar.elc ${lispsource}mouse.elc \
${lispsource}select.elc
${lispsource}scroll-bar.elc
...
...
@@ -631,7 +625,7 @@ lisp= \
FACE_SUPPORT
\
MOUSE_SUPPORT
\
FLOAT_SUPPORT
\
FRAME_SUPPORT
\
${lispsource}
frame.elc
\
X_WINDOWS_SUPPORT
\
${lispsource}
help.elc
\
${lispsource}
indent.elc
\
...
...
src/alloc.c
View file @
e3678b64
...
...
@@ -1802,7 +1802,6 @@ mark_object (argptr)
objptr
=
(
Lisp_Object
*
)
&
ptr1
->
contents
[
COMPILED_CONSTANTS
];
goto
loop
;
}
#ifdef MULTI_FRAME
else
if
(
GC_FRAMEP
(
obj
))
{
/* See comment above under Lisp_Vector for why this is volatile. */
...
...
@@ -1826,7 +1825,6 @@ mark_object (argptr)
mark_object
(
&
ptr
->
menu_bar_vector
);
mark_object
(
&
ptr
->
buffer_predicate
);
}
#endif
/* MULTI_FRAME */
else
if
(
GC_BOOL_VECTOR_P
(
obj
))
{
register
struct
Lisp_Vector
*
ptr
=
XVECTOR
(
obj
);
...
...
src/buffer.c
View file @
e3678b64
...
...
@@ -853,7 +853,6 @@ If BUFFER is omitted or nil, some interesting buffer is returned.")
continue
;
if
(
XSTRING
(
XBUFFER
(
buf
)
->
name
)
->
data
[
0
]
==
' '
)
continue
;
#ifdef MULTI_FRAME
/* If the selected frame has a buffer_predicate,
disregard buffers that don't fit the predicate. */
tem
=
frame_buffer_predicate
();
...
...
@@ -863,7 +862,6 @@ If BUFFER is omitted or nil, some interesting buffer is returned.")
if
(
NILP
(
tem
))
continue
;
}
#endif
if
(
NILP
(
visible_ok
))
tem
=
Fget_buffer_window
(
buf
,
Qt
);
...
...
src/data.c
View file @
e3678b64
...
...
@@ -225,11 +225,8 @@ for example, (type-of 1) returns `integer'.")
return
Qchar_table
;
if
(
GC_BOOL_VECTOR_P
(
object
))
return
Qbool_vector
;
#ifdef MULTI_FRAME
if
(
GC_FRAMEP
(
object
))
return
Qframe
;
#endif
return
Qvector
;
#ifdef LISP_FLOAT_TYPE
...
...
src/dispextern.h
View file @
e3678b64
...
...
@@ -99,9 +99,7 @@ typedef int FACE;
struct
frame_glyphs
{
#ifdef MULTI_FRAME
struct
frame
*
frame
;
/* Frame these glyphs belong to. */
#endif
/* MULTI_FRAME */
int
height
;
int
width
;
...
...
src/dispnew.c
View file @
e3678b64
...
...
@@ -144,18 +144,6 @@ FRAME_PTR selected_frame;
the address of the_only_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,
which is used inside `update_frame' to hold the old contents
of the FRAME_PHYS_LINES of the frame being updated. */
...
...
@@ -169,8 +157,6 @@ struct cm Wcm; /* Structure for info on cursor positioning */
int
delayed_size_change
;
/* 1 means SIGWINCH happened when not safe. */
#ifdef MULTI_FRAME
DEFUN
(
"redraw-frame"
,
Fredraw_frame
,
Sredraw_frame
,
1
,
1
,
0
,
"Clear frame FRAME and output again what is supposed to appear on it."
)
(
frame
)
...
...
@@ -203,30 +189,6 @@ redraw_frame (f)
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
,
""
,
"Clear and redisplay all visible frames."
)
()
...
...
@@ -2589,9 +2551,7 @@ For types not defined in VMS, use define emacs_term \"TYPE\".\n\
syms_of_display
()
{
#ifdef MULTI_FRAME
defsubr
(
&
Sredraw_frame
);
#endif
defsubr
(
&
Sredraw_display
);
defsubr
(
&
Sframe_or_buffer_changed_p
);
defsubr
(
&
Sopen_termscript
);
...
...
src/frame.c
View file @
e3678b64
...
...
@@ -62,8 +62,6 @@ Boston, MA 02111-1307, USA. */
(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 &&&*/
Lisp_Object
Qframep
;
Lisp_Object
Qframe_live_p
;
...
...
@@ -172,7 +170,7 @@ set_menu_bar_lines (f, value, oldval)
/* Right now, menu bars don't work properly in minibuf-only frames;
most of the commands try to apply themselves to the minibuffer
frame its
le
f, and get an error because you can't switch buffers
frame its
el
f, and get an error because you can't switch buffers
in or split the minibuffer window. */
if
(
FRAME_MINIBUF_ONLY_P
(
f
))
return
;
...
...
@@ -191,8 +189,6 @@ set_menu_bar_lines (f, value, oldval)
}
}
#ifdef MULTI_FRAME
#include "buffer.h"
/* These help us bind and responding to switch-frame events. */
...
...
@@ -2133,427 +2129,3 @@ keys_of_frame ()
initial_define_lispy_key
(
global_map
,
"iconify-frame"
,
"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
);
#ifdef MSDOS
/* A comment in dispnew.c says the_only_frame is not protected. */
the_only_frame
.
face_alist
=
Qnil
;
staticpro
(
&
the_only_frame
.
face_alist
);
the_only_frame
.
menu_bar_items
=
Qnil
;
staticpro
(
&
the_only_frame
.
menu_bar_items
);
the_only_frame
.
menu_bar_vector
=
Qnil
;
staticpro
(
&
the_only_frame
.
menu_bar_vector
);
the_only_frame
.
menu_bar_items
=
menu_bar_items
(
Qnil
);
#endif
}
keys_of_frame
()
{
}
#endif
/* not MULTI_FRAME */
src/frame.h
View file @
e3678b64
...
...
@@ -30,12 +30,7 @@ extern int frame_garbaged;
extern
int
message_buf_print
;
/* The structure representing a frame.
We declare this even if MULTI_FRAME is not defined, because when
we lack multi-frame support, we use one instance of this structure
to represent the one frame we support. This is cleaner than
having miscellaneous random variables scattered about. */
/* The structure representing a frame. */
enum
output_method
{
output_termcap
,
output_x_window
,
output_msdos_raw
,
output_win32
};
...
...
@@ -294,14 +289,12 @@ struct frame
char
mouse_moved
;
};
#ifdef MULTI_KBOARD
/* Note that MULTI_KBOARD implies MULTI_FRAME */
#ifdef MULTI_KBOARD
#define FRAME_KBOARD(f) ((f)->kboard)
#else
#define FRAME_KBOARD(f) (&the_only_kboard)
#endif
#ifdef MULTI_FRAME
typedef
struct
frame
*
FRAME_PTR
;
#define XFRAME(p) ((struct frame *) XPNTR (p))
...
...
@@ -422,8 +415,9 @@ typedef struct frame *FRAME_PTR;
should be a Lisp_Object too; it is used to iterate through the
Vframe_list.