1. 28 Dec, 1999 1 commit
    • Eli Zaretskii's avatar
      Changes for supporting mouse/modeline highlight and help echo features: · 41ad069b
      Eli Zaretskii authored
      (dos_set_window_size) [__DJGPP__ > 1]: If the frame
      dimensions changed, invalidate the mouse highlight info.
      (disable_mouse_highlight, help_echo, previous_help_echo): New
      (IT_set_mouse_pointer, show_mouse_face, clear_mouse_face)
      (fast_find_position, IT_note_mode_line_highlight)
      (IT_note_mouse_highlight): New functions.
      (IT_update_begin): If the redisplay affects the window where the
      mouse highlight is, clear the highlight.  If the frame where the
      highlight was displayed was killed, invalidate the highlight
      (IT_update_end): Reset the highlight flag.  Reset the mouse
      highlight-defer flag.
      (IT_frame_up_to_date): New function, if mouse highlight was
      deferred due to GC, do it now.
      (internal_terminal_init): Initialize mouse-highlight related
      members of the_only_x_display.  Assign IT_frame_up_to_date to
      (dos_rawgetc): If the mouse moved, update mouse highlight.  If
      help_echo changed value, generate a HELP_EVENT event.
      (syms_of_msdos): Staticpro help_echo and previous_help_echo.
  2. 19 Dec, 1999 1 commit
    • Eli Zaretskii's avatar
      (IT_set_face): Don't swap face colors when highlight or · 3b620731
      Eli Zaretskii authored
      fp->tty_reverse_p is set, unless the computed colors are identical
      to frame colors.  Print both original and computed colors to
      termscript file.
      (IT_write_glyphs): Track the changes in handling of composite
      (IT_set_frame_parameters): Don't set frame colors from
      unspecified-fg and unspecified-bg pseudo-colors.
  3. 15 Dec, 1999 1 commit
    • Eli Zaretskii's avatar
      Changes for separate unspecified foreground and background colors · f9d2fdc4
      Eli Zaretskii authored
      on character terminals:
      * dispextern.h (FACE_TTY_DEFAULT_FG_COLOR)
      (FACE_TTY_DEFAULT_BG_COLOR):  New macros.
      * xfaces.c (Qunspecified_fg, Qunspecified_bg): New variables.
      (syms_of_xfaces): Initialize and staticpro them.
      (tty_defined_color): If the color name is unspecified-fg or
      unspecified-bg, return FACE_TTY_DEFAULT_FG_COLOR and
      FACE_TTY_DEFAULT_BG_COLOR, respectively, as the pixel value.
      (tty_color_name): If the color pixel value is either
      Qunspecified_fg or Qunspecified_bg, respectively.
      (Finternal_set_lisp_face_attribute): Allow values Qunspecified_fg
      and Qunspecified_bg for foreground and background colors.
      (realize_default_face): If the foreground and background colors
      are not specified, default to Qunspecified_fg and Qunspecified_bg.
      (realize_tty_face): By default, set the face colors to
      FACE_TTY_DEFAULT_BG_COLOR when face colors are not defined.
      Reverse the colors if the default colors were reversed.
      * dispnew.c (init_display): Initialize the frame pixels of the
      initial frame to FACE_TTY_DEFAULT_FG_COLOR and
      * term.c (turn_on_face): If the default fore- and background
      colors are reversed, enter inverse video mode.  Don't send color
      escape sequences for unspecified foreground and background colors.
      (turn_off_face): Handle unspecified-fg and unspecified-bg colors.
      * dosfns.c (unspecified_colors): New variable.
      (msdos_stdcolor_idx): Handle unspecified-fg and unspecified-bg
      color names, return FACE_TTY_DEFAULT_FG_COLOR and
      FACE_TTY_DEFAULT_BG_COLOR, respectively.
      (msdos_stdcolor_name): Handle FACE_TTY_DEFAULT_FG_COLOR and
      FACE_TTY_DEFAULT_BG_COLOR, return Qunspecified_fg and
      Qunspecified_bg, respectively.
      * msdos.c (IT_set_face): Support FACE_TTY_DEFAULT_FG_COLOR and
      FACE_TTY_DEFAULT_BG_COLOR as pixel values.
      * faces.el (face-read-integer, read-face-attribute)
      (color-defined-p, color-values): Allow color values unspecified-fg
      and unspecified-bg, handle them as unspecified.
  4. 06 Dec, 1999 1 commit
    • Eli Zaretskii's avatar
      Changes for automatic remapping of X colors on terminal frames: · 2d764c78
      Eli Zaretskii authored
      	* xfaces.c (XColor) [!HAVE_X_WINDOWS]: Provide a typedef for non-X
      	(Vface_tty_color_alist): Remove.
      	(tty_defined_color): New function.
      	(defined_color): Rewrite to support any type of frame.
      	(tty_color_name): New function.
      	(face_color_supported_p, Fface_color_gray_p,
      	Fface_color_supported_p): Support non-X frames.
      	(load_color): Enclose the color name in quotes, in the log
      	messages.  Remove DOS-specific version of load_color.
      	(realize_tty_face): Take the supported colors from
      	tty-color-alist.  Support translation of X colors to the closest
      	tty color, for both MSDOS and tty frames.
      	[MSDOS]: Don't invert face colors if they were taken from the
      	frame colors.
      	(Fface_register_tty_color, Fface_clear_tty_colors): Remove.
      	* frame.h (struct x_output) [!MSDOS, !WINDOWSNT, !HAVE_X_WINDOWS]:
      	Define a mostly empty surrogate.
      	(tty_display): Declare.
      	* frame.c (make_terminal_frame) [!macintosh]: Don't use
      	(Fframe_parameters): Don't invert colors of non-FRAME_WINDOW_P
      	frames when the frame's param_alist includes 'reverse.
      	(tty_display): Define.
      	(make_terminal_frame) [!MSDOS]: Assign &tty_display to the
      	output_data.x member.
      	(Fframe_parameters): Return foreground and background color names
      	on tty frames as well, in addition to MSDOS frames.
      	* msdos.h (DisplayWidth, DisplayHeight): Changes for Lisp_Object
      	(struct x_output): Remove unused members; document who uses each
      	FRAME_DEFAULT_FACE, FRAME_MODE_LINE_FACE, unload_color): Remove
      	unused macro definintions.
      	* msdos.c (IT_set_frame_parameters): Don't call
      	recompute_basic_faces, the next redisplay will, anyway.
      	(x_current_display): Remove unused variable.
      	Many functions: changes for Lisp_object selected_frame.
      	(IT_set_face): If the tty_reverse_p flag is set for the face,
      	reverse the foreground and background colors.
      	(Fmsdos_remember_default_colors): New function.
      	(syms_of_msdos): Defsubr it.
      	(IT_set_frame_parameters): Use initial_screen_colors[] when
      	creating a new frame.  If the frame parameters include 'reverse,
      	swap the foreground and background colors.
      	(internal_terminal_init): Initialize initial_screen_colors to -1.
      	(syms_of_msdos): Add DEFVAR_BOOL for x-stretch-cursor, to shut up
      	* Makefile.in (lisp, shortlisp): Add lisp/term/tty-colors.elc.
      	* xfns.c (x_defined_color): Rename from defined_color.  All
      	callers changed.
      	(Fxw_color_defined_p): Renamed from Fx_color_defined_p;
      	all callers changed.
      	(Fxw_color_values): Renamed from Fx_color_values; all callers
      	(Fxw_display_color_p): Renamed from Fx_display_color_p; all
      	callers changed.
      	(x_window_to_frame, x_any_window_to_frame,
      	x_non_menubar_window_to_frame, x_menubar_window_to_frame,
      	x_top_window_to_frame): Use !FRAME_X_P instead of
      	* xterm.h (x_defined_color): Rename from defined_color.
      	* w32fns.c (x_window_to_frame): Use FRAME_W32_P instead of
      	(Fxw_color_defined_p): Renamed from Fx_color_defined_p;
      	all callers changed.
      	(Fxw_color_values): Renamed from Fx_color_values; all callers
      	(Fxw_display_color_p): Renamed from Fx_display_color_p; all
      	callers changed.
      	* dispextern.h (tty_color_name): Add prototype.
      	* xmenu.c (menubar_id_to_frame): Use FRAME_WINDOW_P instead of
      	* w32menu.c (menubar_id_to_frame): Likewise.
      	* w32term.h (w32_output): Declare.
      	* dosfns.c (Qmsdos_color_translate): Remove.
      	(msdos_stdcolor_name): Now returns a Lisp_Object.
      	* dosfns.h (Qmsdos_color_translate): Remove.
      	* s/msdos.h (INTERNAL_TERMINAL): Add entries for color support.
  5. 19 Oct, 1999 1 commit
    • Paul Eggert's avatar
      Add support for large files, 64-bit Solaris, system locale codings. · 68c45bf0
      Paul Eggert authored
      * Makefile.in (emacs): Set the LC_ALL environment variable to "C"
      when dumping, so that the dumped Emacs doesn't have stray locale info.
      (dired.o): Depend on systime.h.
      (editfns.o): Depend on coding.h.
      * alloc.c, buffer.c, callproc.c, ccl.c, charset.c, coding.c, data.c,
      dispnew.c, editfns.c, emacs.c, filelock.c, floatfns.c, hftctl.c,
      keyboard.c, process.c, sysdep.c, unexelf.c, unexhp9k800.c,
      unexsunos4.c, vmsfns.c, vmsgmalloc.c, w32faces.c, w32menu.c, w32term.c,
      w32xfns.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
      Include <config.h> before any system include files.
      * alloc.c, buffer.c, ccl.c, data.c, editfns.c, emacs.c, eval.c,
      fileio.c, filelock.c, frame.c, insdel.c, keymap.c, lread.c,
      m/alpha.h, print.c, search.c, sysdep.c, xdisp.c, xfaces.c, xfns.c,
      xmenu.c, xterm.c:
      Do not include <stdlib.h>, as <config.h> does this now.
      * callproc.c (Fcall_process):
      Synchronize messages locale before invoking strerror.
      Decode resulting string with locale-coding-system.
      * coding.c (Vlocale_coding_system): New var.
      (syms_of_coding): Adjust to above change.
      (emacs_strerror): New function.
      * coding.h (emacs_strerror, Vlocale_coding_system): New decls.
      HAVE_STRSIGNAL): New macros.
      (BITS_PER_LONG): Default to 64 if _LP64 is defined.
      <stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't.
      * dired.c: Include "systime.h".
      (Ffile_attributes): Do not cast s.st_size to int; this loses
      information if int is 32 bits but st_size and EMACS_INT are larger.
      Treat large device numbers like large inode numbers.
      * dispnew.c (PENDING_OUTPUT_COUNT): Use __fpending if available.
      * editfns.c: Include coding.h.
      (emacs_strftime): Remove decl.
      (emacs_strftimeu): New decl.
      (emacs_memftimeu): Renamed from emacs_memftime; new arg UT.
      Use emacs_strftimeu instead of emacs_strftime.
      (Fformat_time_string): Convert format string using
      Vlocale_coding_system, and convert result back.  Synchronize time
      locale before invoking lower level function.  Invoke
      emacs_memftimeu, passing ut, instead of emacs_memftime.
      * emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined.
      (Vmessages_locale, Vprevious_messages_locale, Vtime_locale,
      Vprevious_time_locale): New variables.
      (main): Invoke setlocale early, so that initial error messages are
      localized properly.  But skip locale-setting if LC_ALL is "C".
      Fix up locale when it's safe to do so.
      (fixup_locale): Moved here from xterm.c.
      (synchronize_locale, synchronize_time_locale,
      synchronize_messages_locale): New functions.
      (syms_of_emacs): Accommodate above changes.
      * fileio.c (report_file_error): Convert strerror output according
      to Vlocale_coding_system.
      (Finsert_file_contents): Check for arithmetic overflow in
      computations that depend on file size.  Report IO errors
      with emacs_strerror, not strerror.
      * fns.c (Fgethash): Declare dflt parameter.
      * gmalloc.c: Do not define const to nothing if HAVE_CONFIG_H
      is defined; that's config.h's job.
      default these values to long, BITS_PER_LONG, and unsigned long.
      (VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT.
      (PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int.
      (code_convert_string_norecord, fixup_locale,
      synchronize_messages_locale, synchronize_time_locale,
      emacs_open, emacs_close, emacs_read, emacs_write): New decls.
      All Emacs callers of open, close, read, write changed to use
      emacs_open, emacs_close, emacs_read, emacs_write.
      * lread.c (file_offset, file_tell): New macros.  All uses of ftell
      changed to file_tell.
      (saved_doc_string_position, prev_saved_doc_string_position): Now
      of type file_offset.
      (init_lread): Do not fix locale here; fixup_locale now does this.
      * m/amdahl.h, s/usg5-4.h:
      (NSIG): Remove.
      (NSIG_MINIMUM): New macro.
      * m/cydra5.h, m/dpx2.h, m/mips.h, m/pfa50.h, m/sps7.h, m/stride.h,
      m/ustation.h, s/gnu-linux.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h,
      s/umips.h, s/usg5-4.h:
      (SIGIO): Do not undef.
      (BROKEN_SIGIO): New macro.
      * m/ustation.h:
      (SIGTSTP): Do not undef.
      (BROKEN_SIGTSTP): New macro.
      * s/gnu-linux.h:
      (SIGPOLL, SIGURG): Do not undef.
      * s/ptx4.h:
      (SIGINFO): Do not undef.
      (BROKEN_SIGINFO): New macros.
      * m/delta.h, s/ptx.h, s/template.h: Doc fix.
      * mktime.c, strftime.c: Update to glibc 2.1.2 version, with
      some Emacs-related changes merged.
      * print.c (float_to_string): Prepend "-" to representation of a
      NaN if the NaN is negative.
      * process.c (sys_siglist): Omit if HAVE_STRSIGNAL.
      (wait_reading_process_input): Use emacs_strerror, not strerror.
      * process.c (status_message, sigchld_handler): Synchronize locale,
      then use strsignal istead of sys_siglist.
      * w32proc.c (sys_wait): Likewise.
      * s/aix3-1.h, s/bsd4-1.h, s/dgux.h, s/gnu-linux.h, s/hiuxmpp.h,
      s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h,
      s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h,
      s/usg5-2.h, s/usg5-3.h, s/xenix.h:
      (open, close, read, write, INTERRUPTIBLE_OPEN,
      * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros.
      * sysdep.c (sys_read, sys_write, read, write, sys_close, close,
      sys_open, open): Remove.
      (emacs_open, emacs_close, emacs_read, emacs_write): Always define;
      macros are no longer used.
      (emacs_open): Renamed from sys_open.  Merge BSD4_1 version.
      (emacs_close): Renamed from sys_close.
      (emacs_read): Renamed from sys_read.
      (emacs_write): Renamed from sys_write.
      (sys_siglist): Do not declare if HAVE_STRSIGNAL.
      (dup2): Do not print error on failure; the real dup2 doesn't.
      (strsignal): New function, defined if !HAVE_STRSIGNAL.
      * syssignal.h (SIGINFO): Undef if defined and if BROKEN_SIGINFO
      is defined.
      (NSIG): If less than NSIG_MINIMUM, define to NSIG_MINIMUM.
      (strsignal): Declare if !HAVE_STRSIGNAL.
      * unexelf.c (ElfBitsW, ELFSIZE, ElfExpandBitsW): New macros.
      (ElfW): Define in terms of ElfExpandBitsW.
      * w32proc.c (sys_siglist): Remove decl.
      * xdisp.c (decode_mode_spec): 3rd arg is int, not char, to comply
      with ANSI C.
      (display_string): Declare face_string_pos arg.
      * xfns.c (Fx_show_tip): Declare timeout param.
      * xterm.c: No need to include locale.h.
      (x_alloc_lighter_color, x_setup_relief_color):
      Pass arg as double, not float, for compatibility with ANSI C.
      (fixup_locale): Move to emacs.c.
      (x_term_init): Do not setlocale or fixup locale; the main program
      does this now.
  6. 10 Aug, 1999 1 commit
  7. 30 Jul, 1999 1 commit
    • Eli Zaretskii's avatar
      (IT_set_face): Rewritten for the new redisplay engine. · c77f6f1b
      Eli Zaretskii authored
      Use default frame colors if the face doesn't specify them; invert
      the colors if highlight is ON.
      (IT_write_glyphs): Rewritten for the new redisplay engine.
      (IT_change_line_highlight): Add (unused) parameter Y, since that's
      how the hook is called by term.c.
      (IT_copy_glyphs): New function, copies an area of the display in
      video RAM.
      (IT_insert_glyphs): Rewritten to DTRT instead of aborting, since
      redisplay now calls it even if char_ins_del_ok is zero.
      (IT_set_frame_parameters): Prototype changed.  Calls the new
      load_color.  Puts the new fore/background colors into the default
      face on current frame.
      (IT_menu_display): Rewritten to handle the new struct glyph
      instead of a char array.
      (XMenuActivate): Call lookup_derived_face to create and use
      special faces for the pop-up and drop-down menus.
  8. 29 Jul, 1999 1 commit
  9. 02 May, 1999 2 commits
  10. 08 Apr, 1999 1 commit
  11. 06 Apr, 1999 1 commit
  12. 05 Apr, 1999 1 commit
  13. 04 Apr, 1999 1 commit
    • Eli Zaretskii's avatar
      (struct kbd_translate): New struct, for key translation · d1d5dc19
      Eli Zaretskii authored
      tables private to certain national keyboard layouts.
      (struct dos_keyboard_map): Add a pointer to a private translation
      (jp_kbd_translate_table): Private table for the Japanese
      (jp_keyboard): Japanese keyboard layout.
      (it_kbd_translate_table): Private table for the Italian keyboard.
      (it_keyboard): Use it_kbd_translate_table.
      (keyboard_layout_list): Add the Japanese keyboard.
      (dos_rawgetc): Use the keyboard-private translation table, if
      (abort) [__DJGPP_MINOR__ >= 2]: Raise SIGABRT.
  14. 06 Jan, 1999 1 commit
  15. 31 Dec, 1998 1 commit
  16. 21 Dec, 1998 1 commit
  17. 06 Dec, 1998 1 commit
    • Eli Zaretskii's avatar
      (Vdos_unsupported_char_glyph): New variable. · aa9ce936
      Eli Zaretskii authored
      (syms_of_msdos): DEFVAR_LISP it.
      (IT_insert_glyphs, IT_delete_glyphs): New functions which abort
      (internal_terminal_init): Set up insert_glyphs_hook and
      delete_glyphs_hook to call them.  Explicitly set char_ins_del_ok
      to 0.
      (unibyte_display_via_language_environment): New variable.
      (syms_of_msdos): Devfar it.
      (IT_write_glyphs): Honor glyph aliasing via Vglyph_table.
      Encode the character codes of the glyphs according to the
      terminal_coding in effect.
  18. 03 Dec, 1998 1 commit
  19. 20 Oct, 1998 1 commit
    • Eli Zaretskii's avatar
      (mouse_init): Reset the button press/release info of the mouse driver. · 0c7bc1aa
      Eli Zaretskii authored
      (mouse_preempted): New variable.
      (dos_rawgetc): Don't generate mouse events if mouse is preempted.
      (XMenuActivate): Preempt the mouse during menu-handling loop.
      Release the current time slice while idling in the menu-handling
      loop.  Leave the loop only if the user pressed, then released the
      same button.  Discard all mouse events that are pending in the
      event queue before exiting.
  20. 31 Aug, 1998 1 commit
  21. 13 Aug, 1998 1 commit
  22. 10 Aug, 1998 1 commit
  23. 14 Jun, 1998 1 commit
  24. 13 May, 1998 1 commit
  25. 27 Apr, 1998 1 commit
    • Eli Zaretskii's avatar
      (IT_ring_bell, IT_write_glyphs, IT_clear_end_of_line, · 71f65669
      Eli Zaretskii authored
      IT_clear_screen, IT_clear_to_end, IT_clear_to_end, IT_cursor_to,
      IT_cmgoto, IT_reassert_line_highlight, IT_change_line_highlight,
      IT_update_begin, IT_update_end, IT_set_terminal_modes,
      IT_reset_terminal_modes, IT_set_terminal_window,
      pixel_to_glyph_coords, IT_menu_display):  Bring definitions in
      accordance with prototype declarations.
  26. 21 Apr, 1998 1 commit
  27. 16 Apr, 1998 1 commit
  28. 13 Apr, 1998 1 commit
  29. 08 Apr, 1998 1 commit
  30. 10 Nov, 1997 1 commit
    • Eli Zaretskii's avatar
      Support for Japanese display on DOS/V systems. · 039274cf
      Eli Zaretskii authored
      (screen_old_address, screen_virtual_segment,
      screen_virtual_offset): New variables.
      (dosv_refresh_virtual_screen): New function.
      (dos_direct_output, dos_set_window_size, IT_write_glyphs,
      IT_clear_end_of_line, IT_clear_screen, IT_display_cursor,
      IT_reset_terminal_modes, XMenuActivate, abort):  Call
      dosv_refresh_virtual_screen if under DOS/V.
      (IT_set_terminal_modes): If under DOS/V, update the address of
      primary screen buffer.
      (internal_terminal_init): Zero out screen_old_address, in case
      Emacs was dumped under DOS/V.
      (dos_get_saved_screen): Return failure indication if no screen was
  31. 13 Oct, 1997 1 commit
    • Eli Zaretskii's avatar
      (mouse_get_pos): Remove reduntant call to `int86'. · 211c7152
      Eli Zaretskii authored
      Clear the mouse-moved flag for all frames.  Update last mouse
      (IT_set_menu_bar_lines): Remove.
      (x_set_menu_bar_lines): Call `set_menu_bar_line' (from frame.c)
      instead of duplicating its code.
      (IT_set_frame_parameters): Support the `title' and `reverse'
  32. 11 Sep, 1997 2 commits
  33. 28 Aug, 1997 1 commit
  34. 13 Aug, 1997 1 commit
  35. 11 Aug, 1997 3 commits
  36. 02 Feb, 1997 1 commit