projects
/
chise
/
xemacs-chise.git-
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(add_emchar_rune): Use `ASCII_TO_CHARC', `CHAR_TO_CHARC' and
[chise/xemacs-chise.git-]
/
src
/
redisplay.c
diff --git
a/src/redisplay.c
b/src/redisplay.c
index
66515ec
..
5429848
100644
(file)
--- a/
src/redisplay.c
+++ b/
src/redisplay.c
@@
-839,16
+839,18
@@
add_emchar_rune (pos_data *data)
if (data->ch == '\n')
{
if (data->ch == '\n')
{
- char_glyph.charset = Vcharset_ascii;
- char_glyph.code_point = '\n';
+ char_glyph = ASCII_TO_CHARC ('\n');
data->font_is_bogus = 0;
/* Cheesy end-of-line pseudo-character. */
width = data->blank_width;
}
else
{
data->font_is_bogus = 0;
/* Cheesy end-of-line pseudo-character. */
width = data->blank_width;
}
else
{
- char_glyph.code_point = ENCODE_CHAR (data->ch, char_glyph.charset);
- if (!EQ (char_glyph.charset, data->last_charset) ||
+ Lisp_Object charset;
+
+ char_glyph = CHAR_TO_CHARC (data->ch);
+ charset = CHARC_CHARSET (char_glyph);
+ if (!EQ (charset, data->last_charset) ||
data->findex != data->last_findex)
{
/* OK, we need to do things the hard way. */
data->findex != data->last_findex)
{
/* OK, we need to do things the hard way. */
@@
-856,7
+858,7
@@
add_emchar_rune (pos_data *data)
struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, data->findex);
Lisp_Object font_instance =
ensure_face_cachel_contains_charset (cachel, data->window,
struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, data->findex);
Lisp_Object font_instance =
ensure_face_cachel_contains_charset (cachel, data->window,
- char_glyph.charset);
+ charset);
Lisp_Font_Instance *fi;
if (EQ (font_instance, Vthe_null_font_instance))
Lisp_Font_Instance *fi;
if (EQ (font_instance, Vthe_null_font_instance))
@@
-875,7
+877,7
@@
add_emchar_rune (pos_data *data)
data->last_char_width = -1;
data->new_ascent = max (data->new_ascent, (int) fi->ascent);
data->new_descent = max (data->new_descent, (int) fi->descent);
data->last_char_width = -1;
data->new_ascent = max (data->new_ascent, (int) fi->ascent);
data->new_descent = max (data->new_descent, (int) fi->descent);
- data->last_charset = char_glyph.charset;
+ data->last_charset = charset;
data->last_findex = data->findex;
}
data->last_findex = data->findex;
}
@@
-925,14
+927,9
@@
add_emchar_rune (pos_data *data)
/* Text but not in buffer */
crb->bufpos = 0;
crb->type = RUNE_CHAR;
/* Text but not in buffer */
crb->bufpos = 0;
crb->type = RUNE_CHAR;
- if (data->font_is_bogus)
- {
- char_glyph.charset = Vcharset_ascii;
- char_glyph.code_point = '~';
- crb->object.cglyph = char_glyph;
- }
- else
- crb->object.cglyph = char_glyph;
+ crb->object.cglyph = data->font_is_bogus
+ ? ASCII_TO_CHARC ('~')
+ : char_glyph;
crb->endpos = 0;
if (data->cursor_type == CURSOR_ON)
crb->endpos = 0;
if (data->cursor_type == CURSOR_ON)
@@
-2544,9
+2541,7
@@
done:
{
struct rune *rb = Dynarr_atp (db->runes, elt);
{
struct rune *rb = Dynarr_atp (db->runes, elt);
- if ((rb->type == RUNE_CHAR
- && EQ (rb->object.cglyph.charset, Vcharset_ascii)
- && rb->object.cglyph.code_point == ' ')
+ if ((rb->type == RUNE_CHAR && CHARC_ASCII_EQ (rb->object.cglyph, ' '))
|| rb->type == RUNE_BLANK)
{
dl->bounds.left_white += rb->width;
|| rb->type == RUNE_BLANK)
{
dl->bounds.left_white += rb->width;
@@
-2566,11
+2561,7
@@
done:
{
struct rune *rb = Dynarr_atp (db->runes, elt);
{
struct rune *rb = Dynarr_atp (db->runes, elt);
- if (!(rb->type == RUNE_CHAR
- && (EQ (rb->object.cglyph.charset, Vcharset_ascii)
- || EQ (rb->object.cglyph.charset, Vcharset_control_1)
- || EQ (rb->object.cglyph.charset, Vcharset_latin_iso8859_1))
- && isspace (rb->object.cglyph.code_point))
+ if (!(rb->type == RUNE_CHAR && CHARC_IS_SPACE (rb->object.cglyph))
&& !rb->type == RUNE_BLANK)
{
dl->bounds.right_white = rb->xpos + rb->width;
&& !rb->type == RUNE_BLANK)
{
dl->bounds.right_white = rb->xpos + rb->width;
@@
-3567,11
+3558,10
@@
generate_formatted_string_db (Lisp_Object format_str, Lisp_Object result_str,
{
if (Dynarr_atp (db->runes, elt)->type == RUNE_CHAR)
{
{
if (Dynarr_atp (db->runes, elt)->type == RUNE_CHAR)
{
- Charc ec = Dynarr_atp (db->runes, elt)->object.cglyph;
-
- len += (set_charptr_emchar (strdata + len,
- DECODE_CHAR (ec.charset,
- ec.code_point)));
+ len += (set_charptr_emchar
+ (strdata + len,
+ CHARC_TO_CHAR (Dynarr_atp (db->runes,
+ elt)->object.cglyph)));
}
}
}
}
@@
-4800,9
+4790,7
@@
done:
{
struct rune *rb = Dynarr_atp (db->runes, elt);
{
struct rune *rb = Dynarr_atp (db->runes, elt);
- if ((rb->type == RUNE_CHAR
- && EQ (rb->object.cglyph.charset, Vcharset_ascii)
- && rb->object.cglyph.code_point == ' ')
+ if ((rb->type == RUNE_CHAR && CHARC_ASCII_EQ (rb->object.cglyph, ' '))
|| rb->type == RUNE_BLANK)
{
dl->bounds.left_white += rb->width;
|| rb->type == RUNE_BLANK)
{
dl->bounds.left_white += rb->width;
@@
-4822,11
+4810,7
@@
done:
{
struct rune *rb = Dynarr_atp (db->runes, elt);
{
struct rune *rb = Dynarr_atp (db->runes, elt);
- if (!(rb->type == RUNE_CHAR
- && (EQ (rb->object.cglyph.charset, Vcharset_ascii)
- || EQ (rb->object.cglyph.charset, Vcharset_control_1)
- || EQ (rb->object.cglyph.charset, Vcharset_latin_iso8859_1))
- && isspace (rb->object.cglyph.code_point))
+ if (!(rb->type == RUNE_CHAR && CHARC_IS_SPACE (rb->object.cglyph))
&& !rb->type == RUNE_BLANK)
{
dl->bounds.right_white = rb->xpos + rb->width;
&& !rb->type == RUNE_BLANK)
{
dl->bounds.right_white = rb->xpos + rb->width;
@@
-8727,9
+8711,7
@@
pixel_to_glyph_translation (struct frame *f, int x_coord, int y_coord,
}
else if (past_end
|| (rb->type == RUNE_CHAR
}
else if (past_end
|| (rb->type == RUNE_CHAR
- && EQ (rb->object.cglyph.charset,
- Vcharset_ascii)
- && rb->object.cglyph.code_point == '\n'))
+ && CHARC_ASCII_EQ (rb->object.cglyph, '\n')))
{
(*row)--;
/* At this point we may have glyphs in the right
{
(*row)--;
/* At this point we may have glyphs in the right