diff options
| author | Eli Zaretskii | 2004-05-18 13:36:32 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2004-05-18 13:36:32 +0000 |
| commit | 6be49c3aa80eab4eef09a719f3268220ef66c0ad (patch) | |
| tree | eac0fff44337a99a48bbccc5fc78b4c53f31584e | |
| parent | 3ae12c8dc696b23e0434a9495657bc6ec8225716 (diff) | |
| download | emacs-6be49c3aa80eab4eef09a719f3268220ef66c0ad.tar.gz emacs-6be49c3aa80eab4eef09a719f3268220ef66c0ad.zip | |
(syms_of_msdos): Initialize dos-unsupported-char-glyph with make_number.
(IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph with XINT.
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/msdos.c | 15 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 1844535b550..382f2e8c6a1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2004-05-18 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph | ||
| 4 | with make_number. | ||
| 5 | (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph | ||
| 6 | with XINT. | ||
| 7 | |||
| 1 | 2004-05-18 Kim F. Storm <storm@cua.dk> | 8 | 2004-05-18 Kim F. Storm <storm@cua.dk> |
| 2 | 9 | ||
| 3 | * blockinput.h (INPUT_BLOCKED_P): New macros. | 10 | * blockinput.h (INPUT_BLOCKED_P): New macros. |
diff --git a/src/msdos.c b/src/msdos.c index 46bf7f46c30..bce41f56c9c 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -951,8 +951,8 @@ static void | |||
| 951 | IT_write_glyphs (struct glyph *str, int str_len) | 951 | IT_write_glyphs (struct glyph *str, int str_len) |
| 952 | { | 952 | { |
| 953 | unsigned char *screen_buf, *screen_bp, *screen_buf_end, *bp; | 953 | unsigned char *screen_buf, *screen_bp, *screen_buf_end, *bp; |
| 954 | int unsupported_face = FAST_GLYPH_FACE (Vdos_unsupported_char_glyph); | 954 | int unsupported_face = 0; |
| 955 | unsigned unsupported_char= FAST_GLYPH_CHAR (Vdos_unsupported_char_glyph); | 955 | unsigned unsupported_char = '\177'; |
| 956 | int offset = 2 * (new_pos_X + screen_size_X * new_pos_Y); | 956 | int offset = 2 * (new_pos_X + screen_size_X * new_pos_Y); |
| 957 | register int sl = str_len; | 957 | register int sl = str_len; |
| 958 | register int tlen = GLYPH_TABLE_LENGTH; | 958 | register int tlen = GLYPH_TABLE_LENGTH; |
| @@ -978,6 +978,13 @@ IT_write_glyphs (struct glyph *str, int str_len) | |||
| 978 | 978 | ||
| 979 | if (str_len <= 0) return; | 979 | if (str_len <= 0) return; |
| 980 | 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 | |||
| 981 | screen_buf = screen_bp = alloca (str_len * 2); | 988 | screen_buf = screen_bp = alloca (str_len * 2); |
| 982 | screen_buf_end = screen_buf + str_len * 2; | 989 | screen_buf_end = screen_buf + str_len * 2; |
| 983 | sf = SELECTED_FRAME(); | 990 | sf = SELECTED_FRAME(); |
| @@ -1042,7 +1049,7 @@ IT_write_glyphs (struct glyph *str, int str_len) | |||
| 1042 | if (! CHAR_VALID_P (ch, 0)) | 1049 | if (! CHAR_VALID_P (ch, 0)) |
| 1043 | { | 1050 | { |
| 1044 | g = !NILP (Vdos_unsupported_char_glyph) | 1051 | g = !NILP (Vdos_unsupported_char_glyph) |
| 1045 | ? Vdos_unsupported_char_glyph | 1052 | ? XINT (Vdos_unsupported_char_glyph) |
| 1046 | : MAKE_GLYPH (sf, '\177', GLYPH_FACE (sf, g)); | 1053 | : MAKE_GLYPH (sf, '\177', GLYPH_FACE (sf, g)); |
| 1047 | ch = FAST_GLYPH_CHAR (g); | 1054 | ch = FAST_GLYPH_CHAR (g); |
| 1048 | } | 1055 | } |
| @@ -5280,7 +5287,7 @@ syms_of_msdos () | |||
| 5280 | DEFVAR_LISP ("dos-unsupported-char-glyph", &Vdos_unsupported_char_glyph, | 5287 | DEFVAR_LISP ("dos-unsupported-char-glyph", &Vdos_unsupported_char_glyph, |
| 5281 | doc: /* *Glyph to display instead of chars not supported by current codepage. | 5288 | doc: /* *Glyph to display instead of chars not supported by current codepage. |
| 5282 | This variable is used only by MSDOS terminals. */); | 5289 | This variable is used only by MSDOS terminals. */); |
| 5283 | Vdos_unsupported_char_glyph = '\177'; | 5290 | Vdos_unsupported_char_glyph = make_number ('\177'); |
| 5284 | 5291 | ||
| 5285 | #endif | 5292 | #endif |
| 5286 | #ifndef subprocesses | 5293 | #ifndef subprocesses |