aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c69
1 files changed, 24 insertions, 45 deletions
diff --git a/src/coding.c b/src/coding.c
index 711ada59c85..b49070e5e16 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -300,27 +300,30 @@ encode_coding_XXX (struct coding_system *coding)
300 300
301Lisp_Object Vcoding_system_hash_table; 301Lisp_Object Vcoding_system_hash_table;
302 302
303Lisp_Object Qcoding_system, Qcoding_aliases, Qeol_type; 303static Lisp_Object Qcoding_system, Qeol_type;
304static Lisp_Object Qcoding_aliases;
304Lisp_Object Qunix, Qdos; 305Lisp_Object Qunix, Qdos;
305Lisp_Object Qbuffer_file_coding_system; 306Lisp_Object Qbuffer_file_coding_system;
306Lisp_Object Qpost_read_conversion, Qpre_write_conversion; 307static Lisp_Object Qpost_read_conversion, Qpre_write_conversion;
307Lisp_Object Qdefault_char; 308static Lisp_Object Qdefault_char;
308Lisp_Object Qno_conversion, Qundecided; 309Lisp_Object Qno_conversion, Qundecided;
309Lisp_Object Qcharset, Qiso_2022, Qutf_8, Qutf_16, Qshift_jis, Qbig5; 310Lisp_Object Qcharset, Qutf_8;
310Lisp_Object Qbig, Qlittle; 311static Lisp_Object Qiso_2022;
311Lisp_Object Qcoding_system_history; 312static Lisp_Object Qutf_16, Qshift_jis, Qbig5;
312Lisp_Object Qvalid_codes; 313static Lisp_Object Qbig, Qlittle;
313Lisp_Object QCcategory, QCmnemonic, QCdefault_char; 314static Lisp_Object Qcoding_system_history;
314Lisp_Object QCdecode_translation_table, QCencode_translation_table; 315static Lisp_Object Qvalid_codes;
315Lisp_Object QCpost_read_conversion, QCpre_write_conversion; 316static Lisp_Object QCcategory, QCmnemonic, QCdefault_char;
316Lisp_Object QCascii_compatible_p; 317static Lisp_Object QCdecode_translation_table, QCencode_translation_table;
318static Lisp_Object QCpost_read_conversion, QCpre_write_conversion;
319static Lisp_Object QCascii_compatible_p;
317 320
318Lisp_Object Qcall_process, Qcall_process_region; 321Lisp_Object Qcall_process, Qcall_process_region;
319Lisp_Object Qstart_process, Qopen_network_stream; 322Lisp_Object Qstart_process, Qopen_network_stream;
320Lisp_Object Qtarget_idx; 323static Lisp_Object Qtarget_idx;
321 324
322Lisp_Object Qinsufficient_source, Qinconsistent_eol, Qinvalid_source; 325static Lisp_Object Qinsufficient_source, Qinconsistent_eol, Qinvalid_source;
323Lisp_Object Qinterrupted, Qinsufficient_memory; 326static Lisp_Object Qinterrupted, Qinsufficient_memory;
324 327
325/* If a symbol has this property, evaluate the value to define the 328/* If a symbol has this property, evaluate the value to define the
326 symbol as a coding system. */ 329 symbol as a coding system. */
@@ -351,12 +354,12 @@ struct coding_system safe_terminal_coding;
351 354
352Lisp_Object Qtranslation_table; 355Lisp_Object Qtranslation_table;
353Lisp_Object Qtranslation_table_id; 356Lisp_Object Qtranslation_table_id;
354Lisp_Object Qtranslation_table_for_decode; 357static Lisp_Object Qtranslation_table_for_decode;
355Lisp_Object Qtranslation_table_for_encode; 358static Lisp_Object Qtranslation_table_for_encode;
356 359
357/* Two special coding systems. */ 360/* Two special coding systems. */
358Lisp_Object Vsjis_coding_system; 361static Lisp_Object Vsjis_coding_system;
359Lisp_Object Vbig5_coding_system; 362static Lisp_Object Vbig5_coding_system;
360 363
361/* ISO2022 section */ 364/* ISO2022 section */
362 365
@@ -2859,7 +2862,7 @@ encode_coding_emacs_mule (struct coding_system *coding)
2859 COMPOSITION_WITH_RULE_ALTCHARS: 2862 COMPOSITION_WITH_RULE_ALTCHARS:
2860 ESC 4 ALTCHAR [ RULE ALTCHAR ] ESC 0 CHAR [ CHAR ] ESC 1 */ 2863 ESC 4 ALTCHAR [ RULE ALTCHAR ] ESC 0 CHAR [ CHAR ] ESC 1 */
2861 2864
2862enum iso_code_class_type iso_code_class[256]; 2865static enum iso_code_class_type iso_code_class[256];
2863 2866
2864#define SAFE_CHARSET_P(coding, id) \ 2867#define SAFE_CHARSET_P(coding, id) \
2865 ((id) <= (coding)->max_charset_id \ 2868 ((id) <= (coding)->max_charset_id \
@@ -6209,7 +6212,7 @@ adjust_coding_eol_type (struct coding_system *coding, int eol_seen)
6209 system is detected, update fields of CODING by the detected coding 6212 system is detected, update fields of CODING by the detected coding
6210 system. */ 6213 system. */
6211 6214
6212void 6215static void
6213detect_coding (struct coding_system *coding) 6216detect_coding (struct coding_system *coding)
6214{ 6217{
6215 const unsigned char *src, *src_end; 6218 const unsigned char *src, *src_end;
@@ -7527,30 +7530,6 @@ decode_coding_gap (struct coding_system *coding,
7527 return coding->result; 7530 return coding->result;
7528} 7531}
7529 7532
7530int
7531encode_coding_gap (struct coding_system *coding,
7532 EMACS_INT chars, EMACS_INT bytes)
7533{
7534 int count = SPECPDL_INDEX ();
7535
7536 code_conversion_save (0, 0);
7537
7538 coding->src_object = Fcurrent_buffer ();
7539 coding->src_chars = chars;
7540 coding->src_bytes = bytes;
7541 coding->src_pos = -chars;
7542 coding->src_pos_byte = -bytes;
7543 coding->src_multibyte = chars < bytes;
7544 coding->dst_object = coding->src_object;
7545 coding->dst_pos = PT;
7546 coding->dst_pos_byte = PT_BYTE;
7547
7548 encode_coding (coding);
7549
7550 unbind_to (count, Qnil);
7551 return coding->result;
7552}
7553
7554 7533
7555/* Decode the text in the range FROM/FROM_BYTE and TO/TO_BYTE in 7534/* Decode the text in the range FROM/FROM_BYTE and TO/TO_BYTE in
7556 SRC_OBJECT into DST_OBJECT by coding context CODING. 7535 SRC_OBJECT into DST_OBJECT by coding context CODING.
@@ -8831,7 +8810,7 @@ is nil. */)
8831} 8810}
8832 8811
8833 8812
8834Lisp_Object 8813static Lisp_Object
8835code_convert_region (Lisp_Object start, Lisp_Object end, 8814code_convert_region (Lisp_Object start, Lisp_Object end,
8836 Lisp_Object coding_system, Lisp_Object dst_object, 8815 Lisp_Object coding_system, Lisp_Object dst_object,
8837 int encodep, int norecord) 8816 int encodep, int norecord)