1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 02:51:31 -08:00
Commit graph

17001 commits

Author SHA1 Message Date
Karl Heuer
a4decb7fcd Include charset.h and coding.h.
(TS_end_italic_mode, TS_italic_mode, TS_bold_mode): New variables.
(TS_end_bold_mode, TS_end_underscore_mode): New variables.
(TS_underscore_mode): New variable.
(encode_terminal_code): New function.
(write_glyphs, insert_glyphs): Perform character code conversion
on output to a terminal.
(term_init): Initialize TS_bold_mode, TS_end_bold_mode,
TS_end_underscore_mode, and TS_underscore_mode.
1997-02-20 06:57:21 +00:00
Karl Heuer
e0b8ff939d (SET_RAW_SYNTAX_ENTRY): Handle syntax of multibyte
characters.
(SYNTAX_ENTRY_FOLLOW_PARENT): New macro.
(SYNTAX_ENTRY): Handle syntax of multibyte characters.
(SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH): Don't signal error even
if a syntax entry is not cons.
1997-02-20 06:57:02 +00:00
Karl Heuer
93da5fff9b Include charset.h and category.h.
(Vsyntax_code_object): New variable.
(Fmodify_syntax_entry): Handle multibyte characters.  A multibyte
character in matching parenthesis is also handled correctly.  Use
shared object in the vector Vsyntax_code_object for an ASCII
character.
(describe_syntax): Handle a multibyte character in matching
parenthesis.
(describe_syntax_1): Describe also parent syntax tables.
(scan_words, Fforward_comment): Handle multibyte characters.
(scan_lists, char_quoted, Fbackward_prefix_chars): Likewise.
(scan_sexps_forward): Likewise.
(init_syntax_once): Initialize Vsyntax_code_object.
Initialize Vstandard_syntax_table by share objects in
Vsyntax_code_object.
(syms_of_syntax): Staticpro Vsyntax_code_object.
1997-02-20 06:56:29 +00:00
Karl Heuer
ed975f8740 (BASE_PURESIZE): Increase. 1997-02-20 06:54:58 +00:00
Karl Heuer
3b92c4f5bf (struct Lisp_Process): New members
decode_coding_system, decoding_buf, encode_coding_system, and
encoding_buf.
1997-02-20 06:54:35 +00:00
Karl Heuer
0fa1789e78 Include charset.h and coding.h.
(proc_decode_coding_system, proc_encode_coding_system): New
variables.
(Fstart_process, create_process, Fopen_network_stream): Setup
coding systems for character code conversion.
(READ_CHILD_OUTPUT): New macro.
(read_process_output): Perform character code conversion of a
process output.
(send_process): Perform character code conversion of a text sent
to a process.
(Fset_process_coding_system, Fprocess_coding_system): New
functions.
(syms_of_process): Handle them.
1997-02-20 06:53:55 +00:00
Karl Heuer
087e3c465d Include charset.h.
(printchar, strout): Handle multibyte characters.
(print): Correct the value of size_in_chars of a bool vector.
1997-02-20 06:53:20 +00:00
Karl Heuer
d50a3d2ac7 Include charset.h.
(read_minibuf): Pay attention to multibyte characters in the arg
INITIAL while handling the arg BACKUP_N.
(scmp, Fminibuffer_complete_word): Handle multibyte characters.
1997-02-20 06:52:47 +00:00
Karl Heuer
fe0e03f370 Include charset.h.
(Vload_source_file_function): New variable.
(Fload): Call Vload_source_file_function if defined while loading
an Emacs Lisp source file.  */
(read_multibyte): New function.
(read_escape): Handle multibyte characters.
(read1): Correct the value of size_in_chars of a bool vector.
Handle the case `?' is followed by a multibyte character.
(Vload_source_file_function): New variable.
1997-02-20 06:52:14 +00:00
Karl Heuer
6b76855405 (CHARACTERBITS, GLYPH_MASK_REV_DIR): New macros.
(GLYPH_MASK_PADDING, GLYPH_MASK_FACE, GLYPH_MASK_CHAR): New macros.
[HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
Use CHARACTERBITS.
[!HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
New macros.
[!HAVE_FACES] (GLYPH_CHAR, GLYPH_FACE): Mask appropriate bits.
(Fcoding_system_p, Fcheck_coding_system): Declare external.
(Fread_coding_system, Fread_non_nil_coding_system): Likewise.
1997-02-20 06:51:43 +00:00
Karl Heuer
a98f1d1dbc Include charset.h.
(push_key_description): If enable-multibyte-characters is t, use
octal representation for a code of range 128..255 as binary.
(Ftext_char_description): Handle multibyte characters.
(describe_vector): Provide prettier description of a char table
which contains multibyte characters.
1997-02-20 06:51:14 +00:00
Karl Heuer
37cd9f309e (command_loop_1): Pay attention to a multibyte
character while handling forward-char and backward-char.
[!HAVE_NTGUI && XK_kana_A] (lispy_kana_keys): New variable.
[!HAVE_NTGUI] (lispy_function_keys): New variable.
(make_lispy_event) [XK_kana_A]: Handle kana keys.
1997-02-20 06:50:30 +00:00
Karl Heuer
469ff68001 Include charset.h.
(gap_left, gap_right): Put an anchor `\0' at the end of GAP.
(adjust_markers_for_insert): If any markers are adjusted, check
and fix the order of overlays in overlays_before.
(make_gap): Allocate an extra byte and set to `\0' for anchoring.
(insert1, insert_from_buffer_1): Put an anchor `\0' at the head of
GAP.
1997-02-20 06:50:03 +00:00
Karl Heuer
81d0083108 (struct frame): New member `fontset_data'.
(FRAME_MESSAGE_BUF_SIZE): New macro.
1997-02-20 06:49:29 +00:00
Karl Heuer
71025e5e1d Include "charset.h"
[HAVE_WINDOW_SYSTEM]: Include fontset.h.
(make_frame): Allocate member `fontset_data' of the struct frame.
(Fdelete_frame): Free the area for the member.
1997-02-20 06:49:05 +00:00
Karl Heuer
fb8106e8dd Include charset.h.
(Fchar_to_string, Fstring_to_char): Handle multibyte characters.
(Fsref): New function.
(Fgoto_char): Force point to be at a character boundary.
(Ffollowing_char, Fpreceding_char): Handle multibyte characters.
(Fchar_after): Handle multibyte characters.
(Fchar_before): New function.
(general_insert_function): New function.
(Finsert, Finsert_and_inherit, Finsert_before_markers): Use it.
(Finsert_char): Doc-string refer to markers of
before-insertion-type. Handle multibyte characters.
(Fsubst_char_in_region): Handle multibyte characters.
(Fchar_equal): Don't consider `case' of multibyte characters.
(syms_of_editfns): Handle the new function `char-before'.
1997-02-20 06:48:37 +00:00
Karl Heuer
a0ca925c4b Include charset.h.
(doprn1): Handle multibyte characters.
1997-02-20 06:48:14 +00:00
Karl Heuer
214acc5039 (DISP_CHAR_VECTOR): Always return nil for multibyte
characters.
1997-02-20 06:47:55 +00:00
Karl Heuer
dfbb1e90fc (struct face): New members `non_ascii_gc' and
`fontset'.
[HAVE_FACES]: New macros FACE_NON_ASCII_GC and FACE_FONTSET.
1997-02-20 06:47:37 +00:00
Karl Heuer
8313c4e7a8 Include charset.h.
(Qprocess): Now extern, not static.
(Faref, Faset): Enable indexing a char table by a multibyte
character.
1997-02-20 06:47:04 +00:00
Karl Heuer
9e4fd67ba1 Include charset.h.
(forward_point, Fforward_point): New functions.
(Fforward_char, Fdelete_char): Handle multibyte characters by
calling forward_point.
(Fdelete_backward_char): Pay attention to multibyte characters
in overwrite-mode.
(internal_self_insert): Handle self inserting a multibyte
character.
(syms_of_cmds): Handle the new function Fforward_point.
1997-02-20 06:46:40 +00:00
Karl Heuer
32d0864482 Include charset.h and coding.h.
(Fcall_process): Perform character code conversion of a process
arguments and the process output.
(Fcall_process_region): Encode coding of a text given to a
process.
1997-02-20 06:46:14 +00:00
Karl Heuer
40b2421cb0 (doc-string of `interactive'): Describe new code
letters `i', `z', and `Z'.
(Fcall_interactively): Handle them.
1997-02-20 06:45:50 +00:00
Karl Heuer
96b65d4ea9 (BEGV_ADDR, PT_ADDR, ZV_ADDR): Use macro POS_ADDR.
(Z_ADDR, BUF_GPT_ADDR, BUF_Z_ADDR): New macros.
(struct buffer): New members `category_table',
`direction_reserved', and `enable-multibyte-characters'.
(POS_ADDR): New macro used at all places instead of &FETCH_CHAR.
(FETCH_BYTE): New macro used at any places to check the argument
against an ASCII character.
(FETCH_MULTIBYTE_CHAR): New macro used at any places to get a
character code of the argument when it is known to be a multibyte
character.
(_fetch_multibyte_char_p, _fetch_multibyte_char_len): New
variables.
(FETCH_CHAR): Use macros FETCH_MULTIBYTE_CHAR and FETCH_BYTE.
1997-02-20 06:45:13 +00:00
Karl Heuer
3b06f8809c Include charset.h.
(Fget_buffer_create): Allocate an extra byte for a buffer, and
make it always 0 for anchoring.
(reset_buffer): Handle a new member `enable_multibyte_characters'
in the struct buffer.
(fix_overlay_before): New function.
(init_buffer_once): Handle new members in the struct buffer.
(syms_of_buffer): Declare new buffer local variables
`enable-multibyte-characters' and `direction-reserved'.
1997-02-20 06:44:32 +00:00
Karl Heuer
38a1965a3f (Fmake_char_table): Typo in doc-string fixed. Handle
the case that PURPOSE is nil (in a deeper char-table).
(Fmake_bool_vector): Make correct size of Lisp_Object for
bool-vector.
1997-02-20 06:43:51 +00:00
Karl Heuer
713c05740a The following changes are for new source codes related to Mule.
(XOBJ): Include fontset.o.
(obj): Include charset.o, coding.o, category.o, and ccl.o.
(lisp, shortlisp): Include Mule related elc files.
(buffer.o, cmds.o, dispnew.o, doprnt.o): Depend on charset.h.
(editfns.o, indent.o, insdel.o, keymap.o): Depend on charset.h.
(minibuf.o, xdips.o, xfaces.o, xselect.o): Depend on charset.h.
(data.o, print.o, lread.o): Depend on charset.h.
(callproc.o, fileio.o, process.o, term.o): Depend on charset.h and
coding.h.
(regex.o, search.o, syntax.o): Depend on charset.h and category.h.
(fontset.o): Depend on charset.h and fontset.h.
(xterm.o): Depend on charset.h, ccl.h, and fontset.h.
(category.o, ccl.o, charset.o, coding.o, fontset.o): New targets.
1997-02-20 06:43:16 +00:00
Karl Heuer
5a255667cc (Fpos_visible_in_window_p): Bug fix. Specify big
negative number for the argument TOHPOS of compute_motion().
We don't need to calculate to (HPOS==0), but can stop immediately
when VPOS pasts HEIGHT.
1997-02-20 06:42:13 +00:00
Karl Heuer
fafd594b01 (struct position): New member tab_offset to accumulate tab offset. 1997-02-20 06:41:36 +00:00
Karl Heuer
1c9241f53a (display_text_line): Introduce new local variable
rev_dir_bit to display right to left characters (not yet used).

(message): Use FRAME_MESSAGE_BUF_SIZE().
(redisplay_internal): Add canceling code for continuation at
wide-column.
(display_text_line): Don't just decrement left_edge->bufpos,
it may be multi-byte character, use DEC_POS instead.

(try_window): Change the way of calculation of tab
offset.  We now use val.tab_offset to maintain tab offset.
Removed local variable tab_offset.
(try_window_id): Likewise.

(pos_tab_offset): Return COL (Modulo is no longer valid).
Add the line to set tab_offset member.
Use pos.tab_offset.

(redisplay_window): Specify big negative number for TOHPOS
of compute_motion().
(try_window_id): Likewise.

(tri_window_id): Specify "1 << (BITS_PER_SHORT - 1)" to
express "Don't care".

Include charset.h, coding.h, and process.h.
(display_text_line): Handle multibyte characters.
(display_mode_line): Pay attention to wide-column characters.
(decode_mode_spec_coding): New function.
(decode_mode_spec): Handle %-constructs `%z' and `%Z' to print
coding system mnemonics.
(display_string): Handle multibyte characters.
1997-02-20 06:40:53 +00:00
Karl Heuer
a997a7ca07 (current_column_bol_cache): New variable. This makes
move_to_column faster.
(current_column): Set current_column_bol_cache.
(current_column_1): Likewise.
(Fmove_to_column): Use current_column_bol_cache.

(current_column): When the buffer may have multi-byte
characters, call current_column_1.
(compute_motion): Handle multi-byte characters.
(current_column_1): Likewise.
(Fmove_to_column): Likewise.

Include "charset.h".
(compute_motion): Remove the variable PREV_VPOS.
Introduce new local variables (multibyte, wide_column, prev_pos,
contin_hpos, prev_tab_offset) to handle multi-byte characters and
wide-column characters.

(pos_tab_offset): Specify "- (1 << (BITS_PER_SHORT - 1))"
to express big negative number (for consistency with xdisp.c).

(vmotion): Specify "1 << (BITS_PER_SHORT - 1)" to
express "Don't care".
1997-02-20 06:39:27 +00:00
Karl Heuer
24e86043a4 (direct_output_forward_char): #if-0-out redundant
check against truncated text at end of line.
Add giving-up for buffers with reverse direction.
(remake_frame_glyphs): Use FRAME_MESSAGE_BUF_SIZE()
instead of FRAME_WIDTH, as the message may include multi-byte
character and the length may be longer than width.
(width_run_cache_on_off): Disable width-run-cache when
multi-byte characters are enabled.
(skip_invisible): Don't put the boundary in the middle of
multibyte characters.

(direct_output_forward_char): Bug fix.  Add
XFASTINT (w->left) for losing cursor check.

Include charset.h.
(update_line): Handle wide-column characters.
1997-02-20 06:35:00 +00:00
Karl Heuer
f90080d4aa Require fontset. Create fontsets from
default-fontset-spec, X resources, and "-fn" command line
argument.
1997-02-20 05:51:26 +00:00
Karl Heuer
ee0a4f29f9 (sendmail-coding-system): New variable.
(sendmail-send-it): Perform code conversion on sending mail
according to sendmail-coding-system.
1997-02-20 05:50:19 +00:00
Karl Heuer
79501c8dd3 (x-get-selection): Set default data-type of selection
to COMPOUND_TEXT.
(selection-converter-alist): Add an entry for COMPOUND_TEXT.
1997-02-20 05:49:58 +00:00
Karl Heuer
d0c3269a29 (rmail-file-coding-system): New variable.
(rmail-insert-inbox-text): Perform character code conversion
according to rmail-file-coding-system.
(rmail-only-expunge): Pay attention to multibyte characters.
1997-02-20 05:49:08 +00:00
Karl Heuer
742d416fcc (occur): Pay attention to multibyte characters. 1997-02-20 05:48:39 +00:00
Karl Heuer
f8e2c40cde (show-paren-function): Handle multibyte characters. 1997-02-20 05:48:19 +00:00
Karl Heuer
51a02226c2 (mouse-set-font): Handle fontset. 1997-02-20 05:47:42 +00:00
Karl Heuer
5e14f0f5f1 Load mule specific files. 1997-02-20 05:47:23 +00:00
Karl Heuer
f46d509102 (isearch-mode-map): Define
isearch-toggle-input-method and
isearch-toggle-specified-input-method in the map.
(isearch-multibyte-characters-flag): New variable.
(isearch-mode): Initialize it to nil.
(isearch-printing-char): Handle multibyte characters.
(isearch-message-prefix): Include title of input method if
necessary in the prefix of message.
1997-02-20 05:46:22 +00:00
Karl Heuer
0634ea78a0 (help-with-tutorial): Prefix argument to specify a
language interactively.
1997-02-20 05:45:01 +00:00
Karl Heuer
82d0954a23 (find-file, find-file-other-window,
find-file-read-only, find-file-read-only-other-window,
find-file-read-only-other-frame, find-alternate-file-other-window,
find-alternate-file): With a prefix argument, enable users to
specify a coding system interactively.
(find-file-noselect): Describe optional arguments NOWARN and
RAWFILE in the doc-string.
(write-file, insert-file, append-to-file): Accept a prefix
argument to enable users to specify a coding system interactively.
(revert-buffer): Read an auto-saved file without any code
conversion.
1997-02-20 05:44:24 +00:00
Karl Heuer
9a06295dcf (debugger-mode): Disable multibyte character handling
in Debugger mode.
1997-02-20 05:41:01 +00:00
Karl Heuer
b8575ac32e (byte-compile-file): Write a compiled file without
any code conversion.
1997-02-20 05:40:01 +00:00
Karl Heuer
a8f15301e6 (update-file-autoloads): Read loaddefs.el without
any code conversion.
1997-02-20 05:39:18 +00:00
Karl Heuer
50ef36f521 (nnheader-insert-head): Handle the case that the
length of header is changed because of code conversion.
1997-02-20 05:38:08 +00:00
Karl Heuer
d5d99b8075 (kill-forward-chars, kill-backward-chars): Pay
attention to multibyte characters.
(what-cursor-position): With a prefix argument, print detailed
info of a character on cursor position.
(transpose-subr-1): Pay attention to multibyte characters.

(do-auto-fill): Handle `kinsoku' processing.
1997-02-20 05:35:12 +00:00
Karl Heuer
c9d611f447 (do-kinsoku): New variable.
(fill-region-as-paragraph): Handle `kinsoku' processing.
1997-02-20 05:33:51 +00:00
Eli Zaretskii
167d14181c (compile-mouse-goto-error): Move to end of line
before calling `compile-reinitialize-errors', so that it always
sees the entire filename.
1997-02-19 15:48:50 +00:00