Rewritten.
(append_glyph): New.
(update_end): Turn cursor on only if selected window's
cursor_off_p flag is not set.
(TS_cursor_visible): Renamed from TS_visual_mode.
(TS_cursor_normal): Renamed from TS_end_visual_mode.
(TS_cursor_invisible): New.
(term_init): Initialize TS_cursor_invisible.
(tty_hide_cursor): New.
(tty_show_cursor): New.
(update_end): Show tty cursor.
(update_begin): Hide tty cursor to prevent cursor flickering
during redisplays triggered by timers (stealth fontification).
(estimate_mode_line_height): New.
(estimate_mode_line_height_hook): New.
(OUTPUT_IF): Make replacement text have statement form.
(OUTPUT1_IF): Ditto.
(TS_italic_mode, TS_end_italic_mode): Removed.
(TS_bold_mode): Removed.
(TS_underscore_mode, TS_end_underscore_mode): Removed.
(TS_enter_bold_mode, TS_enter_dim_mode, TS_enter_blink_mode): New.
(TS_enter_reverse_mode): New.
(TS_enter_underline_mode, TS_exit_underline_mode): New.
(TN_magic_cookie_glitch_ul): New.
(TS_enter_alt_charset_mode, TS_exit_alt_charset_mode): New.
(TS_exit_attribute_mode): New.
(TN_max_colors, TN_max_pairs, TS_orig_pairs): New.
(TS_set_foreground, TS_set_background): New.
(reset_terminal_modes): Switch colors back to default.
(write_glyphs): Turn face on before writing text, turn it off
afterwards.
(insert_glyphs): Ditto.
(term_init): Initialize new terminal capability variables.
(turn_on_face): Turn a face on.
(turn_off_face): Turn a face off.
(global): Rewrite for new glyphs.
(EmacsFrameSetCharSize): Take widget's border width
into account.
(set_frame_size): Use FRAME_SCROLL_BAR_COLS
to determine vertical_scroll_bar_extra.
(EmacsFrameSetCharSize): Ditto.
(EmacsFrameDestroy): Remove call to free_frame_faces;
it's also called from x_destroy_window. Since this function is
called from X, freeing stuff allocated with xmalloc is dangerous
here, anyway.
(widget_store_internal_border): Return void.
(create_frame_gcs): Don't allocate relief GCs.
(setup_frame_gcs): Don't change relief GCs.
(setup_frame_gcs): Initialize relief GC's to line
width 1; remove references to relief_gc_line_width.
(create_frame_gcs): Create GC's for relief drawing.
(setup_frame_gcs): Initialize them.
(EmacsFrameDestroy): Free them.
(set_frame_size): Double trunc_area_extra.
(EmacsFrameSetCharSize): Ditto.
(set_frame_size): Set it.
(EmacsFrameSetCharSize): Ditto.
(x_set_font): Don't call face-set-after-frame-default
if faces haven't been initialized.
(Fx_create_frame): Call face-set-after-frame-default after
faces have been initialized, and widget has been created.
(scroll_bar): Add x_widget_low and x_widget_high.
(struct window): Add vscroll.
(struct window): New member cursor_off_p.
(struct window): Remove phys_cursor_glyph.
(struct window): New members phys_cursor_ascent and
phys_cursor_descent.
(struct window): New flag pseudo_window_p.
(struct window): Add left_margin_width, right_margin_width.
New member last_cursor.
(WINDOW_LEFT_MARGIN): Remove FRAME_LEFT_SCROLL_BAR.
(WINDOW_TO_FRAME_VPOS): Convert window vpos
to frame vpos.
(WINDOW_TO_FRAME_HPOS): Convert window hpos to frame hpos.
(FRAME_TO_WINDOW_VPOS): Convert frame vpos to window vpos.
(FRAME_TO_WINDOW_HPOS): Convert frame hpos to window hpos.
(WINDOW_TOPMOST_P): Added.
(struct window): Rewrittenf for new glyphs.
(x_real_positions): Don't subtract window borders
from positions returned.
(top-level): Added image support, busy cursor, tooltips, file
selection box.
(x_report_frame_params): Don't report `outer-window-id'
if widget not present.
(x_set_font): Don't call face-set-after-frame-default
if faces haven't been initialized.
(Fx_create_frame): Call face-set-after-frame-default after
faces have been initialized, and widget has been created.
(x_set_scroll_bar_foreground): New.
(x_set_scroll_bar_background): New.
(x_default_scroll_bar_color_parameter): New.
(Fx_create_frame): Call it.
(Fx_create_frame): Initialize scroll bar pixel color
values in x_output structure.
(Qscroll_bar_foreground, Qscroll_bar_background): New.
(syms_of_xfns): Initialize these symbols.
(x_frame_parms): Add entries for scroll bar colors.
(Fx_create_frame): Try 12pt Courier font first.
(Fx_create_frame): Add toolbar height to frame height.
(x_frame_parms): Add `toolbar-lines'.
(x_set_toolbar_lines): New.
(x_set_internal_border_width): Correct call to
widget_store_internal_border_width.
(x_destroy_bitmap): Use xfree instead of free. Return
void.
(init_x_parm_symbols): Return void.
(x_report_frame_params): Ditto.
(x_set_border_pixel): Ditto.
(syms_of_xfns): Ditto.
(x_destroy_all_bitmaps): Use xfree instead of free.
(Fx_close_connection): Use xfree instead of free.
Only free fonts from filled font table entries.
(display_x_get_resource): Make it externally visible.
(x_set_font): First store real font name in frame
parameters, then call recompute_basic_faces.
(Fx_face_fixed_p): Removed.
(Fx_list_fonts): Moved to xfaces.c.
Ditto.
(xmenu_show) [LESSTIF_VERSION]: Add workaround for remaining
button grab under LessTif
(HAVE_BOXES): Define if USE_X_TOOLKIT.
(HAVE_BOXES): Define if using Lucid menus.
(single_submenu): Set button_type of menu to
BUTTON_TYPE_NONE.
(single_submenu): Likewise for panes and menu items.
(set_frame_menubar): Set button_type of menu bar to none.
(xmenu_show): Likewise.
(single_submenu): Set widget values selected slot.
(xmenu_show): Likewise.
(push_menu_item): Add parameters `type' and
`selected'. Store it in menu_items.
(MENU_ITEMS_ITEM_TYPE): New.
(MENU_ITEMS_ITEM_SELECTED): New.
(MENU_ITEMS_ITEM_LENGTH): Increase by two.
(popup_get_selection): Use xmalloc/xfree instead of
malloc/free.
(x_load_resources): Set double-click time defaults
for Motif list boxes from double-click-time.
(x_load_resources): Add default resoures for file
selection dialog.
(x_load_resources): Add grey background colors as
defaults for menus, scroll bars, and dialogs.
(x_load_resources): Add font defaults for menus and
dialogs.
Display-related functions implemented from scratch. Add toolkit
scroll bars, mouse-sensitive mode line, help-echo, busy-cursor.
(x_calc_absolute_position): Subtract menu bar height
for YNegative, if using X toolkit.
(XTread_socket) [USE_MOTIF] <KeyPress>: Catch events
in scroll bars.
(SET_SAVED_MENU_EVENT): Give it statement form.
(XTflash): Don't flash the toolbar window.
(XTread_socket): Workaround for LessTif popup menus
in case of ButtonPress events.
(XTread_socket): Set inhibit_busy_cursor.
(cl-make-hash-table): Renamed from make-hash-table.
(cl-hash-table-p): Renamed from hash-table-p.
(cl-hash-table-count): Renamed from hash-table-count.
(maphash): Alias to cl-maphash removed.
(gethash): Likewise.
(puthash): Likewise.
(remhash): Likewise.
(clrhash): Likewise.
(make-mode-line-mouse-sensitive): Add key
definitions for `top-line'.
(mode-line-format): Replace `mode-name' with
`(:eval mode-line-mode-name)'.
(mode-line-mode-name): New.
(make-mode-line-mouse-sensitive): Don't change default value
of `mode-name'.
(make-mode-line-mouse-sensitive): Use down-mouse-3
instead of mouse-3 to pop up menus.
(make-mode-line-mouse-sensitive): Pop mouse buffer menu over
buffer name.
(mode-line-buffer-menu-1): Removed.
(mode-line-buffer-identification-keymap): New.
(mode-line-buffer-menu-keymap): New.
(mode-line-mode-menu-keymap): New.
(mode-line-unbury-buffer): New.
(mode-line-other-buffer): New.
(mode-line-buffer-menu-1): New.
(mode-line-mode-menu-1): New.
(make-mode-line-mouse-sensitive): New.
Ditto.
(custom-face-attributes): Add overline, strike-through, box.
(custom-face-attributes): Use `choice' everywhere so that "*"
can be entered.
(custom-face-attributes): Don't use `#''.
(custom-face-attributes): Accept color name.
(custom-facep): Always define as alias for facep.
(custom-face-attributes): Use choice widgets. Remove
:bold and :italic.
(custom-face-attributes): Add :bold and :italic
for compatibility with old code.
(custom-face-attributes): Use new face attributes.
(custom-declare-face): Don't make frame-local faces.
(global): Face relief added.
(top-level): Give `display' property `format-list-atomic-p.
(format-annotate-single-property-change): Test that property.
If present, treat list property values like atoms.
(after-setting-font-hooks): New; from Eric Banchrow
<offby1@blarg.net>.
(set-frame-font): Run the hooks.
(frame-initialize): Use tty-create-frame-with-faces.
(show-trailing-whitespace): New.
(blink-cursor-mode): Function to toggle blinking cursor
mode. The cursor of selected_window blinks if the mode is enabled.
(scroll-bar-timer): New.
(scroll-bar-toolkit-scroll): Start and cancel scroll-bar-timer.
(scroll-bar-toolkit-scroll): Handle `top' and `bottom'.
(scroll-bar-toolkit-scroll): New.
(global): Use different key bindings if using toolkit scroll bars.
Karl Heuer [Tue, 20 Jul 1999 01:46:01 +0000 (01:46 +0000)]
(ansi-term-fg-faces-vector): Added support for ANSI
color codes 39 and 49, which by the way lynx uses them seem to
mean "foreground reset" and "background reset".
(pascal-beg-of-defun): More intuitive behavior when having nested functons.
(pascal-indent-nested-functions) (pascal-indent-line)
(pascal-calculate-indent) (pascal-get-lineup-indent): Support for
indenting nested functions.
Andrew Innes [Fri, 9 Jul 1999 13:38:11 +0000 (13:38 +0000)]
(w32_use_full_screen_buffer): New variable.
(syms_of_ntterm): Register it.
(initialize_w32_display): Set initial frame size accordingly,
respecting the LINES and COLUMNS environment variables if set.
(Fcall_process): Decide coding system for decoding
after we set to the target buffer. If the output goes to a
unibyte buffer, suppress character code conversion.
(Fcall_process): Don't use initializer on coding_systems.
(Fcall_process_region): Likewise.
Andrew Innes [Thu, 1 Jul 1999 19:47:32 +0000 (19:47 +0000)]
(sys_select): Call MsgWaitForMultipleObjects instead
of WaitForMultipleObjects when user input is allowed, so we can
handle incoming window messages. Call drain_message_queue when
there are messages waiting; this ensures that windows created
indirectly from the lisp thread get processed properly, and don't
hang other applications by failing to respond to broadcasts.