Some comment and doc fixes.
(ps-print-version): New version number (3.05.1).
(ps-adobe-tag): Replace defvar by defcustom, and doc fix.
(ps-print-with-faces, ps-print-without-faces)
(ps-spool-with-faces, ps-spool-without-faces): Add arg REGION-P.
(ps-print-region-with-faces, ps-print-region)
(ps-spool-region, ps-spool-region-with-faces): Fix calls to
the functions above.
(ps-setup): Print value of ps-zebra-stripe, ps-number-of-zebra,
ps-line-number, ps-print-background-image,
and ps-print-background-text.
(ps-print-prologue-1): Bug fix in PostScript programming:
/BeginDSCPage, /BeginPage.
(ps-showpage-count, ps-ref-bold-faces, ps-ref-italic-faces)
(ps-ref-underlined-faces, font-lock-face-attributes)
(ps-initialize-faces): Vars deleted.
(ps-override-list, ps-extension-to-bit-face)
(ps-extension-to-screen-face, ps-initialize-faces, ps-header-height)
(ps-hard-lf, ps-soft-lf, ps-get-face, ps-map-font-lock): Fn deleted.
(ps-extend-face-list, ps-extend-face): Doc fix.
(ps-print-face-alist): New var to handle face alist.
(ps-printing-region): New var and fn.
(ps-header-page, ps-set-face-bold, ps-set-face-italic)
(ps-set-face-underline, ps-set-face-attribute, ps-map-face): New fn.
(ps-rmail-mode-hook, ps-rmail-print-message-from-summary)
(ps-print-message-from-summary, ps-vm-print-message-from-summary):
Fns moved.
(ps-background): New argument PAGE-NUMBER.
(ps-begin-file): Bug fix and print proper line number in a region.
(ps-begin-page): Call ps-header-page.
(ps-get-buffer-name): Indicates in the header when printing a region.
(ps-end-page): Delete ps-showpage-count.
(ps-dummy-page): Calls ps-header-page.
(ps-set-color): Programming improvement.
(ps-plot-region): Doc fix.
(ps-face-attributes): Same functionality as deleted ps-get-face.
(ps-build-reference-face-lists): Do the job by calling
ps-set-face-bold and ps-bold-faces, and friends.
(Ffind_operation_coding_system): If a function in
XXX-coding-system-alist returns a coding system (instead of cons
of coding systems), return cons of it.
(charset-quoted-standard-p): New function.
Use it instead of quoted-symbol-p.
(charset-id): Use charset-quoted-standard-p.
(quoted-symbol-p): Function deleted.
(set-terminal-coding-system): Specify default to read-coding-system.
(set-keyboard-coding-system): Likewise.
(menu-bar-help-menu): Rename info item to "Info (Browse Manuals)".
(menu-bar-options-menu): String now "Global Options".
Rewrite the font lock toggle to turn off font lock on all buffers.
Choose lazy-lock by setting font-lock-support-mode.
(Fcall_process): Set EOL conversion type to LF when
binary-process-output is non-nil.
(Fcall_process_region): binary-process-XXXput only determines EOL
conversion; if it is nil, convert LF <-> CRLF. Don't bind
coding-system-for-read, it is done in Fcall_process.
(quail-update-guidance): If PROMPTKEY is
specified in the original CXTERM dictionary, show also candidates
in Quail guidance buffer.
(quail-show-translations): Likewise.
(get_env_size): New function.
(spawn): Explicitly pass in environment when creating subprocess.
(main): Cleaup error messages.
Specify dynamically sized environment block for real shell.
Pass on unhandled switches to real shell.
Quote program name.
(INTERRUPT_INPUT): Don't define.
(bcopy): Use memmove instead of memcpy.
(GAP_USE_BCOPY, BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE): Define.
Undef system calls before redefining. Emulated calls redefined
to sys_*, real calls redefined to _*.
(DebPrint): Macro defined.
Use pragmas to place Emacs initialized data in
EMDATA segment, and Emacs uninitialized data in EMBSS segment.
(w32_output): New fields menubar_widget, menubar_active,
and pending_menu_activation.
(VERTICAL_SCROLL_BAR_*): Use proportional scroll bar variables.
(W32WindowPos): Delete definition.
(WM_EMACS_SETFOCUS, WND_*_INDEX): New macros.
(deferred_msg): New structure.
(WM_MOUSEWHEEL): Define if not already defined.
Necessary for pre VC5.0 distribution.
(WM_EMACS_TRACKPOPUPMENU): New Macro.
(SIF_*): Win95 macros defined for NT.
(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.
Include w32heap.h.
(Vw32_start_process_share_console, Vw32_generate_fake_inodes,
Vw32_get_true_file_attributes, Qhigh, Qlow, process_dir):
New variables.
(find_child_console, set_process_dir, Fw32_short_file_name,
Fw32_long_file_name, Fw32_set_process_priority, Fw32_get_locale_info,
Fw32_get_current_locale_id, Fw32_get_default_local_id,
Fw32_set_current_locale): New functions.
(CORRECT_DIR_SEPS): New macro.
(create_child): Create a new console if subprocs don't share parent's.
(reap_subprocess): Don't check for dos subprocesses.
Add debug support.
(sys_wait): Ignore socket child_procs.
Check for quit while waiting.
(w32_executable_type): Renamed from w32_is_dos_binary.
Check for dos and Cygnus executables.
(sys_spawnve): Always use cmdproxy if spawning a dos app.
Use quotes to quote arguments for Cygnus apps, backslashes otherwise.
Handle escape characters. Escape quotes at start and end, too.
(sys_select): Treat null timeout as infinite.
Add handles of child processes.
Loop over handles round robin to ensure fairness.
(sys_kill): Send ctrl-break and ctrl-c keystrokes to subprocesses
on SIGINT if not sharing consoles, otherwise generate ctrl-break event.
On other termination signals, send WM_QUIT message to Win95 apps
and WM_CLOSE to NT apps.
(syms_of_ntproc): Intern new symbols. defsubr new functions.
DEFVAR new variables.
(init_menu_items): Disable code.
(x_activate_menubar): New function.
(initialize_frame_menubar): Pass in new param to set_frame_menubar.
(get_frame_menubar_event): Check for the possibility
of a menu-bar button. A menu-bar button is a caption on the menu
bar with no submenu.
(set_frame_menubar): Correctly handle menu-bar buttons.
(add_menu_item): Equiv parameter send and paid attention to.
(keymap_panes, list_of_panes): Use CreatePopupMenu.
(single_keymap_panes): Use CreatePopupMenu. Send key descriptions
to add_menu_item.
(list_of_items): Use CreatePopupMenu. Send nil description to
add_menu_item.
(get_menu_event): Send keymap instead of menu to get_keymap_event.
(Fx_popup_menu): Extra parameter to mouse_position_hook. Don't
send address of menu to win32menu_show.
(win32menu_show): Send message to call popup menu rather than
trying directly. get_menu_event should take an address.
Call eat_mouse_events in order to get rid of any extraneous
mouse events.
(list_of_panes): Only bring up one pane if the length of the list
of panes is one.
(single_keymap_panes): Fixed problem with 'descrip'
lisp object not being protected properly (GCPRO).
(get_single_keymap_event): Fixed problem with 'descrip' lisp
object not being protected properly (GCPRO).
(name_is_separator): New function.
(list_of_panes): If a pane's name is empty ("") items are now
placed in the main popup instead of a blank-named submenu. This
seems to be an undocumented feature of x-popup-menu.
(list_of_items): New argument HMENU.
Use 1 and 0 instead of Qt and Qnil for enable in add_menu_item
Declare externs from other files.
(w32_kbd_mods_to_emacs): New parameter KEY.
Use w32-capslock-is-shiftlock for old behavior.
(key_event): Pass in new parameter to w32_kbd_mods_to_emacs.
(key_event): New parameter isdead. Set isdead if the
key press was done using a dead key.
Enumerate operating system types.
Declare extern data and functions.
Move file_data struct definition here.
(OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): New macros.
(os_subtype): New variable.
(cache_system_info): Set os_subtype.
(recreate_heap): Update system information after loading heap.
Don't use data_seg pragma here.
(_heap_init, _heap_term) [_MSC_VER >= 1000]: New functions that
override CRT routines.
Include limits.h and errno.h.
Declare externs from other files.
(w32_in_use): New variable.
(check_w32, have_menus_p, x_set_title, w32_msg_worker,
find_deferred_msg, send_deferred_msg, complete_deferred_msg,
Fw32_focus_frame, W32-send-sys-command): New functions.
(last_mouse_movement_time): Delete variable.
(x_frame_parms): Alphabetize. Add title parm.
(x_set_icon_name): Use title if set.
(x_set_menu_bar_lines): Ensure client area remains the same.
(x_set_name): Don't update if the name is the same.
Use title for name if available.
(x_icon): Initial support for creating window iconified.
(x_display_info_for_name): Set w32_in_use.
(Fx_open_connection): Validate Vwindow_system. Set w32_in_use.
(w32_create_window): Set window size to frame dimensions.
Set font width, line height, border, scrollbar indexes.
Don't set X and Y units indexes.
(w32_msg_pump): Renamed from windows_msg_worker.
Make static. Don't post done message. No longer handle
create scrollbar message. Don't abort on anomalous messages.
Return when completion detected.
(w32_wnd_proc): Keep track of button state.
For WINDOWPOSCHANGING, force window dimensions to be multiples
of character dimensions.
Handle CREATESCROLLBAR.
Use correct arguments for SHOWWINDOW.
For SETWINDOWPOS, use WINDOWPOS structure.
(my_create_window): Abort if message post fails.
(Fx_create_frame): Use title instead of name.
GC protect frame before make_frame_without_minibuffer.
Set icon name.
Use courier new as default font (has bold and italic).
Set BufferPredicate and Title default parameters.
(x_to_w32_weight): Support semibold weight.
(x_to_w32_charset): Map # to numeric charset identifier.
(w32_to_x_charset): Encode unknown charsets as a number.
(enum_font_cb2): Don't restrict to ANSI and OEM charsets.
(Fx_color_values): Set high and low words of color values.
(syms_of_w32fns): Zero w32_in_use. defsubr new functions.
(w32_wnd_proc): Pass on WM_DISPLAYCHANGE messages.
(win32_wnd_proc): Capture and handle WM_MOUSEWHEEL events.
Capture and handle WM_EMACS_TRACKPOPUPMENU events.
Allow a dragged selection from a popup menu started up
by a mouse down event.
(x_to_win32_color): Support for X Windows RGB string specifications.
Include stddef.h.
(getwd): Delete macro.
(startup_dir): New variable.
(getwd): Return directory in which Emacs started.
(init_user_info): Set SHELL environment variable if not set.
(parse_root, get_long_basename, w32_get_long_filename): New functions.
(init_environment): Look for CMDPROXY.
Make sure that PATH and COMSPEC are capitalized in the environment.
Record startup directory.
(get_emacs_configuration, sys_rename): Use OS_WIN95.
(map_w32_filename): Calculate returned string correctly.
(sys_fopen): Use _fdopen.
(sys_link): Support NTFS links.
(sys_rename): Use a long file name for temporary name.
(sys_pipe): Make pipes binary and non-inheritable.
(sys_read, sys_write): Spoof text mode translation for pipes
and sockets.
(hashval): Simplify.
(generate_inode_val): Use long file name version of file.
(stat): Optimize by using active readdir info.
Set fake_inode to 0 for directories.
Set fake_inode to xor of file indexes for files.
Don't use generate_inode_val to set inode value.
(volume_info_data): Renamed from volume_info.
(volume_info, fixed_drives, volume_cache): New variables.
(DRIVE_INDEX, VOLINFO_STILL_VALID): New macros.
(lookup_volume_info, add_volume_info, GetCachedVolumeInformation):
New functions.
(get_volume_info): Use volume_info_data.
Use GetCachedVolumeInformation.
(init_ntproc): No longer restrict to one DOS subprocess.
Use CRT _open and _fdopen.
Cache fixed drive information.
Include config.h and time.h.
Declare extern data and functions.
(file_data): Move definition from w32heap.c.
(_start): Add debug hook for when profiling.
Spoof executable name when using profilers.
Invoke sbrk immediately when undumped.
(unexec): Print error messages when input and output dump files
cannot be opened.
Reset header checksum.
(open_input_file, open_output_file): Return status instead of aborting.
(get_section_size): Handle different linkers.
(find_section, rva_to_section): New functions.
(get_section_info) [SEPARATE_BSS_SECTION]: Make code for using
a separate .bss section conditional.
Use my_begbss and my_endbss to determine .bss size by default.
Look for Emacs data in EMDATA section.
makefile.nt (TLIB0, TOBJ, OBJ0): New macro.
(LINK_FLAGS): Separate debugging info from the executable.
(LIBS): Include TLIB0.
(TEMACS): Link with TLIB0.
(EMACS): Copy temacs map file to emacs map file.
Update file dependencies.
(sys_subshell) [DOS_NT]: Save and restore parent's
working directory.
(sys_subshell) [WINDOWSNT]: Share MSDOS code. Don't take console.
(init_sys_modes, reset_sys_modes) [WINDOWSNT]: Do it even with
a read_socket_hook.
(kbd_buffer_get_event) [WINDOWSNT]: Support
menu_bar_activate_event.
(set-input-mode) [DOS_NT]: Do not invoke reset and init sys modes.
(Qmouse_wheel) [WINDOWSNT]: New variable.
(discard_mouse_events): New function.
(mouse_wheel_syms) [WINDOWSNT]: New variable.
(lispy_mouse_wheel_names) [WINDOWSNT]: New variable.
(make_lispy_event) [WINDOWSNT]: Make mouse-wheel events.
(syms_of_keyboard) [WINDOWSNT]: Define Qmouse_wheel and
mouse_wheel_syms.
(Fexpand_file_name) [WINDOWSNT]: When stripping
drive letter, be careful not to create a UNC filename.
(Fadd_name_to_file) [WINDOWSNT]: Remove conditional.
(w32-handle-scroll-bar-event): On up and
down events, place point at window start position.
Bind f10 to menubar.
Move keypad key definitions to w32-fns.el.
(mouse-wheel-scroll-amount): New variable.
(mouse-wheel-scroll-line, mouse-wheel-scroll-screen): New functions.
Bind mouse-wheel events to mouse-wheel functions.
(file-truename) [windows-nt]: Use the canonicalized
long file name as the truename.
(auto-mode-alist): Use archive-mode for Java JAR files.
(recover-file) [windows-nt]: Don't try to list directory.