1. 25 Dec, 2003 1 commit
    • Karoly Lorentey's avatar
      Implemented multiple tty support. · 28d440ab
      Karoly Lorentey authored
      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
      28d440ab
  2. 24 Dec, 2003 1 commit
    • Karoly Lorentey's avatar
      Add a level of indirection to terminal characteristics. · 8a56675d
      Karoly Lorentey authored
      * 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
      8a56675d
  3. 01 Sep, 2003 1 commit
  4. 15 Jun, 2003 1 commit
  5. 12 Jun, 2003 1 commit
  6. 24 May, 2003 1 commit
  7. 04 Feb, 2003 1 commit
  8. 08 Dec, 2002 1 commit
  9. 04 Dec, 2002 1 commit
  10. 22 Nov, 2002 1 commit
  11. 19 Aug, 2002 1 commit
  12. 17 Aug, 2002 1 commit
  13. 24 Jul, 2002 1 commit
  14. 21 Jul, 2002 1 commit
  15. 19 Jul, 2002 1 commit
  16. 16 Jul, 2002 1 commit
  17. 15 Jul, 2002 1 commit
  18. 11 Jul, 2002 1 commit
  19. 13 Jun, 2002 1 commit
  20. 26 Apr, 2002 1 commit
  21. 22 Mar, 2002 1 commit
  22. 04 Mar, 2002 3 commits
  23. 08 Feb, 2002 1 commit
  24. 01 Jan, 2002 1 commit
  25. 11 Dec, 2001 1 commit
  26. 19 Nov, 2001 1 commit
  27. 16 Nov, 2001 1 commit
  28. 11 Nov, 2001 1 commit
  29. 21 Oct, 2001 1 commit
  30. 08 Oct, 2001 2 commits
  31. 21 Sep, 2001 1 commit
  32. 20 Sep, 2001 1 commit
  33. 05 Apr, 2001 1 commit
  34. 16 Jan, 2001 1 commit
  35. 10 Jan, 2001 1 commit
  36. 05 Jan, 2001 2 commits