comparison src/print.c @ 25011:12235d1f1871

(print): Add hash table handling. (printchar): Set echo_area_message to nil. (strout): Ditto.
author Gerd Moellmann <gerd@gnu.org>
date Wed, 21 Jul 1999 21:43:52 +0000
parents d4edd0f4edfa
children e25e953cfc58
comparison
equal deleted inserted replaced
25010:16ced12bd3aa 25011:12235d1f1871
397 if (echo_area_glyphs != FRAME_MESSAGE_BUF (mini_frame) 397 if (echo_area_glyphs != FRAME_MESSAGE_BUF (mini_frame)
398 || !message_buf_print) 398 || !message_buf_print)
399 { 399 {
400 message_log_maybe_newline (); 400 message_log_maybe_newline ();
401 echo_area_glyphs = FRAME_MESSAGE_BUF (mini_frame); 401 echo_area_glyphs = FRAME_MESSAGE_BUF (mini_frame);
402 echo_area_message = Qnil;
402 printbufidx = 0; 403 printbufidx = 0;
403 echo_area_glyphs_length = 0; 404 echo_area_glyphs_length = 0;
404 message_buf_print = 1; 405 message_buf_print = 1;
405 406
406 if (minibuffer_auto_raise) 407 if (minibuffer_auto_raise)
525 if (echo_area_glyphs != FRAME_MESSAGE_BUF (mini_frame) 526 if (echo_area_glyphs != FRAME_MESSAGE_BUF (mini_frame)
526 || !message_buf_print) 527 || !message_buf_print)
527 { 528 {
528 message_log_maybe_newline (); 529 message_log_maybe_newline ();
529 echo_area_glyphs = FRAME_MESSAGE_BUF (mini_frame); 530 echo_area_glyphs = FRAME_MESSAGE_BUF (mini_frame);
531 echo_area_message = Qnil;
530 printbufidx = 0; 532 printbufidx = 0;
531 echo_area_glyphs_length = 0; 533 echo_area_glyphs_length = 0;
532 message_buf_print = 1; 534 message_buf_print = 1;
533 535
534 if (minibuffer_auto_raise) 536 if (minibuffer_auto_raise)
1614 strout (" on ", -1, -1, printcharfun, 0); 1616 strout (" on ", -1, -1, printcharfun, 0);
1615 print_string (XBUFFER (XWINDOW (obj)->buffer)->name, printcharfun); 1617 print_string (XBUFFER (XWINDOW (obj)->buffer)->name, printcharfun);
1616 } 1618 }
1617 PRINTCHAR ('>'); 1619 PRINTCHAR ('>');
1618 } 1620 }
1621 else if (HASH_TABLE_P (obj))
1622 {
1623 struct Lisp_Hash_Table *h = XHASH_TABLE (obj);
1624 strout ("#<hash-table", -1, -1, printcharfun, 0);
1625 if (SYMBOLP (h->test))
1626 {
1627 PRINTCHAR (' ');
1628 PRINTCHAR ('\'');
1629 strout (XSYMBOL (h->test)->name->data, -1, -1, printcharfun, 0);
1630 PRINTCHAR (' ');
1631 strout (XSYMBOL (h->weak)->name->data, -1, -1, printcharfun, 0);
1632 PRINTCHAR (' ');
1633 sprintf (buf, "%d/%d", XFASTINT (h->count),
1634 XVECTOR (h->next)->size);
1635 strout (buf, -1, -1, printcharfun, 0);
1636 }
1637 sprintf (buf, " 0x%lx", (unsigned long) h);
1638 strout (buf, -1, -1, printcharfun, 0);
1639 PRINTCHAR ('>');
1640 }
1619 else if (BUFFERP (obj)) 1641 else if (BUFFERP (obj))
1620 { 1642 {
1621 if (NILP (XBUFFER (obj)->name)) 1643 if (NILP (XBUFFER (obj)->name))
1622 strout ("#<killed buffer>", -1, -1, printcharfun, 0); 1644 strout ("#<killed buffer>", -1, -1, printcharfun, 0);
1623 else if (escapeflag) 1645 else if (escapeflag)