[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r103672: * src/print.c (PRINT_CIRCLE_
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r103672: * src/print.c (PRINT_CIRCLE_CANDIDATE_P): New macro. |
Date: |
Wed, 16 Mar 2011 13:34:26 -0400 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 103672
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Wed 2011-03-16 13:34:26 -0400
message:
* src/print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
(print_preprocess, print_object): New macro to fix last change.
modified:
src/ChangeLog
src/print.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-03-16 14:23:26 +0000
+++ b/src/ChangeLog 2011-03-16 17:34:26 +0000
@@ -1,5 +1,8 @@
2011-03-16 Stefan Monnier <address@hidden>
+ * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
+ (print_preprocess, print_object): New macro to fix last change.
+
* print.c (print_preprocess): Don't forget font objects.
2011-03-16 Juanma Barranquero <address@hidden>
=== modified file 'src/print.c'
--- a/src/print.c 2011-03-16 14:23:26 +0000
+++ b/src/print.c 2011-03-16 17:34:26 +0000
@@ -1173,6 +1173,16 @@
print_object (obj, printcharfun, escapeflag);
}
+#define PRINT_CIRCLE_CANDIDATE_P(obj) \
+ (STRINGP (obj) || CONSP (obj)
\
+ || (VECTORLIKEP (obj) \
+ && (VECTORP (obj) || COMPILEDP (obj) \
+ || CHAR_TABLE_P (obj) || SUB_CHAR_TABLE_P (obj) \
+ || HASH_TABLE_P (obj) || FONTP (obj))) \
+ || (! NILP (Vprint_gensym) \
+ && SYMBOLP (obj)
\
+ && !SYMBOL_INTERNED_P (obj)))
+
/* Construct Vprint_number_table according to the structure of OBJ.
OBJ itself and all its elements will be added to Vprint_number_table
recursively if it is a list, vector, compiled function, char-table,
@@ -1207,12 +1217,7 @@
halftail = obj;
loop:
- if (STRINGP (obj) || CONSP (obj) || VECTORP (obj)
- || COMPILEDP (obj) || CHAR_TABLE_P (obj) || SUB_CHAR_TABLE_P (obj)
- || HASH_TABLE_P (obj) || FONTP (obj)
- || (! NILP (Vprint_gensym)
- && SYMBOLP (obj)
- && !SYMBOL_INTERNED_P (obj)))
+ if (PRINT_CIRCLE_CANDIDATE_P (obj))
{
if (!HASH_TABLE_P (Vprint_number_table))
{
@@ -1389,12 +1394,7 @@
error ("Apparently circular structure being printed");
/* Detect circularities and truncate them. */
- if (STRINGP (obj) || CONSP (obj) || VECTORP (obj)
- || COMPILEDP (obj) || CHAR_TABLE_P (obj) || SUB_CHAR_TABLE_P (obj)
- || HASH_TABLE_P (obj)
- || (! NILP (Vprint_gensym)
- && SYMBOLP (obj)
- && !SYMBOL_INTERNED_P (obj)))
+ if (PRINT_CIRCLE_CANDIDATE_P (obj))
{
if (NILP (Vprint_circle) && NILP (Vprint_gensym))
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r103672: * src/print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.,
Stefan Monnier <=