(init_environment): Read PRELOAD_WINSOCK from registry if
not set in environment.
(winsock_inuse) [HAVE_SOCKETS]: New variable.
(have_winsock) [HAVE_SOCKETS]: Obsolete variable removed.
(term_winsock) [HAVE_SOCKETS]: Only unload winsock library if there
are no active sockets still open, and if the cleanup function
succeeds. Return TRUE if winsock is unloaded.
(init_winsock) [HAVE_SOCKETS]: Load winsock if not already loaded,
and return TRUE if winsock support is available. Unload winsock
immediately if new parameter load_now is false. Check that
WSAStartup supports the winsock version we requested.
(set_errno, check_errno, sys_socket, sys_bind, sys_connect, sys_htons,
sys_ntohs, sys_inet_addr, sys_gethostname, sys_gethostbyname,
sys_getservbyname, sys_close, sys_read, sys_write) [HAVE_SOCKETS]:
Check winsock_lib instead of have_winsock to determine if winsock
support is available.
(sys_socket, sys_close) [HAVE_SOCKETS]: Count sockets in use.
(init_ntproc) [HAVE_SOCKETS]: Only load winsock library on startup
if PRELOAD_WINSOCK is set in environment (or registry).
Roland McGrath [Fri, 7 Jun 1996 17:31:33 +0000 (17:31 +0000)]
Fri Jun 7 13:06:53 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* etags.el (tag-lines-already-matched): Remove defvar.
(initialize-new-tags-table): Don't make that var local.
(tag-lines-already-matched): Add docless defvar near find-tag-in-order
defun; this is a global state variable for that one function.
(find-tag-in-order): Move clearing of tag-lines-already-matched out of
loop. Make it a list of markers and search it with member; it is now
global, not buffer-local in the tags table, and records all matches in
any tags table during a single find-tag loop. When we run out of
matches, clear it and null out the markers.
(smtpmail-send-it): Fix error messages.
(smtpmail-deduce-address-list): Bind recipient-address-list with let.
(smtpmail-via-smtp): Bind greeting, n, process-buffer.
(init_winsock): Dynamically link to SetHandleInformation.
(sys_socket): If possible, use SetHandleInformation to make socket
handle non-inheritable to avoid a bug in NT.
(buffer-file-numbers-unique): New variable;
initialize to nil for windows-nt.
(find-buffer-visiting): Skip search for buffer based
on buffer-file-number if these are not unique.
(normalize_filename): New function.
(dostounix_filename, unixtodos_filename): Use it.
(readdir): Convert upper case file names to lower case
if win32-downcase-file-names is non-nil.
(mouse-show-mark): Use temporary highlighting if possible instead of a pause.
(mouse-drag-region): Use mouse-show-mark to do temp highlighting.
(mouse-save-then-kill): Call mouse-show-mark for a new selection
if we have a window system.
(CHOOSE_NEWEST_EXE): New parameter macro.
Not defined by default.
(WinMain): Add conditional testing CHOOSE_NEWEST_EXE.
(WinMain): Convert backslashes to slashes in env var values.
(reset_modifiers): Only clear a modifier if the modifier key has been
detected to have been released since Emacs lost focus.
(win32_wnd_proc): Have Windows translate VK_NUMLOCK and VK_SCROLL key
downs; don't reset the modifier state when Emacs loses focus.
(Fexpand_file_name) [WINDOWSNT]: Don't strip trailing /
when newdir is just "//".
(Ffile_name_directory) [WINDOWSNT]: Return Qnil if filename is a
partial UNC name such as "//foo".
Roland McGrath [Sun, 26 May 1996 23:12:01 +0000 (23:12 +0000)]
(mail-abbrev-expand-hook): Disable abbrev mode temporarily while working,
to avoid recursion in indent-relative expanding part of the abbrev
expansion as an abbrev itself.
Karl Heuer [Sat, 25 May 1996 17:49:03 +0000 (17:49 +0000)]
(Vwin32_mouse_move_interval): New lisp variable.
(syms_of_win32fns): Add Vwin32_mouse_move_interval to syms.
(saved_mouse_msg): Renamed to saved_mouse_button_msg.
(timer_id): Renamed to mouse_button_timer.
(saved_mouse_move_msg, mouse_move_timer): New variables.
(win_msg_worker): Delete WM_TIMER code.
(win32_wnd_proc): Handle WM_TIMER events here. Use separate timers
for mouse down and mouse move (including scroll bar drag) events.
Add new handling code for WM_VSCROLL and WM_MOUSEMOVE events.
Only filter WM_MOUSEMOVE events when a button is held down.
Always pass on message to DefWindowProc after calling
TranslateMessage. Reset keyboard modifiers when losing focus.
(win32_wnd_proc): When passing modifier keystrokes back
to Windows, invoke TranslateMessage on them.
Include buffer.h.
(set_frame_menubar): Make sure input is unblocked
when we call create_menu_items.
Switch temporarily to proper buffer, bind inhibit-quit to t,
and run the same hooks as in smenu.c.
(syms_of_win32menu): Initialize and staticpro Qdebug_on_next_call.
(ncurses): Check this after checking fns like strerror.
(HAVE_NCURSES): Look for library named ncurses.
(setlocale): Check for it.
(*-*-sysv4.2*): If no /usr/ccs/lib/cpp, use /lib/cpp.
Karl Heuer [Tue, 21 May 1996 15:42:13 +0000 (15:42 +0000)]
(c-macro-expansion): Delete ??! trigraph in uniquestring.
Use same syntax table in outbuf as in inbuf.
Insert newline instead of space at end, for
proprocessors which don't like truncated lines.