aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.h
diff options
context:
space:
mode:
authorTom Tromey2013-07-06 23:18:58 -0600
committerTom Tromey2013-07-06 23:18:58 -0600
commit6dacdad5fcb278e5a16b38bb81786aac9ca27be4 (patch)
treef5f331ea361ba0f99e0f9b638d183ad492a7da31 /src/coding.h
parent0a6f2ff0c8ceb29703e76cddd46ea3f176dd873a (diff)
parent219afb88d9d484393418820d1c08dc93299110ec (diff)
downloademacs-6dacdad5fcb278e5a16b38bb81786aac9ca27be4.tar.gz
emacs-6dacdad5fcb278e5a16b38bb81786aac9ca27be4.zip
merge from trunk
this merges frmo trunk and fixes various build issues. this needed a few ugly tweaks. this hangs in "make check" now
Diffstat (limited to 'src/coding.h')
-rw-r--r--src/coding.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/coding.h b/src/coding.h
index d13fd42fe4f..7b7078e06fa 100644
--- a/src/coding.h
+++ b/src/coding.h
@@ -76,6 +76,14 @@ enum define_coding_ccl_arg_index
76 coding_arg_ccl_max 76 coding_arg_ccl_max
77 }; 77 };
78 78
79enum define_coding_undecided_arg_index
80 {
81 coding_arg_undecided_inhibit_null_byte_detection = coding_arg_max,
82 coding_arg_undecided_inhibit_iso_escape_detection,
83 coding_arg_undecided_prefer_utf_8,
84 coding_arg_undecided_max
85 };
86
79/* Hash table for all coding systems. Keys are coding system symbols 87/* Hash table for all coding systems. Keys are coding system symbols
80 and values are spec vectors of the corresponding coding system. A 88 and values are spec vectors of the corresponding coding system. A
81 spec vector has the form [ ATTRS ALIASES EOL-TYPE ]. ATTRS is a 89 spec vector has the form [ ATTRS ALIASES EOL-TYPE ]. ATTRS is a
@@ -158,6 +166,10 @@ enum coding_attr_index
158 166
159 coding_attr_emacs_mule_full, 167 coding_attr_emacs_mule_full,
160 168
169 coding_attr_undecided_inhibit_null_byte_detection,
170 coding_attr_undecided_inhibit_iso_escape_detection,
171 coding_attr_undecided_prefer_utf_8,
172
161 coding_attr_last_index 173 coding_attr_last_index
162 }; 174 };
163 175
@@ -368,6 +380,19 @@ struct emacs_mule_spec
368 380
369struct ccl_spec; 381struct ccl_spec;
370 382
383struct undecided_spec
384{
385 /* Inhibit null byte detection. 1 means always inhibit,
386 -1 means do not inhibit, 0 means rely on user variable. */
387 int inhibit_nbd;
388
389 /* Inhibit ISO escape detection. -1, 0, 1 as above. */
390 int inhibit_ied;
391
392 /* Prefer UTF-8 when the input could be other encodings. */
393 bool prefer_utf_8;
394};
395
371enum utf_bom_type 396enum utf_bom_type
372 { 397 {
373 utf_detect_bom, 398 utf_detect_bom,
@@ -425,6 +450,7 @@ struct coding_system
425 struct utf_16_spec utf_16; 450 struct utf_16_spec utf_16;
426 enum utf_bom_type utf_8_bom; 451 enum utf_bom_type utf_8_bom;
427 struct emacs_mule_spec emacs_mule; 452 struct emacs_mule_spec emacs_mule;
453 struct undecided_spec undecided;
428 } spec; 454 } spec;
429 455
430 int max_charset_id; 456 int max_charset_id;