aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2004-05-18 13:36:32 +0000
committerEli Zaretskii2004-05-18 13:36:32 +0000
commit6be49c3aa80eab4eef09a719f3268220ef66c0ad (patch)
treeeac0fff44337a99a48bbccc5fc78b4c53f31584e /src
parent3ae12c8dc696b23e0434a9495657bc6ec8225716 (diff)
downloademacs-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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/msdos.c15
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 @@
12004-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
12004-05-18 Kim F. Storm <storm@cua.dk> 82004-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
951IT_write_glyphs (struct glyph *str, int str_len) 951IT_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.
5282This variable is used only by MSDOS terminals. */); 5289This 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