aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32term.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for large files, 64-bit Solaris, system locale codings.Paul Eggert1999-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. * config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING, HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN, 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. * lisp.h (EMACS_INT, BITS_PER_EMACS_INT, EMACS_UINT): If _LP64, 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. (BROKEN_SIGPOLL, BROKEN_SIGURG): New macros. * 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, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove. * 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; the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO 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. (SIGIO, SIGPOLL, SIGTSTP, SIGURG): Likewise. (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.
* Use XCAR and XCDR instead of explicit member references.Ken Raeburn1999-09-121-10/+10
|
* (x_bitmap_icon): New function.Geoff Voelker1999-08-101-0/+63
| | | | (x_make_frame_visible, x_iconify_frame): Invoke x_bitmap_icon.
* Handle wide characters properly.Jason Rumney1999-06-171-0/+8
|
* (cancel_mouse_face): new function. See equivKarl Heuer1999-06-121-10/+33
| | | | | | | changes to xterm.c on 1996-10-31. (x_set_window_size): use cancel_mouse_face. (w32_read_socket): use cancel_mouse_face. Update frame position when size is restored.
* (w32_read_socket): Reset the grabbed flag when a frame gains orAndrew Innes1999-05-201-1/+7
| | | | loses focus.
* (dumpglyphs): Use correct colours for drawing rectangles in place ofAndrew Innes1999-05-151-4/+16
| | | | missing fonts, and make them the right size.
* (dumpglyphs): Always fill background for italic fonts.Andrew Innes1999-05-031-0/+2
|
* [andrewi]Andrew Innes1999-05-021-41/+81
| | | | | | | | | | | | | | | | | | | (dumpglyphs): On Windows NT, do output in Unicode even for ASCII, if enabled, to avoid memory allocation overhead for implicit Unicode conversion. Also, recognize that ASCII and Latin-1 have a trivial conversion to Unicode, so x_2byte_buffer lready contains the Unicode characters in that case. (construct_drag_n_drop): Remove old code that was trashing the drop location. [jasonr] (w32_write_glyphs, w32_clear_end_of_line, w32_clear_frame, clear_cursor, x_display_bar_cursor, x_display_box_cursor, x_set_window_size): Use phys_cursor_on field in frame. (do_line_dance): Updated WRT xterm.c. Use macros where possible. (dumprectangle): Take into account the width of a left-side scroll bar.
* (W32_TEXTOUT): Do not multiply nchars byGeoff Voelker1999-03-141-3/+3
| | | | | charset_dim. (dumpglyphs): Formatting fixes.
* (construct_drag_n_drop): Call DraqQueryPoint beforeAndrew Innes1999-02-051-2/+3
| | | | recording drop position.
* (W32_TEXTOUT): New macro.Geoff Voelker1999-01-221-165/+122
| | | | | | | | | | (dumpglyphs): Support BDF fonts. Use W32_TEXTOUT macro. Simplify baseline calculation. Detect SJIS by font, not glyph. Call SetTextAlign. (syms_of_w32term): Remove "jisx0212-sjis" from w32-charset-to-codepage-alist. Replace "ksc5601" with "ksc5601.1987" in w32-charset-to-codepage-alist. Add "ksc5601.1992' to w32-charset-to-codepage-alist.
* Remove codepage macros. Remove redundant BIG5 macros.Geoff Voelker1999-01-191-87/+107
| | | | | | | | | | | | | | (dumpglyphs): Move definitions out of block containing goto. Remove redundant code for BIG5. Use w32_codepage_for_font instead of w32_codepage_for_charset. Add cast to int where float operation is assigned to int. (Vw32_charset_to_codepage_alist): New variable. (w32_codepage_for_charset): Removed. (w32_codepage_for_font): New function, replacing w32_codepage_for_charset. (syms_of_w32term): Add and initialize w32-charset-to-codepage-alist.
* (x_iconify_frame): Wait for frame to be iconified; doAndrew Innes1998-12-281-3/+1
| | | | not set async_iconified flag though.
* (dumpglyphs): Use unsigned char arrays.Geoff Voelker1998-12-031-6/+61
| | | | | | Use FONT_MAX_WIDTH to detect and fudge proportional fonts for various languages. Compensate for fonts that have underhangs (e.g., Thai).
* (convert_to_key_event): Removed.Geoff Voelker1998-11-101-68/+33
| | | | | | (is_dead_key): Copied to w32fns.c. (w32_read_socket): Generate language_change_event. Modify to work with keyboard handling changes in w32_wnd_proc.
* (w32_enable_unicode_output): Rename fromGeoff Voelker1998-11-041-7/+7
| | | | | | w32_no_unicode_output. (w32_use_unicode_for_codepage, syms_of_w32term): Use new name and new semantics.
* (dumpglyphs): Use FRAME_FONT for w32_fill_area.Geoff Voelker1998-11-041-4/+9
|
* (w32_use_unicode_for_codepage): Interpret w32_no_unicode_output properly.Geoff Voelker1998-10-201-2/+2
| | | | (syms_of_w32term): Reference w32_no_unicode_output properly.
* Include fontset.h. Define codepage macros.Geoff Voelker1998-10-201-142/+690
| | | | | | | | | | | | Add ENCODE_BIG5 macro from coding.c. (w32_no_unicode_output): New variable. (w32_codepage_for_charset, w32_use_unicode_for_codepage): New functions. (BUILD_WCHAR_T, BYTE1, BYTE2): New macros. (dumpglyphs): Rewrite based on xterm.c equivalent. (x_new_font): Use functionality provided in fontset.c. (x_new_fontset): New function based on the one in xterm.c. (syms_of_w32term): Add w32-no-unicode-output flag.
* (w32_ring_bell): Flash window correctly.Geoff Voelker1998-05-141-1/+11
|
* Include shellapi.h.Richard M. Stallman1998-05-011-0/+59
| | | | | (construct_drag_n_drop): New function. (w32_read_socket): Handle WM_DROPFILES messages.
* (msh_mousewheel): Declare.Geoff Voelker1998-04-301-0/+27
| | | | (w32_read_socket): Check for mousewheel events.
* Forward declare hooks with full function prototypes.Geoff Voelker1998-04-291-30/+61
| | | | (x_make_frame_visible): Pass dummy argument to input_poll_signal.
* (w32_read_socket): Don't misinterpret WM_PAINT messageGeoff Voelker1998-04-231-41/+15
| | | | | as an expose event if the repaint region is actually empty. Also use the standard menubar_selection_callback routine.
* (Vw32_recognize_altgr): New variable.Geoff Voelker1998-04-171-55/+195
| | | | | | | | | | | | | | (dumpglyphs): Update from xterm.c. (w32_ring_bell): Flash window, don't just reset its state. (dumprectangle, show_mouse_face, x_draw_single_glyph): Use new args to dumpglyphs. (my_set_foreground_window): New function. (w32_condemn_scroll_bars): Mark all as condemned scroll bars. (w32_redeem_scroll_bar): Look through all scroll bars. (w32_judge_scroll_bars): Don't clear out condemned list. (w32_read_socket): Clip window after frame has been restored. (x_focus_on_frame, x_raise_frame): Use my_set_foreground_window. (syms_of_w32term): Define Vw32_recognize_altgr.
* (min, max): Define as macros.Karl Heuer1998-04-091-0/+5
|
* (w32_mouse_position): Handle INSIST < 0.Karl Heuer1997-10-241-2/+2
|
* (SIF_*): Win95 macros defined for NT.Geoff Voelker1997-09-031-195/+682
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (struct tagSCROLLINFO): Win95 struct defined for NT. (vertical_scroll_bar_min_handle, vertical_scroll_bar_top_border, vertical_scroll_bar_bottom_border, last_scroll_bar_drag_pos, Vw32_gab_focus_on_raise, Vw32_capslock_is_shiftlock): New variables. (w32_frame_up_to_date): Block input. (do_line_dance): Use DC while erasing, release at end. (show_mouse_face): Use column and endcolumn calculated at start of loop. (my_create_scrollbar, my_show_window, my_set_window_pos, my_set_focus) [! ATTACH_THREADS]: Send message to window instead of invoking Windows procedure. (x_scroll_bar_create, x_scroll_bar_move, x_scroll_bar_handle_click, x_scroll_bar_report_motion): Use SCROLLINFO for proportional handle. (x_scroll_bar_set_handle): Create proportional sized scroll handle. (w32_set_vertical_scroll_bar): Size handle according to how much is showing in window. (x_scroll_bar_set_report_motion): Use top_range, calculated above. (x_scroll_bar_clear): Hide scroll bar until ready to repaint. (show_scroll_bars): Pass in frame to my_show_window. (w32_read_socket): Distinguish between invisible and obscured frames when handling PAINT messages. Fixup off-by-one calculation for PAINT and SIZE. Pass in new parameter to w32_kbd_mods_to_emacs. Handle WM_DISPLAYCHANGE, WINDOWPOSCHANGED, ACTIVATE, SHOWWINDOW, INITMENU, and ACTIVATEAPP messages. Explicitly check for visibile and obscured frames, and to see if any event should cause a redisplay. (x_display_bar_cursor): Don't check whether frame is updating here. (x_display_cursor): Check it here instead. (x_set_offset) [HAVE_NTGUI]: Don't add border widths. Set NOACTIVATE when setting window position. (x_set_window_size): Fixup off-by-one calculation when setting window position. Mark frame garbaged earlier. Clear mouse highlighting state. (x_focus_on_frame): Set focus by making frame the foreground window. (x_raise_frame): Support frames to be raised without grabbing focus. (x_lower_frame): Set NOACTIVATE flag when setting window position. (x_make_frame_visible, x_make_frame_invisible): Pass in frame to my_show_window. to my_show_window. (x_iconify_frame): Send a MINIMIZE message to the window. (x_wm_set_size_hint): Set font width, line height, border, and scroll bar indexes instead of X and Y unit indexes. (w32_initialize): Set input mode. Use w32_msg_worker instead of windows_msg_worker. Dynamically link proportional scroll bar functions and intialize proportional scroll bar variables. (syms_of_w32term): DEFVAR new variables. (construct_mouse_wheel): New function. Constructs an input event from a WM_MOUSEWHEEL message. (w32_read_socket): Handle WM_MOUSEWHEEL. (w32_read_socket): Pass in new parameter to key_event. Let key_event determine whether key is dead. For MOVE, use x_real_positions to map to client coords. (x_set_mouse_pixel_position): Offset to use client area as origin.
* (w32_clear_end_of_line): Include scroll bar width.Geoff Voelker1997-07-201-0/+2
|
* Include charset.h.Geoff Voelker1997-07-011-0/+1
|
* Change all uses of win95, winnt, and win32Geoff Voelker1997-01-201-16/+16
| | | | | | | into Windows 95, Windows NT, and W32, respectively. Expand "win" substring in variables referring to Microsoft Windows constructs into "windows". Canonicalize header comments to use same terminology.
* Change identifiers of the form win32* to w32*.Geoff Voelker1996-11-191-392/+392
|
* (w32_read_socket): Delete WAITP arg.Richard M. Stallman1996-09-251-3/+1
|
* (fast_find_position, show_macro_face): Use new WINDOW_LEFT_MARGIN macro.Richard M. Stallman1996-09-211-3/+3
|
* (note_mouse_highlight): Test last_overlay_modified field.Richard M. Stallman1996-09-161-1/+2
|
* Fix FSF address in comment.Karl Heuer1996-07-201-2/+3
|
* (w32_read_socket): Need to erase backgroundKarl Heuer1996-07-161-0/+2
| | | | immediately before repainting exposed region.
* (w32_read_socket): Remove unused WM_ERASEBKGND code.Karl Heuer1996-07-121-21/+1
| | | | | No need to erase background now on (delayed) WM_PAINT. Move WM_PALETTECHANGED processing to raw input thread.
* (x_set_mouse_pixel_position): Adjust coords by frame position.Miles Bader1996-07-071-19/+16
| | | | (x_set_mouse_position): Call x_set_mouse_pixel_position.
* (w32_read_socket): Erase update rect on WM_PAINT, soRichard M. Stallman1996-06-141-1/+6
| | | | no need to process WM_ERASEBKGND.
* (w32_read_socket): If the dead key was produced usingRichard M. Stallman1996-06-041-2/+6
| | | | | AltGr and has a valid AltGr scan code, it's a valid key and should not be discarded.
* (x_scroll_bar_handle_click): Repaint scroll bar handleKarl Heuer1996-05-251-0/+1
| | | | when drag is finished.
* (w32_read_socket): Mask out lower 4 bits of wParamGeoff Voelker1996-05-171-1/+1
| | | | for WM_SYSCOMMAND messages.
* (note_mouse_movement): Upwards mouse movement recognition corrected.Richard M. Stallman1996-05-131-1/+1
|
* (x_scroll_bar_set_handle): Always use start in calling SetScrollPos.Richard M. Stallman1996-05-111-19/+14
| | | | | (x_scroll_bar_handle_click): In line up/down cases, don't alter y. Don't call x_scroll_bar_set_handle.
* (x_scroll_bar_move): Call my_show_window.Richard M. Stallman1996-05-101-0/+2
| | | | (x_scroll_bar_clear): Likewise.
* (Vwindow_system): Declared.Geoff Voelker1996-05-031-83/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | (win32_fill_rect, dumpglyphs, do_line_dance, x_draw_box): Use Get/ReleaseFrameDC. (pixel_to_glyph_coords): Support tty mode. (w32_read_socket): Explicitly use FALSE. Handle WM_PALLETTECHANGED event. (parse_button): Handle mouse button emulation. (my_show_window, my_set_window_pos): New functions. (x_set_offset, x_set_window_size, x_raise_frame, x_lower_frame): Use my_set_window_pos. (x_make_frame_visible, x_iconify_frame): Use my_show_window. (x_draw_box): Don't trim right and bottom. (x_make_frame_visible): Don't invoke SetForgroundWindow. (win32_term_init): Use GetDC directly. Initialize palette and win32_num_mouse_buttons. (win32_update_begin): Regenerate palette if necessary. (x_delete_display): Free palette. (win32_initialize) [ATTACH_THREADS]: Only AttachThreadInput if conditional is defined.
* (w32_read_socket): Initialize frame_or_window field.Richard M. Stallman1996-04-161-2/+2
| | | | | (x_make_frame_visible): Don't call SetForegroundWindow after x_set_offset. (win32_initialize): Call AttachThreadInput at the end.
* (convert_to_key_event, is_dead_key): New functions.Geoff Voelker1996-02-021-13/+63
| | | | | | (w32_read-socket): Convert console modifiers to Emacs modifiers. Use console input routines to unify keyboard support. (x_make_frame_visible): Make frame foreground window.