comparison src/xdisp.c @ 112364:42e22c4f06b7

Move all DEFVAR'd globals into a structure -- threading infrastructure * globals.h: New file. * xterm.h (Vx_pixel_size_width_font_regexp): Remove declaration. * window.h (Vinitial_window_system, Vminibuf_scroll_window) (Vwindow_system_version): Remove declaration. * w32term.h (Vw32_enable_palette) (Vx_pixel_size_width_font_regexp): Remove declaration. * w32menu.c (Voverriding_local_map) (Voverriding_local_map_menu_flag): Remove declaration. * w32inevt.c (Vw32_alt_is_meta, Vw32_apps_modifier) (Vw32_capslock_is_shiftlock, Vw32_enable_caps_lock) (Vw32_enable_num_lock, Vw32_lwindow_modifier) (Vw32_pass_lwindow_to_system, Vw32_pass_rwindow_to_system) (Vw32_phantom_key_code, Vw32_recognize_altgr) (Vw32_rwindow_modifier, Vw32_scroll_lock_modifier) (w32_use_full_screen_buffer): Remove declaration. * w32.c (Vsystem_configuration, Vw32_downcase_file_names) (Vw32_generate_fake_inodes, Vw32_get_true_file_attributes) (w32_num_mouse_buttons, w32_pipe_read_delay): Remove declaration. * termopts.h (Vtruncate_partial_width_windows, inverse_video) (no_redraw_on_reenter, visible_bell): Remove declaration. * sysdep.c (Vsystem_name): Remove declaration. * syntax.h (parse_sexp_lookup_properties): Remove declaration. * menu.h (Vmenu_updating_frame): Remove declaration. * macros.h (Vexecuting_kbd_macro, executing_kbd_macro_index): Remove declaration. * lisp.h (Vafter_init_time, Vafter_load_alist) (Vauto_save_list_file_name, Vbefore_init_time, Vcommand_history) (Vcompletion_regexp_list, Vcurrent_load_list) (Vcurrent_prefix_arg, Vdata_directory, Vdebug_on_error) (Vdoc_directory, Vdoc_file_name, Vdynamic_library_alist) (Vexec_directory, Vexec_path, Vexec_suffixes) (Vface_font_rescale_alist, Vface_ignored_fonts, Vfeatures) (Vhelp_form, Vhistory_length, Vinhibit_field_text_motion) (Vinhibit_quit, Vinhibit_read_only, Vinhibit_redisplay) (Vinstallation_directory, Vinvocation_directory) (Vinvocation_name, Vload_file_rep_suffixes, Vload_history) (Vload_suffixes, Vmark_even_if_inactive, Vmemory_full) (Vmessage_log_max, Vobarray, Vprint_length, Vprint_level) (Vpurify_flag, Vquit_flag, Vsaved_region_selection) (Vscalable_fonts_allowed, Vselect_active_regions) (Vshell_file_name, Vstandard_input, Vstandard_output) (Vsystem_name, Vtemporary_file_directory, Vthrow_on_input) (Vtop_level, Vtty_erase_char, Vundo_outer_limit) (Vuser_login_name, Vwindow_scroll_functions) (Vwindow_system_version, Vx_no_window_manager) (Vx_resource_class, Vx_resource_name, baud_rate) (completion_ignore_case, debug_on_next_call, gc_cons_threshold) (history_delete_duplicates, inhibit_x_resources) (last_nonmenu_event, load_in_progress, max_specpdl_size) (minibuffer_auto_raise, print_escape_newlines, scroll_margin) (use_dialog_box, use_file_dialog): Remove declaration. Include globals.h. * keymap.h (Voverriding_local_map) (Voverriding_local_map_menu_flag, meta_prefix_char): Remove declaration. * keyboard.h (Vdouble_click_time, Vfunction_key_map) (Vinput_method_function, Vkey_translation_map) (Vlucid_menu_bar_dirty_flag, Vthis_original_command) (do_mouse_tracking, extra_keyboard_modifiers) (num_nonmacro_input_events): Remove declaration. * intervals.h (Vchar_property_alias_alist) (Vdefault_text_properties, Vinhibit_point_motion_hooks) (Vtext_property_default_nonsticky): Remove declaration. * gtkutil.h (x_gtk_file_dialog_help_text) (x_gtk_show_hidden_files, x_gtk_use_old_file_dialog) (x_gtk_whole_detached_tool_bar): Remove declaration. * frame.h (Vdefault_frame_alist, Vframe_alpha_lower_limit) (Vmenu_bar_mode, Vmouse_highlight, Vterminal_frame) (Vtool_bar_mode, Vx_resource_class, Vx_resource_name) (focus_follows_mouse): Remove declaration. * fontset.h (Valternate_fontname_alist, Vfontset_alias_alist) (Vignore_relative_composition, Votf_script_alist) (Vuse_default_ascent, Vvertical_centering_font_regexp): Remove declaration. * font.h (Vfont_log): Remove declaration. * dosfns.h (Vdos_display_scancodes, Vdos_version) (Vdos_windows_version, dos_codepage, dos_country_code) (dos_decimal_point, dos_hyper_key, dos_keyboard_layout) (dos_keypad_mode, dos_super_key, dos_timezone_offset): Remove declaration. * disptab.h (Vglyph_table, Vstandard_display_table): Remove declaration. * dispextern.h (Vface_remapping_alist, Vglyphless_char_display) (Vmouse_autoselect_window, Voverflow_newline_into_fringe) (Vshow_trailing_whitespace, Vtool_bar_button_margin) (Vtool_bar_style, cursor_in_echo_area, display_hourglass_p) (inverse_video, mode_line_in_non_selected_windows) (tool_bar_button_relief, tool_bar_max_label_size) (underline_minimum_offset) (unibyte_display_via_language_environment, x_stretch_cursor_p): Remove declaration. * composite.h (Vauto_composition_function) (Vcomposition_function_table): Remove declaration. * commands.h (Vexecuting_kbd_macro) (Vminibuffer_local_completion_map) (Vminibuffer_local_filename_completion_map) (Vminibuffer_local_filename_must_match_map) (Vminibuffer_local_map, Vminibuffer_local_must_match_map) (Vminibuffer_local_ns_map, Vthis_command) (Vunread_command_events, cursor_in_echo_area) (last_command_event, last_nonmenu_event, unread_command_char): Remove declaration. * coding.h (Vcoding_system_for_read, Vcoding_system_for_write) (Vdefault_file_name_coding_system) (Vdefault_process_coding_system, Vfile_name_coding_system) (Vlast_coding_system_used, Vlocale_coding_system) (Vselect_safe_coding_system_function) (Vtranslation_table_for_input, coding_system_require_warning) (eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided) (eol_mnemonic_unix, inherit_process_coding_system): Remove declaration. * charset.h (Vcharset_list, Vcurrent_iso639_language): Remove declaration. * character.h (Vauto_fill_chars, Vchar_direction_table) (Vchar_script_table, Vchar_width_table, Vprintable_chars) (Vscript_representative_chars, Vtranslation_table_vector) (Vunicode_category_table): Remove declaration. * ccl.h (Vfont_ccl_encoder_alist): Remove declaration. * buffer.h (Vafter_change_functions, Vbefore_change_functions) (Vdeactivate_mark, Vfirst_change_hook, Vtransient_mark_mode) (inhibit_modification_hooks): Remove declaration. * xterm.c (syms_of_xterm): Update. (Vx_alt_keysym, Vx_hyper_keysym, Vx_keysym_table) (Vx_meta_keysym, Vx_super_keysym, Vx_toolkit_scroll_bars) (x_mouse_click_focus_ignore_position) (x_underline_at_descent_line) (x_use_underline_position_properties): Remove. * xsmfns.c (syms_of_xsmfns): Update. (Vx_session_id, Vx_session_previous_id): Remove. * xsettings.c (syms_of_xsettings): Update. (Vxft_settings, use_system_font): Remove. * xselect.c (syms_of_xselect): Update. (Vselection_converter_alist, Vx_lost_selection_functions) (Vx_sent_selection_functions, x_selection_timeout): Remove. * xfns.c (syms_of_xfns): Update. (Vgtk_version_string, Vmotif_version_string) (Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape) (Vx_max_tooltip_size, Vx_mode_pointer_shape) (Vx_no_window_manager, Vx_nontext_pointer_shape) (Vx_pixel_size_width_font_regexp, Vx_pointer_shape) (Vx_sensitive_text_pointer_shape) (Vx_window_horizontal_drag_shape, x_gtk_file_dialog_help_text) (x_gtk_show_hidden_files, x_gtk_use_old_file_dialog) (x_gtk_use_system_tooltips, x_gtk_whole_detached_tool_bar): Remove. * xfaces.c (syms_of_xfaces): Update. (Vface_default_stipple, Vface_font_rescale_alist) (Vface_ignored_fonts, Vface_new_frame_defaults) (Vface_remapping_alist, Vfont_list_limit) (Vscalable_fonts_allowed, Vtty_defined_color_alist): Remove. * xdisp.c (syms_of_xdisp): Update. (Vauto_resize_tool_bars, Vblink_cursor_alist) (Vdisplay_pixels_per_inch, Vfontification_functions) (Vframe_title_format, Vglobal_mode_string) (Vglyphless_char_display, Vhourglass_delay, Vhscroll_step) (Vicon_title_format, Vinhibit_redisplay) (Vline_number_display_limit, Vline_prefix) (Vmax_mini_window_height, Vmenu_bar_update_hook) (Vmenu_updating_frame, Vmessage_log_max) (Vmouse_autoselect_window, Vnobreak_char_display) (Voverlay_arrow_position, Voverlay_arrow_string) (Voverlay_arrow_variable_list, Vredisplay_end_trigger_functions) (Vresize_mini_windows, Vshow_trailing_whitespace) (Vtool_bar_border, Vtool_bar_button_margin, Vtool_bar_style) (Vtruncate_partial_width_windows, Vvoid_text_area_pointer) (Vwindow_scroll_functions, Vwindow_size_change_functions) (Vwindow_text_change_functions, Vwrap_prefix) (auto_raise_tool_bar_buttons_p, automatic_hscrolling_p) (debug_end_pos, display_hourglass_p, emacs_scroll_step) (highlight_nonselected_windows, hscroll_margin) (inhibit_eval_during_redisplay, inhibit_free_realized_faces) (inhibit_menubar_update, inhibit_try_cursor_movement) (inhibit_try_window_id, inhibit_try_window_reusing) (line_number_display_limit_width) (make_cursor_line_fully_visible_p, message_truncate_lines) (mode_line_inverse_video, multiple_frames, overline_margin) (scroll_conservatively, scroll_margin, tool_bar_button_relief) (tool_bar_max_label_size, underline_minimum_offset) (unibyte_display_via_language_environment, x_stretch_cursor_p): Remove. * window.c (syms_of_window): Update. (Vminibuf_scroll_window, Vother_window_scroll_buffer) (Vrecenter_redisplay, Vscroll_preserve_screen_position) (Vtemp_buffer_show_function, Vwindow_configuration_change_hook) (Vwindow_point_insertion_type, auto_window_vscroll_p) (mode_line_in_non_selected_windows, next_screen_context_lines) (window_min_height, window_min_width): Remove. (scroll_margin): Remove declaration. * w32term.c (syms_of_w32term): Update. (Vw32_capslock_is_shiftlock, Vw32_grab_focus_on_raise) (Vw32_recognize_altgr, Vw32_swap_mouse_buttons) (Vx_toolkit_scroll_bars, w32_num_mouse_buttons) (w32_use_visible_system_caret, x_underline_at_descent_line) (x_use_underline_position_properties): Remove. (Vcommand_line_args, Vsystem_name, extra_keyboard_modifiers): Remove declaration. * w32select.c (syms_of_w32select): Update. (Vnext_selection_coding_system, Vselection_coding_system): Remove. * w32proc.c (syms_of_ntproc): Update. (Vw32_downcase_file_names, Vw32_generate_fake_inodes) (Vw32_get_true_file_attributes, Vw32_quote_process_args) (Vw32_start_process_inherit_error_mode) (Vw32_start_process_share_console) (Vw32_start_process_show_window, w32_pipe_read_delay): Remove. (Vsystem_name): Remove declaration. * w32font.c (syms_of_w32font): Update. (Vw32_charset_info_alist): Remove. * w32fns.c (globals_of_w32fns, syms_of_w32fns): Update. (Vw32_alt_is_meta, Vw32_apps_modifier, Vw32_bdf_filename_alist) (Vw32_color_map, Vw32_enable_caps_lock, Vw32_enable_num_lock) (Vw32_enable_palette, Vw32_lwindow_modifier) (Vw32_pass_alt_to_system, Vw32_pass_lwindow_to_system) (Vw32_pass_rwindow_to_system, Vw32_phantom_key_code) (Vw32_rwindow_modifier, Vw32_scroll_lock_modifier) (Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape) (Vx_max_tooltip_size, Vx_mode_pointer_shape) (Vx_no_window_manager, Vx_nontext_pointer_shape) (Vx_pixel_size_width_font_regexp, Vx_pointer_shape) (Vx_sensitive_text_pointer_shape) (Vx_window_horizontal_drag_shape, w32_ansi_code_page) (w32_enable_synthesized_fonts, w32_mouse_button_tolerance) (w32_mouse_move_interval) (w32_pass_extra_mouse_buttons_to_system) (w32_pass_multimedia_buttons_to_system, w32_quit_key) (w32_strict_fontnames, w32_strict_painting): Remove. (Vhourglass_delay, Vmenu_bar_mode, Vtool_bar_mode) (Vw32_recognize_altgr, Vwindow_system_version) (w32_num_mouse_buttons, w32_use_visible_system_caret): Remove declaration. * w32console.c (syms_of_ntterm): Update. (w32_use_full_screen_buffer): Remove. (Vtty_defined_color_alist): Remove declaration. * w16select.c (syms_of_win16select): Update. (Vnext_selection_coding_system, Vselection_coding_system): Remove. * undo.c (syms_of_undo): Update. (Vundo_outer_limit, Vundo_outer_limit_function) (undo_inhibit_record_point, undo_limit, undo_strong_limit): Remove. * textprop.c (syms_of_textprop): Update. (Vchar_property_alias_alist, Vdefault_text_properties) (Vinhibit_point_motion_hooks, Vtext_property_default_nonsticky): Remove. * terminal.c (syms_of_terminal): Update. (Vdelete_terminal_functions, Vring_bell_function): Remove. * term.c (syms_of_term): Update. (Vresume_tty_functions, Vsuspend_tty_functions) (no_redraw_on_reenter, system_uses_terminfo, visible_cursor): Remove. * syntax.c (syms_of_syntax): Update. (Vfind_word_boundary_function_table, multibyte_syntax_as_symbol) (open_paren_in_column_0_is_defun_start) (parse_sexp_ignore_comments, parse_sexp_lookup_properties) (words_include_escapes): Remove. * search.c (syms_of_search): Update. (Vinhibit_changing_match_data, Vsearch_spaces_regexp): Remove. * process.c (syms_of_process): Update. (Vprocess_adaptive_read_buffering, Vprocess_connection_type) (delete_exited_processes): Remove. * print.c (syms_of_print): Update. (Vfloat_output_format, Vprint_charset_text_property) (Vprint_circle, Vprint_continuous_numbering, Vprint_gensym) (Vprint_length, Vprint_level, Vprint_number_table) (Vstandard_output, print_escape_multibyte) (print_escape_newlines, print_escape_nonascii, print_quoted): Remove. * msdos.c (syms_of_msdos): Update. (Vdos_unsupported_char_glyph): Remove. (unibyte_display_via_language_environment): Remove declaration. * minibuf.c (syms_of_minibuf): Update. (Vcompletion_regexp_list, Vhistory_add_new_input) (Vhistory_length, Vminibuffer_completing_file_name) (Vminibuffer_completion_confirm) (Vminibuffer_completion_predicate, Vminibuffer_completion_table) (Vminibuffer_exit_hook, Vminibuffer_help_form) (Vminibuffer_history_position, Vminibuffer_history_variable) (Vminibuffer_prompt_properties, Vminibuffer_setup_hook) (Vread_buffer_function, Vread_expression_map) (completion_ignore_case, enable_recursive_minibuffers) (history_delete_duplicates, minibuffer_allow_text_properties) (minibuffer_auto_raise, read_buffer_completion_ignore_case): Remove. * marker.c (syms_of_marker): Update. (byte_debug_flag): Remove. * macros.c (syms_of_macros): Update. (Vexecuting_kbd_macro, executing_kbd_macro_index): Remove. * lread.c (syms_of_lread): Update. (Vafter_load_alist, Vbyte_boolean_vars) (Vbytecomp_version_regexp, Vcurrent_load_list) (Veval_buffer_list, Vload_file_name, Vload_file_rep_suffixes) (Vload_history, Vload_path, Vload_read_function) (Vload_source_file_function, Vload_suffixes, Vobarray) (Vold_style_backquotes, Vpreloaded_file_list, Vread_circle) (Vread_symbol_positions_list, Vread_with_symbol_positions) (Vsource_directory, Vstandard_input, Vuser_init_file, Vvalues) (force_load_messages, load_convert_to_unibyte) (load_dangerous_libraries, load_force_doc_strings) (load_in_progress): Remove. * keymap.c (syms_of_keymap): Update. (Vdefine_key_rebound_commands, Vemulation_mode_map_alists) (Vminibuffer_local_completion_map) (Vminibuffer_local_filename_completion_map) (Vminibuffer_local_filename_must_match_map) (Vminibuffer_local_map, Vminibuffer_local_must_match_map) (Vminibuffer_local_ns_map, Vminor_mode_map_alist) (Vminor_mode_overriding_map_alist, Vwhere_is_preferred_modifier): Remove. * keyboard.c (syms_of_keyboard): Update. (Vauto_save_timeout, Vcommand_error_function) (Vcommand_hook_internal, Vdeactivate_mark) (Vdeferred_action_function, Vdeferred_action_list) (Vdisable_point_adjustment, Vdouble_click_time) (Vecho_keystrokes, Venable_disabled_menus_and_buttons) (Vfunction_key_map, Vglobal_disable_point_adjustment) (Vhelp_char, Vhelp_event_list, Vhelp_form) (Vinput_method_function, Vinput_method_previous_message) (Vkey_translation_map, Vlast_event_frame) (Vlucid_menu_bar_dirty_flag, Vmenu_bar_final_items) (Vminibuffer_message_timeout, Voverriding_local_map) (Voverriding_local_map_menu_flag, Vpost_command_hook) (Vpre_command_hook, Vprefix_help_command) (Vsaved_region_selection, Vselect_active_regions) (Vshow_help_function, Vspecial_event_map, Vsuggest_key_bindings) (Vthis_command, Vthis_command_keys_shift_translated) (Vthis_original_command, Vthrow_on_input, Vtimer_idle_list) (Vtimer_list, Vtool_bar_separator_image_expression, Vtop_level) (Vtty_erase_char, Vunread_command_events) (Vunread_input_method_events, Vunread_post_input_method_events) (auto_save_interval, cannot_suspend, do_mouse_tracking) (double_click_fuzz, extra_keyboard_modifiers) (inhibit_local_menu_bar_menus, last_command_event) (last_input_event, last_nonmenu_event, menu_prompt_more_char) (menu_prompting, meta_prefix_char, num_input_keys) (num_nonmacro_input_events, polling_period, unread_command_char): Remove. * insdel.c (syms_of_insdel): Update. (Vcombine_after_change_calls, check_markers_debug_flag): Remove. * indent.c (syms_of_indent): Update. (indent_tabs_mode): Remove. * image.c (syms_of_image): Update. (Vimage_cache_eviction_delay, Vimage_types) (Vimagemagick_render_type, Vmax_image_size, Vx_bitmap_file_path) (cross_disabled_images): Remove. * fringe.c (syms_of_fringe): Update. (Vfringe_bitmaps, Voverflow_newline_into_fringe): Remove. * frame.c (syms_of_frame): Update. (Vdefault_frame_alist, Vdefault_frame_scroll_bars) (Vdelete_frame_functions, Vframe_alpha_lower_limit) (Vmake_pointer_invisible, Vmenu_bar_mode, Vmouse_highlight) (Vmouse_position_function, Vterminal_frame, Vtool_bar_mode) (Vx_resource_class, Vx_resource_name, focus_follows_mouse): Remove. * fontset.c (syms_of_fontset): Update. (Valternate_fontname_alist, Vfont_encoding_charset_alist) (Vfontset_alias_alist, Vignore_relative_composition) (Votf_script_alist, Vuse_default_ascent) (Vvertical_centering_font_regexp): Remove. * font.c (syms_of_font): Update. (Vfont_encoding_alist, Vfont_log, Vfont_slant_table) (Vfont_weight_table, Vfont_width_table): Remove. * fns.c (syms_of_fns): Update. (Vfeatures, use_dialog_box, use_file_dialog): Remove. * filelock.c (syms_of_filelock): Update. (Vtemporary_file_directory): Remove. * fileio.c (syms_of_fileio): Update. (Vafter_insert_file_functions, Vauto_save_include_big_deletions) (Vauto_save_list_file_name, Vauto_save_visited_file_name) (Vdefault_file_name_coding_system, Vfile_name_coding_system) (Vfile_name_handler_alist, Vinhibit_file_name_handlers) (Vinhibit_file_name_operation, Vset_auto_coding_function) (Vwrite_region_annotate_functions) (Vwrite_region_annotations_so_far) (Vwrite_region_post_annotation_function) (delete_by_moving_to_trash, write_region_inhibit_fsync): Remove. (Vw32_get_true_file_attributes): Remove declaration. * eval.c (syms_of_eval): Update. (Vdebug_ignored_errors, Vdebug_on_error, Vdebug_on_signal) (Vdebugger, Vinhibit_quit, Vmacro_declaration_function) (Vquit_flag, Vsignal_hook_function, Vstack_trace_on_error) (debug_on_next_call, debug_on_quit, debugger_may_continue) (max_lisp_eval_depth, max_specpdl_size): Remove. * emacs.c (syms_of_emacs): Update. (Vafter_init_time, Vbefore_init_time, Vcommand_line_args) (Vdynamic_library_alist, Vemacs_copyright, Vemacs_version) (Vinstallation_directory, Vinvocation_directory) (Vinvocation_name, Vkill_emacs_hook, Vpath_separator) (Vprevious_system_messages_locale, Vprevious_system_time_locale) (Vsystem_configuration, Vsystem_configuration_options) (Vsystem_messages_locale, Vsystem_time_locale, Vsystem_type) (inhibit_x_resources, noninteractive1): Remove. * editfns.c (syms_of_editfns): Update. (Vbuffer_access_fontified_property) (Vbuffer_access_fontify_functions, Vinhibit_field_text_motion) (Voperating_system_release, Vsystem_name, Vuser_full_name) (Vuser_login_name, Vuser_real_login_name): Remove. * dosfns.c (syms_of_dosfns): Update. (Vdos_display_scancodes, Vdos_version, Vdos_windows_version) (dos_codepage, dos_country_code, dos_decimal_point) (dos_hyper_key, dos_keyboard_layout, dos_keypad_mode) (dos_super_key, dos_timezone_offset): Remove. * doc.c (syms_of_doc): Update. (Vbuild_files, Vdoc_file_name): Remove. * dispnew.c (syms_of_display): Update. (Vglyph_table, Vinitial_window_system) (Vredisplay_preemption_period, Vstandard_display_table) (Vwindow_system_version, baud_rate, cursor_in_echo_area) (inverse_video, redisplay_dont_pause, visible_bell): Remove. * dired.c (syms_of_dired): Update. (Vcompletion_ignored_extensions): Remove. (Vw32_get_true_file_attributes): Remove declaration. * dbusbind.c (syms_of_dbusbind): Update. (Vdbus_debug, Vdbus_registered_buses) (Vdbus_registered_objects_table): Remove. * data.c (syms_of_data): Update. (Vmost_negative_fixnum, Vmost_positive_fixnum): Remove. * composite.c (syms_of_composite): Update. (Vauto_composition_function, Vauto_composition_mode) (Vcompose_chars_after_function, Vcomposition_function_table): Remove. * coding.c (syms_of_coding): Update. (Vcharset_revision_table, Vcoding_category_list) (Vcoding_system_alist, Vcoding_system_for_read) (Vcoding_system_for_write, Vcoding_system_list) (Vdefault_process_coding_system, Venable_character_translation) (Vfile_coding_system_alist, Vlast_code_conversion_error) (Vlast_coding_system_used, Vlatin_extra_code_table) (Vlocale_coding_system, Vnetwork_coding_system_alist) (Vprocess_coding_system_alist) (Vselect_safe_coding_system_function) (Vstandard_translation_table_for_decode) (Vstandard_translation_table_for_encode) (Vtranslation_table_for_input, coding_system_require_warning) (eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided) (eol_mnemonic_unix, inherit_process_coding_system) (inhibit_eol_conversion, inhibit_iso_escape_detection) (inhibit_null_byte_detection): Remove. * cmds.c (syms_of_cmds): Update. (Vpost_self_insert_hook): Remove. * charset.c (syms_of_charset): Update. (Vcharset_list, Vcharset_map_path, Vcurrent_iso639_language) (inhibit_load_charset_map): Remove. * character.c (syms_of_character): Update. (Vauto_fill_chars, Vchar_direction_table, Vchar_script_table) (Vchar_width_table, Vprintable_chars) (Vscript_representative_chars, Vtranslation_table_vector) (Vunicode_category_table): Remove. * ccl.c (syms_of_ccl): Update. (Vcode_conversion_map_vector, Vfont_ccl_encoder_alist) (Vtranslation_hash_table_vector): Remove. * category.c (syms_of_category): Update. (Vword_combining_categories, Vword_separating_categories): Remove. * callproc.c (syms_of_callproc): Update. (Vconfigure_info_directory, Vdata_directory, Vdoc_directory) (Vexec_directory, Vexec_path, Vexec_suffixes) (Vinitial_environment, Vprocess_environment) (Vshared_game_score_directory, Vshell_file_name): Remove. * callint.c (syms_of_callint): Update. (Vcommand_debug_status, Vcommand_history, Vcurrent_prefix_arg) (Vmark_even_if_inactive, Vmouse_leave_buffer_hook): Remove. * bytecode.c (syms_of_bytecode): Update. (Vbyte_code_meter, byte_metering_on): Remove. * buffer.c (syms_of_buffer): Update. (Vafter_change_functions, Vbefore_change_functions) (Vchange_major_mode_hook, Vfirst_change_hook) (Vinhibit_read_only, Vkill_buffer_query_functions) (Vtransient_mark_mode, inhibit_modification_hooks): Remove. * alloc.c (syms_of_alloc): Update. (Vgc_cons_percentage, Vgc_elapsed, Vmemory_full) (Vmemory_signal_data, Vpost_gc_hook, Vpurify_flag) (cons_cells_consed, floats_consed, garbage_collection_messages) (gc_cons_threshold, gcs_done, intervals_consed) (misc_objects_consed, pure_bytes_used, string_chars_consed) (strings_consed, symbols_consed, vector_cells_consed): Remove. * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL) (DEFVAR_INT): Assume global is in `globals'. * alloc.c (globals): Define.
author Tom Tromey <tromey@redhat.com>
date Tue, 18 Jan 2011 13:45:37 -0700
parents 116a3428737d
children 9de5a68b57e1
comparison
equal deleted inserted replaced
112363:6a0c66185ba1 112364:42e22c4f06b7
317 #endif 317 #endif
318 318
319 #define INFINITY 10000000 319 #define INFINITY 10000000
320 320
321 Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map; 321 Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
322 Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions; 322 Lisp_Object Qwindow_scroll_functions;
323 Lisp_Object Qwindow_text_change_functions, Vwindow_text_change_functions; 323 Lisp_Object Qwindow_text_change_functions;
324 Lisp_Object Qredisplay_end_trigger_functions, Vredisplay_end_trigger_functions; 324 Lisp_Object Qredisplay_end_trigger_functions;
325 Lisp_Object Qinhibit_point_motion_hooks; 325 Lisp_Object Qinhibit_point_motion_hooks;
326 Lisp_Object QCeval, QCfile, QCdata, QCpropertize; 326 Lisp_Object QCeval, QCfile, QCdata, QCpropertize;
327 Lisp_Object Qfontified; 327 Lisp_Object Qfontified;
328 Lisp_Object Qgrow_only; 328 Lisp_Object Qgrow_only;
329 Lisp_Object Qinhibit_eval_during_redisplay; 329 Lisp_Object Qinhibit_eval_during_redisplay;
337 Lisp_Object Qarrow, Qhand, Qtext; 337 Lisp_Object Qarrow, Qhand, Qtext;
338 338
339 /* Holds the list (error). */ 339 /* Holds the list (error). */
340 Lisp_Object list_of_error; 340 Lisp_Object list_of_error;
341 341
342 /* Functions called to fontify regions of text. */
343
344 Lisp_Object Vfontification_functions;
345 Lisp_Object Qfontification_functions; 342 Lisp_Object Qfontification_functions;
346 343
347 /* Non-nil means automatically select any window when the mouse 344 Lisp_Object Qwrap_prefix;
348 cursor moves into it. */ 345 Lisp_Object Qline_prefix;
349 Lisp_Object Vmouse_autoselect_window;
350
351 Lisp_Object Vwrap_prefix, Qwrap_prefix;
352 Lisp_Object Vline_prefix, Qline_prefix;
353
354 /* Non-zero means draw tool bar buttons raised when the mouse moves
355 over them. */
356
357 int auto_raise_tool_bar_buttons_p;
358
359 /* Non-zero means to reposition window if cursor line is only partially visible. */
360
361 int make_cursor_line_fully_visible_p;
362
363 /* Margin below tool bar in pixels. 0 or nil means no margin.
364 If value is `internal-border-width' or `border-width',
365 the corresponding frame parameter is used. */
366
367 Lisp_Object Vtool_bar_border;
368
369 /* Margin around tool bar buttons in pixels. */
370
371 Lisp_Object Vtool_bar_button_margin;
372
373 /* Thickness of shadow to draw around tool bar buttons. */
374
375 EMACS_INT tool_bar_button_relief;
376
377 /* Non-nil means automatically resize tool-bars so that all tool-bar
378 items are visible, and no blank lines remain.
379
380 If value is `grow-only', only make tool-bar bigger. */
381
382 Lisp_Object Vauto_resize_tool_bars;
383
384 /* Type of tool bar. Can be symbols image, text, both or both-hroiz. */
385
386 Lisp_Object Vtool_bar_style;
387
388 /* Maximum number of characters a label can have to be shown. */
389
390 EMACS_INT tool_bar_max_label_size;
391
392 /* Non-zero means draw block and hollow cursor as wide as the glyph
393 under it. For example, if a block cursor is over a tab, it will be
394 drawn as wide as that tab on the display. */
395
396 int x_stretch_cursor_p;
397 346
398 /* Non-nil means don't actually do any redisplay. */ 347 /* Non-nil means don't actually do any redisplay. */
399 348
400 Lisp_Object Vinhibit_redisplay, Qinhibit_redisplay; 349 Lisp_Object Qinhibit_redisplay;
401
402 /* Non-zero means Lisp evaluation during redisplay is inhibited. */
403
404 int inhibit_eval_during_redisplay;
405 350
406 /* Names of text properties relevant for redisplay. */ 351 /* Names of text properties relevant for redisplay. */
407 352
408 Lisp_Object Qdisplay; 353 Lisp_Object Qdisplay;
409 354
410 /* Symbols used in text property values. */
411
412 Lisp_Object Vdisplay_pixels_per_inch;
413 Lisp_Object Qspace, QCalign_to, QCrelative_width, QCrelative_height; 355 Lisp_Object Qspace, QCalign_to, QCrelative_width, QCrelative_height;
414 Lisp_Object Qleft_margin, Qright_margin, Qspace_width, Qraise; 356 Lisp_Object Qleft_margin, Qright_margin, Qspace_width, Qraise;
415 Lisp_Object Qslice; 357 Lisp_Object Qslice;
416 Lisp_Object Qcenter; 358 Lisp_Object Qcenter;
417 Lisp_Object Qmargin, Qpointer; 359 Lisp_Object Qmargin, Qpointer;
418 Lisp_Object Qline_height; 360 Lisp_Object Qline_height;
419
420 /* Non-nil means highlight trailing whitespace. */
421
422 Lisp_Object Vshow_trailing_whitespace;
423
424 /* Non-nil means escape non-break space and hyphens. */
425
426 Lisp_Object Vnobreak_char_display;
427 361
428 #ifdef HAVE_WINDOW_SYSTEM 362 #ifdef HAVE_WINDOW_SYSTEM
429 363
430 /* Test if overflow newline into fringe. Called with iterator IT 364 /* Test if overflow newline into fringe. Called with iterator IT
431 at or past right window margin, and with IT->current_x set. */ 365 at or past right window margin, and with IT->current_x set. */
446 /* Test if the display element loaded in IT is a space or tab 380 /* Test if the display element loaded in IT is a space or tab
447 character. This is used to determine word wrapping. */ 381 character. This is used to determine word wrapping. */
448 382
449 #define IT_DISPLAYING_WHITESPACE(it) \ 383 #define IT_DISPLAYING_WHITESPACE(it) \
450 (it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t')) 384 (it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t'))
451
452 /* Non-nil means show the text cursor in void text areas
453 i.e. in blank areas after eol and eob. This used to be
454 the default in 21.3. */
455
456 Lisp_Object Vvoid_text_area_pointer;
457 385
458 /* Name of the face used to highlight trailing whitespace. */ 386 /* Name of the face used to highlight trailing whitespace. */
459 387
460 Lisp_Object Qtrailing_whitespace; 388 Lisp_Object Qtrailing_whitespace;
461 389
520 448
521 /* Buffer that this_line_.* variables are referring to. */ 449 /* Buffer that this_line_.* variables are referring to. */
522 450
523 static struct buffer *this_line_buffer; 451 static struct buffer *this_line_buffer;
524 452
525 /* Nonzero means truncate lines in all windows less wide than the
526 frame. */
527
528 Lisp_Object Vtruncate_partial_width_windows;
529
530 /* A flag to control how to display unibyte 8-bit character. */
531
532 int unibyte_display_via_language_environment;
533
534 /* Nonzero means we have more than one non-mini-buffer-only frame.
535 Not guaranteed to be accurate except while parsing
536 frame-title-format. */
537
538 int multiple_frames;
539
540 Lisp_Object Vglobal_mode_string;
541
542
543 /* List of variables (symbols) which hold markers for overlay arrows.
544 The symbols on this list are examined during redisplay to determine
545 where to display overlay arrows. */
546
547 Lisp_Object Voverlay_arrow_variable_list;
548
549 /* Marker for where to display an arrow on top of the buffer text. */
550
551 Lisp_Object Voverlay_arrow_position;
552
553 /* String to display for the arrow. Only used on terminal frames. */
554
555 Lisp_Object Voverlay_arrow_string;
556 453
557 /* Values of those variables at last redisplay are stored as 454 /* Values of those variables at last redisplay are stored as
558 properties on `overlay-arrow-position' symbol. However, if 455 properties on `overlay-arrow-position' symbol. However, if
559 Voverlay_arrow_position is a marker, last-arrow-position is its 456 Voverlay_arrow_position is a marker, last-arrow-position is its
560 numerical position. */ 457 numerical position. */
564 /* Alternative overlay-arrow-string and overlay-arrow-bitmap 461 /* Alternative overlay-arrow-string and overlay-arrow-bitmap
565 properties on a symbol in overlay-arrow-variable-list. */ 462 properties on a symbol in overlay-arrow-variable-list. */
566 463
567 Lisp_Object Qoverlay_arrow_string, Qoverlay_arrow_bitmap; 464 Lisp_Object Qoverlay_arrow_string, Qoverlay_arrow_bitmap;
568 465
569 /* Like mode-line-format, but for the title bar on a visible frame. */ 466 Lisp_Object Qmenu_bar_update_hook;
570
571 Lisp_Object Vframe_title_format;
572
573 /* Like mode-line-format, but for the title bar on an iconified frame. */
574
575 Lisp_Object Vicon_title_format;
576
577 /* List of functions to call when a window's size changes. These
578 functions get one arg, a frame on which one or more windows' sizes
579 have changed. */
580
581 static Lisp_Object Vwindow_size_change_functions;
582
583 Lisp_Object Qmenu_bar_update_hook, Vmenu_bar_update_hook;
584 467
585 /* Nonzero if an overlay arrow has been displayed in this window. */ 468 /* Nonzero if an overlay arrow has been displayed in this window. */
586 469
587 static int overlay_arrow_seen; 470 static int overlay_arrow_seen;
588
589 /* Nonzero means highlight the region even in nonselected windows. */
590
591 int highlight_nonselected_windows;
592
593 /* If cursor motion alone moves point off frame, try scrolling this
594 many lines up or down if that will bring it back. */
595
596 static EMACS_INT emacs_scroll_step;
597
598 /* Nonzero means scroll just far enough to bring point back on the
599 screen, when appropriate. */
600
601 static EMACS_INT scroll_conservatively;
602
603 /* Recenter the window whenever point gets within this many lines of
604 the top or bottom of the window. This value is translated into a
605 pixel value by multiplying it with FRAME_LINE_HEIGHT, which means
606 that there is really a fixed pixel height scroll margin. */
607
608 EMACS_INT scroll_margin;
609 471
610 /* Number of windows showing the buffer of the selected window (or 472 /* Number of windows showing the buffer of the selected window (or
611 another buffer with the same base buffer). keyboard.c refers to 473 another buffer with the same base buffer). keyboard.c refers to
612 this. */ 474 this. */
613 475
614 int buffer_shared; 476 int buffer_shared;
615 477
616 /* Vector containing glyphs for an ellipsis `...'. */ 478 /* Vector containing glyphs for an ellipsis `...'. */
617 479
618 static Lisp_Object default_invis_vector[3]; 480 static Lisp_Object default_invis_vector[3];
619
620 /* Zero means display the mode-line/header-line/menu-bar in the default face
621 (this slightly odd definition is for compatibility with previous versions
622 of emacs), non-zero means display them using their respective faces.
623
624 This variable is deprecated. */
625
626 int mode_line_inverse_video;
627 481
628 /* Prompt to display in front of the mini-buffer contents. */ 482 /* Prompt to display in front of the mini-buffer contents. */
629 483
630 Lisp_Object minibuf_prompt; 484 Lisp_Object minibuf_prompt;
631 485
668 /* Nonzero after display_mode_line if %l was used and it displayed a 522 /* Nonzero after display_mode_line if %l was used and it displayed a
669 line number. */ 523 line number. */
670 524
671 int line_number_displayed; 525 int line_number_displayed;
672 526
673 /* Maximum buffer size for which to display line numbers. */
674
675 Lisp_Object Vline_number_display_limit;
676
677 /* Line width to consider when repositioning for line number display. */
678
679 static EMACS_INT line_number_display_limit_width;
680
681 /* Number of lines to keep in the message log buffer. t means
682 infinite. nil means don't log at all. */
683
684 Lisp_Object Vmessage_log_max;
685
686 /* The name of the *Messages* buffer, a string. */ 527 /* The name of the *Messages* buffer, a string. */
687 528
688 static Lisp_Object Vmessages_buffer_name; 529 static Lisp_Object Vmessages_buffer_name;
689 530
690 /* Current, index 0, and last displayed echo area message. Either 531 /* Current, index 0, and last displayed echo area message. Either
711 int message_buf_print; 552 int message_buf_print;
712 553
713 /* The symbol `inhibit-menubar-update' and its DEFVAR_BOOL variable. */ 554 /* The symbol `inhibit-menubar-update' and its DEFVAR_BOOL variable. */
714 555
715 Lisp_Object Qinhibit_menubar_update; 556 Lisp_Object Qinhibit_menubar_update;
716 int inhibit_menubar_update;
717
718 /* When evaluating expressions from menu bar items (enable conditions,
719 for instance), this is the frame they are being processed for. */
720
721 Lisp_Object Vmenu_updating_frame;
722
723 /* Maximum height for resizing mini-windows. Either a float
724 specifying a fraction of the available height, or an integer
725 specifying a number of lines. */
726
727 Lisp_Object Vmax_mini_window_height;
728
729 /* Non-zero means messages should be displayed with truncated
730 lines instead of being continued. */
731
732 int message_truncate_lines;
733 Lisp_Object Qmessage_truncate_lines; 557 Lisp_Object Qmessage_truncate_lines;
734 558
735 /* Set to 1 in clear_message to make redisplay_internal aware 559 /* Set to 1 in clear_message to make redisplay_internal aware
736 of an emptied echo area. */ 560 of an emptied echo area. */
737 561
738 static int message_cleared_p; 562 static int message_cleared_p;
739
740 /* How to blink the default frame cursor off. */
741 Lisp_Object Vblink_cursor_alist;
742 563
743 /* A scratch glyph row with contents used for generating truncation 564 /* A scratch glyph row with contents used for generating truncation
744 glyphs. Also used in direct_output_for_insert. */ 565 glyphs. Also used in direct_output_for_insert. */
745 566
746 #define MAX_SCRATCH_GLYPHS 100 567 #define MAX_SCRATCH_GLYPHS 100
769 590
770 #define TEXT_PROP_DISTANCE_LIMIT 100 591 #define TEXT_PROP_DISTANCE_LIMIT 100
771 592
772 #if GLYPH_DEBUG 593 #if GLYPH_DEBUG
773 594
774 /* Variables to turn off display optimizations from Lisp. */
775
776 int inhibit_try_window_id, inhibit_try_window_reusing;
777 int inhibit_try_cursor_movement;
778
779 /* Non-zero means print traces of redisplay if compiled with 595 /* Non-zero means print traces of redisplay if compiled with
780 GLYPH_DEBUG != 0. */ 596 GLYPH_DEBUG != 0. */
781 597
782 int trace_redisplay_p; 598 int trace_redisplay_p;
783 599
790 #define TRACE_MOVE(x) if (trace_move) fprintf x; else (void) 0 606 #define TRACE_MOVE(x) if (trace_move) fprintf x; else (void) 0
791 #else 607 #else
792 #define TRACE_MOVE(x) (void) 0 608 #define TRACE_MOVE(x) (void) 0
793 #endif 609 #endif
794 610
795 /* Non-zero means automatically scroll windows horizontally to make
796 point visible. */
797
798 int automatic_hscrolling_p;
799 Lisp_Object Qauto_hscroll_mode; 611 Lisp_Object Qauto_hscroll_mode;
800 612
801 /* How close to the margin can point get before the window is scrolled
802 horizontally. */
803 EMACS_INT hscroll_margin;
804
805 /* How much to scroll horizontally when point is inside the above margin. */
806 Lisp_Object Vhscroll_step;
807
808 /* The variable `resize-mini-windows'. If nil, don't resize
809 mini-windows. If t, always resize them to fit the text they
810 display. If `grow-only', let mini-windows grow only until they
811 become empty. */
812
813 Lisp_Object Vresize_mini_windows;
814
815 /* Buffer being redisplayed -- for redisplay_window_error. */ 613 /* Buffer being redisplayed -- for redisplay_window_error. */
816 614
817 struct buffer *displayed_buffer; 615 struct buffer *displayed_buffer;
818
819 /* Space between overline and text. */
820
821 EMACS_INT overline_margin;
822
823 /* Require underline to be at least this many screen pixels below baseline
824 This to avoid underline "merging" with the base of letters at small
825 font sizes, particularly when x_use_underline_position_properties is on. */
826
827 EMACS_INT underline_minimum_offset;
828 616
829 /* Value returned from text property handlers (see below). */ 617 /* Value returned from text property handlers (see below). */
830 618
831 enum prop_handled 619 enum prop_handled
832 { 620 {
923 711
924 /* Non-zero while redisplay_internal is in progress. */ 712 /* Non-zero while redisplay_internal is in progress. */
925 713
926 int redisplaying_p; 714 int redisplaying_p;
927 715
928 /* Non-zero means don't free realized faces. Bound while freeing
929 realized faces is dangerous because glyph matrices might still
930 reference them. */
931
932 int inhibit_free_realized_faces;
933 Lisp_Object Qinhibit_free_realized_faces; 716 Lisp_Object Qinhibit_free_realized_faces;
934 717
935 /* If a string, XTread_socket generates an event to display that string. 718 /* If a string, XTread_socket generates an event to display that string.
936 (The display is done in read_char.) */ 719 (The display is done in read_char.) */
937 720
944 727
945 Lisp_Object previous_help_echo_string; 728 Lisp_Object previous_help_echo_string;
946 729
947 /* Platform-independent portion of hourglass implementation. */ 730 /* Platform-independent portion of hourglass implementation. */
948 731
949 /* Non-zero means we're allowed to display a hourglass pointer. */
950 int display_hourglass_p;
951
952 /* Non-zero means an hourglass cursor is currently shown. */ 732 /* Non-zero means an hourglass cursor is currently shown. */
953 int hourglass_shown_p; 733 int hourglass_shown_p;
954 734
955 /* If non-null, an asynchronous timer that, when it expires, displays 735 /* If non-null, an asynchronous timer that, when it expires, displays
956 an hourglass cursor on all frames. */ 736 an hourglass cursor on all frames. */
957 struct atimer *hourglass_atimer; 737 struct atimer *hourglass_atimer;
958 738
959 /* Number of seconds to wait before displaying an hourglass cursor. */
960 Lisp_Object Vhourglass_delay;
961
962 /* Name of the face used to display glyphless characters. */ 739 /* Name of the face used to display glyphless characters. */
963 Lisp_Object Qglyphless_char; 740 Lisp_Object Qglyphless_char;
964
965 /* Char-table to control the display of glyphless characters. */
966 Lisp_Object Vglyphless_char_display;
967 741
968 /* Symbol for the purpose of Vglyphless_char_display. */ 742 /* Symbol for the purpose of Vglyphless_char_display. */
969 Lisp_Object Qglyphless_char_display; 743 Lisp_Object Qglyphless_char_display;
970 744
971 /* Method symbols for Vglyphless_char_display. */ 745 /* Method symbols for Vglyphless_char_display. */
11226 EMACS_INT debug_delta, debug_delta_bytes; 11000 EMACS_INT debug_delta, debug_delta_bytes;
11227 11001
11228 /* Values of window_end_pos and window_end_vpos at the end of 11002 /* Values of window_end_pos and window_end_vpos at the end of
11229 try_window_id. */ 11003 try_window_id. */
11230 11004
11231 EMACS_INT debug_end_pos, debug_end_vpos; 11005 EMACS_INT debug_end_vpos;
11232 11006
11233 /* Append a string to W->desired_matrix->method. FMT is a printf 11007 /* Append a string to W->desired_matrix->method. FMT is a printf
11234 format string. A1...A9 are a supplement for a variable-length 11008 format string. A1...A9 are a supplement for a variable-length
11235 argument list. If trace_redisplay_p is non-zero also printf the 11009 argument list. If trace_redisplay_p is non-zero also printf the
11236 resulting string to stderr. */ 11010 resulting string to stderr. */
26633 staticpro (&Qright_to_left); 26407 staticpro (&Qright_to_left);
26634 Qleft_to_right = intern_c_string ("left-to-right"); 26408 Qleft_to_right = intern_c_string ("left-to-right");
26635 staticpro (&Qleft_to_right); 26409 staticpro (&Qleft_to_right);
26636 26410
26637 #ifdef HAVE_WINDOW_SYSTEM 26411 #ifdef HAVE_WINDOW_SYSTEM
26638 DEFVAR_BOOL ("x-stretch-cursor", &x_stretch_cursor_p, 26412 DEFVAR_BOOL ("x-stretch-cursor", x_stretch_cursor_p,
26639 doc: /* *Non-nil means draw block cursor as wide as the glyph under it. 26413 doc: /* *Non-nil means draw block cursor as wide as the glyph under it.
26640 For example, if a block cursor is over a tab, it will be drawn as 26414 For example, if a block cursor is over a tab, it will be drawn as
26641 wide as that tab on the display. */); 26415 wide as that tab on the display. */);
26642 x_stretch_cursor_p = 0; 26416 x_stretch_cursor_p = 0;
26643 #endif 26417 #endif
26644 26418
26645 DEFVAR_LISP ("show-trailing-whitespace", &Vshow_trailing_whitespace, 26419 DEFVAR_LISP ("show-trailing-whitespace", Vshow_trailing_whitespace,
26646 doc: /* *Non-nil means highlight trailing whitespace. 26420 doc: /* *Non-nil means highlight trailing whitespace.
26647 The face used for trailing whitespace is `trailing-whitespace'. */); 26421 The face used for trailing whitespace is `trailing-whitespace'. */);
26648 Vshow_trailing_whitespace = Qnil; 26422 Vshow_trailing_whitespace = Qnil;
26649 26423
26650 DEFVAR_LISP ("nobreak-char-display", &Vnobreak_char_display, 26424 DEFVAR_LISP ("nobreak-char-display", Vnobreak_char_display,
26651 doc: /* *Control highlighting of nobreak space and soft hyphen. 26425 doc: /* *Control highlighting of nobreak space and soft hyphen.
26652 A value of t means highlight the character itself (for nobreak space, 26426 A value of t means highlight the character itself (for nobreak space,
26653 use face `nobreak-space'). 26427 use face `nobreak-space').
26654 A value of nil means no highlighting. 26428 A value of nil means no highlighting.
26655 Other values mean display the escape glyph followed by an ordinary 26429 Other values mean display the escape glyph followed by an ordinary
26656 space or ordinary hyphen. */); 26430 space or ordinary hyphen. */);
26657 Vnobreak_char_display = Qt; 26431 Vnobreak_char_display = Qt;
26658 26432
26659 DEFVAR_LISP ("void-text-area-pointer", &Vvoid_text_area_pointer, 26433 DEFVAR_LISP ("void-text-area-pointer", Vvoid_text_area_pointer,
26660 doc: /* *The pointer shape to show in void text areas. 26434 doc: /* *The pointer shape to show in void text areas.
26661 A value of nil means to show the text pointer. Other options are `arrow', 26435 A value of nil means to show the text pointer. Other options are `arrow',
26662 `text', `hand', `vdrag', `hdrag', `modeline', and `hourglass'. */); 26436 `text', `hand', `vdrag', `hdrag', `modeline', and `hourglass'. */);
26663 Vvoid_text_area_pointer = Qarrow; 26437 Vvoid_text_area_pointer = Qarrow;
26664 26438
26665 DEFVAR_LISP ("inhibit-redisplay", &Vinhibit_redisplay, 26439 DEFVAR_LISP ("inhibit-redisplay", Vinhibit_redisplay,
26666 doc: /* Non-nil means don't actually do any redisplay. 26440 doc: /* Non-nil means don't actually do any redisplay.
26667 This is used for internal purposes. */); 26441 This is used for internal purposes. */);
26668 Vinhibit_redisplay = Qnil; 26442 Vinhibit_redisplay = Qnil;
26669 26443
26670 DEFVAR_LISP ("global-mode-string", &Vglobal_mode_string, 26444 DEFVAR_LISP ("global-mode-string", Vglobal_mode_string,
26671 doc: /* String (or mode line construct) included (normally) in `mode-line-format'. */); 26445 doc: /* String (or mode line construct) included (normally) in `mode-line-format'. */);
26672 Vglobal_mode_string = Qnil; 26446 Vglobal_mode_string = Qnil;
26673 26447
26674 DEFVAR_LISP ("overlay-arrow-position", &Voverlay_arrow_position, 26448 DEFVAR_LISP ("overlay-arrow-position", Voverlay_arrow_position,
26675 doc: /* Marker for where to display an arrow on top of the buffer text. 26449 doc: /* Marker for where to display an arrow on top of the buffer text.
26676 This must be the beginning of a line in order to work. 26450 This must be the beginning of a line in order to work.
26677 See also `overlay-arrow-string'. */); 26451 See also `overlay-arrow-string'. */);
26678 Voverlay_arrow_position = Qnil; 26452 Voverlay_arrow_position = Qnil;
26679 26453
26680 DEFVAR_LISP ("overlay-arrow-string", &Voverlay_arrow_string, 26454 DEFVAR_LISP ("overlay-arrow-string", Voverlay_arrow_string,
26681 doc: /* String to display as an arrow in non-window frames. 26455 doc: /* String to display as an arrow in non-window frames.
26682 See also `overlay-arrow-position'. */); 26456 See also `overlay-arrow-position'. */);
26683 Voverlay_arrow_string = make_pure_c_string ("=>"); 26457 Voverlay_arrow_string = make_pure_c_string ("=>");
26684 26458
26685 DEFVAR_LISP ("overlay-arrow-variable-list", &Voverlay_arrow_variable_list, 26459 DEFVAR_LISP ("overlay-arrow-variable-list", Voverlay_arrow_variable_list,
26686 doc: /* List of variables (symbols) which hold markers for overlay arrows. 26460 doc: /* List of variables (symbols) which hold markers for overlay arrows.
26687 The symbols on this list are examined during redisplay to determine 26461 The symbols on this list are examined during redisplay to determine
26688 where to display overlay arrows. */); 26462 where to display overlay arrows. */);
26689 Voverlay_arrow_variable_list 26463 Voverlay_arrow_variable_list
26690 = Fcons (intern_c_string ("overlay-arrow-position"), Qnil); 26464 = Fcons (intern_c_string ("overlay-arrow-position"), Qnil);
26691 26465
26692 DEFVAR_INT ("scroll-step", &emacs_scroll_step, 26466 DEFVAR_INT ("scroll-step", emacs_scroll_step,
26693 doc: /* *The number of lines to try scrolling a window by when point moves out. 26467 doc: /* *The number of lines to try scrolling a window by when point moves out.
26694 If that fails to bring point back on frame, point is centered instead. 26468 If that fails to bring point back on frame, point is centered instead.
26695 If this is zero, point is always centered after it moves off frame. 26469 If this is zero, point is always centered after it moves off frame.
26696 If you want scrolling to always be a line at a time, you should set 26470 If you want scrolling to always be a line at a time, you should set
26697 `scroll-conservatively' to a large value rather than set this to 1. */); 26471 `scroll-conservatively' to a large value rather than set this to 1. */);
26698 26472
26699 DEFVAR_INT ("scroll-conservatively", &scroll_conservatively, 26473 DEFVAR_INT ("scroll-conservatively", scroll_conservatively,
26700 doc: /* *Scroll up to this many lines, to bring point back on screen. 26474 doc: /* *Scroll up to this many lines, to bring point back on screen.
26701 If point moves off-screen, redisplay will scroll by up to 26475 If point moves off-screen, redisplay will scroll by up to
26702 `scroll-conservatively' lines in order to bring point just barely 26476 `scroll-conservatively' lines in order to bring point just barely
26703 onto the screen again. If that cannot be done, then redisplay 26477 onto the screen again. If that cannot be done, then redisplay
26704 recenters point as usual. 26478 recenters point as usual.
26705 26479
26706 A value of zero means always recenter point if it moves off screen. */); 26480 A value of zero means always recenter point if it moves off screen. */);
26707 scroll_conservatively = 0; 26481 scroll_conservatively = 0;
26708 26482
26709 DEFVAR_INT ("scroll-margin", &scroll_margin, 26483 DEFVAR_INT ("scroll-margin", scroll_margin,
26710 doc: /* *Number of lines of margin at the top and bottom of a window. 26484 doc: /* *Number of lines of margin at the top and bottom of a window.
26711 Recenter the window whenever point gets within this many lines 26485 Recenter the window whenever point gets within this many lines
26712 of the top or bottom of the window. */); 26486 of the top or bottom of the window. */);
26713 scroll_margin = 0; 26487 scroll_margin = 0;
26714 26488
26715 DEFVAR_LISP ("display-pixels-per-inch", &Vdisplay_pixels_per_inch, 26489 DEFVAR_LISP ("display-pixels-per-inch", Vdisplay_pixels_per_inch,
26716 doc: /* Pixels per inch value for non-window system displays. 26490 doc: /* Pixels per inch value for non-window system displays.
26717 Value is a number or a cons (WIDTH-DPI . HEIGHT-DPI). */); 26491 Value is a number or a cons (WIDTH-DPI . HEIGHT-DPI). */);
26718 Vdisplay_pixels_per_inch = make_float (72.0); 26492 Vdisplay_pixels_per_inch = make_float (72.0);
26719 26493
26720 #if GLYPH_DEBUG 26494 #if GLYPH_DEBUG
26721 DEFVAR_INT ("debug-end-pos", &debug_end_pos, doc: /* Don't ask. */); 26495 DEFVAR_INT ("debug-end-pos", debug_end_pos, doc: /* Don't ask. */);
26722 #endif 26496 #endif
26723 26497
26724 DEFVAR_LISP ("truncate-partial-width-windows", 26498 DEFVAR_LISP ("truncate-partial-width-windows",
26725 &Vtruncate_partial_width_windows, 26499 Vtruncate_partial_width_windows,
26726 doc: /* Non-nil means truncate lines in windows narrower than the frame. 26500 doc: /* Non-nil means truncate lines in windows narrower than the frame.
26727 For an integer value, truncate lines in each window narrower than the 26501 For an integer value, truncate lines in each window narrower than the
26728 full frame width, provided the window width is less than that integer; 26502 full frame width, provided the window width is less than that integer;
26729 otherwise, respect the value of `truncate-lines'. 26503 otherwise, respect the value of `truncate-lines'.
26730 26504
26734 A value of nil means to respect the value of `truncate-lines'. 26508 A value of nil means to respect the value of `truncate-lines'.
26735 26509
26736 If `word-wrap' is enabled, you might want to reduce this. */); 26510 If `word-wrap' is enabled, you might want to reduce this. */);
26737 Vtruncate_partial_width_windows = make_number (50); 26511 Vtruncate_partial_width_windows = make_number (50);
26738 26512
26739 DEFVAR_BOOL ("mode-line-inverse-video", &mode_line_inverse_video, 26513 DEFVAR_BOOL ("mode-line-inverse-video", mode_line_inverse_video,
26740 doc: /* When nil, display the mode-line/header-line/menu-bar in the default face. 26514 doc: /* When nil, display the mode-line/header-line/menu-bar in the default face.
26741 Any other value means to use the appropriate face, `mode-line', 26515 Any other value means to use the appropriate face, `mode-line',
26742 `header-line', or `menu' respectively. */); 26516 `header-line', or `menu' respectively. */);
26743 mode_line_inverse_video = 1; 26517 mode_line_inverse_video = 1;
26744 26518
26745 DEFVAR_LISP ("line-number-display-limit", &Vline_number_display_limit, 26519 DEFVAR_LISP ("line-number-display-limit", Vline_number_display_limit,
26746 doc: /* *Maximum buffer size for which line number should be displayed. 26520 doc: /* *Maximum buffer size for which line number should be displayed.
26747 If the buffer is bigger than this, the line number does not appear 26521 If the buffer is bigger than this, the line number does not appear
26748 in the mode line. A value of nil means no limit. */); 26522 in the mode line. A value of nil means no limit. */);
26749 Vline_number_display_limit = Qnil; 26523 Vline_number_display_limit = Qnil;
26750 26524
26751 DEFVAR_INT ("line-number-display-limit-width", 26525 DEFVAR_INT ("line-number-display-limit-width",
26752 &line_number_display_limit_width, 26526 line_number_display_limit_width,
26753 doc: /* *Maximum line width (in characters) for line number display. 26527 doc: /* *Maximum line width (in characters) for line number display.
26754 If the average length of the lines near point is bigger than this, then the 26528 If the average length of the lines near point is bigger than this, then the
26755 line number may be omitted from the mode line. */); 26529 line number may be omitted from the mode line. */);
26756 line_number_display_limit_width = 200; 26530 line_number_display_limit_width = 200;
26757 26531
26758 DEFVAR_BOOL ("highlight-nonselected-windows", &highlight_nonselected_windows, 26532 DEFVAR_BOOL ("highlight-nonselected-windows", highlight_nonselected_windows,
26759 doc: /* *Non-nil means highlight region even in nonselected windows. */); 26533 doc: /* *Non-nil means highlight region even in nonselected windows. */);
26760 highlight_nonselected_windows = 0; 26534 highlight_nonselected_windows = 0;
26761 26535
26762 DEFVAR_BOOL ("multiple-frames", &multiple_frames, 26536 DEFVAR_BOOL ("multiple-frames", multiple_frames,
26763 doc: /* Non-nil if more than one frame is visible on this display. 26537 doc: /* Non-nil if more than one frame is visible on this display.
26764 Minibuffer-only frames don't count, but iconified frames do. 26538 Minibuffer-only frames don't count, but iconified frames do.
26765 This variable is not guaranteed to be accurate except while processing 26539 This variable is not guaranteed to be accurate except while processing
26766 `frame-title-format' and `icon-title-format'. */); 26540 `frame-title-format' and `icon-title-format'. */);
26767 26541
26768 DEFVAR_LISP ("frame-title-format", &Vframe_title_format, 26542 DEFVAR_LISP ("frame-title-format", Vframe_title_format,
26769 doc: /* Template for displaying the title bar of visible frames. 26543 doc: /* Template for displaying the title bar of visible frames.
26770 \(Assuming the window manager supports this feature.) 26544 \(Assuming the window manager supports this feature.)
26771 26545
26772 This variable has the same structure as `mode-line-format', except that 26546 This variable has the same structure as `mode-line-format', except that
26773 the %c and %l constructs are ignored. It is used only on frames for 26547 the %c and %l constructs are ignored. It is used only on frames for
26774 which no explicit name has been set \(see `modify-frame-parameters'). */); 26548 which no explicit name has been set \(see `modify-frame-parameters'). */);
26775 26549
26776 DEFVAR_LISP ("icon-title-format", &Vicon_title_format, 26550 DEFVAR_LISP ("icon-title-format", Vicon_title_format,
26777 doc: /* Template for displaying the title bar of an iconified frame. 26551 doc: /* Template for displaying the title bar of an iconified frame.
26778 \(Assuming the window manager supports this feature.) 26552 \(Assuming the window manager supports this feature.)
26779 This variable has the same structure as `mode-line-format' (which see), 26553 This variable has the same structure as `mode-line-format' (which see),
26780 and is used only on frames for which no explicit name has been set 26554 and is used only on frames for which no explicit name has been set
26781 \(see `modify-frame-parameters'). */); 26555 \(see `modify-frame-parameters'). */);
26788 pure_cons (make_pure_c_string ("@"), 26562 pure_cons (make_pure_c_string ("@"),
26789 pure_cons (intern_c_string ("system-name"), 26563 pure_cons (intern_c_string ("system-name"),
26790 Qnil)))), 26564 Qnil)))),
26791 Qnil))); 26565 Qnil)));
26792 26566
26793 DEFVAR_LISP ("message-log-max", &Vmessage_log_max, 26567 DEFVAR_LISP ("message-log-max", Vmessage_log_max,
26794 doc: /* Maximum number of lines to keep in the message log buffer. 26568 doc: /* Maximum number of lines to keep in the message log buffer.
26795 If nil, disable message logging. If t, log messages but don't truncate 26569 If nil, disable message logging. If t, log messages but don't truncate
26796 the buffer when it becomes large. */); 26570 the buffer when it becomes large. */);
26797 Vmessage_log_max = make_number (100); 26571 Vmessage_log_max = make_number (100);
26798 26572
26799 DEFVAR_LISP ("window-size-change-functions", &Vwindow_size_change_functions, 26573 DEFVAR_LISP ("window-size-change-functions", Vwindow_size_change_functions,
26800 doc: /* Functions called before redisplay, if window sizes have changed. 26574 doc: /* Functions called before redisplay, if window sizes have changed.
26801 The value should be a list of functions that take one argument. 26575 The value should be a list of functions that take one argument.
26802 Just before redisplay, for each frame, if any of its windows have changed 26576 Just before redisplay, for each frame, if any of its windows have changed
26803 size since the last redisplay, or have been split or deleted, 26577 size since the last redisplay, or have been split or deleted,
26804 all the functions in the list are called, with the frame as argument. */); 26578 all the functions in the list are called, with the frame as argument. */);
26805 Vwindow_size_change_functions = Qnil; 26579 Vwindow_size_change_functions = Qnil;
26806 26580
26807 DEFVAR_LISP ("window-scroll-functions", &Vwindow_scroll_functions, 26581 DEFVAR_LISP ("window-scroll-functions", Vwindow_scroll_functions,
26808 doc: /* List of functions to call before redisplaying a window with scrolling. 26582 doc: /* List of functions to call before redisplaying a window with scrolling.
26809 Each function is called with two arguments, the window and its new 26583 Each function is called with two arguments, the window and its new
26810 display-start position. Note that these functions are also called by 26584 display-start position. Note that these functions are also called by
26811 `set-window-buffer'. Also note that the value of `window-end' is not 26585 `set-window-buffer'. Also note that the value of `window-end' is not
26812 valid when these functions are called. */); 26586 valid when these functions are called. */);
26813 Vwindow_scroll_functions = Qnil; 26587 Vwindow_scroll_functions = Qnil;
26814 26588
26815 DEFVAR_LISP ("window-text-change-functions", 26589 DEFVAR_LISP ("window-text-change-functions",
26816 &Vwindow_text_change_functions, 26590 Vwindow_text_change_functions,
26817 doc: /* Functions to call in redisplay when text in the window might change. */); 26591 doc: /* Functions to call in redisplay when text in the window might change. */);
26818 Vwindow_text_change_functions = Qnil; 26592 Vwindow_text_change_functions = Qnil;
26819 26593
26820 DEFVAR_LISP ("redisplay-end-trigger-functions", &Vredisplay_end_trigger_functions, 26594 DEFVAR_LISP ("redisplay-end-trigger-functions", Vredisplay_end_trigger_functions,
26821 doc: /* Functions called when redisplay of a window reaches the end trigger. 26595 doc: /* Functions called when redisplay of a window reaches the end trigger.
26822 Each function is called with two arguments, the window and the end trigger value. 26596 Each function is called with two arguments, the window and the end trigger value.
26823 See `set-window-redisplay-end-trigger'. */); 26597 See `set-window-redisplay-end-trigger'. */);
26824 Vredisplay_end_trigger_functions = Qnil; 26598 Vredisplay_end_trigger_functions = Qnil;
26825 26599
26826 DEFVAR_LISP ("mouse-autoselect-window", &Vmouse_autoselect_window, 26600 DEFVAR_LISP ("mouse-autoselect-window", Vmouse_autoselect_window,
26827 doc: /* *Non-nil means autoselect window with mouse pointer. 26601 doc: /* *Non-nil means autoselect window with mouse pointer.
26828 If nil, do not autoselect windows. 26602 If nil, do not autoselect windows.
26829 A positive number means delay autoselection by that many seconds: a 26603 A positive number means delay autoselection by that many seconds: a
26830 window is autoselected only after the mouse has remained in that 26604 window is autoselected only after the mouse has remained in that
26831 window for the duration of the delay. 26605 window for the duration of the delay.
26841 26615
26842 When customizing this variable make sure that the actual value of 26616 When customizing this variable make sure that the actual value of
26843 `focus-follows-mouse' matches the behavior of your window manager. */); 26617 `focus-follows-mouse' matches the behavior of your window manager. */);
26844 Vmouse_autoselect_window = Qnil; 26618 Vmouse_autoselect_window = Qnil;
26845 26619
26846 DEFVAR_LISP ("auto-resize-tool-bars", &Vauto_resize_tool_bars, 26620 DEFVAR_LISP ("auto-resize-tool-bars", Vauto_resize_tool_bars,
26847 doc: /* *Non-nil means automatically resize tool-bars. 26621 doc: /* *Non-nil means automatically resize tool-bars.
26848 This dynamically changes the tool-bar's height to the minimum height 26622 This dynamically changes the tool-bar's height to the minimum height
26849 that is needed to make all tool-bar items visible. 26623 that is needed to make all tool-bar items visible.
26850 If value is `grow-only', the tool-bar's height is only increased 26624 If value is `grow-only', the tool-bar's height is only increased
26851 automatically; to decrease the tool-bar height, use \\[recenter]. */); 26625 automatically; to decrease the tool-bar height, use \\[recenter]. */);
26852 Vauto_resize_tool_bars = Qt; 26626 Vauto_resize_tool_bars = Qt;
26853 26627
26854 DEFVAR_BOOL ("auto-raise-tool-bar-buttons", &auto_raise_tool_bar_buttons_p, 26628 DEFVAR_BOOL ("auto-raise-tool-bar-buttons", auto_raise_tool_bar_buttons_p,
26855 doc: /* *Non-nil means raise tool-bar buttons when the mouse moves over them. */); 26629 doc: /* *Non-nil means raise tool-bar buttons when the mouse moves over them. */);
26856 auto_raise_tool_bar_buttons_p = 1; 26630 auto_raise_tool_bar_buttons_p = 1;
26857 26631
26858 DEFVAR_BOOL ("make-cursor-line-fully-visible", &make_cursor_line_fully_visible_p, 26632 DEFVAR_BOOL ("make-cursor-line-fully-visible", make_cursor_line_fully_visible_p,
26859 doc: /* *Non-nil means to scroll (recenter) cursor line if it is not fully visible. */); 26633 doc: /* *Non-nil means to scroll (recenter) cursor line if it is not fully visible. */);
26860 make_cursor_line_fully_visible_p = 1; 26634 make_cursor_line_fully_visible_p = 1;
26861 26635
26862 DEFVAR_LISP ("tool-bar-border", &Vtool_bar_border, 26636 DEFVAR_LISP ("tool-bar-border", Vtool_bar_border,
26863 doc: /* *Border below tool-bar in pixels. 26637 doc: /* *Border below tool-bar in pixels.
26864 If an integer, use it as the height of the border. 26638 If an integer, use it as the height of the border.
26865 If it is one of `internal-border-width' or `border-width', use the 26639 If it is one of `internal-border-width' or `border-width', use the
26866 value of the corresponding frame parameter. 26640 value of the corresponding frame parameter.
26867 Otherwise, no border is added below the tool-bar. */); 26641 Otherwise, no border is added below the tool-bar. */);
26868 Vtool_bar_border = Qinternal_border_width; 26642 Vtool_bar_border = Qinternal_border_width;
26869 26643
26870 DEFVAR_LISP ("tool-bar-button-margin", &Vtool_bar_button_margin, 26644 DEFVAR_LISP ("tool-bar-button-margin", Vtool_bar_button_margin,
26871 doc: /* *Margin around tool-bar buttons in pixels. 26645 doc: /* *Margin around tool-bar buttons in pixels.
26872 If an integer, use that for both horizontal and vertical margins. 26646 If an integer, use that for both horizontal and vertical margins.
26873 Otherwise, value should be a pair of integers `(HORZ . VERT)' with 26647 Otherwise, value should be a pair of integers `(HORZ . VERT)' with
26874 HORZ specifying the horizontal margin, and VERT specifying the 26648 HORZ specifying the horizontal margin, and VERT specifying the
26875 vertical margin. */); 26649 vertical margin. */);
26876 Vtool_bar_button_margin = make_number (DEFAULT_TOOL_BAR_BUTTON_MARGIN); 26650 Vtool_bar_button_margin = make_number (DEFAULT_TOOL_BAR_BUTTON_MARGIN);
26877 26651
26878 DEFVAR_INT ("tool-bar-button-relief", &tool_bar_button_relief, 26652 DEFVAR_INT ("tool-bar-button-relief", tool_bar_button_relief,
26879 doc: /* *Relief thickness of tool-bar buttons. */); 26653 doc: /* *Relief thickness of tool-bar buttons. */);
26880 tool_bar_button_relief = DEFAULT_TOOL_BAR_BUTTON_RELIEF; 26654 tool_bar_button_relief = DEFAULT_TOOL_BAR_BUTTON_RELIEF;
26881 26655
26882 DEFVAR_LISP ("tool-bar-style", &Vtool_bar_style, 26656 DEFVAR_LISP ("tool-bar-style", Vtool_bar_style,
26883 doc: /* Tool bar style to use. 26657 doc: /* Tool bar style to use.
26884 It can be one of 26658 It can be one of
26885 image - show images only 26659 image - show images only
26886 text - show text only 26660 text - show text only
26887 both - show both, text below image 26661 both - show both, text below image
26888 both-horiz - show text to the right of the image 26662 both-horiz - show text to the right of the image
26889 text-image-horiz - show text to the left of the image 26663 text-image-horiz - show text to the left of the image
26890 any other - use system default or image if no system default. */); 26664 any other - use system default or image if no system default. */);
26891 Vtool_bar_style = Qnil; 26665 Vtool_bar_style = Qnil;
26892 26666
26893 DEFVAR_INT ("tool-bar-max-label-size", &tool_bar_max_label_size, 26667 DEFVAR_INT ("tool-bar-max-label-size", tool_bar_max_label_size,
26894 doc: /* *Maximum number of characters a label can have to be shown. 26668 doc: /* *Maximum number of characters a label can have to be shown.
26895 The tool bar style must also show labels for this to have any effect, see 26669 The tool bar style must also show labels for this to have any effect, see
26896 `tool-bar-style'. */); 26670 `tool-bar-style'. */);
26897 tool_bar_max_label_size = DEFAULT_TOOL_BAR_LABEL_SIZE; 26671 tool_bar_max_label_size = DEFAULT_TOOL_BAR_LABEL_SIZE;
26898 26672
26899 DEFVAR_LISP ("fontification-functions", &Vfontification_functions, 26673 DEFVAR_LISP ("fontification-functions", Vfontification_functions,
26900 doc: /* List of functions to call to fontify regions of text. 26674 doc: /* List of functions to call to fontify regions of text.
26901 Each function is called with one argument POS. Functions must 26675 Each function is called with one argument POS. Functions must
26902 fontify a region starting at POS in the current buffer, and give 26676 fontify a region starting at POS in the current buffer, and give
26903 fontified regions the property `fontified'. */); 26677 fontified regions the property `fontified'. */);
26904 Vfontification_functions = Qnil; 26678 Vfontification_functions = Qnil;
26905 Fmake_variable_buffer_local (Qfontification_functions); 26679 Fmake_variable_buffer_local (Qfontification_functions);
26906 26680
26907 DEFVAR_BOOL ("unibyte-display-via-language-environment", 26681 DEFVAR_BOOL ("unibyte-display-via-language-environment",
26908 &unibyte_display_via_language_environment, 26682 unibyte_display_via_language_environment,
26909 doc: /* *Non-nil means display unibyte text according to language environment. 26683 doc: /* *Non-nil means display unibyte text according to language environment.
26910 Specifically, this means that raw bytes in the range 160-255 decimal 26684 Specifically, this means that raw bytes in the range 160-255 decimal
26911 are displayed by converting them to the equivalent multibyte characters 26685 are displayed by converting them to the equivalent multibyte characters
26912 according to the current language environment. As a result, they are 26686 according to the current language environment. As a result, they are
26913 displayed according to the current fontset. 26687 displayed according to the current fontset.
26914 26688
26915 Note that this variable affects only how these bytes are displayed, 26689 Note that this variable affects only how these bytes are displayed,
26916 but does not change the fact they are interpreted as raw bytes. */); 26690 but does not change the fact they are interpreted as raw bytes. */);
26917 unibyte_display_via_language_environment = 0; 26691 unibyte_display_via_language_environment = 0;
26918 26692
26919 DEFVAR_LISP ("max-mini-window-height", &Vmax_mini_window_height, 26693 DEFVAR_LISP ("max-mini-window-height", Vmax_mini_window_height,
26920 doc: /* *Maximum height for resizing mini-windows. 26694 doc: /* *Maximum height for resizing mini-windows.
26921 If a float, it specifies a fraction of the mini-window frame's height. 26695 If a float, it specifies a fraction of the mini-window frame's height.
26922 If an integer, it specifies a number of lines. */); 26696 If an integer, it specifies a number of lines. */);
26923 Vmax_mini_window_height = make_float (0.25); 26697 Vmax_mini_window_height = make_float (0.25);
26924 26698
26925 DEFVAR_LISP ("resize-mini-windows", &Vresize_mini_windows, 26699 DEFVAR_LISP ("resize-mini-windows", Vresize_mini_windows,
26926 doc: /* *How to resize mini-windows. 26700 doc: /* *How to resize mini-windows.
26927 A value of nil means don't automatically resize mini-windows. 26701 A value of nil means don't automatically resize mini-windows.
26928 A value of t means resize them to fit the text displayed in them. 26702 A value of t means resize them to fit the text displayed in them.
26929 A value of `grow-only', the default, means let mini-windows grow 26703 A value of `grow-only', the default, means let mini-windows grow
26930 only, until their display becomes empty, at which point the windows 26704 only, until their display becomes empty, at which point the windows
26931 go back to their normal size. */); 26705 go back to their normal size. */);
26932 Vresize_mini_windows = Qgrow_only; 26706 Vresize_mini_windows = Qgrow_only;
26933 26707
26934 DEFVAR_LISP ("blink-cursor-alist", &Vblink_cursor_alist, 26708 DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist,
26935 doc: /* Alist specifying how to blink the cursor off. 26709 doc: /* Alist specifying how to blink the cursor off.
26936 Each element has the form (ON-STATE . OFF-STATE). Whenever the 26710 Each element has the form (ON-STATE . OFF-STATE). Whenever the
26937 `cursor-type' frame-parameter or variable equals ON-STATE, 26711 `cursor-type' frame-parameter or variable equals ON-STATE,
26938 comparing using `equal', Emacs uses OFF-STATE to specify 26712 comparing using `equal', Emacs uses OFF-STATE to specify
26939 how to blink it off. ON-STATE and OFF-STATE are values for 26713 how to blink it off. ON-STATE and OFF-STATE are values for
26941 26715
26942 If a frame's ON-STATE has no entry in this list, 26716 If a frame's ON-STATE has no entry in this list,
26943 the frame's other specifications determine how to blink the cursor off. */); 26717 the frame's other specifications determine how to blink the cursor off. */);
26944 Vblink_cursor_alist = Qnil; 26718 Vblink_cursor_alist = Qnil;
26945 26719
26946 DEFVAR_BOOL ("auto-hscroll-mode", &automatic_hscrolling_p, 26720 DEFVAR_BOOL ("auto-hscroll-mode", automatic_hscrolling_p,
26947 doc: /* Allow or disallow automatic horizontal scrolling of windows. 26721 doc: /* Allow or disallow automatic horizontal scrolling of windows.
26948 If non-nil, windows are automatically scrolled horizontally to make 26722 If non-nil, windows are automatically scrolled horizontally to make
26949 point visible. */); 26723 point visible. */);
26950 automatic_hscrolling_p = 1; 26724 automatic_hscrolling_p = 1;
26951 Qauto_hscroll_mode = intern_c_string ("auto-hscroll-mode"); 26725 Qauto_hscroll_mode = intern_c_string ("auto-hscroll-mode");
26952 staticpro (&Qauto_hscroll_mode); 26726 staticpro (&Qauto_hscroll_mode);
26953 26727
26954 DEFVAR_INT ("hscroll-margin", &hscroll_margin, 26728 DEFVAR_INT ("hscroll-margin", hscroll_margin,
26955 doc: /* *How many columns away from the window edge point is allowed to get 26729 doc: /* *How many columns away from the window edge point is allowed to get
26956 before automatic hscrolling will horizontally scroll the window. */); 26730 before automatic hscrolling will horizontally scroll the window. */);
26957 hscroll_margin = 5; 26731 hscroll_margin = 5;
26958 26732
26959 DEFVAR_LISP ("hscroll-step", &Vhscroll_step, 26733 DEFVAR_LISP ("hscroll-step", Vhscroll_step,
26960 doc: /* *How many columns to scroll the window when point gets too close to the edge. 26734 doc: /* *How many columns to scroll the window when point gets too close to the edge.
26961 When point is less than `hscroll-margin' columns from the window 26735 When point is less than `hscroll-margin' columns from the window
26962 edge, automatic hscrolling will scroll the window by the amount of columns 26736 edge, automatic hscrolling will scroll the window by the amount of columns
26963 determined by this variable. If its value is a positive integer, scroll that 26737 determined by this variable. If its value is a positive integer, scroll that
26964 many columns. If it's a positive floating-point number, it specifies the 26738 many columns. If it's a positive floating-point number, it specifies the
26972 26746
26973 Note that the lower bound for automatic hscrolling specified by `scroll-left' 26747 Note that the lower bound for automatic hscrolling specified by `scroll-left'
26974 and `scroll-right' overrides this variable's effect. */); 26748 and `scroll-right' overrides this variable's effect. */);
26975 Vhscroll_step = make_number (0); 26749 Vhscroll_step = make_number (0);
26976 26750
26977 DEFVAR_BOOL ("message-truncate-lines", &message_truncate_lines, 26751 DEFVAR_BOOL ("message-truncate-lines", message_truncate_lines,
26978 doc: /* If non-nil, messages are truncated instead of resizing the echo area. 26752 doc: /* If non-nil, messages are truncated instead of resizing the echo area.
26979 Bind this around calls to `message' to let it take effect. */); 26753 Bind this around calls to `message' to let it take effect. */);
26980 message_truncate_lines = 0; 26754 message_truncate_lines = 0;
26981 26755
26982 DEFVAR_LISP ("menu-bar-update-hook", &Vmenu_bar_update_hook, 26756 DEFVAR_LISP ("menu-bar-update-hook", Vmenu_bar_update_hook,
26983 doc: /* Normal hook run to update the menu bar definitions. 26757 doc: /* Normal hook run to update the menu bar definitions.
26984 Redisplay runs this hook before it redisplays the menu bar. 26758 Redisplay runs this hook before it redisplays the menu bar.
26985 This is used to update submenus such as Buffers, 26759 This is used to update submenus such as Buffers,
26986 whose contents depend on various data. */); 26760 whose contents depend on various data. */);
26987 Vmenu_bar_update_hook = Qnil; 26761 Vmenu_bar_update_hook = Qnil;
26988 26762
26989 DEFVAR_LISP ("menu-updating-frame", &Vmenu_updating_frame, 26763 DEFVAR_LISP ("menu-updating-frame", Vmenu_updating_frame,
26990 doc: /* Frame for which we are updating a menu. 26764 doc: /* Frame for which we are updating a menu.
26991 The enable predicate for a menu binding should check this variable. */); 26765 The enable predicate for a menu binding should check this variable. */);
26992 Vmenu_updating_frame = Qnil; 26766 Vmenu_updating_frame = Qnil;
26993 26767
26994 DEFVAR_BOOL ("inhibit-menubar-update", &inhibit_menubar_update, 26768 DEFVAR_BOOL ("inhibit-menubar-update", inhibit_menubar_update,
26995 doc: /* Non-nil means don't update menu bars. Internal use only. */); 26769 doc: /* Non-nil means don't update menu bars. Internal use only. */);
26996 inhibit_menubar_update = 0; 26770 inhibit_menubar_update = 0;
26997 26771
26998 DEFVAR_LISP ("wrap-prefix", &Vwrap_prefix, 26772 DEFVAR_LISP ("wrap-prefix", Vwrap_prefix,
26999 doc: /* Prefix prepended to all continuation lines at display time. 26773 doc: /* Prefix prepended to all continuation lines at display time.
27000 The value may be a string, an image, or a stretch-glyph; it is 26774 The value may be a string, an image, or a stretch-glyph; it is
27001 interpreted in the same way as the value of a `display' text property. 26775 interpreted in the same way as the value of a `display' text property.
27002 26776
27003 This variable is overridden by any `wrap-prefix' text or overlay 26777 This variable is overridden by any `wrap-prefix' text or overlay
27007 Vwrap_prefix = Qnil; 26781 Vwrap_prefix = Qnil;
27008 staticpro (&Qwrap_prefix); 26782 staticpro (&Qwrap_prefix);
27009 Qwrap_prefix = intern_c_string ("wrap-prefix"); 26783 Qwrap_prefix = intern_c_string ("wrap-prefix");
27010 Fmake_variable_buffer_local (Qwrap_prefix); 26784 Fmake_variable_buffer_local (Qwrap_prefix);
27011 26785
27012 DEFVAR_LISP ("line-prefix", &Vline_prefix, 26786 DEFVAR_LISP ("line-prefix", Vline_prefix,
27013 doc: /* Prefix prepended to all non-continuation lines at display time. 26787 doc: /* Prefix prepended to all non-continuation lines at display time.
27014 The value may be a string, an image, or a stretch-glyph; it is 26788 The value may be a string, an image, or a stretch-glyph; it is
27015 interpreted in the same way as the value of a `display' text property. 26789 interpreted in the same way as the value of a `display' text property.
27016 26790
27017 This variable is overridden by any `line-prefix' text or overlay 26791 This variable is overridden by any `line-prefix' text or overlay
27021 Vline_prefix = Qnil; 26795 Vline_prefix = Qnil;
27022 staticpro (&Qline_prefix); 26796 staticpro (&Qline_prefix);
27023 Qline_prefix = intern_c_string ("line-prefix"); 26797 Qline_prefix = intern_c_string ("line-prefix");
27024 Fmake_variable_buffer_local (Qline_prefix); 26798 Fmake_variable_buffer_local (Qline_prefix);
27025 26799
27026 DEFVAR_BOOL ("inhibit-eval-during-redisplay", &inhibit_eval_during_redisplay, 26800 DEFVAR_BOOL ("inhibit-eval-during-redisplay", inhibit_eval_during_redisplay,
27027 doc: /* Non-nil means don't eval Lisp during redisplay. */); 26801 doc: /* Non-nil means don't eval Lisp during redisplay. */);
27028 inhibit_eval_during_redisplay = 0; 26802 inhibit_eval_during_redisplay = 0;
27029 26803
27030 DEFVAR_BOOL ("inhibit-free-realized-faces", &inhibit_free_realized_faces, 26804 DEFVAR_BOOL ("inhibit-free-realized-faces", inhibit_free_realized_faces,
27031 doc: /* Non-nil means don't free realized faces. Internal use only. */); 26805 doc: /* Non-nil means don't free realized faces. Internal use only. */);
27032 inhibit_free_realized_faces = 0; 26806 inhibit_free_realized_faces = 0;
27033 26807
27034 #if GLYPH_DEBUG 26808 #if GLYPH_DEBUG
27035 DEFVAR_BOOL ("inhibit-try-window-id", &inhibit_try_window_id, 26809 DEFVAR_BOOL ("inhibit-try-window-id", inhibit_try_window_id,
27036 doc: /* Inhibit try_window_id display optimization. */); 26810 doc: /* Inhibit try_window_id display optimization. */);
27037 inhibit_try_window_id = 0; 26811 inhibit_try_window_id = 0;
27038 26812
27039 DEFVAR_BOOL ("inhibit-try-window-reusing", &inhibit_try_window_reusing, 26813 DEFVAR_BOOL ("inhibit-try-window-reusing", inhibit_try_window_reusing,
27040 doc: /* Inhibit try_window_reusing display optimization. */); 26814 doc: /* Inhibit try_window_reusing display optimization. */);
27041 inhibit_try_window_reusing = 0; 26815 inhibit_try_window_reusing = 0;
27042 26816
27043 DEFVAR_BOOL ("inhibit-try-cursor-movement", &inhibit_try_cursor_movement, 26817 DEFVAR_BOOL ("inhibit-try-cursor-movement", inhibit_try_cursor_movement,
27044 doc: /* Inhibit try_cursor_movement display optimization. */); 26818 doc: /* Inhibit try_cursor_movement display optimization. */);
27045 inhibit_try_cursor_movement = 0; 26819 inhibit_try_cursor_movement = 0;
27046 #endif /* GLYPH_DEBUG */ 26820 #endif /* GLYPH_DEBUG */
27047 26821
27048 DEFVAR_INT ("overline-margin", &overline_margin, 26822 DEFVAR_INT ("overline-margin", overline_margin,
27049 doc: /* *Space between overline and text, in pixels. 26823 doc: /* *Space between overline and text, in pixels.
27050 The default value is 2: the height of the overline (1 pixel) plus 1 pixel 26824 The default value is 2: the height of the overline (1 pixel) plus 1 pixel
27051 margin to the caracter height. */); 26825 margin to the caracter height. */);
27052 overline_margin = 2; 26826 overline_margin = 2;
27053 26827
27054 DEFVAR_INT ("underline-minimum-offset", 26828 DEFVAR_INT ("underline-minimum-offset",
27055 &underline_minimum_offset, 26829 underline_minimum_offset,
27056 doc: /* Minimum distance between baseline and underline. 26830 doc: /* Minimum distance between baseline and underline.
27057 This can improve legibility of underlined text at small font sizes, 26831 This can improve legibility of underlined text at small font sizes,
27058 particularly when using variable `x-use-underline-position-properties' 26832 particularly when using variable `x-use-underline-position-properties'
27059 with fonts that specify an UNDERLINE_POSITION relatively close to the 26833 with fonts that specify an UNDERLINE_POSITION relatively close to the
27060 baseline. The default value is 1. */); 26834 baseline. The default value is 1. */);
27061 underline_minimum_offset = 1; 26835 underline_minimum_offset = 1;
27062 26836
27063 DEFVAR_BOOL ("display-hourglass", &display_hourglass_p, 26837 DEFVAR_BOOL ("display-hourglass", display_hourglass_p,
27064 doc: /* Non-nil means show an hourglass pointer, when Emacs is busy. 26838 doc: /* Non-nil means show an hourglass pointer, when Emacs is busy.
27065 This feature only works when on a window system that can change 26839 This feature only works when on a window system that can change
27066 cursor shapes. */); 26840 cursor shapes. */);
27067 display_hourglass_p = 1; 26841 display_hourglass_p = 1;
27068 26842
27069 DEFVAR_LISP ("hourglass-delay", &Vhourglass_delay, 26843 DEFVAR_LISP ("hourglass-delay", Vhourglass_delay,
27070 doc: /* *Seconds to wait before displaying an hourglass pointer when Emacs is busy. */); 26844 doc: /* *Seconds to wait before displaying an hourglass pointer when Emacs is busy. */);
27071 Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY); 26845 Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY);
27072 26846
27073 hourglass_atimer = NULL; 26847 hourglass_atimer = NULL;
27074 hourglass_shown_p = 0; 26848 hourglass_shown_p = 0;
27084 Setting this variable twice is harmless. 26858 Setting this variable twice is harmless.
27085 But don't staticpro it here--that is done in alloc.c. */ 26859 But don't staticpro it here--that is done in alloc.c. */
27086 Qchar_table_extra_slots = intern_c_string ("char-table-extra-slots"); 26860 Qchar_table_extra_slots = intern_c_string ("char-table-extra-slots");
27087 Fput (Qglyphless_char_display, Qchar_table_extra_slots, make_number (1)); 26861 Fput (Qglyphless_char_display, Qchar_table_extra_slots, make_number (1));
27088 26862
27089 DEFVAR_LISP ("glyphless-char-display", &Vglyphless_char_display, 26863 DEFVAR_LISP ("glyphless-char-display", Vglyphless_char_display,
27090 doc: /* Char-table to control displaying of glyphless characters. 26864 doc: /* Char-table to control displaying of glyphless characters.
27091 Each element, if non-nil, is an ASCII acronym string (displayed in a box) 26865 Each element, if non-nil, is an ASCII acronym string (displayed in a box)
27092 or one of these symbols: 26866 or one of these symbols:
27093 hex-code: display the hexadecimal code of a character in a box 26867 hex-code: display the hexadecimal code of a character in a box
27094 empty-box: display as an empty box 26868 empty-box: display as an empty box