emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/print.c,v


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/print.c,v
Date: Mon, 13 Aug 2007 13:42:35 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Miles Bader <miles>     07/08/13 13:41:28

Index: src/print.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/print.c,v
retrieving revision 1.235
retrieving revision 1.236
diff -u -b -r1.235 -r1.236
--- src/print.c 26 Jul 2007 05:27:55 -0000      1.235
+++ src/print.c 13 Aug 2007 13:41:15 -0000      1.236
@@ -93,8 +93,8 @@
 /* Avoid actual stack overflow in print.  */
 int print_depth;
 
-/* Nonzero if inside outputting backquote in old style.  */
-int old_backquote_output;
+/* Level of nesting inside outputting backquote in new style.  */
+int new_backquote_output;
 
 /* Detect most circularities to print finite output.  */
 #define PRINT_CIRCLE 200
@@ -1291,7 +1291,7 @@
      register Lisp_Object printcharfun;
      int escapeflag;
 {
-  old_backquote_output = 0;
+  new_backquote_output = 0;
 
   /* Reset print_number_index and Vprint_number_table only when
      the variable Vprint_continuous_numbering is nil.  Otherwise,
@@ -1756,14 +1756,24 @@
          print_object (XCAR (XCDR (obj)), printcharfun, escapeflag);
        }
       else if (print_quoted && CONSP (XCDR (obj)) && NILP (XCDR (XCDR (obj)))
-              && ! old_backquote_output
+              && ((EQ (XCAR (obj), Qbackquote))))
+       {
+         print_object (XCAR (obj), printcharfun, 0);
+         new_backquote_output++;
+         print_object (XCAR (XCDR (obj)), printcharfun, escapeflag);
+         new_backquote_output--;
+       }
+      else if (print_quoted && CONSP (XCDR (obj)) && NILP (XCDR (XCDR (obj)))
+              && new_backquote_output
               && ((EQ (XCAR (obj), Qbackquote)
                    || EQ (XCAR (obj), Qcomma)
                    || EQ (XCAR (obj), Qcomma_at)
                    || EQ (XCAR (obj), Qcomma_dot))))
        {
          print_object (XCAR (obj), printcharfun, 0);
+         new_backquote_output--;
          print_object (XCAR (XCDR (obj)), printcharfun, escapeflag);
+         new_backquote_output++;
        }
       else
        {
@@ -1783,9 +1793,7 @@
              print_object (Qbackquote, printcharfun, 0);
              PRINTCHAR (' ');
 
-             ++old_backquote_output;
              print_object (XCAR (XCDR (tem)), printcharfun, 0);
-             --old_backquote_output;
              PRINTCHAR (')');
 
              obj = XCDR (obj);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]