1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 07:11:34 -08:00
Commit graph

49 commits

Author SHA1 Message Date
Glenn Morris
9ec0b715e2 Switch to recommended form of GPLv3 permissions notice. 2008-05-14 07:50:26 +00:00
Miles Bader
59ce725a3b Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
2008-01-08 20:46:54 +00:00
Glenn Morris
8cabe764e9 Add 2008 to copyright years. 2008-01-08 04:37:27 +00:00
Miles Bader
9899d01a0c Merge from emacs--devo--0
Patches applied:

 * emacs--devo--0  (patch 824-838)

   - Update from CVS
   - Merge from emacs--rel--22
   - Remove lisp/erc/erc-nicklist.el
   - Update some .arch-inventory files
   - Fix void function definition error in cus-edit.el
   - Restore lisp/emacs-lisp/cl-loaddefs.el

 * emacs--rel--22  (patch 70-83)

   - Update from CVS
   - Remove lisp/erc/erc-nicklist.el
   - Update some .arch-inventory files
   - Indicate that emacs--devo--0--patch-834 does not need to be applied
   - Merge from gnus--rel--5.10
   - Restore lisp/emacs-lisp/cl-loaddefs.el

 * gnus--rel--5.10  (patch 239-241)

   - Merge from emacs--devo--0
   - Update from CVS

Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-28
2007-07-31 05:50:45 +00:00
Glenn Morris
684d6f5bcc Switch license to GPLv3 or later. 2007-07-25 05:19:07 +00:00
Karoly Lorentey
93afd0f1d4 Merged from emacs@sv.gnu.org
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-599
   Merge from erc--main--0

 * emacs@sv.gnu.org/emacs--devo--0--patch-600
   Merge from erc--main--0

 * emacs@sv.gnu.org/emacs--devo--0--patch-601
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-602
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-603
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-604
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-605
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-606
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-607
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-608
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-609
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-610
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-611
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-612
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-613
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-614
   Make byte compiler correctly write circular constants

 * emacs@sv.gnu.org/emacs--devo--0--patch-615
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-616
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-617
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-618
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-192
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-193
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-194
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-195
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-196
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-594
2007-01-29 22:21:19 +00:00
Glenn Morris
429ab54e01 Update copyright for years from Emacs 21 to present (mainly adding
2001).
2007-01-14 03:38:22 +00:00
Karoly Lorentey
1913a2b35d Merged from emacs@sv.gnu.org
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-49
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-50
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-51
   Make constrain-to-field notice overlays

 * emacs@sv.gnu.org/emacs--devo--0--patch-52
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-53
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-54
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-55
   Merge from erc--emacs--0

 * emacs@sv.gnu.org/emacs--devo--0--patch-56
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-57
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-58
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-59
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-60
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-61
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-62
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-63
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-64
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-65
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-66
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-67
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-68
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-69
   rcirc: Add flexible response formatting; Add nick abbrevs

 * emacs@sv.gnu.org/emacs--devo--0--patch-70
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-71
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-72
   Update from CVS: man/dired.texi (Tumme): More tumme documentation.

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-18
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-19
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-20
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-21
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-22
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-23
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-24
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-25
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-26
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-27
   Update from CVS: lisp/gnus.el: Remove bogus comment.

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-28
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-29
   Add sendmail.el and smptmail.el from Emacs tree to contrib/

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-508
2006-02-12 00:15:44 +00:00
Thien-Thi Nguyen
aaef169dc6 Update years in copyright notice; nfc. 2006-02-06 15:23:23 +00:00
Karoly Lorentey
fbf3497344 Merged in changes from CVS trunk. Plus added lisp/term tweaks.
Patches applied:

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--base-0
   tag of miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-474

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-1
   Add CVS metadata files.

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-2
   Update from CVS.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-393
2005-09-04 03:48:17 +00:00
Thien-Thi Nguyen
0b5538bd85 Update years in copyright notice; nfc. 2005-08-07 12:33:19 +00:00
Karoly Lorentey
d5dc920668 Merged from miles@gnu.org--gnu-2005 (patch 469)
Patches applied:

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-372
2005-07-05 22:22:24 +00:00
Lute Kamstra
4fc5845fe8 Update FSF's address. 2005-07-04 16:49:24 +00:00
Karoly Lorentey
385ed61f9d Eliminated updating_frame.
src/termhooks.h (cursor_to_hook, raw_cursor_to_hook)
(clear_to_end_hook, clear_end_of_line_hook, clear_frame_hook)
(ins_del_lines_hook, insert_glyphs_hook, write_glyphs_hook)
(delete_glyphs_hook, ring_bell_hook, set_terminal_window_hook):
Added frame parameter.

src/term.c (ring_bell, tty_ring_bell, set_terminal_window)
(tty_set_terminal_window, set_scroll_region, cursor_to)
(tty_cursor_to, raw_cursor_to, tty_raw_cursor_to, clear_to_end)
(tty_clear_to_end, clear_frame, tty_clear_frame, clear_end_of_line)
(tty_clear_end_of_line, write_glyphs, tty_write_glyphs, insert_glyphs)
(tty_insert_glyphs, delete_glyphs, tty_delete_glyphs, ins_del_lines)
(tty_ins_del_lines): Added frame parameter.

src/xterm.c (x_delete_glyphs, x_clear_frame, x_ins_del_lines):
Added frame parameter.

src/scroll.c (do_direct_scrolling, do_scrolling): Added frame parameter.

src/term.c (update_begin, update_end): Don't set updating_frame.

src/xfns.c (x_set_tool_bar_lines): Ditto.

src/term.c (updating_frame): Removed.

src/dispextern.h: Updated prototypes.

src/dispnew.c (Fredraw_frame, direct_output_for_insert)
(direct_output_forward_char, update_frame_1, update_frame_line)
(ding, bitch_at_user): Added frame parameter to calls to redisplay.

src/xdisp.c (try_window_id): Ditto.

src/scroll.c (do_scrolling, do_direct_scrolling, scrolling_1): Ditto.
src/fileio.c (auto_save_error): Ditto.

src/term.c (tty_ring_bell): Flush the output stream after beeping.
src/dispnew.c (ding, bitch_at_user): Don't fflush CURTTY.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-140
2004-04-16 15:03:58 +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
9628b8878f lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
(here): New variable.
(decode_options): Use it.
(ec_get_tty, ec_set_tty, init_tty, window_change, hang_up_signal): New functions.
(window_change_signal, init_signals, reset_tty, init_pty, copy_from_to): Ditto.
(pty_conversation): Ditto.
(main): Use them.
(master, pty_name, old_tty, tty, old_tty_valid, tty_erase_char): New variables.
(flow_control, meta_key, _sobuf, in_conversation, quit_conversation): Ditto.

lisp/server.el (server-process-filter): Added support for opening a new terminal frame.

dispextern.h (get_frame_size): Renamed to get_tty_size, added tty_output parameter.

dispnew.c (Fredraw_frame): fflush the current terminal instead of stdout.
(direct_output_for_insert, direct_output_forward_char, update_frame_1): Ditto.
(Fding, bitch_at_user): Ditto.
(update_frame_1): Count pending output for current terminal instead of stdout.
(window_change_signal): Resize all terminals.
(change_frame_size): Don't resize all terminals to the same size.

frame.c (Vterminal_frame): Removed.
(syms_of_frame): Removed declaration of Vterminal_frame.
(make_terminal_frame): Set the top frame of the terminal to the new frame.
(Fmake_terminal_frame): Get a new frame size from get_tty_size, don't copy it.
(do_switch_frame): Handle terminal frame visibility.
(next_frame, prev_frame): Skip over frames on different terminals.

frame.h (Vterminal_frame): Removed.

keyboard.c (input_fd): Removed.
(read_avail_input): Removed first argument from read_socket_hook.
Try to read from each available tty, until one succeeds.
(Fsuspend_emacs): Don't suspend if there are multiple terminals.

lisp.h (get_frame_size): Removed superflous declaration.

xterm.c (Xtread_socket): Removed first parameter.
macterm.h (XTread_socket): Ditto.
w32inevt.c (w32_console_read_socket): Ditto.
w32term.c (w32_read_socket): Ditto.

sysdep.c (input_fd): Removed.
(change_input_fd): Removed.
(discard_tty_input): Discard pending input on _all_ input descriptors.
(stuff_char, tabs_safe_p): Use current terminal instead of input_fd.
(init_baud_rate, request_sigio, unrequest_sigio): Ditto.
(init_sys_modes, reset_sys_modes): Ditto.
(narrow_foreground_group, widen_foreground_group): Use stdin.
(init_sys_modes, reset_sys_modes): otty parameter renamed to tty_out.
(get_frame_size): Renamed to get_tty_size, added tty_out parameter.

term.c (read_socket_hook): Removed first parameter.
(clear_end_of_line): Use updating_frame, if possible.
(write_glyphs, insert_glyphs, ins_del_lines): Ditto.
(term_init): Renamed get_frame_size to get_tty_size.

termchar.h (struct tty_output): New entries: top_frame,
previous_terminal_frame.

termhooks.h (read_socket_hook): Removed first parameter.

window.c (init_window_once): Removed reference to Vterminal_frame.

xdisp.c (previous_terminal_frame): Moved to struct tty_output.
(redisplay_internal): Updated to use previous_terminal_frame in tty_output.
Allow for simultaneous refresh of multiple ttys.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-5
2003-12-26 04:24:54 +00:00
Karoly Lorentey
28d440abfe Implemented multiple tty support.
README.multi-tty: New file.

src/termchar.h (struct terminal): Renamed to struct tty_output.  Added name, type,
input, output, termscript, old_tty, term_initted, old_tty_valid,
background_pixel, foreground_pixel, next fields.
(TERMINAL_*): Renamed to TTY_* for brevity.
(CURRENT_TERMINAL): Renamed to CURTTY for brevity.
(tty_list): New variable.
(TERMINAL_PTR): Removed.
(FRAME_TTY): New function.
(TTY_NAME, TTY_TYPE): New macros.

src/term.c (current_terminal): Removed.  (_current_terminal): Removed.  (tty_list):
New variable.  (OUTPUT, OUTPUT1, OUTPUTL, OUTPUT_IF, OUTPUT1_IF): Added tty
parameter.  (set_terminal_modes): Added tty parameter.  (reset_terminal_modes):
Added tty parameter.  (cursor_to, raw_cursor_to): Updated cmgoto() calls.
(clear_end_of_line, write_glyphs): Add indirection to terminal output, updated
cmcheckmagic() calls.  (get_named_tty): New function.  (term_dummy_init): New
function.  (term_init): Added name parameter, added tty_output return value.
Changed algorithm to update tty_list.  Call init_sys_modes() to set up tty
mode on the newly opened terminal device.
(get_current_tty): New function, intended for debugging.

src/termhooks.h (termscript): Removed.

src/w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Removed redundant
definition.
src/macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Ditto.


src/window.c (init_window_once): Call make_terminal_frame with two zero parameters.

src/cm.h (emacs_tputs): New macro to set current_tty, and then call tputs().
(current_tty): New variable, for cmputc().
(cmcheckmagic, cmputc, cmgoto): Added prototypes.

src/cm.c (current_tty): New variable, for cmputc().
(cmputc): Use it.
(cmcheckmagic): Added tty parameter, look up terminal streams there.
(calccost): Added tty parameter.  Use emacs_tputs() instead of tputs().
(cmgoto): Added tty parameter.  Pass it on to calccost().  Use emacs_tputs()
instead of tputs().


src/dispextern.h (set_terminal_modes, reset_terminal_modes): Added tty parameter.
(term_init): Added name parameter (the filename of the terminal device). Added
return value (struct tty_output).

src/dispnew.c: Replace CURTTY() with local variables throughout the file (where applicable).
(termscript): Moved to struct tty_output.
(terminal_type): Removed.

src/emacs.c (main): Don't call init_sys_modes(), the new term_init() already does that
during init_display().
(shut_down_emacs): Call reset_all_sys_modes() instead of reset_sys_modes().

src/frame.c (Qtty, Qtty_type): New variables.
(syms_of_frame): Initialize them.
(tty_display): Removed.
(make_terminal_frame): New parameters (tty filename and type).
Initialize output_data.tty field instead of output_data.x.  Use term_init() to
find the right tty_output.  (Use term_dummy_init() during bootstrap.)
(Fmake_terminal_frame): Get device filename and type from frame parameters.

src/frame.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Do the right thing
if the frame is a tty.
(struct frame): New member in output_data: tty.
(make_terminal_frame): Updated of prototype.

src/keyboard.c (Fset_input_mode): Call reset_all_sys_modes(), not
reset_sys_modes().  Ditto with init_sys_modes().

src/lisp.h (tty_output): Added forward declaration.
(init_sys_modes, reset_sys_modes): Updated prototype.
(init_all_sys_modes, reset_all_sys_modes): New prototypes.

src/scroll.c: Replace CURTTY() with local variables throughout the file (where applicable).

src/sysdep.c (old_tty, term_initted, old_tty_valid): Moved to struct tty_output.(
(init_all_sys_modes): New function.
(init_sys_modes): Added tty_output parameter.  Use it.
(reset_all_sys_modes): New function.
(reset_sys_modes): Added tty_output parameter.  Use it.

src/Makefile.in: Update dependencies.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-2
2003-12-25 06:59:31 +00:00
Karoly Lorentey
8a56675df1 Add a level of indirection to terminal characteristics.
* src/termchar.h (struct terminal): New struct.
(must_write_spaces, min_padding_speed, line_ins_del_ok)
(char_ins_del_ok, scroll_region_ok, scroll_region_cost)
(memory_below_frame, fast_clear_end_of_line): Moved to struct
terminal.
(current_terminal): New variable.
(CURRENT_TERMINAL, TERMINAL_*): New accessor macros.
(min_padding_speed, dont_calculate_costs): Commented out (unused).

* src/term.c (_current_terminal): New variable.  Will be removed when
true multi-tty support is implemented.

* src/termopts.h (no_redraw_on_reenter): Moved here.

* src/term.c (set_terminal_window, ins_del_lines, calculate_costs)
(term_init): Use the accessor macros for terminal characteristics.
* src/dispnew.c (line_hash_code, line_draw_cost)
(direct_output_for_insert, update_frame_1, scrolling)
(update_frame_line): Ditto.
* src/macterm.c (mac_initialize): Ditto.
* src/msdos.c (internal_terminal_init): Ditto.
* src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
(scrolling_1, scroll_cost): Ditto.
* src/sysdep.c (hft_init): Ditto.
* src/w32term.c (w32_initialize): Ditto.
* src/xdisp.c (try_window_id): Ditto.
* src/xterm.c (x_initialize): Ditto.

* etc/TODO: Add pointer to my tla archive.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-1
2003-12-24 18:55:24 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Kim F. Storm
9882535b5c Make (some) trivial substitutions for renamed and
new macros in dispextern.h, frame.h and window.h.
2003-05-24 22:09:50 +00:00
Juanma Barranquero
177c0ea743 Trailing whitespace deleted. 2003-02-04 14:56:31 +00:00
Dave Love
250368afb5 (calculate_scrolling, calculate_direct_scrolling): 2002-11-14 14:16:14 +00:00
Gerd Moellmann
32c82ac0a1 Don't define min/max. 2001-10-08 08:08:08 +00:00
Andrew Innes
2538fae4f8 Include keyboard.h before frame.h. 2000-08-22 22:41:00 +00:00
Ken Raeburn
b96f9fb741 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
* emacs.c (main): Fix sense of no-loadup test.
2000-03-29 23:24:14 +00:00
Gerd Moellmann
8970011174 Rewritten. 1999-07-21 21:43:52 +00:00
Andreas Schwab
dfcf069d56 Fix -Wimplicit warnings. 1998-04-14 12:25:56 +00:00
Erik Naggum
3b7ad313e0 Update FSF's address in the preamble. 1996-01-15 09:18:04 +00:00
Geoff Voelker
a5570f57ca [HAVE_NTGUI] (do_scrolling, do_direct_scrolling): Update frame geometry.
Use FRAME_WINDOW_P instead of testing for specific window system frames.

Use HAVE_WINDOW_SYSTEM instead of testing for specific window systems.
1995-11-07 07:25:15 +00:00
Richard M. Stallman
1af1b1e840 (scrolling_1): When scroll_region_ok is set, use a
new scrolling method which scrolls groups of lines directly
to their final vertical positions.
(struct matrix_elt): New field writecount.
(calculate_direct_scrolling): New function.
(do_direct_scrolling): New function.
1994-12-26 15:38:56 +00:00
Richard M. Stallman
00eb4c4abc (scroll_cost): FRAME_DELETE_COST and FRAME_DELETEN_COSTS were confused. Fixed. 1994-12-04 18:58:04 +00:00
Karl Heuer
fd374ddce2 (do_line_insertion_deletion_costs): Fix argument order. 1994-10-18 00:08:18 +00:00
Karl Heuer
3a22ee3595 Update copyright. 1994-05-04 02:41:09 +00:00
Karl Heuer
0fe4741d0b (calculate_scrolling): Add explicit casts, to avoid compiler warnings. 1994-04-15 01:04:26 +00:00
Richard M. Stallman
61df1a5e99 (struct matrix_elt): Use int, not short.
Use unsigned char for insertcount and deletecount.
(INFINITY): Increase to 1000000.
1994-04-09 20:38:25 +00:00
Richard M. Stallman
2d810f8464 (do_scrolling): Handle charstarts like glyphs. 1994-04-03 08:08:33 +00:00
Roland McGrath
18160b98ce Include <config.h> instead of "config.h". 1993-09-10 06:15:46 +00:00
Richard M. Stallman
7fb08f691e (calculate_scrolling): Defend against negative baud_rate. 1993-05-31 19:04:07 +00:00
Jim Blandy
c6c5df7f76 Updated copyright years. 1993-05-22 21:34:42 +00:00
Jim Blandy
08b879b49f * scroll.c (do_scrolling): When bcopying the max_ascent field from
current_frame to temp_frame, remember that max_ascent is an array
	of shorts, not ints.
1992-12-24 06:13:57 +00:00
Joseph Arceneaux
125f517a5f * scroll.c (do_scrolling): Don't bcopy non-existant `nruns' or
`face_list' elements.  Do copy new `max_ascent' frame element.
1992-10-14 23:00:38 +00:00
Jim Blandy
6c735a5991 * scroll.c (FRAME_IS_TERMCAP, FRAME_IS_X, FRAME_HAS_MINIBUF):
Renamed these to FRAME_TERMCAP_P, FRAME_X_P, and
	FRAME_HAS_MINIBUF_P, for consistency with the rest of the
	frame macros.
1992-08-12 14:16:14 +00:00
Jim Blandy
0137dbf747 entered into RCS 1992-07-13 20:56:17 +00:00
Jim Blandy
e5d77022e8 *** empty log message *** 1992-06-30 13:54:21 +00:00
Jim Blandy
326e0cf80b *** empty log message *** 1992-02-04 01:11:11 +00:00
Jim Blandy
3e2bea7c25 *** empty log message *** 1991-10-25 18:59:47 +00:00
Jim Blandy
19a1d682fa *** empty log message *** 1991-07-09 22:36:17 +00:00
Jim Blandy
632a8dd6c3 Initial revision 1991-01-02 12:40:31 +00:00