Geoff Voelker [Fri, 3 May 1996 18:41:13 +0000 (18:41 +0000)]
(continuation of previous checkin)
(Fwin32_rgb): Dead procedure removed.
(Fwin32_define_rgb_color, Fwin32_load_color_file, win32_map_color,
win32_regenerate_palette, win32_unmap_color): New functions.
(syms_of_w32fns): Set up new lisp functions.
(define_color): Use palettes. Simulate use of PALETTE_RGB to
use closest color instead of dithering.
(map_mode): Function removed.
(WIN32_COLOR, SET_WIN32_COLOR): New macros.
(win32_init_class): Don't set CS_OWNDC in the WNDCLASS style.
(win32_createwindow): Invoke ShowWindow to discard defaults
from parent.
(win32_wnd_proc): Use separate critical sections appropriately.
Handle palette change, show window, and set window position messages.
Record WINDOWPLACEMENT structure length.
D
Detect quit_char.
(Fx_create_frame): Set scrollbar width to be the system standard.
(Ffocus_frame, Funfocus_frame): Functions now do nothing.
(x_to_win32_weight, win32_to_x_weight): Handle "heavy", "extrabold",
"light", "extralight", and "thin" fonts.
(x_to_win32_charset, win32_to_x_charset): New functions.
(win32_to_x_font): Use new height units. Use win32_to_x_charset.
(x_to_win32_font): Use x_to_win32_charset. Support Win32 font names
in addition to X font names.
(win32_load_font, Fx_list_fonts, Fx_display_color_cells,
Fx_display_mm_height, Fx_display_mm_width: Use GetDC directly.
(Fx_open_connection): Support external color mapping files.
(win32_abort): Map abort button to abort, retry to debug, and
ignore to continue.
Geoff Voelker [Fri, 3 May 1996 18:35:50 +0000 (18:35 +0000)]
Include config.h after CRT headers. Include fcntl.h.
(child_process, MAX_CHILDREN, CHILD_ACTIVE): Moved to nt.h.
(DebugPrint): New macro.
(new_child): Create input event structures for child processes.
(delete_child): New function.
(reader_thread): Return nonzero upon failure. Use _sys_read_ahead.
(create_child): Add child_process and parent PID arguments.
Don't create input event or thread structures here.
Fixup Win95 negative process IDs.
(register_child): Don't set consumed event; instead, set thread
status so that select will release it.
(remove_child): Renamed to reap_process. Only free resources
of synchronous children.
(win32_wait): Renamed to sys_wait. Sanity check to make sure
handle to subprocess exists. Don't reclaim thread resources here.
(win32_spawnve): Renamed to sys_spawnve.
Check for proper wait mode first thing.
Convert command name to DOS format.
Quote whitespace and quotes in arguments to subprocess.
Use alloca instead of malloc.
If max subprocesses, return EAGAIN in hopes of another completing.
(sys_select): Add support for socket input. Remove dead code.
Check input from children fairly.
(sys_select) [HAVE_TIMEVAL]: Remove conditional check and code.
(win32_kill_process): Renamed to sys_kill. Use OpenProcess
to terminate process.
(prepate_standard_handles, reset_standard_handles): Moved here
from nt.c.
Geoff Voelker [Fri, 3 May 1996 18:34:21 +0000 (18:34 +0000)]
Include lisp.h.
(allocate_heap): Use VALBITS to determine size of heap.
(allocate_heap) [WINDOWS95]: Conditional code removed.
(sbrk): Use VALMASK instead of an unsigned integer mask.
Geoff Voelker [Fri, 3 May 1996 18:33:20 +0000 (18:33 +0000)]
Check to see if already included.
(fd_set, filedesc): New structures.
(child_process, MAX_CHILDREN, CHILD_ACTIVE): Definitions moved
from ntproc.c.
(FD_SET, FD_CLR, FD_ISSET, FD_ZERO): Operate on fd_set structures.
(SELECT_TYPE): New macro.
New child process status enumeration.
(FILE_READ, FILE_WRITE, FILE_BINARY, FILE_PIPE, FILE_SOCKET):
New macros.
(fd_info, new_child, delete_child): Declared.
Geoff Voelker [Fri, 3 May 1996 18:25:59 +0000 (18:25 +0000)]
(original-make-auto-save-file-name): New symbol bound
to old value of make-auto-save-file-name.
(make-auto-save-file-name): New function overriding old.
(Fthis_single_command_keys): New function.
(syms_of_keyboard): defsubr it.
(this_single_command_key_start): New variable.
(add_command_key): Reduce this_single_command_key_start if nec.
(command_loop_1): Clear this_single_command_key_start if nec.
(Fread_key_sequence, Fexecute_extended_command): Likewise.
(read_key_sequence): Set this_single_command_key_start.
(dos_get_modifiers): Restore missing comment terminator.
(getdefdir): Rewrite to call `_fixpath' instead of `intdos'.
(run_msdos_command) [DJGPP > 1]: Work around some MSDOS
command-line restrictions by running shell commands via `system'
instead of `spawnve'.
(make_lispy_event): FRAME_MENU_BAR_ITEMS now has
four elements per item. Add a separate slot for the hpos.
(menu_bar_items): Likewise.
(menu_bar_item): Initialize the hpos slot to 0.
(display_menu_bar): FRAME_MENU_BAR_ITEMS now has four elements per item.
(update_menu_bar): If we update FRAME_MENU_BAR_ITEMS,
also set w->update_mode_line.
[WINDOWSNT]: Include winsock.h and ntlib.h.
Macro SOCKET_ERROR undefined.
Don't declare h_errno.
[!WINDOWSNT]: Define macros recv and send.
[!WINDOWSNT] (POP_SERVICE): Change to pop3.
(pop_open) [WINDOWSNT]: Initialize trash_started.
(have_winsock) [WINDOWSNT]: New variable.
(socket_connection) [WINDOWSNT]: Initialize winsock.
(socket_connection): Use closesocket instead of close.
(getline): Use recv instead of read.
(fullwrite): Use send instead of write.
(pop_trash): Use closesocket instead of close.
(pop_trash) [WINDOWSNT]: Cleanup winsock.
Check if being called recursively by sendline.
(CORRECT_DIR_SEPS) [DOS_NT]: New macro.
(IS_DRIVE) [DOS_NT]: Added separate definitions for DOS and NT.
(Ffile_name_directory) [DOS_NT]: Simplify code to match change in
getdefdir in msdos.c. Ignore embedded colons. Correct dir seps.
(Ffile_name_nondirectory) [DOS_NT]: Ignore embedded colons.
Correct IS_ANY_SEP to IS_DIRECTORY_SEP.
(file_name_as_directory) [DOS_NT]: Correct dir seps.
Correct IS_ANY_SEP to IS_DIRECTORY_SEP.
(directory_file_name) [DOS_NT]: Correct dir seps.
(Fmake_temp_name) [DOS_NT: Correct dir seps.
(Fexpand_file_name) [mostly DOS_NT]: Remove relpath, tmp and
defdir variables; init drive to 0.
Correctly detect when default_directory is absolute.
Be strict when looking for MSDOS drive specifier; defer calling
getdefdir. Ignore drive specifier if name now has UNC prefix.
Correctly recognise if name is not absolute when trying simple
method to expand; return original string if possible.
Skip dir sep after ~ or ~user.
Use getpwnam instead of HOME for ~user on NT.
Handle error return from getdefdir.
Correctly detect if newdir is absolute before using default_directory.
Handle case where newdir is not absolute - expand relative to
current working dir if necessary (instead of calling getdisk
later). Only keep UNC prefix if nm starts with dir sep.
Replace kludgy handling of drive spec in newdir. Correct dir seps.
(Fexpand_file_name) [!DOS_NT]: Fix incorrect expansion of
"/foo/../bar" -> "//bar".
(Fsubstitute_in_file_name) [DOS_NT]: Correct dir seps for NT as
well. Merge equivalent #ifdef APOLLO and WINDOWSNT cases. Ignore
embedded colons and be strict about drive specs.
(Fcopy_file) [DOS_NT]: Do dev/inode check on NT.
(Ffile_name_absolute_p) [DOS_NT]: Be strict about drive specs.
(check_executable) [DOS_NT]: Test st_mode on NT.
(Ffile_readable_p) [DOS_NT]: Use access instead of open on NT.
(Ffile_modes) [DOS_NT]: Don't embelish st_mode value on NT.
(Fread_file_name) [DOS_NT]: Correct dir seps in HOME.
(syms_of_fileio): Add Vdirectory_sep_char.
(rmail-insert-inbox-text): When required, prompt for
pop password and pass on to movemail.
(rmail-pop-password, rmail-pop-password-required): New variables.
(rmail-read-password): New function.
(wait_reading_process_input, both definitions):
If wait_for_cell, don't call timer_check, and use
detect_input_pending instead of detect_input_pending_run_timers.
(simula-tab-always-indent, simula-indent-level)
(simula-substatement-offset, simula-continued-statement-offset)
(simula-label-offset, simula-if-indent, simula-inspect-indent)
(simula-electric-indent, simula-abbrev-keyword, simula-abbrev-stdproc):
Added default constants.
(simula-emacs-features): new constant to hold information
on which flavor if emacs is running (from cc-mode.el).
(simula-mode-menu): Menu definition for Lucid Emacs
(simula-mode-map): Bound new command simula-indent-exp to C-M-q
and added lots of commands to [menu-bar].
(simula-popup-menu): New function for Lucid menus.
(simula-keep-region-active): New function for Lucid menus.
(simula-indent-exp): New command that indents a whole expression.
(simula-indent-line): New strategies for finding the right amount to indent.
(simula-skip-comment-backward): Added optional parameter stop-at-end
to stop at the first END statement.
(simula-expand-stdproc): Added abbrev expansion to verbatim copy
of abbrev table, same for function simula-expand-keyword.
(simula-search-backward): Added Doc string, and lots of error checking.
(simula-search-forward): Added Doc string, and lots of error checking.
Added hilit19 config code.
(simula-version): New variable and function to report value.
(simula-submit-bug-report): New function to submit bug report.
Karl Heuer [Fri, 19 Apr 1996 20:07:47 +0000 (20:07 +0000)]
(f90-keywords-re): Added operator and result.
(f90-keywords-level-3-re): Added operator and result.
(f90-match-end, f90-looking-at-program-block-start): Fixed bug
with false matching in comments/strings.
(f90-looking-at-program-block-start, f90-imenu-generic-expression):
Added knowledge of pure and extrinsic subroutines.
(f90-abbrev-start): Fixed bug using next-command-event.
(f90-keywords-level-3-re): Added keyword "nullify".
(f90-else-like-re): Fixed indentation of case() statements.
(f90-font-lock-keywords-2): Changed highlighting of case() statements.