(x_scroll_bar_create): Don't clear under scroll bar
here.
(XTset_vertical_scroll_bar): Clarify position computations. Clear
under newly created scroll bar. Put toolkit scroll bars in the
middle of the area reserved for the scroll bar.
(count_combining_composition): New function.
(count_combining_before): Adjust the way to check byte-combining
possibility for the new handling of multibyte sequence. Call
count_combining_composition for a composite character.
(count_combining_after): Likewise.
(SPLIT_COMPOSITE_SEQ): New macro.
(SPLIT_CHARACTER_SEQ): New macro.
(SPLIT_MULTIBYTE_SEQ): New macro.
(CHAR_COMPONENT_VALID_P): New macro.
(non_ascii_char_to_string): Generate a multibyte sequence as far
as possible.
(string_to_non_ascii_char): The 4th arg exclude_tail_garbage is
deleted. Caller changed. Use the macro SPLIT_MULTIBYTE_SEQ.
(split_non_ascii_string): Likewise.
(multibyte_form_length): Use the macro PARSE_MULTIBYTE_SEQ.
(char_printable_p): New function.
(translate_char): Check character by NATNUMP instead of INTEGERP.
(unibyte_char_to_multibyte): Call char_valid_p instead of
VALID_MULTIBYTE_CHAR_P.
(Fmake_char_internal): Check the arguments more rigidly.
(Fcharset_after): Use the macro SPLIT_MULTIBYTE_SEQ.
(char_valid_p): Check the validity by CHAR_COMPONENT_VALID_P.
(Fmultibyte_char_to_unibyte): Check the validity of character by
CHAR_VALID_P.
(chars_in_text): Call multibyte_chars_in_text.
(multibyte_chars_in_text): Use the macro PARSE_MULTIBYTE_SEQ.
(Fcompose_string): Use the macro STRING_CHAR_AND_LENGTH instead of
STRING_CHAR_AND_CHAR_LENGTH (which is obsolete now).
(MAKE_NON_ASCII_CHAR): Handle the case that C1 or C2
are negative.
(MAKE_CHAR): Don't set MSBs of C1 and C2 to 0.
(VALID_MULTIBYTE_CHAR_P): This macro deleted.
(PARSE_COMPOSITE_SEQ): New macro.
(PARSE_CHARACTER_SEQ): New macro.
(PARSE_MULTIBYTE_SEQ): New macro.
(CHAR_PRINTABLE_P): New macro.
(STRING_CHAR): Adjusted for the change of string_to_non_ascii_char.
(STRING_CHAR_AND_LENGTH): Likewise.
(STRING_CHAR_AND_CHAR_LENGTH): Define it as STRING_CHAR_AND_LENGTH.
(INC_POS): Use the macro PARSE_MULTIBYTE_SEQ.
(DEC_POS, BUF_INC_POS, BUF_DEC_POS): Likewise,
Eli Zaretskii [Thu, 2 Sep 1999 12:05:07 +0000 (12:05 +0000)]
(shell-command, shell-command-on-region): Use
make-temp-name properly. Use small-temporary-file-directory if
non-nil, otherwise temporary-file-directory, to generate temporary
files.
Gerd Moellmann [Mon, 30 Aug 1999 23:14:40 +0000 (23:14 +0000)]
(FRAME_X_FLAGS_AREA_COLS): Define it as the total width
of both margins.
(FRAME_X_FLAGS_AREA_WIDTH): Likewise.
(FRAME_X_LEFT_FLAGS_AREA_WIDTH): New.
(FRAME_X_RIGHT_FLAGS_AREA_WIDTH): New.
Gerd Moellmann [Mon, 30 Aug 1999 23:14:28 +0000 (23:14 +0000)]
(window_box_width): Use FRAME_FLAGS_AREA_COLS instead of
2 * that value.
(window_box_left): Use FRAME_LEFT_FLAGS_AREA_WIDTH instead of
FRAME_FLAGS_AREA_WIDTH.
Gerd Moellmann [Mon, 30 Aug 1999 23:14:27 +0000 (23:14 +0000)]
(coordinates_in_window): Use
FRAME_LEFT_FLAGS_AREA_WIDTH instead of FRAME_FLAGS_AREA_WIDTH.
(window_internal_width): Subtract FRAME_FLAGS_AREA_WIDTH once
instead of twice.
(lisp_parse_state, back_comment, Fmodify_syntax_entry)
(Fforward_comment, scan_lists, scan_sexps_forward)
(Fparse_partial_sexp): Add support for nested comments.
(forw_comment): New subroutine used in them.
(bibtex-mode): Use with-temp-buffer rather than make-temp-name, use
match-string-no-properties, and eliminate a quadratic behavior when
building bibtex-strings.
(comint-input-ring-separator): New variable.
(comint-read-input-ring): Doc change; use
comint-input-ring-separator when reading file.
(comint-write-input-ring): Use comint-input-ring-separator when writing file.
[emacs]: Handle character classes for multibyte chars:
(ISBLANK, ISGRAPH, ISPRINT, ISALNUM, ISALPHA, ISLOWER)
(ISPUNCT, ISSPACE, ISUPPER): New definitions for emacs only.
(ISWORD): New macro.
(re_opcode_t): Add 2 bytes of flag bits to charset and charset_not.
(CHARSET_RANGE_TABLE): Update definition.
(CHARSET_RANGE_TABLE_BITS): New macro.
(print_partial_compiled_pattern): Skip charset's range table.
(struct range_table_work_area): New field `bits'.
(SET_RANGE_TABLE_WORK_AREA_BIT): New macro.
(BIT_ALNUM, BIT_ALPHA, BIT_WORD, BIT_GRAPH, BIT_LOWER, BIT_PRINT)
(BIT_PUNCT, BIT_SPACE, BIT_UPPER): New macros.
(CLEAR_RANGE_TABLE_WORK_USED): Clear field `bits'.
(RANGE_TABLE_WORK_BITS): New macro.
(IS_CHAR_CLASS): Check for "word".
(regex_compile): Set the `bits' field for some character classes.
Handle the `word' class. Store the `bits' field into the range table.
(re_compile_fastmap): Handle flag bits in range table.
(re_match_2_internal): For charset and charset_not,
handle flag bits in the range table.
(compilation-error-regexp-alist):
Fix the Perl -w entry to allow period after line number.
Don't allow newlines in file name, but allow them after line number
for Perl debugging traces.
(Info-tagify): Don't insert more than one newline before the tag table.
(Info-tagify): Start by widening.
Match node headers that don't list the file name,
and more kinds of page separations.
Strip properties during tagification.
Use start of node header line as tag's position.
Fix the "done" message.
(Info-validate): Save and restore match data around narrowing down.
(compilation-parsing-end,compilation-setup)
(compilation-filter, compilation-forget-errors)
(compilation-parse-errors): Use a marker instead of an integer for
`compilation-parsing-end'.
Ken Raeburn [Sat, 28 Aug 1999 22:15:12 +0000 (22:15 +0000)]
(struct Lisp_Cons, XCAR, XCDR, struct Lisp_Float): Change names of structure
elements if HIDE_LISP_IMPLEMENTATION is defined, to help detect code that uses
knowledge of the Lisp internals that it shouldn't have.
(XFLOAT_DATA): New macro.