1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-19 18:13:55 +00:00
Commit Graph

211 Commits

Author SHA1 Message Date
Karoly Lorentey
3224dac1b8 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
lisp/frame.el (display-color-cells): Pass display parameter to tty-display-color-cells.

lisp/term/xterm.el (xterm-register-default-colors): Pass the selected-frame to display-color-cells.

src/dispextern.h (set_terminal_modes, reset_terminal_modes): Removed declarations.
(get_named_tty_display): New prototype.
(tty_clear_end_of_line, term_init): Updated to new prototype.
(initial_term_init): Renamed to init_initial_display.

src/dispnew.c (Fredraw_frame): ifdef-out DOS-specific code.  Add display parameter to set_terminal_modes call.
(update_frame): Don't flush the tty of there is no tty.
(init_display): Set up a termcap display on the controlling tty and
change the initial frame to use that.  Delete the initial display.

src/frame.c (Fframep): Return t for the initial frame.
(make_initial_frame): New function for creating the initial frame during bootstrap.  Use init_initial_display, not initial_term_init.
(make_terminal_frame): Removed special cases for creating the initial frame.

src/frame.h (enum output_method): New entry: output_initial for the bootstrap display.
(FRAME_INITIAL_P): New macro.
(make_initial_frame): New prototype.

src/keyboard.c (interrupt_signal): Exit Emacs on SIGINT from the (frameless) controlling tty, if possible.  Explain this in a comment.
(init_keyboard): Added comment about exiting on SIGINT.
(Fset_input_mode): A termcap frame is never the initial frame anymore.

src/sysdep.c (init_sys_modes): Update tty_set_terminal_modes call to the new prototype.
(reset_sys_modes): Comment out tty_clear_end_of_line call; it doesn't work anymore.  Update tty_reset_terminal_modes call.

src/termchar.h (struct tty_display_info): Added pointer to the display structure, for reset_sys_modes.

src/termhooks.h (struct display): Added display parameter to set_terminal_modes_hook and reset_terminal_modes_hook.

src/term.c (initial_display): New variable.
(tty_ring_bell, tty_update_end, tty_set_terminal_window, tty_cursor_to)
(tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame, tty_clear_end_of_line)
(tty_write_glyphs, tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines): New functions.
(ring_bell, update_end, set_terminal_window, cursor_to, raw_cursor_to)
(clear_to_end, clear_frame, clear_end_of_line, write_glyphs, insert_glyphs)
(delete_glyphs, ins_del_lines): Removed special casing of termcap displays.
(get_tty_display): New function.
(Ftty_display_color_p, Ftty_display_color_cells): Use it.
(get_named_tty_display): Removed static.
(tty_set_terminal_modes, tty_reset_terminal_modes): Changed to use a display parameter
instead of tty_display_info for hook compatibility.
(set_terminal_modes, reset_terminal_modes): Removed.
(initial_term_init): Renamed to init_initial_display.  Set up an
output_initial device, not a termcap display.
(delete_initial_display): New function.
(maybe_fatal): New function, for private use of term_init.
(term_init): New parameter for choosing between fatal and simple errors.
Removed incomprehensible special casing for the second initialization of the
controlling tty.  Use maybe_fatal for error handling.
Initialize termcap display hooks in the new device.
Initialize the display pointer in the tty_display_info structure.
(delete_tty): Replace order of reset_sys_modes and delete_display.

src/window.c (init_window_once): Call make_initial_frame instead of make_terminal_frame.

src/xfaces.c (realize_default_face, realize_face): Don't abort on the bootstrap display device.

src/xterm.c (XTset_terminal_modes, XTreset_terminal_modes): Added display parameter.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-48
2004-01-09 18:57:53 +00:00
Karoly Lorentey
428a555ec5 Converted display hooks to be display-local. Plus many bugfixes.
lib-src/emacsclient.c (window_change_signal): Renamed to pass_signal_to_emacs.
(init_signal): Pass SIGINT and SIGQUIT to the emacs process.

lisp/faces.el (face-valid-attribute-values): Use the window-system
function, not the variable.
(read-face-attribute, face-spec-set-match-display, frame-set-background-mode)
(face-set-after-frame-default): Ditto.

lisp/frame.el (make-frame-on-tty): Added interactive declaration
(suggested by Robert J. Chassell).  Use tty-create-frame-with-faces,
not make-terminal-frame.

src/termhooks.h (struct display_method): Renamed to display for brevity.
(struct display): Added all display hook variables as members of this structure.
Added next_display, reference_count, type and display_info components.
(FRAME_MUST_WRITE_SPACES, FRAME_FAST_CLEAR_END_OF_LINE, FRAME_LINE_INS_DEL_OK)
(FRAME_CHAR_INS_DEL_OK, FRAME_SCROLL_REGION_OK, FRAME_SCROLL_REGION_COST)
(FRAME_MEMORY_BELOW_FRAME, FRAME_RIF): Updated for struct display.
(FRAME_DISPLAY): New macro.
(create_display, delete_display): New prototypes.

src/frame.h (struct frame): Added `display' member, removed display_method.
(FRAME_LIVE_P): Look at f->display, not f->output_data.

src/termchar.h (struct tty_display_info): Removed display_method component.
(FRAME_TTY): Use the display structure, not output_data.

src/term.c (display_list): New variable.
(cursor_to_hook, raw_cursor_to_hook, clear_to_end_hook, clear_frame_hook)
(clear_end_of_line_hook, ins_del_lines_hook, delete_glyphs_hook)
(ring_bell_hook, reset_terminal_modes_hook, set_terminal_modes_hook)
(update_begin_hook, update_end_hook, set_terminal_window_hook)
(insert_glyphs_hook, write_glyphs_hook, delete_glyphs_hoo, read_socket_hook)
(frame_up_to_date_hook, mouse_position_hook, frame_rehighlight_hook)
(frame_raise_lower_hook, set_vertical_scroll_bar_hook, condemn_scroll_bars_hook)
(redeem_scroll_bar_hook, judge_scroll_bars_hook): Moved to struct display.
(tty_display_method_template): Removed.
(syms_of_term): Don't initialize tty_display_method_template.
(ring_bell, set_terminal_modes, reset_terminal_modes, update_begin)
(update_end, set_terminal_window, cursor_to, raw_cursor_to, clear_to_end)
(clear_frame, clear_end_of_line, write_glyphs, insert_glyphs)
(delete_glyphs, ins_del_lines): Access display hooks through the frame pointer.
(Ftty_display_color_p): Use the frame given as a parameter, or else return nil.
(Ftty_display_color_cells): Ditto.
(get_named_tty): Renamed to get_named_tty_display, changed return type to struct display.
(term_dummy_init): Renamed to initial_term_init.  Create and return an initial display.
(term_init): Initialize a new struct display and return a pointer to
it instead of tty_display_info.  Removed frame initialization kludge.
(Fdelete_tty): Updated for struct display.
(delete_tty): The parameter type is now struct display, not tty_display_info.
Delete the display, too.
(create_tty_output): New function for creating tty_output structures.
(delete_tty_output): New function for deleting tty_output structures.
(create_display): New function for creating and registering display structures.
(delete_display): New function for deleting and unregistering display structures.

src/dispextern.h: Updated prototypes.

src/dispnew.c:  Include frame.h before termhooks.h.
(init_display): Updated term_init call to new signature.

src/emacs.c: Include frame.h (for termhooks.h).
src/keymap.c: Ditto.
src/lread.c: Ditto.
src/xsmfns.c: Ditto.

src/process.c: Include frame.h before termhooks.h.

src/frame.c (Fwindow_system): New function.
(syms_of_frame): Initialize it.
(make_terminal_frame): Open the terminal device before creating the new frame.
Disable scrollbars here, term_init cannot do that anymore.
(Fdelete_frame): Use the new delete_frame_hook, don't do display-specific
frame deletion here.  Ditto for delete_display_hook.
(Fmouse_position, Fmouse_pixel_position, Fraise_frame, Flower_frame)
(Fredirect_frame_focus): Access display hooks through the frame pointer.

src/keyboard.c: Include frame.h before termhooks.h.
(start_polling, input_polling_used, stop_polling, gobble_input): Ignore read_socket_hook.
(kbd_buffer_get_event, Fset_input_mode): Access display hooks through the frame pointer.
(read_avail_input): Loop through all display devices for and call all read_socket_hook functions.  Check ttys even if read_socket_hook returned an error.

src/sysdep.c (discard_tty_input): Ignore read_socket_hook.
(stuff_char): Don't do anything if the current frame is not on a termcap display.
(request_sigio, unrequest_sigio): Ignore read_socket_hook.
(init_sys_modes): Always call narrow_foreground_group.  Set up terminal modes and sigio even under X.

src/xdisp.c (message2_nolog, message3_nolog, redisplay_internal)
(set_vertical_scroll_bar, redisplay_window): Access display hooks through the frame pointer.
(echo_area_display): Don't be afraid of termcap frames during an X+tty combo session.

src/xfaces.c: Include termhooks.h.
(Ftty_supports_face_attributes_p): Use the given frame, not selected_frame.

src/xfns.c (x_set_scroll_bar_foreground, x_set_scroll_bar_background): Access display hooks through the frame pointer.
(Fx_create_frame, x_create_tip_frame): Initialize the frame's display structure.
src/xmenu.c: Include termhooks.h after frame.h.

src/xselect.c (x_own_selection, some_frame_on_display, x_get_foreign_selection)
(Fx_disown_selection_internal, Fx_get_cut_buffer_internal)
(Fx_store_cut_buffer_internal, Fx_rotate_cut_buffers_internal): Don't do anything
if the selected frame is not an X frame.

src/xterm.c (x_display_method): Removed.
(x_create_frame_display, x_delete_frame_display): New functions for handling struct display objects.
(x_term_init): Set up a new struct display object, too.
(x_delete_display): Delete the struct display corresponding to the X display.
(x_initialize): Moved hook initialization to x_create_frame_display.

src/xterm.h (x_display_method): Removed.
(struct x_display_info): Added frame_display component.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-44
2004-01-05 05:54:35 +00:00
Karoly Lorentey
daf0170133 Fixed X support, preliminary support for X-tty combo sessions.
lib-src/emacsclient.c (copy_from_to, pty_conversation): Re-added SIGIO
hack.  (Sigh.)

lisp/frame.el (make-frame-on-tty): Use make-terminal-frame, not
make-frame.

src/dispnew.c (line_hash_code, line_draw_cost): Updated to use
the new display_method parameters.
(Fredraw_frame): fflush the tty only if f is a termcap frame.
(direct_output_for_insert): Updated to use the new display_method
parameters. fflush the tty only if f is a termcap frame.
(direct_output_forward_char, update_frame_1, scrolling): Ditto.
(update_frame_line, Fding, bitch_at_user): Ditto.
(Fsend_string_to_terminal): Fail if current frame is not on a tty.
(init_display): Frame size change is safe here.


src/frame.c (Vterminal_frame): Restored previously deleted variable.
(syms_of_frame): Initialize it.
(make_terminal_frame): Copy the frame's display_method from tty_display_info.
(Fmake_terminal_frame): Enable simultaneous X and tty frames (buggy).
(Fredirect_frame_focus): Don't call frame_rehighlight_hook if frame
is on a termcap device.

src/frame.h (struct frame): Renamed display to display_method.
(Vterminal_frame): Re-added declaration.

src/keyboard.c (flow_control): Moved to struct tty_display_info.
(read_avail_input): Check ttys even if there is a read_socket_hook.
(Fset_input_mode): Call reset_sys_modes/init_sys_modes and set
flow_control or meta_key only when the frame is a termcap frame.
(Fcurrent_input_mode): Handle flow_control and meta_key right on
non-termcap frames.

src/scroll.c (calculate_scrolling, calculate_direct_scrolling): Update
to use the new display_method parameters.
(scrolling_1, scroll_cost): Ditto.

src/sysdep.c (init_sys_modes, reset_sys_modes): Always set the
terminal parameters if tty_out->input is not stdin.  Updated to the
new location of flow_control.
(hft_init): Moved HFT init code to term_init, as it needs the frame.

src/term.c (tty_display_method_template): New variable.
(update_begin): Added rif hack.
(set_terminal_window, ins_del_lines, term_init): Updated to use the
new display_method parameters.
(insert_glyphs, ins_del_lines): Only call insert_glyphs_hook if the
current frame is not on a tty.
(calculate_costs): Don't calculate costs if not on a tty.
(term_dummy_init): Fixed tty->output initialization. Preallocate Wcm
and display_method.
(term_init): Allocate & initialize display_method.  Blindly fixed
WINDOWSNT-specific parts.  Added HFT-specific initialization
exception from hft_init.
(delete_tty): Only delete termcap frames.  Free() the display_method.

src/termchar.h (struct tty_display_info): Moved high-level terminal
characteristics to struct display_method.  Added flow_control and
display_method members.

src/termhooks.h (struct display_method): New struct (renamed from
struct device).  Added accessor macros.

src/window.c (init_window_once): Initialize Vterminal_frame.

src/xdisp.c (init_iterator, expose_frame): Added rif hack.
(try_window_id): Updated to use the new display_method parameters.

src/xfaces.c (realize_basic_faces): Don't call
x_update_menu_appearance if the frame is a tty frame.

src/xfns.c (Fx_create_frame): Added rif hack.  Initialize
display_method.
(x_create_tip_frame): Initialize display_method.

src/xterm.c (x_display_method): New variable.
(x_flush, x_frame_of_widget, XTmouse_position): Ignore non-X frames.
(x_window_to_scroll_bar, x_window_to_menu_bar): Ditto.
(xim_destroy_callback, xim_instantiate_callback): Ditto.
(frame_highlight, frame_unhighlight): Added rif hack.
(x_initialize): Don't initialize rif.  Do initialize x_display_method.

src/xterm.h (x_display_method): New declaration.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-30
2004-01-02 01:15:26 +00:00
Karoly Lorentey
7c3a261587 Merged in changes from CVS head
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-5
   Add =cvs-sync-make-log script

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-6
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-7
   Use absolute tla-tools filenames in =cvs-sync-make-log

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-8
   Use proper arch-tag: syntax for lispintro/texinfo.tex

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-9
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-24
2003-12-30 17:05:05 +00:00
Richard M. Stallman
7f18ce220c (pop-up-frame-function): Use quote, not `function'.
(frame-notice-user-settings): Calculate ADJUSTED-TOP
copying with lists as coordinate values.
2003-12-29 19:17:24 +00:00
Karoly Lorentey
fca177d467 Fully eliminated global tty state variables.
lib-src/emacsclient.c (main.c): Fix error message.

lisp/frame.el (make-frame-on-tty): New function.

lisp/server.el (server-process-filter): Notify emacsclient if there
was on error during evaluation.

src/cm.c: Fix remaining cases of direct Wcm references.

src/dispextern.h: Updated prototypes.

src/dispnew.c (Fredraw_frame): Fix set_terminal_modes call.
(init_display): Remove reference to meta_key.

src/frame.c (make_terminal_frame): Renamed first parameter to
tty_name.  Call term_init before creating the frame.
(Fmake_terminal_frame): Look up the `tty' and `tty-type' frame
parameters from the currently selected terminal before the global
default.
(Fdelete_frame): Make sure that the new selected frame is live.

src/keyboard.c (meta_key): Moved to struct tty_output.
(read_avail_input): Fix C syntax.  Update references to meta_key.
(Fsuspend_emacs): pass current tty to init_sys_modes via
record_unwind_protect.
(Fset_input_mode): Update references to meta_key.
(Fcurrent_input_mode): Ditto.

src/sysdep.c (init_sys_modes): Updated old_tty and meta_key
references.  Don't call set_terminal_modes, it needs termcap strings.
(reset_sys_modes): Call tty_reset_terminal_modes instead of
reset_terminal_modes.  Updated old_tty references.

src/term.c: Massive updates throuout the file.
(TS_*, TN_*): Moved to struct tty_output.
(RPov, delete_in_insert_mode se_is_so, costs_set, insert_mode): Ditto.
(standout_mode, specified_window, tty_cursor_hidden): Ditto.
(tty_set_terminal_modes, tty_reset_terminal_modes): New functions.
(turn_on_insert, turn_off_insert): Added tty parameter.
(turn_on_highlight, turn_off_highlight, toggle_highlight): Added tty parameter.
(tty_hide_cursor, tty_show_cursor): Ditto.
(background_highlight, highlight_if_desired): Ditto.
(tty_capable_p): Changed first parameter to tty_output.
(term_init): Make sure top_frame is initialized.  Don't exit on errors
if this would have been a secondary terminal.  Call set_terminal_modes
on the end.
(delete_tty): New function.
(delete_tty_1): New function.
(print_all_frames): New function, marginally useful for debugging.

src/termchar.h (struct tty_output): Changed old_tty to be a pointer.
Removed old_tty_valid member.  Added tty-specific variables from term.c.

src/xfaces.c (Ftty_supports_face_attributes_p): Update for new
tty_capable_p.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-9
2003-12-27 10:00:19 +00:00
Kim F. Storm
56cfea72a3 (frame-current-scroll-bars): New defun. 2003-09-24 22:54:55 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Juanma Barranquero
63019bad3a (modify-all-frames-parameters): Reinstall (copyright papers received). 2003-07-13 17:48:58 +00:00
Miles Bader
9328929244 (set-frame-font): Default to frame's current default font. 2003-06-06 01:32:33 +00:00
Stefan Monnier
3db7df063f (iconify-or-deiconify-frame): Move from term/x-win.el. 2003-05-24 16:11:17 +00:00
Juanma Barranquero
7418081f48 (modify-all-frames-parameters): Deleted. 2003-04-10 16:31:00 +00:00
Juanma Barranquero
f7df88f47a (new-frame): Add obsolescence declaration. 2003-04-09 17:45:20 +00:00
Juanma Barranquero
034ade66e3 (modify-all-frames-parameters): New function to change parameters in all
existing and future frames.
2003-04-09 17:38:47 +00:00
Juanma Barranquero
1cef654128 (set-frame-font): Allow keeping frame size after changing font. 2003-04-09 17:28:30 +00:00
John Paul Wallington
da7829a310 (delete-frame-hook): Variable alias for
`delete-frame-functions'.  Mark obsolete.
2002-10-02 23:53:37 +00:00
Richard M. Stallman
80c39c38bb (select-frame-by-name, select-frame-set-input-focus):
Always call x-focus-frame, if using x.
Use set-mouse-position on all systems, if focus-follows-mouse.
2002-08-24 02:59:27 +00:00
Eli Zaretskii
f29173c984 (frames-on-display-list): Use `equal' to compare the
`display' frame parameter to the argument DISPLAY.
2002-04-12 16:50:54 +00:00
Jason Rumney
fcc6f5cc3e (display-images-p): Do not explicitly check display type. 2002-03-20 21:26:51 +00:00
Eli Zaretskii
968ecc2809 (auto-hscroll-mode): Renamed from automatic-hscrolling.
(automatic-hscrolling): Now a defvaralias for auto-hscroll-mode.
2002-03-03 17:31:45 +00:00
Richard M. Stallman
6527c9b7ac (focus-follows-mouse): Doc fix. 2002-02-26 02:37:58 +00:00
Richard M. Stallman
bb578a72d1 (other-frame): Doc fix. 2002-02-20 22:28:44 +00:00
Eli Zaretskii
a6ab2fcfb3 (display-color-cells): Use tty-display-color-cells. 2002-01-25 13:19:28 +00:00
Sam Steingold
bc5c763a1b (show-trailing-whitespace): Remove :set argument (the
value was essentially identical to the defalt).
2001-11-26 18:28:18 +00:00
Sam Steingold
f39784dd3e comments indented properly 2001-11-26 18:20:20 +00:00
Eli Zaretskii
528e141664 (set-background-color, set-foreground-color): Call
face-set-after-frame-default, to propagate the new colors to the
frame's parameters alist.
2001-11-03 15:55:17 +00:00
Richard M. Stallman
cacf219364 (blink-cursor-mode): Doc fix. 2001-10-30 00:24:12 +00:00
Stefan Monnier
7e573c4a6d (special-display-popup-frame): Obey new specs same-window' and same-frame'. 2001-10-12 20:39:54 +00:00
Eli Zaretskii
563283b1b5 (select-frame-by-name, other-frame): Doc fix. 2001-09-30 10:47:22 +00:00
Eli Zaretskii
eaa600194f (show-trailing-whitespace): Doc fix. 2001-08-14 12:39:53 +00:00
Gerd Moellmann
030f453737 (select-frame-set-input-focus): New function
extracted from other-frame.
(other-frame): Use it.
(next-multiframe-window, previous-multiframe-window): Use it.
2001-08-10 13:47:18 +00:00
Eli Zaretskii
ddc456e4ec (display-images-p): New function. 2001-07-17 12:58:19 +00:00
Pavel Janík
5553563924 Some fixes to follow coding conventions in files maintained by FSF. 2001-07-15 16:15:35 +00:00
Eli Zaretskii
310e9a2152 (automatic-hscrolling): Fix a typo. From Pavel Janik <Pavel@Janik.cz>. 2001-05-20 04:14:49 +00:00
Gerd Moellmann
a2125918a0 (delete-other-frames): Handle minibuffer-only frames. 2001-04-17 12:02:53 +00:00
Gerd Moellmann
c0eb3c1052 (cursor-in-non-selected-windows): Replaces
show-cursor-in-non-selected-windows.
2001-04-02 10:19:52 +00:00
Jason Rumney
5c39a60f1d (frame-notice-user-settings): Only adjust frame height
for no tool-bar case if tool-bar was originally switched on.
2001-02-23 10:23:08 +00:00
Gerd Moellmann
a6c411ffc6 (display-hourglass): Renamed from busy-cursor.
(hourglass-delay): Renamed from busy-cursor-delay-seconds.
(show-cursor-in-non-selected-windows): Doc fix.
2001-02-21 14:08:10 +00:00
Gerd Moellmann
085ef9b398 (frame-notice-user-settings): When resizing the initial
frame because the tool bar is off, also change the frame's top
position if a negative top position was specified.
2001-02-02 13:55:42 +00:00
Gerd Moellmann
de2f5dbec2 (frame-notice-user-settings): Do the tool-bar
stuff only for graphical displays.  Fix a braino.
2001-01-30 15:18:13 +00:00
Gerd Moellmann
9688894d93 (frame-initialize): Create initial frame visible.
(frame-notice-user-settings): When tool-bar has been switched off,
correct the frame size and sync too-bar-mode.
2001-01-30 15:06:47 +00:00
Eli Zaretskii
ff2a1c79f5 (frame-initialize): Doc fix. 2001-01-29 17:01:52 +00:00
Gerd Moellmann
2533b69a03 (frame-initialize): Create the initial frame invisible. 2001-01-24 15:39:00 +00:00
Eli Zaretskii
e9510d0020 (show-cursor-in-non-selected-windows): Doc fix. 2000-12-14 15:16:27 +00:00
Gerd Moellmann
be6bbb55ab (blink-cursor-mode): Doc fix. 2000-11-29 15:28:17 +00:00
Gerd Moellmann
e053c60feb (show-cursor-in-non-selected-windows): Doc fix. 2000-11-22 19:54:36 +00:00
Stefan Monnier
72bf1a8b28 (after-setting-font-hook): Rename hooks -> hook.
(set-frame-font): Use the new name (and the old for compatibility).
2000-11-03 22:15:51 +00:00
Eli Zaretskii
42002db50d (frame-notice-user-settings): Don't apply
default-frame-alist and initial-frame-alist to MS-DOS frames.
Call tty-handle-reverse-video, frame-set-background-mode, and
face-set-after-frame-default for non-MS-DOS frames.
2000-10-28 17:18:21 +00:00
Andrew Choi
1a578e9be2 Initial check-in: changes for building Emacs under Mac OS.
2000-10-23  Andrew Choi  <akochoi@i-cable.com>

	* dispextern.h [macintosh]: Include macgui.h instead of macterm.h.

	* dispnew.c [macintosh]: Include macterm.h.
	(init_display) [macintosh]: initialization for window system.

	* emacs.c (main) [macintosh]: Call syms_of_textprop,
	syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
	syms_of_search, x_term_init, and init_keyboard before calling
	init_window_once.  Also, call syms_of_xmenu.

	* fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
	default fontset to Monaco.

	* frame.c [macintosh]: Include macterm.h.  Remove declarations of
	NewMacWindow and DisposeMacWindow.
	(make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
	instead of calling NewMacWindow and setting fields of
	f->output_data.mac directly.  Call init_frame_faces.
	(Fdelete_frame) [macintosh]: Remove unused code.
	(Fmodify_frame_parameters) [macintosh]: Call
	x_set_frame_parameters instead of mac_set_frame_parameters.

	* frame.h [macintosh]: Define menu_bar_lines field in struct
	frame.  Define FRAME_EXTERNAL_MENU_BAR macro.

	* keyboard.c [macintosh]: Include macterm.h.
	(kbd_buffer_get_event) [macintosh]: Generate delete_window_event
	and menu_bar_activate_event type events as for X and NT.
	(make_lispy_event) [macintosh]: Construct lisp events of type
	MENU_BAR_EVENT as for X and NT.

	* sysdep.c [macintosh]: Remove declaration for sys_signal.
	Include stdlib.h.  Remove definition of Vx_bitmap_file_path.
	(sys_subshell) [macintosh]: Remove definition entirely.
	(init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
	Vwindow_system_version here.  Remove initialization of
	Vx_bitmap_file_path.
	(read_input_waiting): Correct the number of parameters passed to
	read_socket_hook.
	Move all Macintosh functions to mac/mac.c.

	* term.c [macintosh]: Include macterm.h.

	* window.c [macintosh]: Include macterm.h.

	* xdisp.c [macintosh]: Include macterm.h.  Declare
	set_frame_menubar and pending_menu_activation.
	(echo_area_display) [macintosh]: Do not return if terminal frame
	is the selected frame.
	(update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
	Allow only the selected frame to set menu bar.
	(redisplay_window) [macintosh]: Obtain menu bar to redisplay by
	calling FRAME_EXTERNAL_MENU_BAR (f).
	(display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).

	* xfaces.c [macintosh]: Include macterm.h.  Define x_display_info
	and check_x.  Declare XCreateGC.  Define x_create_gc and
	x_free_gc.  Initialize font_sort_order.
	(x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
	but call x_list_fonts instead of w32_list_fonts.
	(Finternal_face_x_get_resource) [macintosh]: Do not call
	display_x_get_resource.
	(prepare_face_for_display) [macintosh]: Set xgcv.font.
	(realize_x_face) [macintosh]: Load the font if it is specified in
	ATTRS.
	(syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
	to Qt.

	* cus-edit.el (custom-button-face): Use 3D look for mac.
	(custom-button-pressed-face): Likewise.

	* faces.el (set-face-attributes-from-resources): Handle mac frames
	in the same way as x and w32 frames.
	(face-valid-attribute-values): Likewise.
	(read-face-attribute): Likewise.
	(defined-colors): Likewise.
	(color-defined-p): Likewise.
	(color-values): Likewise.
	(display-grayscale-p): Likewise.
	(face-set-after-frame-default): Likewise.
	(mode-line): Same default face as for x and w32.
	(tool-bar): Likewise.

	* frame.el: Remove call to frame-notice-user-settings at end of
	the file.

	* info.el (Info-fontify-node): make underlines invisible for mac
	as for x, pc, and w32 frame types.

	* term/mac-win.el: New file.
2000-10-22 16:50:16 +00:00
Gerd Moellmann
c9dc81737c (set-frame-font): Remove call to obsolete function
frame-update-faces.
(set-foreground-color, set-background-color): Likewise for
frame-update-face-colors.
2000-09-27 13:49:21 +00:00