1. 04 Apr, 2009 1 commit
  2. 08 Jan, 2009 1 commit
  3. 22 Dec, 2008 1 commit
    • Martin Rudalics's avatar
      * frame.c (delete_frame): New function derived from · 56f2de10
      Martin Rudalics authored
      Fdelete_frame to handle Qnoelisp value for FORCE argument.
      Delete last frame iff FORCE equals Qnoelisp.  (Bug#1450)
      (Fdelete_frame): Call delete_frame.  Remove line from doc-string
      saying that FORCE non-nil doesn't run `delete-frame-functions'.
      * frame.h: Extern delete_frame.
      * window.c (window_loop):
      * terminal.c (delete_terminal):
      * xterm.c (x_connection_closed):
      * xfns.c (Fx_hide_tip):
      * w32fns.c (Fx_hide_tip): Call delete_frame instead of
      Fdelete_frame.
      56f2de10
  4. 31 Jul, 2008 1 commit
    • Dan Nicolaescu's avatar
      * s/ms-w32.h (MULTI_KBOARD): Remove. · 69ab3201
      Dan Nicolaescu authored
      * xterm.c:
      * xselect.c:
      * xfns.c:
      * window.c:
      * w32term.c:
      * w32fns.c:
      * terminal.c:
      * termhooks.h:
      * term.c:
      * sysdep.c:
      * keyboard.h:
      * keyboard.c:
      * frame.h:
      * frame.c:
      * frame.c: Remove references to MULTI_KBOARD, it is now the
      default.
      * config.in: Regenerate.
      
      * config.nt (MULTI_KBOARD): Remove.
      
      * configure.in (MULTI_KBOARD): Remove.
      69ab3201
  5. 15 Jul, 2008 1 commit
  6. 14 May, 2008 1 commit
  7. 29 Mar, 2008 1 commit
    • Stefan Monnier's avatar
      * keyboard.c (pending_funcalls): New var. · 58555d81
      Stefan Monnier authored
      (timer_check): Run it.
      (syms_of_keyboard): Initialize it.
      * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
      (Vdelete_terminal_functions): New vars.
      (syms_of_terminal): Initialize them.
      (Fdelete_terminal): Run delete-terminal-functions.
      * xdisp.c (safe_eval): Rewrite.
      (safe_call2): New fun.
      * frame.c (Qdelete_frame_functions): New var.
      (syms_of_frame): Initialize it.
      (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
      * lisp.h (safe_call2, pending_funcalls): Declare.
      58555d81
  8. 11 Feb, 2008 1 commit
  9. 10 Feb, 2008 1 commit
    • Stefan Monnier's avatar
      * frame.c (Qnoelisp): New symbol. · c53956fe
      Stefan Monnier authored
      (syms_of_frame): Initialize it.
      (Fdelete_frame): Use it to distinguish a mere `force' passed from
      someharmles Elisp code, from a strong `force' from x_connection_closed.
      * frame.h (Qnoelisp): Declare.
      * xterm.c (x_connection_closed): Pass `noelisp'.
      c53956fe
  10. 09 Jan, 2008 1 commit
  11. 12 Oct, 2007 1 commit
    • Miles Bader's avatar
      Fix up multi-tty merge · 985773c9
      Miles Bader authored
      Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-261
      Creator:  Stefan Monnier <monnier@iro.umontreal.ca>
      985773c9
  12. 20 Sep, 2007 2 commits
    • Stefan Monnier's avatar
      (get_terminal): Don't accept integers to represent terminals. · c5911e55
      Stefan Monnier authored
      (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
      (Fset_terminal_parameter): Work with dead terminals as well.
      (Fmodify_terminal_parameters): Remove.
      c5911e55
    • Stefan Monnier's avatar
      (get_terminal): Handle terminals. · d30a25b3
      Stefan Monnier authored
      Make sure the terminal returned is live.
      (create_terminal): Use allocate_terminal.
      (mark_terminals): Move to alloc.c.
      (delete_terminal): Use terminal->name as liveness status.
      NULL out fields after freeing their contents.
      Don't deallocate the object.
      (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object
      rather than an int.
      (Fterminal_live_p): Accept non-integer arguments.
      (Fterminal_list): Return terminal objects rather than an ints.
      d30a25b3
  13. 29 Aug, 2007 1 commit
  14. 15 May, 2007 1 commit
  15. 20 May, 2006 2 commits
    • Karoly Lorentey's avatar
      Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak. · ab797f65
      Karoly Lorentey authored
      * src/frame.c (make_terminal_frame): Don't create frames on a terminal
        that is being deleted.
      * src/xfns.c (Fx_create_frame, x_create_tip_frame): Ditto.
      
      * src/keyboard.c (tty_read_avail_input): Don't read from a terminal that
        is being deleted.
      
      * src/term.c (get_named_tty): Abort if tty name is NULL.  Simplify accordingly.
      
      * src/term.c (Ftty_type): Return nil if terminal is not on a tty instead
        of throwing an error.  Doc update.
      
      * src/term.c (init_tty): Set name before calling `get_named_tty'.
      
      * src/term.c (delete_tty): Let delete_terminal delete the frames.  Plug
        memory leak caused by tty->name.  Remove reference to `deleting_tty'.
      
      * src/term.c (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>: Doc update.
      
      * src/termhooks.h (terminal) <name>: Explain why identifying terminals by
        name is a bad idea.
      
      * src/terminal.c (delete_terminal): Doc update.
      
      * src/xterm.c (XTread_socket): Disable loop on all X displays.
      
      * src/xterm.c (x_delete_display): Doc update to reflect changes in
        delete_terminal.
      
      * src/xterm.c (x_delete_terminal): Don't set terminal->deleted and let
        delete_terminal delete the frames on the terminal.
      
      * src/xterm.h (x_display_info) <terminal>: Move member earlier in the struct.
      
      git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-565
      ab797f65
    • Karoly Lorentey's avatar
      Fix crashes in `delete-terminal' caused by recursive calls or X displays with live frames. · a98f1617
      Karoly Lorentey authored
      * src/termhooks.h (terminal) <deleted>: New member.
      
      * src/term.c (delete_tty): Use it.
        (deleting_tty): Remove old variable.
      
      * src/terminal.c (delete_terminal): Use terminal->deleted. 
      
      * src/xterm.c (x_delete_terminal): Use terminal->deleted.  Delete all
        frames on the display explicitly.
      
      git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-562
      a98f1617
  16. 31 Dec, 2005 1 commit
  17. 29 Dec, 2005 1 commit
    • Karoly Lorentey's avatar
      Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly. · 6ed8eeff
      Karoly Lorentey authored
      * src/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.
      
      * src/termchar.h (tty_display_info): Rename member `device' to `terminal'.
        (FRAME_TTY): Update for renames.
      
      * src/xterm.h (x_display_info): Rename member `device' to `terminal'.
      
      * src/frame.h (frame): Rename `device' member to `terminal'.
        (FRAME_KBOARD, FRAME_LIVE_P, Qdevice, Qdisplay_live_p):
        Update for renames.
      
      * src/lisp.h (set_process_environment): Rename to `set_global_environment'.
        (device): Rename to `terminal'.
      
      * src/dispextern.h: Update declarations and macro definitions.
      
      * src/terminal.c (device_list): Rename to `terminal_list'.
        (next_device_id): Rename to `next_terminal_id'.
        (initial_device): Rename to `initial_terminal'.
        (get_device): Rename to `get_terminal'.
        (create_device): Rename to `create_terminal'.
        (mark_devices): Rename to `mark_terminals'.
        (delete_device): Rename to `delete_terminal'.
        (Fdelete_display): Rename to `Fdelete_terminal'.
        (Fframe_terminal): Move here from frame.c.
        (Fdisplay_live_p): Rename to `Fterminal_live_p'.
        (Fdisplay_list): Rename to `Fterminal_list'.
        (Fdisplay_name): Rename to `Fterminal_name'.
        (init_initial_device): Rename to `init_initial_terminal'.
        (delete_initial_device): Rename to `delete_initial_terminal'.
        (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, get_terminal_param, store_terminal_param)
        (Fterminal_parameters, Fterminal_parameter)
        (Fmodify_terminal_parameters, Fset_terminal_parameter)
        (syms_of_terminal): Update for renames.
      
      * src/term.c (get_tty_device): Rename to `get_tty_terminal'.  Update.
        (Fdisplay_tty_type): Rename to `Ftty_type'.
        (Fdisplay_controlling_tty_p): Rename to `Fcontrolling_tty_p'.
        (delete_tty, tty_set_terminal_modes, tty_reset_terminal_modes)
        (Ftty_display_color_p, Ftty_display_color_cells, get_named_tty)
        (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
        (init_tty, maybe_fatal, delete_tty, syms_of_term): Update for rename.
      
      * src/frame.c (Qdevice): Rename to `Qterminal'.
        (Qdisplay_live_p): Rename to `Qterminal_live_p'.
        (terminal_frame_count): Rename to `tty_frame_count'.
        (Fframe_display): Move to terminal.c, rename to `Fframe_terminal'.
        (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.
      
      * src/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.
      
      * src/dispnew.c (Fredraw_frame, Fsend_string_to_terminal)
        (Fsend_string_to_terminal, init_display): Update for renames.
      
      * src/keyboard.c (push_frame_kboard, pop_kboard, pop_kboard)
        (kbd_buffer_get_event, read_avail_input, tty_read_avail_input)
        (interrupt_signal, Fset_output_flow_control)
        (Fset_input_meta_mode, Fset_quit_char, delete_kboard)
        (syms_of_keyboard): Update for renames.
      
      * src/alloc.c (mark_devices): Update declaration.
        (Fgarbage_collect): Update for renames.
      
      * src/coding.c (Fset_terminal_coding_system_internal)
        (Fterminal_coding_system4)
        (Fset_keyboard_coding_system_internal)
        (Fkeyboard_coding_system): Update for renames.
      
      * src/data.c (Fterminal_local_value, Fset_terminal_local_value):
        Update for renames.
      
      * src/minibuf.c (read_minibuf): Update for renames.
      
      * src/sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
      
      * xselect.c (x_handle_selection_clear): Update for renames.
      
      * lisp/files.el (save-buffers-kill-display): Rename to `save-buffers-kill-terminal'.
        (save-buffers-kill-terminal, ctl-x-map): Update for renames.
      
      * frame.el (make-frame): Rename 'device frame parameter to 'terminal.  Update.
        (frames-on-display-list, framep-on-display, suspend-frame): Update for renames.
        (selected-display): Rename to `selected-terminal'.
      
      * server.el (server-save-buffers-kill-display): Rename to
        `server-save-buffers-kill-terminal'.
        (server-delete-client, server-handle-delete-frame)
        (server-handle-suspend-tty, server-process-filter)
        (server-switch-buffer): Update for renames.
      
      * startup.el (normal-splash-screen, normal-splash-screen): Update for renames.
      
      * talk.el (talk): Update for renames.
      
      * termdev.el (terminal-id): Update for renames.
      
      * xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
        (turn-off-xterm-mouse-tracking-on-terminal)
        (xterm-mouse-handle-delete-frame): Update for renames.
      
      git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-471
      6ed8eeff
  18. 25 Dec, 2005 1 commit
    • Karoly Lorentey's avatar
      Reimplement terminal parameters in C; clean up term.c, create terminal.c. · ed8dad6b
      Karoly Lorentey authored
      * lisp/termdev.el (terminal-parameter-alist, terminal-parameters, terminal-parameter-p)
        (terminal-parameter, set-terminal-parameter, terminal-handle-delete-frame): Remove.
      
      * src/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)
        (get_device, Fdisplay_name, create_device, delete_device)
        (Fdelete_display, Fdisplay_live_p, Fdisplay_list)
        Move to terminal.c.
        (syms_of_term): Move their initialization to terminal.c.
      
      * src/terminal.c: New file.
        (device_list, next_device_id, initial_device, Vring_bell_function)
        (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, get_device, create_device, delete_device)
        (Fdelete_display, Fdisplay_live_p, Fdisplay_list, Fdisplay_name): Move here.
        (mark_devices, get_terminal_param, store_terminal_param)
        (Fterminal_parameters, Fterminal_parameter)
        (Fmodify_terminal_parameters, Fset_terminal_parameter)
        (init_initial_device, delete_initial_device)
        (syms_of_terminal): New functions.
      
      * lisp/simple.el (normal-erase-is-backspace-setup-frame)
        (normal-erase-is-backspace-mode): Rephrase things
        without terminal-parameter-p.
      
      * lisp/termdev.el (terminal-getenv, terminal-setenv)
        (with-terminal-environment): Ditto.
      
      * mac/makefile.MPW (EmacsObjects): Add terminal.c.x.
        ({Src}terminal.c.x): Add dependencies.
      
      * src/Makefile.in (obj): Add terminal.o.
        (terminal.o): Add dependencies.
        [HAVE_CARBON]: Make terminal.o depend on macgui.h.
      
      * src/alloc.c (mark_devices): Declare.
        (Fgarbage_collect): Call `mark_devices'.
      
      * src/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.
      
      * src/emacs.c (main): Call `syms_of_terminal'.
      
      * src/frame.c (get_future_frame_param): New function.
        (Fmake_terminal_frame): Use it.
      
      * src/keyboard.c (pop_kboard): Remove unused variable.
        (Fset_output_flow_control): Return nil.
      
      * src/keymap.h (Fset_keymap_parent): Add EXFUN.
      
      * src/lisp.h (syms_of_terminal): Declare it.
      
      * src/sysdep.c (reset_sys_modes): Update for renames.
      
      * src/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)
        (delete_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.
      
      * src/termhooks.h (param_alist): New member to struct device.
      
      * src/xterm.h (x_delete_device): Declare.
      
      git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-460
      ed8dad6b