Mercurial > emacs
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) |