Commit graph

292 commits

Author SHA1 Message Date
Kenichi Handa
38edf7d458 (code_convert_region): If eol format is inconsistent,
change coding->symbol to the sibling coding system of Unix like
eol format.
1999-05-10 01:04:01 +00:00
Andrew Innes
716e0b0ab9 [andrewi]
(decode_eol): Set produced/consumed values to zero if
src_bytes is <= 0 on entry.

[handa]
(setup_raw_text_coding_system): Call
setup_coding_system to initialize the fields of struct
coding_system correctly.
1999-05-02 10:05:22 +00:00
Kenichi Handa
52d41803be Add comments for decode_coding and encode_coding. 1999-04-06 12:34:12 +00:00
Kenichi Handa
8dbb769e94 (encode_coding_iso2022): Initialize dummy arguments to
ENCODE_ISO_CHARACTER for the previous change on this macro.
1999-03-23 12:28:55 +00:00
Kenichi Handa
6f5510294b (ENCODE_ISO_CHARACTER): Check validity of CHARSET. If
invalid, produce the buffer internal byte sequence without
encoding.
1999-03-20 07:47:54 +00:00
Kenichi Handa
1f5dbf34c7 (setup_coding_system): Check for CODING_SYSTEM = nil. 1999-03-09 11:55:12 +00:00
Kenichi Handa
39787efd63 Comment for ISO 2022 encoding mechanism modified. 1999-03-01 11:52:54 +00:00
Kenichi Handa
9da8350f2e (Fdecode_sjis_char): In case of error, use %x for
formatting error message.
(Fdecode_big5_char): Likewise.
1999-02-18 12:52:07 +00:00
Kenichi Handa
c28a9453f6 (Fdecode_sjis_char, Fencode_sjis_char): Hanlde
ASCII correctly.  Signal error on invalid characters.
(Fdecode_big5_char, Fencode_big5_char): Likewise.
1999-02-16 01:38:01 +00:00
Kenichi Handa
a63063ae57 (decode_coding_iso2022): Don't set coding->composed_chars to 0 here.
(setup_coding_system): Set coding->composed_chars to 0 here.
1999-02-15 10:47:36 +00:00
Kenichi Handa
489427668f (ccl_coding_driver): On encoding, coding->produced_char
should be set to coding->produced.
1999-02-08 11:06:56 +00:00
Kenichi Handa
3efbce959e (encode_coding_iso2022): Before writing out an invalid
code, reset glaphic planes and registers if necessary.
1999-02-05 05:39:58 +00:00
Eli Zaretskii
7722baf9b3 (syms_of_coding): eol-mnemonic-* variables are now
strings, not characters.
1999-01-27 10:08:13 +00:00
Dave Love
94c7a21474 (syms_of_coding): Doc fix for inhibit-eol-conversion. 1999-01-25 19:00:50 +00:00
Kenichi Handa
55ab7be3ac (Fdecode_sjis_char): Decode Japanese Katakana character
correctly.
(Fencode_sjis_char): Encode Japanese Katakana character correctly.
1999-01-14 01:20:35 +00:00
Dave Love
f07f4a2430 (syms_of_coding): Doc fix for inhibit-eol-conversion. 1999-01-11 21:21:03 +00:00
Kenichi Handa
944bd42004 (DECODE_DESIGNATION): Jump to label_invalid_code if
final_char is invalid.
(decode_coding): If coding->type is coding_type_ccl, call
ccl_coding_driver even if SRC_BYTES is zero.
(code_convert_region): Update `inserted' correctly after calling
coding->post_read_conversion.  Even after the code converter
consumed all source text, call it once more if it is
coding_type_ccl to flush out data.
1998-12-15 04:35:38 +00:00
Kenichi Handa
d14d03ac4a (DECODE_CHARACTER_ASCII): Check validity of inserted
code.
(DECODE_CHARACTER_DIMENSION1): Likewise.
(DECODE_CHARACTER_DIMENSION2): Likewise.
(decode_coding_sjis_big5): Check the 2nd byte of SJIS correctly.
1998-10-28 07:52:13 +00:00
Kenichi Handa
0007bdd098 (code_convert_region): Kill the work buffer created by
pre-write-conversion.
1998-10-26 08:00:11 +00:00
Kenichi Handa
6abb9bd967 (code_convert_region): While preserving the orignal
point, pay attention to the byte combining problem.
1998-10-24 01:17:09 +00:00
Kenichi Handa
e133c8fabc (setup_coding_system): Fix setting up
coding->spec.ccl.valid_codes for CCL based coding system.
(code_convert_region): Set point to FROM before inserting the
result of pre-write-funciton.  Preserve original point.
(code_convert_string): If coding->type is coding_type_ccl, do
conversion even if the length of conversion region is zero.
1998-10-21 11:50:56 +00:00
Kenichi Handa
174a4cbee1 (decode_coding_iso2022): Set coding->fake_multibyte to
1 when encountered with a code of the range 0x80..0x9F.
1998-10-17 01:58:01 +00:00
Kenichi Handa
622fece532 (shrink_decoding_region): If a charset other than ascii
is initially designated to G0, don't shrink the region.
(shrink_encoding_region): Likewise.
1998-10-12 12:00:44 +00:00
Kenichi Handa
55d8d76935 (code_convert_region): Set inhibit_modification_hooks
to 1 before calling Fset_text_properties.
1998-10-08 06:48:42 +00:00
Kenichi Handa
88993dfd4e (check_composing_code): Fix previous change. Now it
alwasy returns 0 or -1.
(decode_coding_iso2022): Adjusted for the above change.
(encode_coding_iso2022): When encoding the last block, flush out
tailing garbage bytes.
(setup_coding_system): Delete unnecessary code.
(shrink_decoding_region): Check translation table.  If ASCII
should be translated, give up shrinking.
(shrink_encoding_region): Likewise.
(SHRINK_CONVERSION_REGION_THRESHHOLD): New macro.
(SHRINK_CONVERSION_REGION): New macro.
(code_convert_region): Call SHRINK_CONVERSION_REGION.  Delete text
properties here.
(code_convert_region): In the case of encoding, always calulate
correct character number.
(code_convert_string): Call SHRINK_CONVERSION_REGION.
(code_convert_region1): Don't delete text properties here.
(check_composing_code): Fix previous change.  Now it
alwasy returns 0 or -1.
(decode_coding_iso2022): Adjusted for the above change.
(encode_coding_iso2022): When encoding the last block, flush out
tailing garbage bytes.
(setup_coding_system): Delete unnecessary code.
(shrink_decoding_region): Check translation table.  If ASCII
should be translated, give up shrinking.
(shrink_encoding_region): Likewise.
(SHRINK_CONVERSION_REGION_THRESHHOLD): New macro.
(SHRINK_CONVERSION_REGION): New macro.
(code_convert_region): Call SHRINK_CONVERSION_REGION.  Delete text
properties here.
(code_convert_region): In the case of encoding, always calulate
correct character number.
(code_convert_string): Call SHRINK_CONVERSION_REGION.
(code_convert_region1): Don't delete text properties here.
1998-09-28 11:52:53 +00:00
Kenichi Handa
de79a6a5ed (check_composing_code): If the current composing
sequence doesn't end properly, return -1.
(DECODE_CHARACTER_ASCII): Update coding->composed_chars.
(DECODE_CHARACTER_DIMENSION1): Likewise.
(decode_coding_iso2022): Check validity of a composing sequence.
(code_convert_string): If the length of text to be converted is
shrunk to zero, don't perform code conversion.
(shrink_decoding_region): Fix previous change.
1998-09-26 04:20:48 +00:00
Kenichi Handa
fdfcf19d01 (decode_eol): While decoding DOS-like eol, handle a
single CR code correctly.
(shrink_decoding_region) <CODING_CATEGORY_IDX_ISO_7 or
CODING_CATEGORY_IDX_ISO_7_TIGHT>: Skip also 8-bit codes.
1998-09-25 07:32:05 +00:00
Kenichi Handa
9864ebcee4 (ccl_coding_driver): If ccl_driver is interrupted by a
user or the CCL program executed an invalid command, return
CODING_FINISH_INTERRUPT.
(code_convert_region): Pay attention to the converters return
value CODING_FINISH_NORMAL and CODING_FINISH_INTERRUPT.
1998-09-18 13:10:40 +00:00
Kenichi Handa
f2558efddd (code_convert_region): Update beg_unchanged and
end_unchanged after we delete the source text.
1998-09-16 07:21:31 +00:00
Kenichi Handa
69f7652519 (ccl_coding_driver): Always calculate correct mulibyte
chars in produced byte sequence.
(Ffind_operation_coding_system): Doc-string fixed.
1998-09-07 13:39:15 +00:00
Kenichi Handa
d4e57bcd5b (decode_coding): Even if SRC_BYTES is zero, try
processing if CODING requires flushing.
(encode_coding): Likewise.
(code_convert_region): Likewise.
(code_convert_string): Likewise.
1998-08-31 03:50:17 +00:00
Kenichi Handa
df2ddb2d28 (code_convert_region1): Remove all text properties of the region. 1998-08-28 12:33:52 +00:00
Kenichi Handa
ae9ff118cb (detect_coding_iso2022): Handle ESC N and ESC O
correctly.  They are for SS2 and SS3 respectively.
(ccl_coding_driver): Fix previous change.
1998-08-27 07:47:15 +00:00
Andreas Schwab
a85a871a33 (file-coding-system-alist, select-safe-coding-system-function): Doc fix. 1998-08-24 10:05:10 +00:00
Kenichi Handa
f46869e46f (detect_coding_iso2022): Don't check the byte length of
succeeding codes (0xa0..0xFF) if the codes follows single shit
code.
1998-08-24 06:42:56 +00:00
Kenichi Handa
25b026986f (detect_coding_system): If detect_eol_type returns
CODING_EOL_INCONSISTENT, set eol_type to CODING_EOL_UNDECIDED
correctly.
1998-08-21 06:34:13 +00:00
Kenichi Handa
7b179c2dc2 (ccl_coding_driver): Setup ccl->last_block properly.
(setup_coding_system): Correctly setup `valid_codes' member.
1998-08-18 13:15:18 +00:00
Kenichi Handa
89fa8b3669 (coding_category_name): Fix the order of initial
contents.
(detect_coding_mask): Fix previous change.
1998-08-15 01:28:14 +00:00
Kenichi Handa
6bc51348fd (default_buffer_file_coding): New variable.
(init_coding_once): Initialize default_buffer_file_coding.
1998-08-10 06:29:02 +00:00
Richard M. Stallman
f024b6aac0 (CHARSET_OK): Check that coding_system_table[IDX] != 0. 1998-08-09 05:28:02 +00:00
Richard M. Stallman
84d602979c Avoid using initializers for Lisp_Object. 1998-08-08 21:32:57 +00:00
Kenichi Handa
1397dc18d5 (Qvalid_codes): New variable.
(coding_category_name): Include "coding-category-ccl".
(detect_coding_ccl): New function.
(setup_coding_system): Setup coding->spec.ccl.valid_codes from the
coding system priority `valid-codes' for CCL based coding systesm.
(detect_coding_mask): Check also a CCL based coding system.
(Fupdate_coding_systems_internal): Renamed from
Fupdate_iso_coding_systems.
(syms_of_coding): Change property char-table-extra-slot of
translation-table to 1.  Initialize and static pro Qvalid_codes.
1998-08-02 01:06:57 +00:00
Kenichi Handa
eda284acb2 (syms_of_coding): Mention auto-coding-alist in the
docstring of file-coding-system-alist.
1998-07-25 04:23:13 +00:00
Kenichi Handa
6d74c3aa20 (init_coding): New function.
(init_coding_once): Don't initialize conversion_buffer here.  It
is done in init_coding.
1998-07-21 01:42:40 +00:00
Kenichi Handa
826bfb8b08 (code_convert_string): Count characters again if we
encounter some invalid code while decoding.
1998-07-09 04:33:00 +00:00
Kenichi Handa
85bbb1345a (DECODE_ISO_CHARACTER): While decoding two-byte code,
if the sencond byte is invalid, produce the first byte as is.
1998-07-09 02:02:33 +00:00
Kenichi Handa
54f7817141 (setup_raw_text_coding_system): New function.
(decode_coding_sjis_big5): Bug for handling invalid code fixed.
1998-06-26 03:29:15 +00:00
Karl Heuer
94487c4e37 Doc fixes. 1998-06-20 22:06:30 +00:00
Richard M. Stallman
993824c9b3 (encode_eol): Fix typo that prevented converting to Mac
line endings.  Always update dst_bytes to number of bytes actually copied.
(decode_eol): Fix value of coding->produced when decoding Unix
line endings (in case this function is ever used for that).
1998-06-16 04:50:57 +00:00
Kenichi Handa
80e803b4e7 (detect_coding_system): Always return a list of HIGHEST is zero.
(Fdetect_coding_region): Doc-string adjusted for the above change.
(Fdetect_coding_string): Likewise.
1998-06-13 01:41:23 +00:00