changeset 20226:549826cf2952

(struct coding_system): Add member common_flags, delete member require_flushing. (CODING_REQUIRE_FLUSHING_MASK, CODING_REQUIRE_DECODING_MASK, CODING_REQUIRE_ENCODING_MASK, CODING_REQUIRE_DETECTION_MASK): New macros. (CODING_REQUIRE_NO_CONVERSION, CODING_MAY_REQUIRE_NO_CONVERSION): These macros deleted. (CODING_REQUIRE_FLUSHING, CODING_REQUIRE_DECODING, CODING_REQUIRE_ENCODING, CODING_REQUIRE_DETECTION): New macros.
author Kenichi Handa <handa@m17n.org>
date Sat, 08 Nov 1997 03:05:44 +0000
parents ca258a32a122
children 71008f909642
files src/coding.h
diffstat 1 files changed, 27 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/src/coding.h	Sat Nov 08 03:05:44 1997 +0000
+++ b/src/coding.h	Sat Nov 08 03:05:44 1997 +0000
@@ -274,9 +274,9 @@
   /* Type of the coding system.  */
   enum coding_type type;
 
-  /* If the coding system requires specific code to be attached at the
-     tail of converted text, this value should be set to `1'.  */
-  int require_flushing;
+  /* Flag bits of the coding system.  The meaning of each bit is common
+     to any type of coding systems.  */
+  unsigned int common_flags;
 
   /* Flag bits of the coding system.  The meaning of each bit depends
      on the type of the coding system.  */
@@ -340,21 +340,31 @@
   int carryover_size;
 };
 
-/* Return 1 if coding system CODING never requires any code conversion.  */
-#define CODING_REQUIRE_NO_CONVERSION(coding)		\
-  ((coding)->type == coding_type_no_conversion		\
-   || (((coding)->type == coding_type_emacs_mule	\
-	|| (coding)->type == coding_type_raw_text)	\
-       && (coding)->eol_type == CODING_EOL_LF))
+#define CODING_REQUIRE_FLUSHING_MASK	1
+#define CODING_REQUIRE_DECODING_MASK	2
+#define CODING_REQUIRE_ENCODING_MASK	4
+#define CODING_REQUIRE_DETECTION_MASK	8
+
+/* Return 1 if the coding system CODING requires specific code to be
+   attached at the tail of converted text.  */
+#define CODING_REQUIRE_FLUSHING(coding) \
+  ((coding)->common_flags & CODING_REQUIRE_FLUSHING_MASK)
 
-/* Return 1 if coding system CODING may not require code conversion.  */
-#define CODING_MAY_REQUIRE_NO_CONVERSION(coding)	\
-  ((coding)->type == coding_type_no_conversion		\
-   || (((coding)->type == coding_type_emacs_mule	\
-	|| (coding)->type == coding_type_undecided	\
-	|| (coding)->type == coding_type_raw_text)	\
-       && ((coding)->eol_type == CODING_EOL_LF		\
-	   || (coding)->eol_type == CODING_EOL_UNDECIDED)))
+/* Return 1 if the coding system CODING requires code conversion on
+   decoding.  */
+#define CODING_REQUIRE_DECODING(coding)	\
+  ((coding)->common_flags & CODING_REQUIRE_DECODING_MASK)
+
+/* Return 1 if the coding system CODING requires code conversion on
+   encoding.  */
+#define CODING_REQUIRE_ENCODING(coding)	\
+  ((coding)->common_flags & CODING_REQUIRE_ENCODING_MASK)
+
+/* Return 1 if the coding system CODING requires some kind of code
+   detection.  */
+#define CODING_REQUIRE_DETECTION(coding) \
+  ((coding)->common_flags & CODING_REQUIRE_DETECTION_MASK)
+
 
 /* Index for each coding category in `coding_category_table' */
 #define CODING_CATEGORY_IDX_EMACS_MULE	0