diff options
| author | Richard M. Stallman | 1999-10-09 22:58:37 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1999-10-09 22:58:37 +0000 |
| commit | 73fb36f17c1ca1a9c58ad936398f37515635fcf1 (patch) | |
| tree | b93a007ce2ce32b76ffebd1e2b303d7d3c058bc7 /src | |
| parent | 85177c862b21fd10dabf288559a56558be5c6ba5 (diff) | |
| download | emacs-73fb36f17c1ca1a9c58ad936398f37515635fcf1.tar.gz emacs-73fb36f17c1ca1a9c58ad936398f37515635fcf1.zip | |
(print): When removing objects from Vprint_number_table,
only scan the newly added objects.
(print_preprocess): If OBJ is a gensym, and print-continuous-numbering,
unconditionally force it to stay in the table.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/print.c | 11 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 920f22046c6..fa10ff354d0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 1999-10-09 Richard M. Stallman <rms@caffeine.ai.mit.edu> | ||
| 2 | |||
| 3 | * print.c (print): When removing objects from Vprint_number_table, | ||
| 4 | only scan the newly added objects. | ||
| 5 | (print_preprocess): If OBJ is a gensym, and print-continuous-numbering, | ||
| 6 | unconditionally force it to stay in the table. | ||
| 7 | |||
| 1 | 1999-10-09 Gerd Moellmann <gerd@gnu.org> | 8 | 1999-10-09 Gerd Moellmann <gerd@gnu.org> |
| 2 | 9 | ||
| 3 | * xfns.c (prepare_image_for_display): Don't try to load image if | 10 | * xfns.c (prepare_image_for_display): Don't try to load image if |
diff --git a/src/print.c b/src/print.c index d6c85717f01..dc28ed0ce11 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -1069,12 +1069,13 @@ print (obj, printcharfun, escapeflag) | |||
| 1069 | /* Construct Vprint_number_table for print-gensym and print-circle. */ | 1069 | /* Construct Vprint_number_table for print-gensym and print-circle. */ |
| 1070 | if (!NILP (Vprint_gensym) || !NILP (Vprint_circle)) | 1070 | if (!NILP (Vprint_gensym) || !NILP (Vprint_circle)) |
| 1071 | { | 1071 | { |
| 1072 | int i, index = 0; | 1072 | int i, start, index; |
| 1073 | /* Construct Vprint_number_table. */ | 1073 | /* Construct Vprint_number_table. */ |
| 1074 | start = index = print_number_index; | ||
| 1074 | print_preprocess (obj); | 1075 | print_preprocess (obj); |
| 1075 | /* Remove unnecessary objects, which appear only once in OBJ; | 1076 | /* Remove unnecessary objects, which appear only once in OBJ; |
| 1076 | that is, whose status is Qnil. */ | 1077 | that is, whose status is Qnil. */ |
| 1077 | for (i = 0; i < print_number_index; i++) | 1078 | for (i = start; i < print_number_index; i++) |
| 1078 | if (!NILP (PRINT_NUMBER_STATUS (Vprint_number_table, i))) | 1079 | if (!NILP (PRINT_NUMBER_STATUS (Vprint_number_table, i))) |
| 1079 | { | 1080 | { |
| 1080 | PRINT_NUMBER_OBJECT (Vprint_number_table, index) | 1081 | PRINT_NUMBER_OBJECT (Vprint_number_table, index) |
| @@ -1138,6 +1139,12 @@ print_preprocess (obj) | |||
| 1138 | } | 1139 | } |
| 1139 | } | 1140 | } |
| 1140 | PRINT_NUMBER_OBJECT (Vprint_number_table, print_number_index) = obj; | 1141 | PRINT_NUMBER_OBJECT (Vprint_number_table, print_number_index) = obj; |
| 1142 | /* If Vprint_continuous_numbering is non-nil and OBJ is a gensym, | ||
| 1143 | always print the gensym with a number. This is a special for | ||
| 1144 | the lisp function byte-compile-output-docform. */ | ||
| 1145 | if (! NILP (Vprint_continuous_numbering) && SYMBOLP (obj) | ||
| 1146 | && NILP (XSYMBOL (obj)->obarray)) | ||
| 1147 | PRINT_NUMBER_STATUS (Vprint_number_table, print_number_index) = Qt; | ||
| 1141 | print_number_index++; | 1148 | print_number_index++; |
| 1142 | 1149 | ||
| 1143 | switch (XGCTYPE (obj)) | 1150 | switch (XGCTYPE (obj)) |