aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2010-12-22 19:00:12 -0500
committerStefan Monnier2010-12-22 19:00:12 -0500
commit17870c01f609101bc059ff0c38043d3734a35e72 (patch)
treedd28373fb555f04167ffac8992db14376fdd8373
parenta65b85b5f060567a5d9dcbb7e8cbac4ddbbc0b23 (diff)
downloademacs-17870c01f609101bc059ff0c38043d3734a35e72.tar.gz
emacs-17870c01f609101bc059ff0c38043d3734a35e72.zip
Fix up last change.
* lisp/emacs-lisp/bytecomp.el (byte-compile-output-docform): Fix up use of print-number-table. * src/print.c (PRINT_NUMBER_OBJECT, PRINT_NUMBER_STATUS): Remove. (print_preprocess): Fix handling of uninterned symbols in last change.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emacs-lisp/bytecomp.el6
-rw-r--r--src/ChangeLog3
-rw-r--r--src/print.c8
4 files changed, 12 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 48cd0058521..f3449278d68 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12010-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/bytecomp.el (byte-compile-output-docform): Fix up use of
4 print-number-table.
5
12010-12-21 Chong Yidong <cyd@stupidchicken.com> 62010-12-21 Chong Yidong <cyd@stupidchicken.com>
2 7
3 * help-fns.el (find-lisp-object-file-name): Locate .emacs from 8 * help-fns.el (find-lisp-object-file-name): Locate .emacs from
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index f04aad994f3..28fb1f80d69 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2058,9 +2058,9 @@ list that represents a doc string reference.
2058 ;; to objects already output 2058 ;; to objects already output
2059 ;; (for instance, gensyms in the arg list). 2059 ;; (for instance, gensyms in the arg list).
2060 (let (non-nil) 2060 (let (non-nil)
2061 (dotimes (i (length print-number-table)) 2061 (when (hash-table-p print-number-table)
2062 (if (aref print-number-table i) 2062 (maphash (lambda (k v) (if v (setq non-nil t)))
2063 (setq non-nil t))) 2063 print-number-table))
2064 (not non-nil))) 2064 (not non-nil)))
2065 ;; Output the byte code and constants specially 2065 ;; Output the byte code and constants specially
2066 ;; for lazy dynamic loading. 2066 ;; for lazy dynamic loading.
diff --git a/src/ChangeLog b/src/ChangeLog
index 2c3f8f92f83..820c4469317 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
12010-12-22 Stefan Monnier <monnier@iro.umontreal.ca> 12010-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * print.c (PRINT_NUMBER_OBJECT, PRINT_NUMBER_STATUS): Remove.
4 (print_preprocess): Fix handling of uninterned symbols in last change.
5
3 * print.c (print, print_preprocess, print_object): Use a hash table 6 * print.c (print, print_preprocess, print_object): Use a hash table
4 rather than a linear table for Vprint_number_table. 7 rather than a linear table for Vprint_number_table.
5 8
diff --git a/src/print.c b/src/print.c
index 50a972cc94a..07faa46dfa6 100644
--- a/src/print.c
+++ b/src/print.c
@@ -156,12 +156,6 @@ Lisp_Object Vprint_continuous_numbering;
156int print_number_index; 156int print_number_index;
157Lisp_Object Vprint_number_table; 157Lisp_Object Vprint_number_table;
158 158
159/* PRINT_NUMBER_OBJECT returns the I'th object in Vprint_number_table TABLE.
160 PRINT_NUMBER_STATUS returns the status of the I'th object in TABLE.
161 See the comment of the variable Vprint_number_table. */
162#define PRINT_NUMBER_OBJECT(table,i) XVECTOR ((table))->contents[(i) * 2]
163#define PRINT_NUMBER_STATUS(table,i) XVECTOR ((table))->contents[(i) * 2 + 1]
164
165void print_interval (INTERVAL interval, Lisp_Object printcharfun); 159void print_interval (INTERVAL interval, Lisp_Object printcharfun);
166 160
167/* GDB resets this to zero on W32 to disable OutputDebugString calls. */ 161/* GDB resets this to zero on W32 to disable OutputDebugString calls. */
@@ -1314,7 +1308,7 @@ print_preprocess (Lisp_Object obj)
1314 && SYMBOLP (obj) 1308 && SYMBOLP (obj)
1315 && !SYMBOL_INTERNED_P (obj))) 1309 && !SYMBOL_INTERNED_P (obj)))
1316 { /* OBJ appears more than once. Let's remember that. */ 1310 { /* OBJ appears more than once. Let's remember that. */
1317 if (EQ (Qt, num)) 1311 if (!INTEGERP (num))
1318 { 1312 {
1319 print_number_index++; 1313 print_number_index++;
1320 /* Negative number indicates it hasn't been printed yet. */ 1314 /* Negative number indicates it hasn't been printed yet. */