aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.h
diff options
context:
space:
mode:
authorKenichi Handa1997-02-27 11:07:46 +0000
committerKenichi Handa1997-02-27 11:07:46 +0000
commit8ddb35b2ab9e9a0a36879596983882c19fedb110 (patch)
treed126827505f0a34fa4b7df4f3ac196d0eabd6453 /src/coding.h
parent8fb379fdac206bcb716c3faa25f7de924806f30d (diff)
downloademacs-8ddb35b2ab9e9a0a36879596983882c19fedb110.tar.gz
emacs-8ddb35b2ab9e9a0a36879596983882c19fedb110.zip
(struct iso2022_spec): Member requested_designation is
changed to array of `char' just for saving memory. (CODING_FLAG_ISO_INIT_AT_BOL, CODING_FLAG_ISO_DESIGNATE_AT_BOL): New macros.
Diffstat (limited to 'src/coding.h')
-rw-r--r--src/coding.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/coding.h b/src/coding.h
index 2ae753647fb..6008557cbf2 100644
--- a/src/coding.h
+++ b/src/coding.h
@@ -128,6 +128,14 @@ enum iso_code_class_type
128/* If set, do not produce ISO6429's direction specifying sequence. */ 128/* If set, do not produce ISO6429's direction specifying sequence. */
129#define CODING_FLAG_ISO_NO_DIRECTION 0x0100 129#define CODING_FLAG_ISO_NO_DIRECTION 0x0100
130 130
131/* If set, assume designation states are reset at beginning of line on
132 output. */
133#define CODING_FLAG_ISO_INIT_AT_BOL 0x0200
134
135/* If set, designation sequence should be placed at beginning of line
136 on output. */
137#define CODING_FLAG_ISO_DESIGNATE_AT_BOL 0x0400
138
131/* Structure of the field `spec.iso2022' in the structure `coding_system'. */ 139/* Structure of the field `spec.iso2022' in the structure `coding_system'. */
132struct iso2022_spec 140struct iso2022_spec
133{ 141{
@@ -141,11 +149,14 @@ struct iso2022_spec
141 int initial_designation[4]; 149 int initial_designation[4];
142 150
143 /* A graphic register to which each charset should be designated. */ 151 /* A graphic register to which each charset should be designated. */
144 int requested_designation[MAX_CHARSET]; 152 char requested_designation[MAX_CHARSET];
145 153
146 /* Set to 1 temporarily only when graphic register 2 or 3 is invoked 154 /* Set to 1 temporarily only when graphic register 2 or 3 is invoked
147 by single-shift while encoding. */ 155 by single-shift while encoding. */
148 int single_shifting; 156 int single_shifting;
157
158 /* Set to 1 temporarily only when processing at beginning of line. */
159 int bol;
149}; 160};
150 161
151/* Macros to access each field in the structure `spec.iso2022'. */ 162/* Macros to access each field in the structure `spec.iso2022'. */
@@ -157,11 +168,10 @@ struct iso2022_spec
157 coding->spec.iso2022.initial_designation[reg] 168 coding->spec.iso2022.initial_designation[reg]
158#define CODING_SPEC_ISO_REQUESTED_DESIGNATION(coding, charset) \ 169#define CODING_SPEC_ISO_REQUESTED_DESIGNATION(coding, charset) \
159 coding->spec.iso2022.requested_designation[charset] 170 coding->spec.iso2022.requested_designation[charset]
160
161/* Set to 1 temporarily only when encoding a character with
162 single-shift function. */
163#define CODING_SPEC_ISO_SINGLE_SHIFTING(coding) \ 171#define CODING_SPEC_ISO_SINGLE_SHIFTING(coding) \
164 coding->spec.iso2022.single_shifting 172 coding->spec.iso2022.single_shifting
173#define CODING_SPEC_ISO_BOL(coding) \
174 coding->spec.iso2022.bol
165 175
166/* Return a charset which is currently designated to the graphic plane 176/* Return a charset which is currently designated to the graphic plane
167 PLANE in the coding-system CODING. */ 177 PLANE in the coding-system CODING. */