951 |
IT_write_glyphs (struct glyph *str, int str_len) |
IT_write_glyphs (struct glyph *str, int str_len) |
952 |
{ |
{ |
953 |
unsigned char *screen_buf, *screen_bp, *screen_buf_end, *bp; |
unsigned char *screen_buf, *screen_bp, *screen_buf_end, *bp; |
954 |
int unsupported_face = FAST_GLYPH_FACE (Vdos_unsupported_char_glyph); |
int unsupported_face = 0; |
955 |
unsigned unsupported_char= FAST_GLYPH_CHAR (Vdos_unsupported_char_glyph); |
unsigned unsupported_char = '\177'; |
956 |
int offset = 2 * (new_pos_X + screen_size_X * new_pos_Y); |
int offset = 2 * (new_pos_X + screen_size_X * new_pos_Y); |
957 |
register int sl = str_len; |
register int sl = str_len; |
958 |
register int tlen = GLYPH_TABLE_LENGTH; |
register int tlen = GLYPH_TABLE_LENGTH; |
978 |
|
|
979 |
if (str_len <= 0) return; |
if (str_len <= 0) return; |
980 |
|
|
981 |
|
/* Set up the unsupported character glyph */ |
982 |
|
if (!NILP (Vdos_unsupported_char_glyph)) |
983 |
|
{ |
984 |
|
unsupported_char = FAST_GLYPH_CHAR (XINT (Vdos_unsupported_char_glyph)); |
985 |
|
unsupported_face = FAST_GLYPH_FACE (XINT (Vdos_unsupported_char_glyph)); |
986 |
|
} |
987 |
|
|
988 |
screen_buf = screen_bp = alloca (str_len * 2); |
screen_buf = screen_bp = alloca (str_len * 2); |
989 |
screen_buf_end = screen_buf + str_len * 2; |
screen_buf_end = screen_buf + str_len * 2; |
990 |
sf = SELECTED_FRAME(); |
sf = SELECTED_FRAME(); |
1049 |
if (! CHAR_VALID_P (ch, 0)) |
if (! CHAR_VALID_P (ch, 0)) |
1050 |
{ |
{ |
1051 |
g = !NILP (Vdos_unsupported_char_glyph) |
g = !NILP (Vdos_unsupported_char_glyph) |
1052 |
? Vdos_unsupported_char_glyph |
? XINT (Vdos_unsupported_char_glyph) |
1053 |
: MAKE_GLYPH (sf, '\177', GLYPH_FACE (sf, g)); |
: MAKE_GLYPH (sf, '\177', GLYPH_FACE (sf, g)); |
1054 |
ch = FAST_GLYPH_CHAR (g); |
ch = FAST_GLYPH_CHAR (g); |
1055 |
} |
} |
5287 |
DEFVAR_LISP ("dos-unsupported-char-glyph", &Vdos_unsupported_char_glyph, |
DEFVAR_LISP ("dos-unsupported-char-glyph", &Vdos_unsupported_char_glyph, |
5288 |
doc: /* *Glyph to display instead of chars not supported by current codepage. |
doc: /* *Glyph to display instead of chars not supported by current codepage. |
5289 |
This variable is used only by MSDOS terminals. */); |
This variable is used only by MSDOS terminals. */); |
5290 |
Vdos_unsupported_char_glyph = '\177'; |
Vdos_unsupported_char_glyph = make_number ('\177'); |
5291 |
|
|
5292 |
#endif |
#endif |
5293 |
#ifndef subprocesses |
#ifndef subprocesses |