1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 22:11:21 -08:00
emacs/src/ChangeLog.multi-tty

1184 lines
44 KiB
Text

0000-00-00 Dan Nicolaescu <dann@ics.uci.edu>
* callproc.c (child_setup, getenv_internal): Use the
display-environment-variable and term-environment-variable frame
params.
(set_initial_environment): Initialise Vprocess_environment.
* config.in: Disable multi-keyboard support on a mac.
* frame.c (Qterm_environment_variable)
(Qdisplay_environment_variable): New variables.
(syms_of_frame): Intern and staticpro them.
(Fmake_terminal_frame): Disable output method test.
* frame.h: Declare them here.
* macfns.c (x_set_mouse_color): Get rif from the frame.
(x_set_tool_bar_lines): Don't use updating_frame.
(mac_window): Add 2 new parameters for consistency with other systems.
(Fx_create_frame): Fix doc string. Rename the parameter. Set the
frame parameters following what is done in X11 and w32. Don't use
FRAME_MAC_DISPLAY_INFO.
(Fx_open_connection, start_hourglass): Remove window-system check.
(x_create_tip_frame): Get the keyboard from the terminal.
* macmenu.c: Reorder includes.
(Fx_popup_menu): Use terminal specific mouse_position_hook.
* macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
terminal parameter.
(x_clear_frame): Add a frame parameter.
(note_mouse_movement): Get rif from the frame.
(mac_term_init): Initialize the terminal.
(mac_initialize): Make static and move terminal initialization ...
(mac_create_terminal): ... to this new function.
* macterm.h (struct mac_display_info): Add terminal.
* puresize.h (BASE_PURESIZE): Increase base value to 1158000.
* sysdep.c: Comment out text after #endif.
* term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
is defined. Better initialize ttys in windows. Use terminal
specific mouse_position_hook.
* termhooks.h (union display_info): Add mac_display_info.
* w32fns.c (Fx_create_frame): Use kboard from the terminal. Set
the default minibuffer frame, window_system and the rest of the
frame parameters following what is done in X11.
* w32term.c (w32_initialize): Make static.
* xselect.c (x_handle_selection_clear): Only access
terminal->kboard when MULTI_KBOARD is defined.
* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
(SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
0000-00-00 Jason Rumney <jasonr@gnu.org>
* frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
(make_terminal_frame) [WINDOWSNT]: Initialize terminal.
* fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
(mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
* keyboard.c (restore_kboard_configuration): Only define when
MULTI_KBOARD defined.
* makefile.w32-in: Update dependancies from Makefile.in
(OBJ1): Add terminal.$(O)
* term.c (dissociate_if_controlling_tty) [WINDOWSNT]: Don't
define function body.
(init_tty) [WINDOWSNT]: Use selected_frame for initializing.
* termhooks.h (display_info) [WINDOWSNT]: Add w32.
* w32.c (request_sigio, unrequest_sigio): Remove.
* w32console.c (w32con_move_cursor, w32con_clear_to_end)
(w32con_clear_frame, w32con_clear_end_of_line)
(w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
(w32con_delete_glyphs, w32con_set_terminal_window)
(scroll_line, w32_sys_ring_bell): Add frame arg.
(w32con_set_terminal_modes, w32con_reset_terminal_modes): Add
terminal arg.
(PICK_FRAME): Remove.
(w32con_write_glyphs): Use frame specific terminal coding.
(one_and_only_w32cons): New global variable.
(initialize_w32_display): Use it for storing hooks.
(create_w32cons_output): New function.
* w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
arg a frame.
* w32fns.c (x_create_tip_frame): Set terminal and ref count. Set
window_system.
(x_set_tool_bar_lines): Don't use updating_frame.
(Fx_create_frame): Set terminal and ref count.
(Fx_open_connection): Remove window-system check.
* w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
* w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
(w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
(x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
Add frame arg.
(x_delete_terminal, w32_create_terminal): New functions.
(w32_term_init): Create a terminal.
(w32_initialize): Move terminal specific initialization to
w32_create_terminal.
* w32term.h (x_output): Remove foreground_pixel and
background_pixel.
(w32_clear_rect, w32_clear_area): Use background from frame.
(w32_display_info): Add terminal.
(w32_sys_ring_bell, x_delete_display): Declare here.
* xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
* s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
0000-00-00 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
* keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
Fix get_named_tty calls for the controlling tty.
0000-00-00 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
* term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
0000-00-00 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
* term.c (tty_insert_glyphs): Add missing first parameter.
0000-00-00 Karoly Lorentey <karoly@lorentey.hu>
* cm.c (current_tty): New variable, for cmputc().
(cmputc): Use it.
(cmcheckmagic): Add tty parameter, look up terminal streams there.
(calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
(cmgoto): Add tty parameter. Pass it on to calccost(). Use
emacs_tputs() instead of tputs().
* cm.h (emacs_tputs): New macro to set current_tty, and then call
tputs().
(current_tty): New variable, for cmputc().
(cmcheckmagic, cmputc, cmgoto): Add prototypes.
* eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
(internal_condition_case, internal_condition_case_1)
(internal_condition_case_2): Don't abort when x_catching_errors.
* fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
(Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
prevent crashes caused by bogus longjmps in read_char.
* keymap.h (Fset_keymap_parent): Add EXFUN.
* macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
* w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
Remove redundant definition.
* macfns.c (x_set_mouse_color,x_make_gc): Use
FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
* msdos.c (ScreenVisualBell,internal_terminal_init): Use
FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
* w32term.c (x_free_frame_resources): Use
FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
(w32_initialize): Use the accessor macros for terminal characteristics.
* macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
Use the accessor macros for terminal characteristics.
* msdos.c (internal_terminal_init): Use the accessor macros for
terminal characteristics.
* termopts.h (no_redraw_on_reenter): Declare.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* alloc.c (emacs_blocked_malloc): Disable mallopt call.
* callproc.c (Vglobal_environment, Vlocal_environment_variables):
Remove.
(getenv_internal, child_setup): Don't look at global-environment
or local-environment-variables.
(Fgetenv_internal): Update docs.
(set_initial_environment): Rename from set_global_environment.
Store Emacs environment in initial frame parameter.
(syms_of_callproc): Remove obsolete defvars. Update docs.
* emacs.c (main): Call set_initial_environment, not
set_global_environment.
* frame.c (x_set_screen_gamma, store_frame_param): Fix compilation
errors.
* window.c (set_window_buffer): Don't call clear_mouse_face on tty
frames.
* xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
Fmenu_bar_open.
(syms_of_xmenu): Update defsubr.
* xterm.c (x_fully_uncatch_errors): Disable definition.
(x_scroll_bar_expose): Fix reference to foreground pixel.
* xterm.h: Remove declaration for x_fully_uncatch_errors.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* frame.c (make_terminal_frame)
* xfns.c (Fx_create_frame, x_create_tip_frame): Don't create
frames on a terminal that is being deleted.
* keyboard.c (tty_read_avail_input): Don't read from a terminal that
is being deleted.
* term.c (Ftty_type): Return nil if terminal is not on a tty instead
of throwing an error. Doc update.
(init_tty): Set name before calling `get_named_tty'.
(syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
Doc update.
* termhooks.h (terminal) <name>: Explain why identifying terminals
by name is a bad idea.
* xterm.c (XTread_socket): Disable loop on all X displays.
(x_delete_terminal): Don't set terminal->deleted and let
delete_terminal delete the frames on the terminal.
(x_delete_display): Doc update to reflect changes in
delete_terminal.
(x_display_info) <terminal>: Move member earlier in the struct.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* termhooks.h (terminal) <deleted>: New member.
* term.c (delete_tty): Use it.
* xterm.c (x_delete_terminal): Use terminal->deleted. Delete all
frames on the display explicitly.
(deleting_tty): Remove old variable.
(Fsuspend_tty): Call clear_tty_hooks.
(Fresume_tty, init_tty): Call set_tty_hooks.
(clear_tty_hooks, set_tty_hooks): New functions.
(Ftty_display_color_p, Ftty_display_color_cells): Don't throw
errors on X frames.
* term.c (get_tty_terminal): Add throw parameter.
(Fsuspend_tty, Fresume_tty): Update call to `get_tty_terminal'.
* dispnew.c (Fsend_string_to_terminal): Update call to
`get_tty_terminal'.
* dispextern.h (get_tty_terminal): Update prototype.
* xfaces.c (realize_default_face): Don't use FRAME_FONT unless frame
is an X frame.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* frame.c (make_terminal_frame)
* gtkutil.c (xg_create_frame_widgets)
* widget.c (update_from_various_frame_slots)
* xfns.c (x_set_foreground_color x_set_background_color)
(x_set_mouse_color, x_set_cursor_color, x_make_gc)
(Fx_create_frame, x_create_tip_frame, build_string, x_window)
* xterm.c (XTflash, x_free_frame_resources, x_scroll_bar_create)
(x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
FRAME_FOREGROUND_PIXEL.
* xterm.h (x_output): Remove background_pixel and foreground_pixel
fields.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
Vwindow_system.
* callproc.c (getenv_internal): Fix C99ism.
* frame.c (store_frame_param): Check for found_for_frame before
calling XFRAME.
(Fmake_terminal_frame): Handle NULL tty names correctly.
(syms_of_frame): Enhance doc string of `default-frame-alist'.
* keyboard.c (read_char): Declare. Update call to
`read_char_minibuf_menu_prompt'. Set wrong_kboard_jmpbuf correctly in
recursive calls.
(read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
parameter. Use it in call to `read_char'.
(Fset_quit_char): Don't leave tty state uninitialized after an error.
(read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
* term.c: Include errno.h.
(Fresume_tty): Handle errors on reopening ttys. Don't dissociate
if terminal was explicitly opened on the controlling terminal.
(init_tty): Initialize local pointers. Always set name (use
"/dev/tty" for controlling tty.) Remove special case for name == NULL.
* xfns.c (Fx_create_frame): Use `store_frame_param' to set
`window-system' frame parameter, and make sure it overrides any
user-supplied setting.
(x_create_tip_frame): Fix syntax error.
* xterm.c (x_catch_errors_unwind): Abort if x_error_message is NULL.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* Makefile.in (SOME_MACHINE_LISP): Fix typo.
(lisp, shortlisp): Add termdev.elc.
* process.c (Fmake_network_process): Don't unrequest_sigio on modern
systems.
* keyboard.c (read_char): Enhance comment before extra longjmp to
wrong_kboard_jmpbuf.
(read_key_sequence): Handle deleted interrupted_kboards correctly;
that is a legal case.
* sysdep.c (request_sigio): Make it a no-op if noninteractive.
(unrequest_sigio): Make it a no-op if noninteractive.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* callint.c (Fcall_interactively): Update call to
`temporarily_switch_to_single_kboard'.
* frame.c (Fdelete_frame): Remove unused variable `count'.
* keyboard.c (wrong_kboard_jmpbuf): Remove global variable.
(read_char): Add wrong_kboard_jmpbuf parameter to allow for
recursive calls. Update longjmp invocations. Remember the
original current_kboard, and longjmp to `wrong_kboard_jmpbuf' when
a filter, timer or sentinel changes it. Comment out unnecessary
calls to `record_single_kboard_state' and `any_kboard_state'.
Update recursive calls.
(read_key_sequence): Add `wrong_kboard_jmpbuf' local variable.
Update setjmp and read_char calls. Abort if interrupted_kboard
died in read_char.
(any_kboard_state, single_kboard_state)
(record_single_kboard_state): Comment out obsolete functions.
(push_frame_kboard): Remove function.
(pop_kboard): Switch out of single_kboard mode if the
kboard has been deleted.
(temporarily_switch_to_single_kboard): Change first
parameter to a frame pointer. Throw an error when caller wants to
change kboards while in single_kboard mode.
(restore_kboard_configuration): Abort if pop_kboard changed
the kboard in single_kboard mode.
(Frecursive_edit): Switch to single_kboard mode only in
nested command loops.
(cmd_error, command_loop, command_loop_1, timer_check):
Comment out unnecessary call to `any_kboard_state' and
`record_single_kboard_state'.
(delete_kboard): Exit single_kboard mode if we have just deleted
that kboard.
(interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
`fatal_error_signal'.
* keyboard.h (read_char, single_kboard_state)
(record_single_kboard_state): Remove.
(temporarily_switch_to_single_kboard): Update.
* lread.c: Include setjmp.h. Update declaration of `read_char'.
(read_filtered_event): Call `read_char' with a local
`wrong_kboard_jmpbuf'.
* minibuf.c (read_minibuf): Update call to
`temporarily_switch_to_single_kboard'.
* termchar.h (tty_display_info): Rename `previous_terminal_frame'
member to `previous_frame'.
* xdisp.c (redisplay_internal): Update references to
`previous_terminal_frame'.
(display_mode_line, Fformat_mode_line): Replace calls to
`push_frame_kboard' with `push_kboard'.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* callproc.c (syms_of_callproc): Initialize
`Vlocal-environment-variables' to `Qt'.
* frame.c (Fframe_with_environment): Fix typo.
* image.c (lookup_image): Don't initialize `c' until the xasserts
have been run.
* keyboard.c (pop_kboard): Help debugging by not changing
current_kboard unnecessarily.
(temporarily_switch_to_single_kboard, record_single_kboard_state):
Don't push_kboard if we weren't in single kboard state.
Don't pop_kboard if we popped into any kboard state.
* xdisp.c (get_glyph_string_clip_rects): Add extra parentheses and
braces to prevent compiler warnings.
(calc_pixel_width_or_height): Add xassert to check that the
frame is alive. Don't call `lookup_image' on a termcap frame.
* xfns.c (Fx_close_connection, Fx_synchronize): Unify argument names
with the rest of the DEFUNs.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* termhooks.h (struct device): Rename to `terminal'. Rename member
`next_device' to `next_terminal'.
(device_list): Rename to `terminal_list'.
(FRAME_DEVICE): Rename to `FRAME_TERMINAL'.
(DEVICE_TERMINAL_CODING): Rename to `TERMINAL_TERMINAL_CODING'.
(TERMINAL_KEYBOARD_CODING): Rename to `TERMINAL_KEYBOARD_CODING'.
(DEVICE_ACTIVE_P): Rename to `TERMINAL_ACTIVE_P'.
Update declarations and macro definitions.
* termchar.h (tty_display_info): Rename member `device' to `terminal'.
* xterm.h (x_display_info): Rename member `device' to `terminal'.
* frame.h (frame): Rename `device' member to `terminal'.
(FRAME_KBOARD, FRAME_LIVE_P, Qdevice, Qdisplay_live_p):
Update for renames.
* lisp.h (set_process_environment): Rename to `set_global_environment'.
(device): Rename to `terminal'.
* dispextern.h: Update declarations and macro definitions.
* term.c (get_tty_device): Rename to `get_tty_terminal'. Update.
(Fdisplay_tty_type): Rename to `Ftty_type'.
(tty_set_terminal_modes, tty_reset_terminal_modes)
(Ftty_display_color_p, Ftty_display_color_cells)
(Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
(init_tty, maybe_fatal, syms_of_term): Update for rename.
* frame.c (Qdevice): Rename to `Qterminal'.
(Qdisplay_live_p): Rename to `Qterminal_live_p'.
(terminal_frame_count): Rename to `tty_frame_count'.
(make_frame_without_minibuffer, make_initial_frame)
(make_terminal_frame, Fmodify_frame_parameters)
(do_switch_frame, Fdelete_frame, Fmouse_position)
(Fmouse_pixel_position, Fraise_frame, Flower_frame)
(Fredirect_frame_focus, set_term_frame_name, syms_of_frame):
Update for renames.
* xdisp.c (message2_nolog, message3_nolog, redisplay_internal)
(set_vertical_scroll_bar, redisplay_window, check_x_display_info)
(x_set_scroll_bar_foreground, x_set_scroll_bar_background)
(Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
(Fx_display_pixel_width, Fx_display_pixel_height)
(Fx_display_planes, Fx_display_color_cells)
(Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
(Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
(Fx_display_backing_store, Fx_display_visual_class)
(Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
Update for renames.
* xterm.c (handle_one_xevent): Initialize `f' to NULL.
(x_delete_device): Rename to `x_delete_terminal'.
(x_create_device): Rename to `x_create_terminal'.
(XTset_terminal_modes, XTreset_terminal_modes)
(XTread_socket, x_connection_closed, x_term_init)
(x_term_init, x_delete_display): Update for renames.
* dispnew.c (Fredraw_frame, Fsend_string_to_terminal)
(Fsend_string_to_terminal, init_display): Update for renames.
* keyboard.c (push_frame_kboard, pop_kboard, pop_kboard)
(kbd_buffer_get_event, read_avail_input, tty_read_avail_input)
(interrupt_signal, delete_kboard, syms_of_keyboard): Update for
renames.
* alloc.c (Fgarbage_collect): Update for renames.
* coding.c (Fset_terminal_coding_system_internal)
(Fterminal_coding_system4)
(Fset_keyboard_coding_system_internal)
(Fkeyboard_coding_system): Update for renames.
* minibuf.c (read_minibuf): Update for renames.
* sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
* xselect.c (x_handle_selection_clear): Update for renames.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* callproc.c (child_setup, getenv_internal, Fgetenv_internal):
Store the local environment in a frame (not terminal) parameter.
Update doc strings.
(syms_of_callproc): Update doc strings.
(Qenvironment): Move to frame.c.
* frame.c (Qenvironment): Move here from callproc.c.
(Fdelete_frame): Don't allow other frames to refer to a deleted frame
in their 'environment parameter.
(Fframe_with_environment): New function.
(syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
* frame.h (Qenvironment): Declare.
* lisp.h (Fframe_with_environment): EXFUN it.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* callproc.c (Vglobal_environment): New variable, taking over the
previous role of `Vprocess_environment', which is now something else.
(add_env): New function.
(child_setup): Use it.
(child_setup, getenv_internal): Rename Vprocess_environment to
Vglobal_environment. Handle the new Vprocess_environment.
(getenv_internal): Fix get_terminal_param call.
(Fgetenv_internal, egetenv): Update doc.
(set_process_environment): Rename to `set_global_environment'. Rename
Vprocess_environment to Vglobal_environment.
(syms_of_callproc): Rename process-environment to global-environment,
add new process-environment, update docs. Initialize
Vprocess_environment to nil.
* emacs.c (main): Call set_global_environment instead of
set_process_environment.
* fileio.c (Fread_file_name): Update comment.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* callproc.c: Include frame.h and termhooks.h, for terminal parameters.
(Qenvironment): New constant.
(Vlocal_environment_variables): New variable.
(syms_of_callproc): Register and initialize them.
(child_setup): Handle Vlocal_environment_variables.
(getenv_internal): Add terminal parameter. Handle
Vlocal_environment_variables.
(Fgetenv_internal): Add terminal parameter.
* termhooks.h (get_terminal_param): Declare.
(get_device): New declaration.
* Makefile.in (callproc.o): Update dependencies.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* terminal.c: New file.
* term.c (Vring_bell_function, device_list, initial_device)
(next_device_id, ring_bell, 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)
(Fdisplay_name, create_device, delete_device): Move to terminal.c.
(syms_of_term): Move their initialization to terminal.c.
* Makefile.in (obj): Add terminal.o.
(terminal.o): Add dependencies.
[HAVE_CARBON]: Make terminal.o depend on macgui.h.
* alloc.c (mark_devices): Declare.
(Fgarbage_collect): Call `mark_devices'.
* dispextern.h (set_scroll_region, turn_off_insert)
(turn_off_highlight, background_highlight, clear_end_of_line_raw)
(tty_clear_end_of_line, tty_setup_colors, delete_tty): Remove.
(raw_cursor_to, clear_to_end, tty_turn_off_insert)
(tty_turn_off_highlight): Add declaration.
* emacs.c (main): Call `syms_of_terminal'.
* frame.c (get_future_frame_param): New function.
(Fmake_terminal_frame): Use it.
* keyboard.c (pop_kboard): Remove unused variable.
* sysdep.c (reset_sys_modes): Update for renames.
* term.c (set_scroll_region): Rename to `tty_set_scroll_region'.
(turn_on_insert): Rename to `tty_turn_on_insert'.
(turn_off_insert): Rename to `tty_turn_off_insert'.
(turn_off_highlight): Rename to `tty_turn_off_highlight'.
(turn_on_highlight): Rename to `tty_turn_on_highlight'.
(toggle_highligh): Rename to `tty_toggle_highlight'.
(background_highlight): Rename to `tty_background_highlight'.
(highlight_if_desired): Rename to `tty_highlight_if_desired'.
(tty_ring_bell, tty_update_end, tty_set_terminal_window)
(tty_set_scroll_region, tty_background_highlight)
(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)
(term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
Add static modifier.
(tty_reset_terminal_modes, tty_set_terminal_window)
(tty_set_scroll_region, tty_background_highlight)
(tty_highlight_if_desired, 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, turn_on_face): Update for
renames.
* termhooks.h (param_alist): New member to struct device.
* xterm.h (x_delete_device): Declare.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* keyboard.c (Fset_input_interrupt_mode)
(Fset_output_flow_control): New functions.
(syms_of_keyboard): Defsubr them.
(Fset_input_meta_mode, Fset_quit_char): New functions.
(Fset_input_mode): Split to above functions.
* lisp.h: EXFUN the new functions.
* xterm.c (x_initialize): Use Fset_input_interrupt_mode.
* print.c (print_preprocess): Don't lose print_depth levels while
iterating.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* coding.c (Fkeyboard_coding_system): Update doc.
* data.c (do_symval_forwarding, store_symval_forwarding)
(find_symbol_value): Use the selected frame's keyboard, not
current_kboard.
* dispnew.c (window_change_signal): Don't believe width/height values
that are impossibly small.
* keyboard.c (mark_kboards): Also mark Vkeyboard_translate_table.
(kbd_buffer_store_event_hold): Simplify condition.
(read_key_sequence): Reinitialize fkey and keytran at each replay.
* term.c (suspend-tty): Update doc string.
* xterm.c (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create
secondary X connections.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* keyboard.c (Vkeyboard_translate_table)
* keyboard.h (Vkeyboard_translate_table): Move to struct kboard.
* keyboard.c (read_char)
* keymap.c (Fdescribe_buffer_bindings): : Use current_kboard to access
Vkeyboard_translate_table.
* keyboard.c (init_kboard): Initialize Vkeyboard_translate_table.
(syms_of_keyboard): Use DEFVAR_KBOARD to define
Vkeyboard_translate_table. Update doc strings.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* keyboard.c (syms_of_keyboard): Update docs of
local-function-key-map and function-key-map.
(pop_kboard): Set current_kboard to the kboard of the
selected frame when the stored kboard object has been deleted before
pop_kboard.
(restore_kboard_configuration): Call pop_kboard only after setting up
single_kboard mode.
* term.c (tty_set_terminal_modes): Output newlines on the correct
terminal device.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* keyboard.c: Add forward declaration of restore_kboard_configuration.
* callint.c (Fcall_interactively): Use
temporarily_switch_to_single_kboard instead of single_kboard_state.
Make sure it is correctly unwound.
* keyboard.c (recursive_edit_unwind): Remove single_kboard stuff.
(Frecursive_edit): Use temporarily_switch_to_single_kboard for
single_kboard state management.
* minibuf.c (read_minibuf): Use temporarily_switch_to_single_kboard
instead of simply calling single_kboard_state.
* keyboard.c (push_kboard): New function.
(push_frame_kboard): Use it.
(pop_frame_kboard): Rename to pop_kboard.
* xdisp.c (display_mode_line, Fformat_mode_line): Update uses.
* data.c: Include termhooks.h.
* Makefile.in (data.o, fns.o): Add termhooks.h dependency.
* keyboard.h (pop_frame_kboard): Remove declaration.
(push_kboard, pop_kboard, temporarily_switch_to_single_kboard)
(record_single_kboard_state): New declarations.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* dispextern.h (get_tty_device): Declare.
* dispnew.c (Fsend_string_to_terminal): Add optional TERMINAL
parameter.
* term.c (get_tty_device): Remove static qualifier.
* xmenu.c (create_and_show_dialog, create_and_show_popup_menu)
(free_frame_menubar, mouse_position_for_popup, set_frame_menubar)
(update_frame_menubar, x_activate_menubar, xdialog_show, xmenu_show):
Abort when given a non-X frame.
* xmenu.c (Fx_popup_menu, Fx_popup_dialog): Throw an error when run
on a non-X frame.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* dispnew.c (init_display): Set up `window-system' and `tty-type'
frame parameters in the initial tty frame.
* frame.c (Fmake_terminal_frame): Look up the `tty-type' frame
parameter, not `tty' when discovering the tty type of the new frame.
Initialize `tty' and `tty-type' frame parameters in the new frame.
* window.c (window_internal_height): Remove bogus make_number call.
* xsmfns.c (x_session_close): New function.
* xterm.h: Declare it.
* xterm.c (XTread_socket): Don't call x_session_check_input for
secondary displays.
(x_term_init): Do not initialize X session management when the
initial display was a tty frame.
(x_delete_display): Close X session management when we close its display.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* keyboard.h (struct kboard): Rename member 'Vfunction_key_map' to
'Vlocal_function_key_map', and 'Vkey_translation_map' to
'Vlocal_key_translation_map'.
(Vfunction_key_map, Vkey_translation_map): New declarations.
* keyboard.c (Vfunction_key_map): New variable.
(Vglobal_key_translation_map): Rename to Vglobal_key_translation_map.
(read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
Update.
* keymap.c (Fdescribe_buffer_bindings): Update.
* term.c (term_get_fkeys_1): Update.
* xdisp.c (select_frame_for_redisplay): Fix xassert.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* termhooks.h (struct device): Rename to `struct device'.
Rename member `next_display' to `next_device'.
Rename member `delete_display_hook' to `delete_device_hook'.
(FRAME_DISPLAY): Rename to FRAME_DEVICE.
(DISPLAY_ACTIVE_P): Rename to DEVICE_ACTIVE_P.
(DISPLAY_TERMINAL_CODING): Rename to DEVICE_TERMINAL_CODING.
(DISPLAY_KEYBOARD_CODING): Rename to DEVICE_KEYBOARD_CODING.
* frame.h (stuct frame): Rename `display' member to `device'.
* xterm.h (x_display_info): Rename member `frame_display' to `device'.
* frame.c (Fmake_terminal_frame)
* termchar.h (struct tty_display_info)
* xfns.c (Fx_create_frame): : Rename `display' member to `device'.
* term.c (display_list): Rename to device_list.
* term.c (initial_display): Rename to initial_device.
* term.c (next_display_id): Rename to next_device_id.
* term.c (get_tty_display): Rename to get_tty_device.
* term.c (init_initial_display): Rename to init_initial_device.
* term.c (delete_initial_display): Rename to delete_initial_device.
* term.c (create_display): Rename to create_device.
* term.c (delete_display): Rename to delete_device.
* xfns.c (check_x_display_info): Document that the function allows
display ids as well.
* xterm.c (x_delete_frame_display): Rename to x_delete_device.
* xterm.c (x_create_frame_display): Rename to x_create_device.
* coding.c, dispextern.h, data.c, dispnew.c, frame.c, frame.h
* keyboard.c, keyboard.h, lisp.h, sysdep.c, term.c, xdisp.c
* xselect.c, xterm.c: Update.
* prefix-args.c: Include stdlib.h for exit.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* term.c (term_init): Rename to init_tty.
* dispextern.h (term_init): Rename to init_tty.
* dispnew.c (init_display): Update.
* frame.c (Fmake_terminal_frame): Update.
* term.c (tty_setup_colors): Update comment.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* data.c (Fterminal_local_value, Fset_terminal_local_value): New
functions (note: disabled).
(syms_of_data): Defsubr them (note: disabled).
* frame.c (syms_of_frame): Add warning to `delete-frame-functions'
description.
* keyboard.c (syms_of_keyboard): Expand docs of terminal-local
variables to warn about their random bindings.
* sysdep.c (reset_sys_modes): Remove superflous fflush call.
* term.c (tty_set_terminal_modes, tty_reset_terminal_modes): Flush
tty output before returning.
(term_init): Move maybe_fatal declaration to top-level to
prevent complaints from GCC 4.0.
* xdisp.c (select_frame_for_redisplay): Add xassert for
FRAME_LIVE_P.
(unwind_redisplay): Don't restore previous frame if it has been
deleted.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* termhooks.h (display): New field: kboard.
* frame.h (frame)
* termchar.h (tty_display_info)
* xterm.h (x_display_info): Remove kboard field.
* frame.h (FRAME_KBOARD): Update.
* dispnew.c (init_display)
* frame.c (make_frame, make_initial_frame, make_terminal_frame):
Don't initialize kboard.
* frame.c (make_frame_without_minibuffer, Fdelete_frame)
* keyboard.c (delete_kboard)
* term.c (term_init)
* xfns.c (Fx_create_frame, x_create_tip_frame)
* xselect.c (x_handle_selection_clear)
* xterm.c (x_term_init): Update kboard access.
* term.c (init_initial_display)
* xterm.c (x_term_init): Initialize kboard.
* term.c (delete_display): Delete kboard as well.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* keymap.c (Vkey_translation_map): Remove.
(syms_of_keymap): Remove DEFVAR for key-translation-map.
(Fdescribe_buffer_bindings): Update for terminal-local
key-translation-map.
* keyboard.h (kboard): Add Vkey_translation_map field.
(Vglobal_key_translation_map): Declare.
* keyboard.c (Vglobal_key_translation_map): New variable.
(syms_of_keyboard): DEFVAR it and Vkey_translation_map.
(mark_kboards): Mark key-translation-map.
(read_key_sequence): Update for terminal-local key-translation-map.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* emacs.c (main): Call syms_of_keymap before syms_of_keyboard.
* keyboard.c (Vfunction_key_map): Remove declaration.
(read_key_sequence, init_kboard): Update references to
Vfunction_key_map.
(syms_of_keyboard): Declare function-key-map as a terminal-local
variable.
(mark_kboards): Mark Vfunction_key_map.
(Fset_input_mode): Call reset_sys_modes and init_sys_modes on the
selected device only; do not use the bulk functions
reset_all_sys_modes and init_all_sys_modes.
* keyboard.h (kboard): Move Vfunction_key_map inside the kboard struct.
* keymap.c (Vfunction_key_map): Remove.
(Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
(syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
* term.c (term_get_fkeys_1): Update references to Vfunction_key_map.
(term_init): Make sure the function keys are set up in the
correct function-key-map.
(term_get_fkeys_arg): Rename to term_get_fkeys_address.
(term_get_fkeys_kboard): New variable.
(term_get_fkeys): Use it.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* termhooks.h (DISPLAY_TERMINAL_CODING, DISPLAY_KEYBOARD_CODING):
New macros.
* coding.c (Fset_terminal_coding_system_internal)
(Fterminal_coding_system, Fset_keyboard_coding_system_internal)
(Fkeyboard_coding_system)
* frame.c (Fmake_terminal_frame)
* xfns.c (check_x_display_info): Add DISPLAY parameter.
* xfns.c (start_hourglass): Disable display type check, it would
break multi-tty.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* Makefile.in (SOME_MACHINE_LISP): Add dnd.elc.
* keyboard.c (interrupt_signal, handle_interrupt): Move thread check
to interrupt_signal. Check for frame on controlling tty instead of
current selected frame in handle_interrupt.
* sysdep.c (narrow_foreground_group): Don't abort if inherited_pgroup
is zero.
* xdisp.c (with_echo_area_buffer, set_message, set_message_1)
(echo_area_display): Revert change applied in patch-328.
* xfaces.c (internal_resolve_face_name, resolve_face_name_error):
New functions.
(resolve_face_name): Protect against loops and errors thrown by
Fget.
* xfns.c (Fx_close_connection): Move code to
x_delete_frame_display. Remove declaration cruft.
(x_delete_frame_display): Actually close the X connection.
(unwind_create_frame): Don't do anything if the frame is already dead.
* xterm.c (x_flush): Return immediately when redisplay is inhibited.
(Vinhibit_redisplay): Declare for x_flush.
(x_delete_frame_display): Declare i. Fix initialization of dpyinfo.
Call xg_display_close under GTK.
(x_delete_display, x_create_frame_display): Cosmetic change.
(x_connection_closed): Don't close the display before its frames
are deleted. Protect against the last frame calling the display
delete hook.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* xfaces.c (x_free_gc)
* xfns.c (unwind_create_frame)
* dispnew.c (build_frame_matrix_from_leaf_window): : Protect
xassert with GLYPH_DEBUG.
* dispextern.h (updated_window): Remove comment reference to
updating_frame.
* dispnew.c (update_window): Remove bogus xassert.
* keyboard.c (cmd_error_internal): Remove slightly bogus comment.
* xdisp.c (handle_single_display_prop): Use FRAME_WINDOW_P instead of
checking against specific frame types. Ignore images on non-window
frames.
(echo_area_display): Use FRAME_INITIAL_P to check for initial frame.
(redisplay_preserve_echo_area): Update for multi-tty support.
(redisplay_window): Don't bother with toolbars, fringe bitmaps or
vertical borders on tty frames.
(display_line): Remove superflous #ifdefs.
* xfns.c (x_create_tip_frame): Copy color slot initialization
safeguards from x-create-frame. Trivial doc update.
* xterm.c (x_clear_frame): Update comment.
(x_draw_window_cursor): Remove reference to updating_frame.
2004-07-04 Karoly Lorentey <lorentey@elte.hu>
* Makefile.in (minibuf.o): Fix typo.
* dispextern.h (get_display, Fdisplay_tty_type): New prototypes.
(Fframe_tty_type): Remove.
* dispnew.c (init_display): Use Fdisplay_tty_type, not Fframe_tty_type.
* frame.c (Qdisplay_id, Qdisplay_live_p): New symbols.
(make_terminal_frame): Get display as a parameter.
(Fmake_terminal_frame): Get/create display here; pass it to
make_terminal_frame.
(Fdelete_frame): Stop if the hook deleted the frame.
(syms_of_frame): Register new stuff.
* frame.h (Qdisplay_id, Qdisplay_live_p, make_terminal_frame):
Update prototypes.
* fringe.c (init_fringe_bitmap): Remove C99ism.
* keyboard.c (interrupt_signal): Don't call fatal_error_signal
with an extra parameter.
(Fsuspend_emacs): Give a better error message when there are
multiple open tty devices.
* term.c (Vdelete_tty_after_functions): Remove variable.
(Qframe_tty_name, Qframe_tty_type): Remove.
(next_display_id): New var.
(tty_ring_bell): Don't do anything on suspended frames.
(Ftty_display_color_p, Ftty_display_color_cells): Doc update.
(get_tty_display): Use it.
(get_tty_display): Don't signal an error on the initial frame.
(Fframe_tty_name): Rename to Fdisplay_name. Handle all kinds of
displays.
(Fframe_tty_type): Rename to Fdisplay_tty_type.
(init_initial_display): Set display name.
(term_init): Allow more displays on the same device. Set display name.
(Fdelete_tty): Remove.
(create_display): Set display id.
(delete_display): Free display name.
(Fsuspend_tty): Call hook with display id. Doc update.
(Fresume_tty): Refuse to resume when there is already an active display
on the same device. Call hook with display id. Doc update.
(syms_of_term): Reflect above changes.
(Fcontrolling_tty_p): New function.
(syms_of_term): Initialize Sdisplay_controlling_tty_p.
* termhooks.h (struct display): Add `id' and `name' members.
(DISPLAY_ACTIVE_P): New macro.
* xfns.c (check_x_display_info): Handle display ids.
(Fx_create_frame): Try to get display from `display-id' parameter.
Fix verifying return value of x_get_arg for Qdisplay_id.
* xterm.c (x_term_init): Set display name.
(x_delete_display): Handle the case when `font_table' is NULL.
(x_connection_closed): Inhibit redisplay while frames are being
deleted.
2004-06-05 Karoly Lorentey <lorentey@elte.hu>
* dispnew.c (init_display): Always install handler for SIGWINCH.
Reported by Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>.
* keyboard.c (interrupt_signal): Don't call Fkill_emacs from a
signal handler; use fatal_error_signal instead.
(command_loop): Clear single_kboard each time Emacs returns to top-level.
* term.c: Massive updates throuout the file.
(TS_*, TN_*)
(RPov, delete_in_insert_mode se_is_so, costs_set, insert_mode)
(standout_mode, specified_window, tty_cursor_hidden): Move to
struct tty_output.
(tty_set_terminal_modes, tty_reset_terminal_modes)
(delete_tty, delete_tty_1): New functions.
(turn_on_insert, turn_off_insert)
(turn_on_highlight, turn_off_highlight, toggle_highlight)
(tty_hide_cursor, tty_show_cursor)
(background_highlight, highlight_if_desired): Add tty parameter.
(tty_capable_p): Change 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.
(print_all_frames): New function, marginally useful for debugging.
(encode_terminal_code): Convert to use ANSI prototype syntax.
(Ftty_display_color_cells): Return 0 in case of an error, not nil.
(dissociate_if_controlling_tty): On some systems TIOCNOTTY
works only on /dev/tty. Adapt the function accordingly.
* termchar.h (struct tty_output): Change old_tty to be a pointer.
Remove old_tty_valid member. Add tty-specific variables from term.c.
* xfaces.c (Ftty_supports_face_attributes_p): Update for new
tty_capable_p.
2003-12-25 Karoly Lorentey <lorentey@elte.hu>
* term.c (clear_end_of_line, set_scroll_region, clear_to_end)
(clear_frame, tty_show_cursor, tty_hide_cursor, turn_on_highlight)
(turn_off_highlight, turn_on_insert, turn_off_insert): Use
updating_frame instead of selected_frame.
* termchar.h (struct terminal): Rename to struct tty_output.
Add name, type, input, output, termscript, old_tty, term_initted,
old_tty_valid, background_pixel, foreground_pixel, next fields.
(tty_list): New variable.
(FRAME_TTY): New function.
(TTY_*, CURRENT_TERMINAL, TTY_NAME, TTY_TYPE): New macros.
* term.c (tty_list): New variable.
(OUTPUT, OUTPUT1, OUTPUTL, OUTPUT_IF, OUTPUT1_IF)
(set_terminal_modes, reset_terminal_modes): Add tty parameter.
(cursor_to, raw_cursor_to): Update cmgoto() calls.
(clear_end_of_line, write_glyphs): Add indirection to terminal
output, update cmcheckmagic() calls.
(get_named_tty, term_dummy_init): New functions.
(term_init): Add name parameter, add tty_output return value.
Change 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.
* termhooks.h (termscript): Remove.
* window.c (init_window_once): Call make_terminal_frame with two
zero parameters.
* dispextern.h (set_terminal_modes, reset_terminal_modes): Add
tty parameter.
(term_init): Add name parameter (the filename of the terminal
device). Add return value (struct tty_output).
* dispnew.c: Replace CURTTY() with local variables throughout the
file (where applicable).
(termscript): Move to struct tty_output.
(terminal_type): Remove.
* 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().
* frame.c (Qtty, Qtty_type): New variables.
(syms_of_frame): Initialize them.
(tty_display): Remove.
(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.
* 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): Update of prototype.
* keyboard.c (Fset_input_mode): Call reset_all_sys_modes(), not
reset_sys_modes(). Ditto with init_sys_modes().
* lisp.h (tty_output): Add forward declaration.
(init_sys_modes, reset_sys_modes): Update prototype.
(init_all_sys_modes, reset_all_sys_modes): New prototypes.
* scroll.c: Replace CURTTY() with local variables throughout the
file (where applicable).
* sysdep.c (old_tty, term_initted, old_tty_valid): Move to struct
tty_output.
(init_all_sys_modes): New function.
(init_sys_modes): Add tty_output parameter. Use it.
(reset_all_sys_modes): New function.
(reset_sys_modes): Add tty_output parameter. Use it.
* Makefile.in: Update dependencies.
2003-12-24 Karoly Lorentey <lorentey@elte.hu>
* keyboard.c (echo_dash): Do nothing if there already is a dash at
the end of the echo string.
* 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): Move to struct terminal.
(min_padding_speed, dont_calculate_costs): Comment out (unused).
* term.c (set_terminal_window, ins_del_lines, calculate_costs, term_init)
* dispnew.c (line_hash_code, line_draw_cost)
(direct_output_for_insert, update_frame_1, scrolling, update_frame_line)
* scroll.c (calculate_scrolling, calculate_direct_scrolling)
(scrolling_1, scroll_cost)
* sysdep.c (hft_init)
* xdisp.c (try_window_id)
* xterm.c (x_initialize): Use the accessor macros for terminal
characteristics.
;; Local Variables:
;; coding: iso-2022-7bit
;; add-log-time-zone-rule: t
;; End:
Copyright (C) 2007 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
;;; arch-tag: 4015a0e0-033e-11dc-807c-00114368b55b