1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-18 17:01:01 -08:00
Commit graph

10633 commits

Author SHA1 Message Date
Karl Heuer
942ea06da5 Include charset.h and fontset.h.
(Vx_pixel_size_width_font_regexp): New variable.
(x_set_font): Handle fontset.
(Fx_create_frame): Create fontsets in Vglobal_fontset_alist.
(Fx_list_fonts): Handle fontset.
(syms_of_xfns): Initialize Vx_pixel_size_width_font_regexp.
Setting callback functions for fontset handler.
1997-02-20 06:58:06 +00:00
Karl Heuer
a851706636 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.
1997-02-20 06:57:46 +00:00
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
Richard M. Stallman
7bf5e9e404 (scan_lists): Signal errors using scan-error.
(syms_of_syntax): Set up Qscan_error.
1997-02-10 09:47:12 +00:00
Richard M. Stallman
2d955a501c (Fminibuffer_message): New function.
(syms_of_minibuf): Set up Lisp function.
1997-02-10 09:46:16 +00:00
Richard M. Stallman
db98a733f2 (change_window_height): Take size from multiple siblings,
nearest ones first, when that can be done without deleting any of them.
1997-02-08 18:34:53 +00:00
Richard M. Stallman
9317a85d0f (scroll_preserve_screen_position): New variable.
(keys_of_window): Set up Lisp var.
(window_scroll): If scroll_preserve_screen_position is 0,
behave the old way (advancing point the minimum distance).
1997-02-08 15:50:17 +00:00
Richard M. Stallman
d331bcad5b (Feval_buffer): Doc fix. 1997-02-06 09:13:29 +00:00
Richard M. Stallman
509a8fcde8 (main): Don't extend stack limit too far. 1997-02-03 02:51:09 +00:00
Eli Zaretskii
917e56592f dos_rawgetc: When international keyboard doesn't have
to be supported, recognize Alt-key combinations even if the Alt
key is no longer pressed.
1997-02-02 15:41:27 +00:00
Richard M. Stallman
498e9ac35b (Vx_resource_class): New variable.
(syms_of_xfns): Set up Lisp variable.
(Fx_get_resource, x_window): Use Vx_resource_class.
(validate_x_resource_name): Ensure Vx_resource_class is a string.
1997-02-02 09:51:09 +00:00
Paul Eggert
98f1928d38 automatically generated from GPLed version 1997-02-02 01:50:06 +00:00
Richard M. Stallman
1b65c68491 Whitespace change. 1997-02-01 01:39:11 +00:00
Paul Eggert
bc1c9d7e6b (isnan): Define even if LISP_FLOAT_TYPE is not defined, since fmod
might need it.
(fmod): Ensure that the magnitude of the result does not exceed that
of the divisor, and that the sign of the result does not disagree with
that of the dividend.  This does not yield a
particularly accurate result, but at least it will be in the
range promised by fmod.
1997-01-28 04:51:45 +00:00
Paul Eggert
be65c2f46a Include <float.h> if STDC_HEADERS.
(DBL_MAX_10_EXP): Define if not defined; default is IEEE double.
(doprnt1): Allocate enough buffer space to handle very large floating
point numbers, or very large field widths or precisions.
Detect overflow in field widths or precisions.
1997-01-27 20:12:52 +00:00
Karl Heuer
f8e004fecb (HAVE_RINT, HAVE_CBRT): Add undefs. 1997-01-27 01:47:08 +00:00
Richard M. Stallman
74549846a6 (openp): Handle remote file names in path.
Don't use the path for an absolute name.
(Fload): Handle openp finding a remote file name.

(Qinhibit_file_name_operation): New variable.
(syms_of_lread): Initialize and staticpro.
(Fload): Bind inhibit-file-name-operation to nil.
1997-01-27 00:48:16 +00:00
Richard M. Stallman
05ef7169a0 (set_internal): New subroutine. New arg BINDFLAG.
Don't make a new buffer-local binding if BINDFLAG is 0.
(Fset): Use set_internal.
1997-01-25 20:19:30 +00:00
Richard M. Stallman
ab07bca08a (unbind_to, specbind): Use set_internal. 1997-01-25 20:19:07 +00:00