1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00
Commit graph

11098 commits

Author SHA1 Message Date
Stefan Monnier
d80f42b736 *** empty log message *** 2000-03-27 09:51:45 +00:00
Gerd Moellmann
a698b3580e (struct buffer): Add cursor_type. 2000-03-27 09:46:30 +00:00
Stefan Monnier
0683b6fa90 (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
(print_partial_compiled_pattern, re_compile_fastmap): Handle new opcode.
(regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
(re_match_2_internal): Add code for on_failure_jump_nastyloop when
executing it as well as when popping it off the stack to find infinite
loops in non-greedy repetition operators.
2000-03-26 23:05:51 +00:00
Gerd Moellmann
3d4ff2dd8d *** empty log message *** 2000-03-26 19:33:04 +00:00
Gerd Moellmann
9191c8ae4e (Qfunction_documentation): New variable.
(syms_of_doc): Initialize Qfunction_documentation.
(Fdocumentation): If FUNCTION is a symbol with non-nil
`function-documentation' property, return a documentation derived
from that.
2000-03-26 19:32:02 +00:00
Gerd Moellmann
bd96bd79eb (syms_of_buffer): Add default-cursor-type.
(init_buffer_once): Don't let cursor_type have a local value
in every buffer.
2000-03-26 18:45:57 +00:00
Gerd Moellmann
19d1bc27d3 *** empty log message *** 2000-03-26 16:27:11 +00:00
Gerd Moellmann
bb2ec97602 (reset_buffer): Initialize buffer's cursor_type.
(init_buffer_once): Set default cursor_type value to t.
Mark cursor_type as local everywhere.
(syms_of_buffer): New per-buffer variable cursor-type.
2000-03-26 16:25:09 +00:00
Gerd Moellmann
f02d8aa0f6 (x_display_and_set_cursor): Choose cursor depending
on buffer-local value of cursor_type.
(x_draw_bar_cursor): Add parameter WIDTH.
2000-03-26 16:24:24 +00:00
Gerd Moellmann
89e8092896 *** empty log message *** 2000-03-26 14:13:40 +00:00
Gerd Moellmann
cf611f0100 (defvar_per_buffer): Use new macros for per-buffer
variables.
2000-03-26 14:09:59 +00:00
Gerd Moellmann
979332f67f (struct buffer): Remove member local_var_flags,
add local_flags.
(MAX_BUFFER_LOCAL_VARS): New macro.
(BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
(BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
(BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
(BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
2000-03-26 14:08:52 +00:00
Gerd Moellmann
c3279ad4ab (print_object): Use new macros for per-buffer
variables.
2000-03-26 14:08:22 +00:00
Gerd Moellmann
6f598a6d4f (Fset_category_table): Use new macros for per-buffer
variables.
2000-03-26 14:07:56 +00:00
Gerd Moellmann
7c02e886dd (buffer_permanent_local_flags): Make a char array.
(max_buffer_local_idx): New variable.
(reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
for new handling of per-buffer variables.
(buffer_slot_type_mismatch): Use new macros for per-buffer vars.
(init_buffer_once): Initialize per-buffer vars differently.
Set max_buffer_local_idx.
2000-03-26 14:07:30 +00:00
Gerd Moellmann
4e4dfa7817 (Fset_syntax_table): Use new macros for per-buffer
variables.
2000-03-26 14:06:41 +00:00
Gerd Moellmann
999b32fd11 (do_symval_forwarding, store_symval_forwarding)
(find_symbol_value, set_internal, default_value, Fset_default)
(Fkill_local_variable, Flocal_variable_p): Use new macros for
per-buffer variables.
2000-03-26 14:05:44 +00:00
Gerd Moellmann
8170b12578 (bootstrap-emacs): Use mv -f' instead of mv'. 2000-03-26 14:05:11 +00:00
Dave Love
e8c7d42455 (load-history): Fix doc string. 2000-03-25 12:37:51 +00:00
Gerd Moellmann
b68c375f83 *** empty log message *** 2000-03-24 22:56:35 +00:00
Gerd Moellmann
9b6ed9f3d0 (x_term_init): Unblock input around call1. 2000-03-24 22:54:35 +00:00
Gerd Moellmann
9a0dd3dcec *** empty log message *** 2000-03-24 20:56:46 +00:00
Gerd Moellmann
f4ed767fb5 (open_paren_in_column_0_is_defun_start): New variable.
(find_defun_start): Consider an open parenthesis in column 0
a defun start only if open_paren_in_column_0_is_defun_start is set.
(syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
2000-03-24 20:49:56 +00:00
Stefan Monnier
7973e637e4 * eval.c (Fautoload): Add entry in load-history (if after dump).
* lread.c (load-history): Update docstring.
2000-03-24 20:25:34 +00:00
Gerd Moellmann
39210e90ad (Fvertical_motion): Always use the current buffer.
Temporarily change the window's buffer, if necessary.
2000-03-24 13:31:20 +00:00
Gerd Moellmann
72db3ab5d7 *** empty log message *** 2000-03-23 12:00:47 +00:00
Gerd Moellmann
4b0bb6f3a9 (fast_find_position): Make sure not to consider rows
not visible in the window.
2000-03-23 11:49:14 +00:00
Stefan Monnier
990b2375eb (enum syntaxcode): Provide default for non-Emacs.
(re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
2000-03-23 04:36:34 +00:00
Jason Rumney
ff4df011b9 *** empty log message *** 2000-03-22 23:18:10 +00:00
Jason Rumney
7d8e57dac8 (single_submenu): Set help string to NULL if none.
(w32_menu_show): Set help string correctly.
(add-menu-item): Set help string in MIIM_DATA for menu item.
Load SetMenuItemInfoA explicitly.
(w32_menu_display_help): New function.
2000-03-22 23:15:30 +00:00
Jason Rumney
126f2e3592 (w32_wnd_proc): Handle WM_MENUSELECT message.
(QCdata): Moved to xdisp.c.
Include fontset.h after dispextern.h.
(Fx_create_frame): Do not create fontset.
(w32_load_system_font): Doc fix.
(Fx_close_connection): Free full_name if it is not shared.
2000-03-22 22:29:41 +00:00
Jason Rumney
683e946edf Include frame.h and dispextern.h before fontset.h. 2000-03-22 21:50:25 +00:00
Jason Rumney
d703a6fd93 (w32bdf.obj): Update dependencies. 2000-03-22 21:46:29 +00:00
Ken Raeburn
439d5cb4f7 Changes towards better type safety regarding intervals, primarily
regarding the "parent" handle.  These just separate out the different
usages based on the type of parent (interval vs lisp object); later
changes will do type checking and enforcement.

	* intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
	(INT_LISPLIKE): New macro.
	(NULL_INTERVAL_P): Use it.
	(INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
	SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
	GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.

	* alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
	explicit references to "parent" field of struct interval and
	associated unclean type conversions.
	* intervals.c (create_root_interval, root_interval, rotate_right,
	rotate_left, balance_possible_root_interval, split_interval_right,
	split_interval_left, interval_start_pos, find_interval,
	next_interval, previous_interval, update_interval,
	adjust_intervals_for_insertion, delete_node, delete_interval,
	adjust_intervals_for_deletion, merge_interval_right,
	merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
	copy_intervals_to_string): Likewise.
	* intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
	Likewise.
	* syntax.c (update_syntax_table): Likewise.

	* intervals.c (reproduce_tree_obj): New function, like
	reproduce_tree but takes a Lisp_Object for the parent.  Declare
	with prototype.
	(graft_intervals_into_buffer): Use it when appropriate.
	(reproduce_tree): Declare with prototype.
	(balance_possible_root_interval): Check that the parent is a lisp
	object before trying to examine its type.
2000-03-22 21:44:05 +00:00
Dave Love
8908429398 (re_compile_fastmap, re_match_2_internal): Fix cast to re_opcode_t. 2000-03-22 14:25:38 +00:00
Gerd Moellmann
ee1c5b2188 *** empty log message *** 2000-03-22 12:17:51 +00:00
Gerd Moellmann
f9acb75ec0 (LIBS_TERMCAP): Undef. 2000-03-22 12:08:40 +00:00
Gerd Moellmann
d00b1b631f (lface_same_font_attributes_p): Compare font attributes
as strings only if both are known to be strings.
2000-03-22 12:08:11 +00:00
Stefan Monnier
1fb352e0f9 (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
definitions for non-Emacs compilation.
(enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
outside of `#ifdef emacs'.
(print_partial_compiled_pattern): Update.
(regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
(re_compile_fastmap): Merge handling of charset and charset_not (for
emacs and non-emacs compilation as well).
Similarly for (not)categoryspec and (not)syntaxspec.
Don't use the fastmap when reaching `anychar' since the added
complexity is not justified.
(re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
and (not)syntaxspec.  Merge (not)categoryspec.
2000-03-22 04:18:10 +00:00
Kenichi Handa
ff1a0d8e5b [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
FACE_FOR_CHAR): Define them differently for the configuration of
--without-x.
2000-03-22 01:58:18 +00:00
Kenichi Handa
fdaa1f77d0 *** empty log message *** 2000-03-22 01:51:06 +00:00
Dave Love
d152fb46e0 *** empty log message *** 2000-03-21 17:43:59 +00:00
Dave Love
755f47fed9 (Fset_fontset_font, Ffontset_font): Fix newlines in doc string. 2000-03-21 17:31:48 +00:00
Gerd Moellmann
d2cafc8c0a (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
(lface_fully_specified_p): Don't check contents of
LFACE_FONT_INDEX because that attribute is optional.
(realize_x_face): Remove now unwarranted xassert.
2000-03-21 16:13:31 +00:00
Kenichi Handa
6c4bfdc0b7 *** empty log message *** 2000-03-21 00:50:39 +00:00
Kenichi Handa
af8cb95c2e (fontset.o): Depend on dispextern.h. 2000-03-21 00:45:04 +00:00
Kenichi Handa
ee569018cb Include fontset.h after dispextern.h.
(x_per_char_metric): Don't try FONT->default_char.  Even if
pcm->width is zero, glyph bits may exist.
(x_encode_char): Always initialize char2b->byte1.
(x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
(x_get_glyph_face_and_encoding): New arg two_byte_p.  Caller
changed.
(x_append_glyph): Set glyph->glyph_not_available_p.
(x_produce_glyphs): Set it->glyph_not_available_p.  Don't set
it->charset.  Handle the case that per char metric is not
available.  If it->multibyte_p is zero and it->c is a multibyte
character, convert it to a unibyte character.
(struct glyph_string): Delete member `charset'.
(x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id.  Handle
the case that per char metric is not available correctly.
(x_fill_glyph_string): Handle the case that the specific glyph is
not available correctly.
(BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
(BUILD_COMPOSITE_GLYPH_STRING): Likewise.
(x_new_font): Call FS_LOAD_FONT, not fs_load_font.
(x_new_fontset): Call fontset_ascii to get ASCII font name of the
fontset.  Don't call FS_LOAD_FONT.
2000-03-21 00:43:55 +00:00
Kenichi Handa
3950634802 (Qx_charset_registry, Vface_default_registry):
Variables removed.
(clear_font_table, frame_update_line_height, load_face_font):
Adjusted for the change of fontset implementation.
(load_face_fontset_font): Function removed.
(pixel_point_size): New function.
(font_list): Argument type changed.  Caller changed.
(LFACE_FONT): New macro.
(check_lface_attrs): Check attr[LFACE_FONT_INDEX].
(set_lface_from_font_name): Type of arg FONTNAME is changed to
Lisp_Object.  Determine the font name by actually loading a font
by the specified pattern.  Set LFACE_FONT (lface) to the specified
pattern.  Even if a font is not found, don't try alternatives.
(Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
(set_font_frame_param): If `font' is specified in lface, use it.
(Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
(lface_same_font_attributes_p): Likewise.
(make_realized_face): Arguent changed.  Caller changed.  Set
face->ascii_face to face itself.
(free_realized_face): Free face->fontset if face is for ASCII.
(face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
deduce_unibyte_registry, x_charset_registry): Functions removed.
(free_realized_multibyte_face): New function.
(lookup_face, lookup_named_face, lookup_derived_face): Argument
changed.  Caller changed.
(try_font_list): Argument type changed.
(face_fontset): Check `font' slot of ATTRS, not `family' slot.
(choose_face_font): Argument changed.  Handle fontset properly.
(choose_face_fontset_font): Function removed.
(realize_default_face, realize_named_face): Don't remove the
former face here.
(realize_face): Argument changed.  Caller changed.  Remove face
with the arg former_face_id in advance.  Load font for the new
face.
(realize_x_face): Argument changed.  Caller changed.  For a
multibyte character, share fontset with base_face.  For a single
byte character, make a new realized fontset.  Don't load a font
here.
(realize_tty_face): Argument changed.  Caller changed.
(compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
(face_at_buffer_position): Don't check multibyte_p for returning
DEFAULT_FACE_ID.
(face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
FACE_SUITABLE_FOR_CHARSET_P.
(syms_of_xfaces): Remove code for Qx_charset_registry and
Vface_default_registry.
2000-03-21 00:43:10 +00:00
Kenichi Handa
6ecb43cedf (Fx_create_frame): Don't cal fs_register_fontset.
(x_create_tip_frame): Likewise.
(Fx_close_connection): Free full_name of font_info.
2000-03-21 00:42:32 +00:00
Kenichi Handa
980806b6cf (charset_at_position): Function removed.
(init_iterator): Don't set member charset of struct `it'.
(handle_face_prop, reseat_to_string, set_iterator_to_next,
next_element_from_display_vector, insert_left_trunc_glyphs):
Likewise.
(face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
FACE_FOR_CHARSET.
(get_next_display_element, append_space,
extend_face_to_end_of_line): Likewise.
2000-03-21 00:41:41 +00:00