(ccl_driver) <CCL_Call>: Now CCL program ID to call may be
stored in the following CCL code. Adjusted for the change of
Vccl_program_table.
(resolve_symbol_ccl_program): Adjusted for the new style of
embedded symbols (SYMBOL . PROP) in CCL compiled code. Return Qt
is resolving failed.
(ccl_get_compiled_code): New function.
(setup_ccl_program): Function type changed from `void' to `int'.
Resolve symbols in CCL_PROG.
(Fccl_program_p): New function.
(Fccl_execute): Get compiled CCL code by just calling
setup_ccl_program.
(Fccl_execute_on_string): Likewise.
(Fregister_ccl_program): Adjusted for the change of
Vccl_program_table.
(ccl-embed-symbol): New function.
(ccl-program-p): Deleted. Now it's implemented in C code.
(ccl-compile-call): Use ccl-embed-symbol to embed a symbol.
(ccl-compile-translate-character): Likewise.
(ccl-compile-map-single): Likewise.
(ccl-compile-multiple-map-function): Likewise.
(declare-ccl-program): Doc-string modified.
(check-ccl-program): Check compiled CCL code by ccl-program-p.
Karl Heuer [Sun, 25 Jul 1999 05:47:46 +0000 (05:47 +0000)]
(info-lookup-interactive-arguments): Add optional
argument query for new choice of help mode.
(info-lookup-symbol): Use it.
(info-lookup-file): Ditto.
(info-lookup): Don't switch to other window, if already in Info buffer.
Dave Love [Sat, 24 Jul 1999 13:11:43 +0000 (13:11 +0000)]
(fortran-mode-syntax-table): Change `\' to `\'
syntax.
(fortran-fontify-string, fortran-match-!-commen): Deleted.
(fortran-font-lock-syntactic-keywords): New variable.
(fortran-mode): Use it.
(fortran-font-lock-keywords-1): Don't do comments.
(beginning-of-fortran-subprogram, end-of-fortran-subprogram):
Save match data.
(encoded-kbd-self-insert-iso2022-7bit): Don't insert the character
but push it to unread-command-events.
(encoded-kbd-self-insert-iso2022-8bit): Likewise.
(encoded-kbd-self-insert-sjis): Likewise.
(encoded-kbd-self-insert-big5): Likewise.
Karl Heuer [Thu, 22 Jul 1999 00:45:00 +0000 (00:45 +0000)]
(info-lookup-setup-mode): Don't give up, if
info-lookup-make-completions returns an error.
(info-lookup-maybe-add-help :mode 'latex-mode): Use Info file
name latex, not latex2e.
Add function prototypes.
(xm_update_label): Use val->name to look up
a label string from resources.
(all_dashes_p): Removed.
(make_menu_in_widget): Use lw_separator_p. Set Motif separator
type.
(make_menu_in_widget): Set alignment of menu
title after all widgets have been created.
(xm_update_toggle): Add callback xm_generic_callback
instead of xm_internal_update_other_instances.
(make_menu_in_widget): Do help button before managing
children to get it to the right place.
(make_menu_in_widget): Create toggle buttons.
(update_one_menu_entry): Update toggle buttons.
(make_menu_in_widget): Test for menubar widgets
using XmNrowColumnType.
(FONT_INFO_ID): Build an ID from a font_info pointer.
(FONT_INFO_FROM_ID): Get a font_info pointer from an ID.
(toplevel): Add extern declarations for Vfontset_alias_alist
and Vglobal_fontset_alist.
(ctagsfiles): Split so that files starting
with an `x' are found before files starting with `w32'.
(ctagsfiles1): New.
(ctagsfiles2): New.
(TAGS): Use ctagsfiles[12] instead of ctagsfiles.
Add PNG library.
(obj): Add sound.o.
(LIBW): Use Xaw3d if present.
(LIBTIFF): Added.
(LIBJPEG): Added.
(LIBXPM): If not already defined, define to -lXpm.
(LIBX)[HAVE_X11]: Add LIBXPM.
(term.o): Add dependency on dispextern.h.
(alloc.o): Add dependency to dispextern.h.
(window.o): Depends on dispextern.h.
(alloc.o): Add dependency dispextern.h.
(window.o): Add dependency window.c -> dispextern.h
(term.o): term.c depends on dispextern.h
(prepare_to_modify_buffer): Set windows_or_buffers_changed,
(del_range_1) [PROMPT_IN_BUFFER]: If start position
is less than mini-buffer prompt width, use prompt width as start.
(gc_sweep): Call sweep_weak_hash_tables.
(survives_gc_p): New.
(mark_object): Mark objects referenced from glyphs, hash tables,
toolbar date, toolbar window, face caches, menu bar window.
Mark windows specially.
(Fgarbage_collect): Use message3_nolog.
(mark_face_cache): New.
(NSTATICS): Increased to 1024.
(mark_glyph_matrix): New.
(read_char): Use message3_nolog to show help-echo.
(make_lispy_event) <TOOLBAR_EVENT>: Apply modifiers.
(kbd_store_ptr): Declare it as a volatile pointer
instead of a pointer to a volatile input_event.
(kbd_buffer_store_event): Remove volatile modifier from
declaration of local variable `sp'.
(Fdiscard_input): Don't cast when assigning kbd_store_ptr
to kbd_fetch_ptr.
(make_lispy_event): Handle mouse on top lines.
(make_lispy_movement): Ditto.
(read_char): Rename local variable echo_area_message
because it shadows the global one.
(cmd_error_internal): Set echo_areA_message.
(command_loop_1): Test echo_areA_message.
(read_char): Ditto.
(record_menu_key): Set echo_area_message to nil.
(Fexecute_extended_command): Test echo_area_message.
(Fexecute_extended_command): Handle echo_area_message.
(toolbar_items): Call access_keymap with third
parameter 1, so that we don't get inherited toolbar item
definitions.
Ditto.
(kbd_buffer_get_event): Set flag to prevent recording
TOOLBAR_EVENT events in last_nonmenu_event.
(timer_check): Inhibit busy cursor around calls to
timer-event-handler. This busy cursor tends to be anoying if
fontifying stealthily.
(command_loop_1): Display busy cursor.
(Vshow_help_function): New.
(read_char): Use it.
(make_lispy_event): Add string and string position
info to mouse-click events.
(read_key_sequence): Handle `local-map' property of mode line
strings.
(Qend_scroll): New.
(scroll_bar_parts): Add it.
(scroll_bar_parts): Add Qtop and Qbottom.
(syms_of_keyboard): Add Qbottom.
(make_lispy_event): Handle scroll_bar_click
differently when using toolkit scroll bars.
(cmd_error_internal): Bug fix.
(syms_of_keyboard): Staticpro toolbar_item_properties
and toolbar_items_vectors.
(Qhelp_echo): New symbol.
(read_char): Handle `toolbar' and `help_echo' events.
(kbd_buffer_get_event): Handle HELP_ECHO input event.
(make_lispy_event): Handle TOOLBAR_EVENT.
(toolbar_items): New.
(process_toolbar_item): New.
(PROP): New.
(init_toolbar_items): New.
(append_toolbar_item): New.
(read_char_x_menu_prompt): Handle `toolbar' event.
(read_key_sequence): Ditto.
(syms_of_keyboard): Intern `:help'.
(toolbar_items): New.
(process_toolbar_item): New.
(parse_toolbar_item): New.
(init_toolbar_items): New.
(append_toolbar_item): New.
(detect_input_pending_run_timers): Likewise.
(detect_input_pending_run_timers): Call gobble_input
after redisplaying.
(clear_waiting_for_input): Return void.
(record_asynch_buffer_change): Return void.
(stop_polling): Return void.
(start_polling): Ditto.
(cmd_error_internal): Write to stderr if selected
frame is Vterminal_frame under X. This is the case when a font
cannot be loaded when Emacs starts. Replace test for
FRAME_MESSAGE_BUF with test for glyphs_initialized_p.
(quit_throw_to_read_char): Ditto.
(make_lispy_event): mouse clicks; don't do frame
glyph position calculations.
(make_lispy_movement): Use buffer_posn_from_coords and window
relative coordinates.
(make_lispy_event): For mouse clicks, use
x_y_to_hpos_vpos.
(make_lispy_event): Use BUFFER_POSN_FROM_COORDS
with window relative pixel coordinates. Use GLYPH_TO_PIXEL_-
COORDS mit new arguments.
(make_lispy_event): WINDOW_FROM_COORDINATES with
pixel coords.
(make_lispy_movement): Same.
(interrupt_signal): Cursor_to with 4 params.
(command_loop_1): Call DIRECT_OUTPUT_FOR_INSERT
for any character.
Add top_line_format.
(scroll_up_aggressively): New.
(scroll_down_aggressively): New.
(struct buffer): indicate_empty_lines renamed from
indicate_zv_lines.
(struct buffer): New member indicate_zv_lines.
(struct buffer): New members left_margin_width
and right_margin_width.
(struct buffer): Add member minibuffer_prompt_length
if PROMPT_IN_BUFFER.
(Fmessage): Use message3.
(Fcurrent_message): If echo_area_message is set,
return a substring of that string.
(Fformat): Add text properties to the result string
from properties of the format string and properties of string
arguments.
(make_buffer_string_both) [PROMPT_IN_BUFFER]: Prevent start > end.
(make_buffer_string) [PROMPT_IN_BUFFER]: If start
position is less than mini-buffer prompt width, use the prompt
width as start.
(make_buffer_string) [PROMPT_IN_BUFFER): Add prompt
length to start position.
(read_minibuf): Reset echo message strings to nil.
(Fminibuffer_completion_help): Ditto.
(Fminibuffer_complete_word): Fix computation of
i_byte when prompts are inserted into minibuffers.
(read_minibuf): Use minibuf_prompt instead of prompt.
(read_minibuf): Add front-sticky text property for prompt.
(read_minibuf_unwind): Return Lisp_Object.
(read_minibuf): Put access to minibuffer_prompt_length
in #if PROMPT_IN_BUFFER.
(minibuffer-prompt-in-buffer): Bound if
PROMPT_IN_BUFFER.
(read_minibuf): Save the value of
minibuffer_prompt_length in minibuf_save_list.
(read_minibuf_unwind): Restore minibuffer_prompt_length.
(Fminibuffer_prompt_width): Return value from
current_buffer if PROMPT_IN_BUFFER.
(read_minibuf): If PROMPT_IN_BUFFER, insert prompt into
mini-buffer and make it read-only.
(Fminibuffer_complete_and_exit): If PROMPT_IN_BUFFER, use
minibuffer_prompt_length instead of BEGV.
(Fminibuffer_complete_word): Ditto.
(Fminibuffer_complete_word): Ditto.
(read_minibuf): Conditionally insert prompt into
buffer instead of handling prompts specially. Change other
functions accordingly. All such code is in #if PROMPT_IN_BUFFER.
(read_minibuf): Set MUST_BE_UPDATED_P instead of
building frame matrix.
(read_minibuf): FRAME_LEFT_SCROLL_BAR_WIDTH removed.
(read_minibuf): Build frame matrix.
(Fdo_auto_save): Handle the case that echo_area_message
is set.
(Finsert_file_contents): Prevent redisplay optimizations.
(Fread_file_name): Call it.
(report_file_error): Return void.
(toplevel): Add hash tables.
(init_fns): New.
(Fmessage): Use message3.
(Fcurrent_message): If echo_area_message is set,
return a substring of that string.
(Fformat): Add text properties to the result string
from properties of the format string and properties of string
arguments.
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.