Mercurial > emacs
changeset 78524:30f73a22d4ce
(new_backquote_output): Rename from old_backquote_output.
(print): Inverse its logic (according to its name) so as to match the
behavior of new_backquote_flag in lread.c.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 10 Aug 2007 08:01:30 +0000 |
parents | 437c27340640 |
children | 33690fc4e175 |
files | src/ChangeLog src/print.c |
diffstat | 2 files changed, 20 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Fri Aug 10 06:52:54 2007 +0000 +++ b/src/ChangeLog Fri Aug 10 08:01:30 2007 +0000 @@ -1,3 +1,9 @@ +2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * print.c (new_backquote_output): Rename from old_backquote_output. + (print): Inverse its logic (according to its name) so as to match the + behavior of new_backquote_flag in lread.c. + 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * gmalloc.c (posix_memalign): New function.
--- a/src/print.c Fri Aug 10 06:52:54 2007 +0000 +++ b/src/print.c Fri Aug 10 08:01:30 2007 +0000 @@ -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);