| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
(skip_syntaxes): Fix previous change.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unibyte chars to multibyte.
(back_comment): Likewise.
(scan_words): Likewise.
(skip_chars): The arg syntaxp is deleted, and the code for
handling syntaxes is moved to skip_syntaxes. Callers changed.
Fix the case that the multibyteness of STRING and the current
buffer doesn't match.
(skip_syntaxes): New function.
(SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
SINGLE_BYTE_CHAR_P.
(Fforward_comment): Use FETCH_CHAR_AS_MULTIBYTE to convert unibyte
chars to multibyte.
(scan_lists): Likewise.
(Fbackward_prefix_chars): Likewise.
(scan_sexps_forward): Likewise.
|
| |
|
|
| |
different scripts constituting a work.
|
| |
|
|
|
|
| |
(syms_of_syntax): Declare it as a Lisp variable.
(scan_words): Call functions in Vnext_word_boundary_function_table
if any.
|
| | |
|
| |
|
|
|
|
|
|
| |
(syntax_parent_lookup): Deleted.
(Fmodify_syntax_entry): Accept a cons as CHAR.
(skip_chars): Adjusted for the new multibyte form.
(init_syntax_once): Call char_table_set_range instead of directly
accessing the structure of a char table.
|
| |
|
|
| |
(describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
|
| |
|
|
| |
(describe_syntax_1): Update call to describe_vector.
|
| |
|
|
|
|
| |
(Finternal_describe_syntax_value): Rename from describe_syntax.
Don't insert space at front and \n at the end.
(syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
(Fforward_comment): Don't skip quoted chars when going backward.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
properties as old_prop before deciding not to invalidate.
|
| |
|
|
|
| |
right Sstring syntax when jumping over strings.
(init_syntax_once): Use Smax rather than 13.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
(Fmodify_syntax_entry): Use it and document the ! and | fences.
(skip_chars, Fforward_comment): Remove unused variables.
(syms_of_syntax): Add defsubr for string-to-syntax.
|
| | |
|
| |
|
|
| |
multibyte char.
|
| |
|
|
|
|
| |
(back_comment): Check two-char comment markers more carefully
to better handle overlapping cases like *//* or /* */* */ ...
Match nestedness of ender/starter.
|
| |
|
|
| |
(Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
|
| | |
|
| |
|
|
|
| |
actually inside another comment as in: /* a // b */ c // d \n.
Make it clear that `comstart_pos' is unused for nested comments.
|
| |
|
|
| |
unibyte string consistent with that of regex search.
|
| | |
|
| | |
|
| |
|
|
| |
Fconstrain_to_field.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Obey open_paren_in_column_0_is_defun_start.
When reverting to the `slow' method, try to nicely handle the case
of nested comments by checking that the comment-starter we found
does indeed match the comment-ender.
(scan_sexps_forward, scan_sexps_forward):
Ignore excessive opening parenthesis rather than throwing an error.
|
| |
|
|
|
|
|
| |
the added benefit of handling multiple string-styles as long as
they are not nested).
Jump to the slow code as soon as a comment starter is found in
a "string_lossage" position. Fixes the case: " /* " /* " */.
|
| |
|
|
|
| |
Check the comstyle of single-char comment-starters.
Clarify control-flow around the Scomment case.
|
| |
|
|
|
|
|
| |
(Fforward_comment, scan_lists):
Check the comstyle of single-char comment-starters.
(scan_sexps_forward): Don't try to recognize `half comment-enders' if
we're just at the beginning of the comment (f.ex with (*) ... (*)).
|
| | |
|
| |
|
|
| |
open_paren_in_column_0_is_defun_start outside of the loop.
|
| | |
|
| |
|
|
| |
for handling per-buffer variables.
|
| |
|
|
| |
variables.
|
| |
|
|
|
|
| |
(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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
(syms_of_syntax): Declare it as a Lisp variable.
(SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
(scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
nonzero, treat all multibyte characters as symbol.
(init_syntax_once): Give syntax `word' to all mutlbiyte
characters.
|