diff tests/automated/lisp-tests.el @ 4394:cacc942c0d0f

Avoid clearing print-gensym-alist inappropriately when printing hash tables. 2008-01-15 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el (thing): Check that printing a hash table literal doesn't clear print-gensym-alist. 2008-01-15 Aidan Kehoe <kehoea@parhasard.net> * print.c (prin1_to_string): New. The guts of Fprin1_to_string, without resetting Vprint_gensym_alist. (Fprin1_to_string): Call prin1_to_string, wrapped with RESET_PRINT_GENSYM calls. * doprnt.c (emacs_doprnt_1): Call prin1_to_string, not Fprin1_to_string (dos veces). Avoids an inappropriate reset of print-gensym-alist.
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 15 Jan 2008 21:35:01 +0100
parents 89e64783d068
children e97f16fb2e25
line wrap: on
line diff
--- a/tests/automated/lisp-tests.el	Sat Jan 12 18:04:13 2008 +0100
+++ b/tests/automated/lisp-tests.el	Tue Jan 15 21:35:01 2008 +0100
@@ -1299,3 +1299,17 @@
 ;; Check all-completions ignore element start with space.
 (Assert (not (all-completions "" '((" hidden" . "object")))))
 (Assert (all-completions " " '((" hidden" . "object"))))
+
+(let* ((literal-with-uninterned
+	'(first-element
+	  [#1=#:G32976 #2=#:G32974 #3=#:G32971 #4=#:G32969 alias
+		       #s(hash-table size 256 data (969 ?ù 55 ?7 166 ?¦ ))
+		       #5=#:G32970 #6=#:G32972]))
+       (print-readably t)
+       (print-gensym t)
+       (printed-with-uninterned (prin1-to-string literal-with-uninterned))
+       (awkward-regexp "#1=#")
+       (first-match-start (string-match awkward-regexp
+					printed-with-uninterned)))
+  (Assert (null (string-match awkward-regexp printed-with-uninterned
+			      (1+ first-match-start)))))