Kenichi Handa [Thu, 27 Feb 1997 07:52:23 +0000 (07:52 +0000)]
(syms_of_fontset): Intern Qfontset. Declare new lisp
variable use-default-ascent.
(Vuse_default_ascent): New variable.
(Ffont_info): Return also the value of default-ascent of a font.
(fs_load_font): Disable updating fontsetp->height by
non-ASCII character sets. This should be enabled when Emacs
supports variable height lines.
(fs_load_font, Fset_fontset_font): Bug fix to cope
with the change of charsets to symbols.
Kenichi Handa [Thu, 27 Feb 1997 07:45:24 +0000 (07:45 +0000)]
(try_window_id): Display blank lines from the next
line, when xp.bufpos == ZV. (This bug is introduced by
changes of Mule).
Compare height against xp.vpos instead of xp.bufpos.
(display_mode_line): Avoid error while compiling with
--with-x=no.
(display_text_line): Correct displaying multi-column
binary data.
Kenichi Handa [Thu, 27 Feb 1997 06:53:04 +0000 (06:53 +0000)]
(dumpglyphs): Pay attention to characters registered in
use-default-ascent.
Fill background in advance if font has
non-zero _MULE_BASELINE_OFFSET property.
(x_load_font, x_term_init): Handle font property _MULE_DEFAULT_ASCENT.
Kenichi Handa [Wed, 26 Feb 1997 13:05:13 +0000 (13:05 +0000)]
(rmail-new-summary): Setup rmail-view-buffer.
(rmail-summary-line-decoder): New variable.
(rmail-make-summary-line-1): Use a function set in
rmail-summary-line-decoder.
(rmail-summary-next-msg): Display rmail-view-buffer.
(rmail-summary-mode): Make rmail-view-buffer buffer local.
(rmail-summary-rmail-update, rmail-summary-scroll-msg-up): Use
rmail-view-buffer instead of rmail-buffer.
Kenichi Handa [Wed, 26 Feb 1997 13:01:42 +0000 (13:01 +0000)]
(make-coding-system): For ISO-2022 type conding systems,
new flags INIT-BOL DESIGNATION-BOL are added.
(make-coding-system): Set charset (symbol) instead of
charset-id (integer) in FLAGS of ISO-2022 type coding systems.
Initialize a global variable use-default-ascent.
(define-coding-system-alias): Coding style changed.
Kenichi Handa [Wed, 26 Feb 1997 12:57:47 +0000 (12:57 +0000)]
(rmail-view-buffer, rmail-enable-mime, rmail-show-mime-function,
rmail-mime-feature): New variables to control MIME feature.
(rmail-file-coding-system): Initial value is nil.
(rmail, rmail-convert-file, rmail-insert-inbox-text): Check
rmail-enable-mime. Read a file without any code conversion.
(rmail-variables): Setup local variables rmail-buffer and rmail-view-buffer.
(rmail-decode-babyl-format, rmail-convert-babyl-format): Perform code
conversion of RMAIL file if rmail-enable-mime is nil.
(rmail-show-message): Make sure to be in rmail-buffer. If
rmail-enable-mime is t, call appropriate function to decode MIME
format.
(rmail-mail, rmail-reply): Call rmail-start-mail with argument
rmail-view-buffer.
Kenichi Handa [Wed, 26 Feb 1997 12:52:25 +0000 (12:52 +0000)]
Add INIT-BOL to coding system iso-2022-cjk.
Remove prefix "coding-system-" from coding system symbol names.
Change coding system names iso-2022-int to iso-2022-int-1,
iso-2022-int-2 to iso-2022-cjk.
Kenichi Handa [Wed, 26 Feb 1997 12:10:24 +0000 (12:10 +0000)]
(gnus-mule-decode-summary): The function implemented correctly.
(gnus-mule-initialize): Setup gnus-summary-generate-hook.
Remove prefix "coding-system-" from coding system symbol names.
Karl Heuer [Sun, 23 Feb 1997 08:47:57 +0000 (08:47 +0000)]
(popmail): Remove some unnecessary function
declarations.
(popmail, pop_retr): Since popmail always passes mbx_write and mbf
into pop_retr, there's no reason to pass in mbx_write, and the
file argument can be declared FILE * explicitly. This fixes a
compilation problem on systems with 64-bit pointers.
Karl Heuer [Sat, 22 Feb 1997 19:31:56 +0000 (19:31 +0000)]
(Fcopy_sequence, concat, internal_equal, Ffillarray):
Fix a bug of miscalculation of `size_in_chars' of a bool vector.
(Fset_char_table_range): When range is vector, make the original
char table deeper if necessary.
Karl Heuer [Sat, 22 Feb 1997 19:31:32 +0000 (19:31 +0000)]
Include charset.h and coding.h.
(READ_BUF_SIZE): New macro.
(Finsert_file_contents): Refer to a coding system in the docstring.
Perform character code conversion of a text read in.
(Fwrite_region): Refer to a coding system in the docstring.
Setup a coding system for character code conversion.
Pass a new arg `pre_write_conversion' (Lisp function) to
build_annotations.
Pass a new arg `coding' to a_write.
(build_annotations): Handle the new arg.
(a_write): Handle the new arg `coding' by passing it to e_write.
(WRITE_BUF_SIZE): New macro.
(e_write): Perform character code conversion of a text to write
out according to the new arg `coding'.
Eli Zaretskii [Thu, 20 Feb 1997 16:11:48 +0000 (16:11 +0000)]
(grep-process-setup): New function, sets up the
exit message function in a way that works when async processes
aren't supported.
(grep): Use `grep-process-setup'.
Karl Heuer [Thu, 20 Feb 1997 07:26:24 +0000 (07:26 +0000)]
Include category.h and charset.h.
(compile_pattern_1): Handle new argument `multibyte'.
(compile_pattern): Handle the flag `enable-multibyte-characters'.
(Vascii_downcase_table): Declare external.
(fast_string_match_ignore_case): New function.
(skip_chars): Handle multibyte characters.
(trivial_regexp_p): Handle regular expression "\\Cc" and "\\CC"
for category.
Karl Heuer [Thu, 20 Feb 1997 07:00:06 +0000 (07:00 +0000)]
(struct font_info): This definition is moved to
fontset.h.
(struct x_display_info): New members Xatom_PIXEL_SIZE,
Xatom_MULE_BASELINE_OFFSET, Xatom_RELATIVE_COMPOSE, and null_pixel.
(x_list_fonts, x_get_font_info, x_load_font, x_query_font):
Declare external.
(struct x_output): New members font_baseline and fontset.
(FRAME_FONTSET, FRAME_X_FONT_TABLE): New macros.
Karl Heuer [Thu, 20 Feb 1997 06:59:25 +0000 (06:59 +0000)]
Include charset.h, ccl.h, and fontset.h.
(PER_CHAR_METRIC): New macro.
(dumpglyphs): New argument CMPCHARP. Handle multibyte characters.
(XTwrite_glyphs, redraw_previous_char, redraw_following_char):
Supply argument CMPCHARP to dumpglyphs.
(dumprectangle): Display whole glyph of wide-column characters.
Supply argument CMPCHARP to dumpglyphs.
(show_mouse_face): Supply argument CMPCHARP to dumpglyphs.
(x_draw_box): Pay attention to wide-column characters.
(x_draw_single_glyph): Supply argument CMPCHARP to dumpglyphs.
(x_new_font): Call fs_load_font for actual font loading work.
(x_new_fontset): New function.
(x_get_font_info, x_list_fonts, x_load_font, x_query_font): New
functions providing API to fontset handler.
(x_term_init): Initialize several new members of struct x_display_info.
Karl Heuer [Thu, 20 Feb 1997 06:58:45 +0000 (06:58 +0000)]
Include charset.h and coding.h.
(QCOMPOUND_TEXT): New variable.
(symbol_to_x_atom): Handle it.
(selection_data_to_lisp_data): Decode a selection data if
selection type is TEXT or COMPOUND_TEXT.
(lisp_data_to_selection_data): Encode a text to COMPOUND_TEXT if
it contains multibyte characters.
(syms_of_xselect): Initialize and staticpro QCOMPOUND_TEXT.
Karl Heuer [Thu, 20 Feb 1997 06:57:46 +0000 (06:57 +0000)]
Include charset.h.
(allocate_face, copy_face, face_eq1): Handle member `fontset' of
struct face, i.e. initialize, copy, and check it.
(intern_face, clear_face_cache): Handle member `non_ascii_gc' of
struct face, i.e. initialize and free it.
(free_frame_faces): Unload font only when fontset is not used.
Free non_ascii_gc.
(frame_update_line_height, merge_faces, compute_base_face): Handle
fontset.
(recompute_base_faces): Free non_ascii_gc.
(Fset_face_attribute_internal): Handle fontset.
Karl Heuer [Thu, 20 Feb 1997 06:57:21 +0000 (06:57 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:57:02 +0000 (06:57 +0000)]
(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.
Karl Heuer [Thu, 20 Feb 1997 06:56:29 +0000 (06:56 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:53:55 +0000 (06:53 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:52:47 +0000 (06:52 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:52:14 +0000 (06:52 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:51:14 +0000 (06:51 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:50:30 +0000 (06:50 +0000)]
(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.
Karl Heuer [Thu, 20 Feb 1997 06:50:03 +0000 (06:50 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:49:05 +0000 (06:49 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:48:37 +0000 (06:48 +0000)]
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'.
Karl Heuer [Thu, 20 Feb 1997 06:46:40 +0000 (06:46 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:46:14 +0000 (06:46 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:45:13 +0000 (06:45 +0000)]
(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.
Karl Heuer [Thu, 20 Feb 1997 06:44:32 +0000 (06:44 +0000)]
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'.
Karl Heuer [Thu, 20 Feb 1997 06:43:51 +0000 (06:43 +0000)]
(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.
Karl Heuer [Thu, 20 Feb 1997 06:43:16 +0000 (06:43 +0000)]
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.
Karl Heuer [Thu, 20 Feb 1997 06:42:13 +0000 (06:42 +0000)]
(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.
Karl Heuer [Thu, 20 Feb 1997 06:40:53 +0000 (06:40 +0000)]
(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.
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.
Karl Heuer [Thu, 20 Feb 1997 06:39:27 +0000 (06:39 +0000)]
(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).