Mercurial > emacs
comparison src/alloc.c @ 25343:fe92158a9e83
(Fgarbage_collect): Use push_message, restore_message,
pop_message.
| author | Gerd Moellmann <gerd@gnu.org> |
|---|---|
| date | Sat, 21 Aug 1999 19:28:42 +0000 |
| parents | 11070f3c5b59 |
| children | 823e14641544 |
comparison
equal
deleted
inserted
replaced
| 25342:99d49ec31b8a | 25343:fe92158a9e83 |
|---|---|
| 1744 register struct specbinding *bind; | 1744 register struct specbinding *bind; |
| 1745 struct catchtag *catch; | 1745 struct catchtag *catch; |
| 1746 struct handler *handler; | 1746 struct handler *handler; |
| 1747 register struct backtrace *backlist; | 1747 register struct backtrace *backlist; |
| 1748 register Lisp_Object tem; | 1748 register Lisp_Object tem; |
| 1749 char *omessage = echo_area_glyphs; | |
| 1750 Lisp_Object omessage_string = echo_area_message; | |
| 1751 int omessage_length = echo_area_glyphs_length; | |
| 1752 int oldmultibyte = message_enable_multibyte; | |
| 1753 char stack_top_variable; | 1749 char stack_top_variable; |
| 1754 register int i; | 1750 register int i; |
| 1755 struct gcpro gcpro1; | 1751 int message_p; |
| 1756 | 1752 |
| 1757 /* In case user calls debug_print during GC, | 1753 /* In case user calls debug_print during GC, |
| 1758 don't let that cause a recursive GC. */ | 1754 don't let that cause a recursive GC. */ |
| 1759 consing_since_gc = 0; | 1755 consing_since_gc = 0; |
| 1760 | 1756 |
| 1761 GCPRO1 (omessage_string); | 1757 /* Save what's currently displayed in the echo area. */ |
| 1758 message_p = push_message (); | |
| 1762 | 1759 |
| 1763 /* Save a copy of the contents of the stack, for debugging. */ | 1760 /* Save a copy of the contents of the stack, for debugging. */ |
| 1764 #if MAX_SAVE_STACK > 0 | 1761 #if MAX_SAVE_STACK > 0 |
| 1765 if (NILP (Vpurify_flag)) | 1762 if (NILP (Vpurify_flag)) |
| 1766 { | 1763 { |
| 1940 if (gc_cons_threshold < 10000) | 1937 if (gc_cons_threshold < 10000) |
| 1941 gc_cons_threshold = 10000; | 1938 gc_cons_threshold = 10000; |
| 1942 | 1939 |
| 1943 if (garbage_collection_messages) | 1940 if (garbage_collection_messages) |
| 1944 { | 1941 { |
| 1945 if (STRINGP (omessage_string)) | 1942 if (message_p || minibuf_level > 0) |
| 1946 message3_nolog (omessage_string, omessage_length, oldmultibyte); | 1943 restore_message (); |
| 1947 if (omessage || minibuf_level > 0) | |
| 1948 message2_nolog (omessage, omessage_length, oldmultibyte); | |
| 1949 else | 1944 else |
| 1950 message1_nolog ("Garbage collecting...done"); | 1945 message1_nolog ("Garbage collecting...done"); |
| 1951 } | 1946 } |
| 1952 | 1947 |
| 1953 UNGCPRO; | 1948 pop_message (); |
| 1949 | |
| 1954 return Fcons (Fcons (make_number (total_conses), | 1950 return Fcons (Fcons (make_number (total_conses), |
| 1955 make_number (total_free_conses)), | 1951 make_number (total_free_conses)), |
| 1956 Fcons (Fcons (make_number (total_symbols), | 1952 Fcons (Fcons (make_number (total_symbols), |
| 1957 make_number (total_free_symbols)), | 1953 make_number (total_free_symbols)), |
| 1958 Fcons (Fcons (make_number (total_markers), | 1954 Fcons (Fcons (make_number (total_markers), |
