Mercurial > hg > xemacs-beta
comparison src/print.c @ 867:804517e16990
[xemacs-hg @ 2002-06-05 09:54:39 by ben]
Textual renaming: text/char names
abbrev.c, alloc.c, buffer.c, buffer.h, bytecode.c, callint.c, casefiddle.c, casetab.c, charset.h, chartab.c, chartab.h, cmds.c, console-gtk.h, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console-x.h, console.h, data.c, device-msw.c, device-x.c, dialog-msw.c, dired-msw.c, dired.c, doc.c, doprnt.c, editfns.c, eldap.c, emodules.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, event-unixoid.c, events.c, events.h, file-coding.c, file-coding.h, fileio.c, filelock.c, fns.c, font-lock.c, frame-gtk.c, frame-msw.c, frame-x.c, frame.c, glyphs-eimage.c, glyphs-msw.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-x.c, gui-x.h, gui.c, gui.h, hpplay.c, indent.c, insdel.c, insdel.h, intl-win32.c, keymap.c, line-number.c, line-number.h, lisp-disunion.h, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, md5.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, mule-ccl.c, mule-charset.c, mule-coding.c, mule-wnnfns.c, ndir.h, nt.c, objects-gtk.c, objects-gtk.h, objects-msw.c, objects-tty.c, objects-x.c, objects.c, objects.h, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, procimpl.h, realpath.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, redisplay.h, regex.c, search.c, select-common.h, select-gtk.c, select-x.c, sound.h, symbols.c, syntax.c, syntax.h, sysdep.c, sysdep.h, sysdir.h, sysfile.h, sysproc.h, syspwd.h, systime.h, syswindows.h, termcap.c, tests.c, text.c, text.h, toolbar-common.c, tooltalk.c, ui-gtk.c, unexnt.c, unicode.c, win32.c: Text/char naming rationalization.
[a] distinguish between "charptr" when it refers to operations on
the pointer itself and when it refers to operations on text; and
[b] use consistent naming for everything referring to internal
format, i.e.
Itext == text in internal format
Ibyte == a byte in such text
Ichar == a char as represented in internal character format
thus e.g.
set_charptr_emchar -> set_itext_ichar
The pre and post tags on either side of this change are:
pre-internal-format-textual-renaming
post-internal-format-textual-renaming
See the Internals Manual for details of exactly how this was done,
how to handle the change in your workspace, etc.
author | ben |
---|---|
date | Wed, 05 Jun 2002 09:58:45 +0000 |
parents | 2b6fa2618f76 |
children | 79c6ff3eef26 |
comparison
equal
deleted
inserted
replaced
866:613552a02607 | 867:804517e16990 |
---|---|
114 /* Force immediate output of all printed data. Used for debugging. */ | 114 /* Force immediate output of all printed data. Used for debugging. */ |
115 int print_unbuffered; | 115 int print_unbuffered; |
116 | 116 |
117 FILE *termscript; /* Stdio stream being used for copy of all output. */ | 117 FILE *termscript; /* Stdio stream being used for copy of all output. */ |
118 | 118 |
119 static void write_string_to_alternate_debugging_output (Intbyte *str, | 119 static void write_string_to_alternate_debugging_output (Ibyte *str, |
120 Bytecount len); | 120 Bytecount len); |
121 | 121 |
122 | 122 |
123 | 123 |
124 int stdout_needs_newline; | 124 int stdout_needs_newline; |
125 | 125 |
126 /* Basic function to actually write to a stdio stream or TTY console. */ | 126 /* Basic function to actually write to a stdio stream or TTY console. */ |
127 | 127 |
128 static void | 128 static void |
129 write_string_to_stdio_stream (FILE *stream, struct console *con, | 129 write_string_to_stdio_stream (FILE *stream, struct console *con, |
130 const Intbyte *ptr, Bytecount len, | 130 const Ibyte *ptr, Bytecount len, |
131 int must_flush) | 131 int must_flush) |
132 { | 132 { |
133 Extbyte *extptr = 0; | 133 Extbyte *extptr = 0; |
134 Bytecount extlen = 0; | 134 Bytecount extlen = 0; |
135 int output_is_std_handle = | 135 int output_is_std_handle = |
205 | 205 |
206 2) (to be really correct) make a new lstream that outputs using | 206 2) (to be really correct) make a new lstream that outputs using |
207 mswindows_output_console_string(). */ | 207 mswindows_output_console_string(). */ |
208 | 208 |
209 static void | 209 static void |
210 std_handle_out_va (FILE *stream, const CIntbyte *fmt, va_list args, | 210 std_handle_out_va (FILE *stream, const CIbyte *fmt, va_list args, |
211 int debug_output_as_well) | 211 int debug_output_as_well) |
212 { | 212 { |
213 Intbyte kludge[8192]; | 213 Ibyte kludge[8192]; |
214 Bytecount kludgelen; | 214 Bytecount kludgelen; |
215 | 215 |
216 if (initialized && !inhibit_non_essential_printing_operations) | 216 if (initialized && !inhibit_non_essential_printing_operations) |
217 fmt = GETTEXT (fmt); | 217 fmt = GETTEXT (fmt); |
218 vsprintf ((CIntbyte *) kludge, fmt, args); | 218 vsprintf ((CIbyte *) kludge, fmt, args); |
219 kludgelen = qxestrlen (kludge); | 219 kludgelen = qxestrlen (kludge); |
220 | 220 |
221 write_string_to_stdio_stream (stream, 0, kludge, kludgelen, 1); | 221 write_string_to_stdio_stream (stream, 0, kludge, kludgelen, 1); |
222 if (debug_output_as_well) | 222 if (debug_output_as_well) |
223 { | 223 { |
234 | 234 |
235 This is safe even when not initialized or when dying -- we don't do | 235 This is safe even when not initialized or when dying -- we don't do |
236 conversion in such cases. */ | 236 conversion in such cases. */ |
237 | 237 |
238 void | 238 void |
239 stderr_out (const CIntbyte *fmt, ...) | 239 stderr_out (const CIbyte *fmt, ...) |
240 { | 240 { |
241 va_list args; | 241 va_list args; |
242 va_start (args, fmt); | 242 va_start (args, fmt); |
243 std_handle_out_va (stderr, fmt, args, 0); | 243 std_handle_out_va (stderr, fmt, args, 0); |
244 va_end (args); | 244 va_end (args); |
246 | 246 |
247 /* Output portably to stdout or its equivalent (i.e. may be a console | 247 /* Output portably to stdout or its equivalent (i.e. may be a console |
248 window under MS Windows). Works like stderr_out(). */ | 248 window under MS Windows). Works like stderr_out(). */ |
249 | 249 |
250 void | 250 void |
251 stdout_out (const CIntbyte *fmt, ...) | 251 stdout_out (const CIbyte *fmt, ...) |
252 { | 252 { |
253 va_list args; | 253 va_list args; |
254 va_start (args, fmt); | 254 va_start (args, fmt); |
255 std_handle_out_va (stdout, fmt, args, 0); | 255 std_handle_out_va (stdout, fmt, args, 0); |
256 va_end (args); | 256 va_end (args); |
260 window under MS Windows), as well as alternate-debugging-output and | 260 window under MS Windows), as well as alternate-debugging-output and |
261 (under MS Windows) the C debugging output, i.e. OutputDebugString(). | 261 (under MS Windows) the C debugging output, i.e. OutputDebugString(). |
262 Works like stderr_out(). */ | 262 Works like stderr_out(). */ |
263 | 263 |
264 void | 264 void |
265 debug_out (const CIntbyte *fmt, ...) | 265 debug_out (const CIbyte *fmt, ...) |
266 { | 266 { |
267 va_list args; | 267 va_list args; |
268 va_start (args, fmt); | 268 va_start (args, fmt); |
269 std_handle_out_va (stderr, fmt, args, 1); | 269 std_handle_out_va (stderr, fmt, args, 1); |
270 va_end (args); | 270 va_end (args); |
271 } | 271 } |
272 | 272 |
273 DOESNT_RETURN | 273 DOESNT_RETURN |
274 fatal (const CIntbyte *fmt, ...) | 274 fatal (const CIbyte *fmt, ...) |
275 { | 275 { |
276 va_list args; | 276 va_list args; |
277 va_start (args, fmt); | 277 va_start (args, fmt); |
278 | 278 |
279 stderr_out ("\nXEmacs: fatal error: "); | 279 stderr_out ("\nXEmacs: fatal error: "); |
300 | 300 |
301 Use Qexternal_debugging_output to get output to stderr. | 301 Use Qexternal_debugging_output to get output to stderr. |
302 */ | 302 */ |
303 | 303 |
304 static void | 304 static void |
305 output_string (Lisp_Object function, const Intbyte *nonreloc, | 305 output_string (Lisp_Object function, const Ibyte *nonreloc, |
306 Lisp_Object reloc, Bytecount offset, Bytecount len) | 306 Lisp_Object reloc, Bytecount offset, Bytecount len) |
307 { | 307 { |
308 /* This function can GC */ | 308 /* This function can GC */ |
309 Charcount cclen; | 309 Charcount cclen; |
310 /* We change the value of nonreloc (fetching it from reloc as | 310 /* We change the value of nonreloc (fetching it from reloc as |
311 necessary), but we don't want to pass this changed value on to | 311 necessary), but we don't want to pass this changed value on to |
312 other functions that take both a nonreloc and a reloc, or things | 312 other functions that take both a nonreloc and a reloc, or things |
313 may get confused and an assertion failure in | 313 may get confused and an assertion failure in |
314 fixup_internal_substring() may get triggered. */ | 314 fixup_internal_substring() may get triggered. */ |
315 const Intbyte *newnonreloc = nonreloc; | 315 const Ibyte *newnonreloc = nonreloc; |
316 struct gcpro gcpro1, gcpro2; | 316 struct gcpro gcpro1, gcpro2; |
317 | 317 |
318 /* Emacs won't print while GCing, but an external debugger might */ | 318 /* Emacs won't print while GCing, but an external debugger might */ |
319 #ifdef NO_PRINT_DURING_GC | 319 #ifdef NO_PRINT_DURING_GC |
320 if (gc_in_progress) return; | 320 if (gc_in_progress) return; |
341 relocating the string. For small strings, we do it by | 341 relocating the string. For small strings, we do it by |
342 alloc'ing the string and using a copy; for large strings, | 342 alloc'ing the string and using a copy; for large strings, |
343 we inhibit GC. */ | 343 we inhibit GC. */ |
344 if (len < 65536) | 344 if (len < 65536) |
345 { | 345 { |
346 Intbyte *copied = alloca_array (Intbyte, len); | 346 Ibyte *copied = alloca_array (Ibyte, len); |
347 memcpy (copied, newnonreloc + offset, len); | 347 memcpy (copied, newnonreloc + offset, len); |
348 Lstream_write (XLSTREAM (function), copied, len); | 348 Lstream_write (XLSTREAM (function), copied, len); |
349 } | 349 } |
350 else | 350 else |
351 { | 351 { |
414 | 414 |
415 if (STRINGP (reloc)) | 415 if (STRINGP (reloc)) |
416 { | 416 { |
417 for (iii = ccoff; iii < cclen + ccoff; iii++) | 417 for (iii = ccoff; iii < cclen + ccoff; iii++) |
418 { | 418 { |
419 call1 (function, make_char (string_emchar (reloc, iii))); | 419 call1 (function, make_char (string_ichar (reloc, iii))); |
420 if (STRINGP (reloc)) | 420 if (STRINGP (reloc)) |
421 newnonreloc = XSTRING_DATA (reloc); | 421 newnonreloc = XSTRING_DATA (reloc); |
422 } | 422 } |
423 } | 423 } |
424 else | 424 else |
425 { | 425 { |
426 for (iii = ccoff; iii < cclen + ccoff; iii++) | 426 for (iii = ccoff; iii < cclen + ccoff; iii++) |
427 { | 427 { |
428 call1 (function, | 428 call1 (function, |
429 make_char (charptr_emchar_n (newnonreloc, iii))); | 429 make_char (itext_ichar_n (newnonreloc, iii))); |
430 } | 430 } |
431 } | 431 } |
432 } | 432 } |
433 | 433 |
434 UNGCPRO; | 434 UNGCPRO; |
538 | 538 |
539 Also note that STREAM should be the result of | 539 Also note that STREAM should be the result of |
540 canonicalize_printcharfun() (i.e. Qnil means stdout, not | 540 canonicalize_printcharfun() (i.e. Qnil means stdout, not |
541 Vstandard_output, etc.) */ | 541 Vstandard_output, etc.) */ |
542 void | 542 void |
543 write_string_1 (Lisp_Object stream, const Intbyte *str, Bytecount size) | 543 write_string_1 (Lisp_Object stream, const Ibyte *str, Bytecount size) |
544 { | 544 { |
545 /* This function can GC */ | 545 /* This function can GC */ |
546 #ifdef ERROR_CHECK_TEXT | 546 #ifdef ERROR_CHECK_TEXT |
547 assert (size >= 0); | 547 assert (size >= 0); |
548 #endif | 548 #endif |
549 output_string (stream, str, Qnil, 0, size); | 549 output_string (stream, str, Qnil, 0, size); |
550 } | 550 } |
551 | 551 |
552 void | 552 void |
553 write_string (Lisp_Object stream, const Intbyte *str) | 553 write_string (Lisp_Object stream, const Ibyte *str) |
554 { | 554 { |
555 /* This function can GC */ | 555 /* This function can GC */ |
556 write_string_1 (stream, str, qxestrlen (str)); | 556 write_string_1 (stream, str, qxestrlen (str)); |
557 } | 557 } |
558 | 558 |
559 void | 559 void |
560 write_c_string (Lisp_Object stream, const CIntbyte *str) | 560 write_c_string (Lisp_Object stream, const CIbyte *str) |
561 { | 561 { |
562 /* This function can GC */ | 562 /* This function can GC */ |
563 write_string_1 (stream, (const Intbyte *) str, strlen (str)); | 563 write_string_1 (stream, (const Ibyte *) str, strlen (str)); |
564 } | 564 } |
565 | 565 |
566 void | 566 void |
567 write_eistring (Lisp_Object stream, const Eistring *ei) | 567 write_eistring (Lisp_Object stream, const Eistring *ei) |
568 { | 568 { |
570 } | 570 } |
571 | 571 |
572 /* Write a printf-style string to STREAM; see output_string(). */ | 572 /* Write a printf-style string to STREAM; see output_string(). */ |
573 | 573 |
574 void | 574 void |
575 write_fmt_string (Lisp_Object stream, const CIntbyte *fmt, ...) | 575 write_fmt_string (Lisp_Object stream, const CIbyte *fmt, ...) |
576 { | 576 { |
577 va_list va; | 577 va_list va; |
578 Intbyte *str; | 578 Ibyte *str; |
579 Bytecount len; | 579 Bytecount len; |
580 int count; | 580 int count; |
581 | 581 |
582 va_start (va, fmt); | 582 va_start (va, fmt); |
583 str = emacs_vsprintf_malloc (fmt, va, &len); | 583 str = emacs_vsprintf_malloc (fmt, va, &len); |
592 | 592 |
593 #### It shouldn't be necessary to specify the number of arguments. | 593 #### It shouldn't be necessary to specify the number of arguments. |
594 This would require some rewriting of the doprnt() functions, though. */ | 594 This would require some rewriting of the doprnt() functions, though. */ |
595 | 595 |
596 void | 596 void |
597 write_fmt_string_lisp (Lisp_Object stream, const CIntbyte *fmt, int nargs, ...) | 597 write_fmt_string_lisp (Lisp_Object stream, const CIbyte *fmt, int nargs, ...) |
598 { | 598 { |
599 Lisp_Object *args = alloca_array (Lisp_Object, nargs); | 599 Lisp_Object *args = alloca_array (Lisp_Object, nargs); |
600 va_list va; | 600 va_list va; |
601 int i; | 601 int i; |
602 Intbyte *str; | 602 Ibyte *str; |
603 Bytecount len; | 603 Bytecount len; |
604 int count; | 604 int count; |
605 | 605 |
606 va_start (va, nargs); | 606 va_start (va, nargs); |
607 for (i = 0; i < nargs; i++) | 607 for (i = 0; i < nargs; i++) |
612 write_string_1 (stream, str, len); | 612 write_string_1 (stream, str, len); |
613 unbind_to (count); | 613 unbind_to (count); |
614 } | 614 } |
615 | 615 |
616 void | 616 void |
617 stderr_out_lisp (const CIntbyte *fmt, int nargs, ...) | 617 stderr_out_lisp (const CIbyte *fmt, int nargs, ...) |
618 { | 618 { |
619 Lisp_Object *args = alloca_array (Lisp_Object, nargs); | 619 Lisp_Object *args = alloca_array (Lisp_Object, nargs); |
620 va_list va; | 620 va_list va; |
621 int i; | 621 int i; |
622 Intbyte *str; | 622 Ibyte *str; |
623 Bytecount len; | 623 Bytecount len; |
624 int count; | 624 int count; |
625 | 625 |
626 va_start (va, nargs); | 626 va_start (va, nargs); |
627 for (i = 0; i < nargs; i++) | 627 for (i = 0; i < nargs; i++) |
639 STREAM defaults to the value of `standard-output' (which see). | 639 STREAM defaults to the value of `standard-output' (which see). |
640 */ | 640 */ |
641 (character, stream)) | 641 (character, stream)) |
642 { | 642 { |
643 /* This function can GC */ | 643 /* This function can GC */ |
644 Intbyte str[MAX_EMCHAR_LEN]; | 644 Ibyte str[MAX_ICHAR_LEN]; |
645 Bytecount len; | 645 Bytecount len; |
646 | 646 |
647 CHECK_CHAR_COERCE_INT (character); | 647 CHECK_CHAR_COERCE_INT (character); |
648 len = set_charptr_emchar (str, XCHAR (character)); | 648 len = set_itext_ichar (str, XCHAR (character)); |
649 output_string (canonicalize_printcharfun (stream), str, Qnil, 0, len); | 649 output_string (canonicalize_printcharfun (stream), str, Qnil, 0, len); |
650 return character; | 650 return character; |
651 } | 651 } |
652 | 652 |
653 void | 653 void |
989 * -wsr | 989 * -wsr |
990 */ | 990 */ |
991 void | 991 void |
992 float_to_string (char *buf, double data) | 992 float_to_string (char *buf, double data) |
993 { | 993 { |
994 Intbyte *cp, c; | 994 Ibyte *cp, c; |
995 int width; | 995 int width; |
996 | 996 |
997 if (NILP (Vfloat_output_format) | 997 if (NILP (Vfloat_output_format) |
998 || !STRINGP (Vfloat_output_format)) | 998 || !STRINGP (Vfloat_output_format)) |
999 lose: | 999 lose: |
1034 the read-equivalence of lisp objects. (* x 1) and (* x 1.0) do | 1034 the read-equivalence of lisp objects. (* x 1) and (* x 1.0) do |
1035 not do the same thing, so it's important that the printed | 1035 not do the same thing, so it's important that the printed |
1036 representation of that form not be corrupted by the printer. | 1036 representation of that form not be corrupted by the printer. |
1037 */ | 1037 */ |
1038 { | 1038 { |
1039 Intbyte *s = (Intbyte *) buf; /* don't use signed chars here! | 1039 Ibyte *s = (Ibyte *) buf; /* don't use signed chars here! |
1040 isdigit() can't hack them! */ | 1040 isdigit() can't hack them! */ |
1041 if (*s == '-') s++; | 1041 if (*s == '-') s++; |
1042 for (; *s; s++) | 1042 for (; *s; s++) |
1043 /* if there's a non-digit, then there is a decimal point, or | 1043 /* if there's a non-digit, then there is a decimal point, or |
1044 it's in exponential notation, both of which are ok. */ | 1044 it's in exponential notation, both of which are ok. */ |
1311 Bytecount i, last = 0; | 1311 Bytecount i, last = 0; |
1312 | 1312 |
1313 write_c_string (printcharfun, "\""); | 1313 write_c_string (printcharfun, "\""); |
1314 for (i = 0; i < bcmax; i++) | 1314 for (i = 0; i < bcmax; i++) |
1315 { | 1315 { |
1316 Intbyte ch = string_byte (obj, i); | 1316 Ibyte ch = string_byte (obj, i); |
1317 if (ch == '\"' || ch == '\\' | 1317 if (ch == '\"' || ch == '\\' |
1318 || (ch == '\n' && print_escape_newlines)) | 1318 || (ch == '\n' && print_escape_newlines)) |
1319 { | 1319 { |
1320 if (i > last) | 1320 if (i > last) |
1321 { | 1321 { |
1326 { | 1326 { |
1327 write_c_string (printcharfun, "\\n"); | 1327 write_c_string (printcharfun, "\\n"); |
1328 } | 1328 } |
1329 else | 1329 else |
1330 { | 1330 { |
1331 Intbyte temp[2]; | 1331 Ibyte temp[2]; |
1332 write_c_string (printcharfun, "\\"); | 1332 write_c_string (printcharfun, "\\"); |
1333 /* This is correct for Mule because the | 1333 /* This is correct for Mule because the |
1334 character is either \ or " */ | 1334 character is either \ or " */ |
1335 temp[0] = string_byte (obj, i); | 1335 temp[0] = string_byte (obj, i); |
1336 temp[1] = '\0'; | 1336 temp[1] = '\0'; |
1495 | 1495 |
1496 case Lisp_Type_Char: | 1496 case Lisp_Type_Char: |
1497 { | 1497 { |
1498 /* God intended that this be #\..., you know. */ | 1498 /* God intended that this be #\..., you know. */ |
1499 char buf[16]; | 1499 char buf[16]; |
1500 Emchar ch = XCHAR (obj); | 1500 Ichar ch = XCHAR (obj); |
1501 char *p = buf; | 1501 char *p = buf; |
1502 *p++ = '?'; | 1502 *p++ = '?'; |
1503 if (ch < 32) | 1503 if (ch < 32) |
1504 { | 1504 { |
1505 *p++ = '\\'; | 1505 *p++ = '\\'; |
1544 *p++ = '\\', *p++ = '^', *p++ = '?'; | 1544 *p++ = '\\', *p++ = '^', *p++ = '?'; |
1545 } | 1545 } |
1546 else if (ch < 160) | 1546 else if (ch < 160) |
1547 { | 1547 { |
1548 *p++ = '\\', *p++ = '^'; | 1548 *p++ = '\\', *p++ = '^'; |
1549 p += set_charptr_emchar ((Intbyte *) p, ch + 64); | 1549 p += set_itext_ichar ((Ibyte *) p, ch + 64); |
1550 } | 1550 } |
1551 else | 1551 else |
1552 { | 1552 { |
1553 p += set_charptr_emchar ((Intbyte *) p, ch); | 1553 p += set_itext_ichar ((Ibyte *) p, ch); |
1554 } | 1554 } |
1555 | 1555 |
1556 output_string (printcharfun, (Intbyte *) buf, Qnil, 0, p - buf); | 1556 output_string (printcharfun, (Ibyte *) buf, Qnil, 0, p - buf); |
1557 | 1557 |
1558 break; | 1558 break; |
1559 } | 1559 } |
1560 | 1560 |
1561 case Lisp_Type_Record: | 1561 case Lisp_Type_Record: |
1681 write_c_string (printcharfun, "#:"); | 1681 write_c_string (printcharfun, "#:"); |
1682 } | 1682 } |
1683 | 1683 |
1684 /* Does it look like an integer or a float? */ | 1684 /* Does it look like an integer or a float? */ |
1685 { | 1685 { |
1686 Intbyte *data = XSTRING_DATA (name); | 1686 Ibyte *data = XSTRING_DATA (name); |
1687 Bytecount confusing = 0; | 1687 Bytecount confusing = 0; |
1688 | 1688 |
1689 if (size == 0) | 1689 if (size == 0) |
1690 goto not_yet_confused; /* Really confusing */ | 1690 goto not_yet_confused; /* Really confusing */ |
1691 else if (isdigit (data[0])) | 1691 else if (isdigit (data[0])) |
1762 to be passed to `print'. Before calling `print', set `alternate_do_pointer' | 1762 to be passed to `print'. Before calling `print', set `alternate_do_pointer' |
1763 to 0. | 1763 to 0. |
1764 */ | 1764 */ |
1765 (character)) | 1765 (character)) |
1766 { | 1766 { |
1767 Intbyte str[MAX_EMCHAR_LEN]; | 1767 Ibyte str[MAX_ICHAR_LEN]; |
1768 Bytecount len; | 1768 Bytecount len; |
1769 | 1769 |
1770 CHECK_CHAR_COERCE_INT (character); | 1770 CHECK_CHAR_COERCE_INT (character); |
1771 len = set_charptr_emchar (str, XCHAR (character)); | 1771 len = set_itext_ichar (str, XCHAR (character)); |
1772 write_string_to_alternate_debugging_output (str, len); | 1772 write_string_to_alternate_debugging_output (str, len); |
1773 | 1773 |
1774 return character; | 1774 return character; |
1775 } | 1775 } |
1776 | 1776 |
1777 static void | 1777 static void |
1778 write_string_to_alternate_debugging_output (Intbyte *str, Bytecount len) | 1778 write_string_to_alternate_debugging_output (Ibyte *str, Bytecount len) |
1779 { | 1779 { |
1780 int extlen; | 1780 int extlen; |
1781 const Extbyte *extptr; | 1781 const Extbyte *extptr; |
1782 #if 0 /* We want to see the internal representation, don't we? */ | 1782 #if 0 /* We want to see the internal representation, don't we? */ |
1783 if (initialized && !inhibit_non_essential_printing_operations) | 1783 if (initialized && !inhibit_non_essential_printing_operations) |
1840 XSTRING_DATA (char_or_string), | 1840 XSTRING_DATA (char_or_string), |
1841 XSTRING_LENGTH (char_or_string), | 1841 XSTRING_LENGTH (char_or_string), |
1842 print_unbuffered); | 1842 print_unbuffered); |
1843 else | 1843 else |
1844 { | 1844 { |
1845 Intbyte str[MAX_EMCHAR_LEN]; | 1845 Ibyte str[MAX_ICHAR_LEN]; |
1846 Bytecount len; | 1846 Bytecount len; |
1847 | 1847 |
1848 CHECK_CHAR_COERCE_INT (char_or_string); | 1848 CHECK_CHAR_COERCE_INT (char_or_string); |
1849 len = set_charptr_emchar (str, XCHAR (char_or_string)); | 1849 len = set_itext_ichar (str, XCHAR (char_or_string)); |
1850 write_string_to_stdio_stream (file, con, str, len, print_unbuffered); | 1850 write_string_to_stdio_stream (file, con, str, len, print_unbuffered); |
1851 } | 1851 } |
1852 | 1852 |
1853 return char_or_string; | 1853 return char_or_string; |
1854 } | 1854 } |