all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: owner@emacsbugs.donarmstrong.com (Emacs bug Tracking System)
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Subject: bug#5082: marked as done (23.1.50; print-circle and make-hash-table)
Date: Mon, 30 Nov 2009 21:15:05 +0000	[thread overview]
Message-ID: <handler.5082.D5082.125961532126686.ackdone@emacsbugs.donarmstrong.com> (raw)
In-Reply-To: 270879b0911300709o29a12798m2ae6c6194c25e53@mail.gmail.com

[-- Attachment #1: Type: text/plain, Size: 897 bytes --]

Your message dated Mon, 30 Nov 2009 16:08:38 -0500
with message-id <jwv8wdnencg.fsf-monnier+emacsbugreports@gnu.org>
and subject line Re: bug#5082: 23.1.50; print-circle and make-hash-table
has caused the Emacs bug report #5082,
regarding 23.1.50; print-circle and make-hash-table
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
5082: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=5082
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 4125 bytes --]

From: 川幡太一 <kawabata.taichi@gmail.com>
To: emacs-pretest-bug@gnu.org
Subject: 23.1.50; print-circle and make-hash-table
Date: Tue, 1 Dec 2009 00:09:30 +0900
Message-ID: <270879b0911300709o29a12798m2ae6c6194c25e53@mail.gmail.com>

Dear Emacs Developers,

I've found an Emacs behavior that seems a bug concerning to `print-circle'
and make-hash-table, so I would like to report it.

By setting `print-circle' to `t', printing Lisp Object with recursive
or repetitive
list should be displayed as #N= and #N# syntax.

However, it seems this is not true when printing lisp objects within
hash tables
(which become possible in Emacs 23.1.50.)  Following is an example.

Is it possible to display the repetitive lisp object within printed hash tables
by #N= and #N# syntax, when `print-circle' is set to `t'?

I notify this behavior as a bug, but it may not be so.  I apologize in that
case.

(let ((print-circle t)
      (x (list 10 20))
      (y (make-hash-table)))
  (insert (format "%S\n" (list x x)))
  (puthash 1 x y)
  (puthash 2 x y)
  (insert (format "%S\n" y))
  (setcar x 3)
  (insert (format "%S\n" y)))

Result:
> (#1=(10 20) #1#)
> #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8
> data (1 (10 20) 2 (10 20)))
> #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8
> data (1 (3 20) 2 (3 20)))
nil

Cordially Yours,

-- 
---------------------------------------------------------------------
 KAWABATA, Taichi   E-mail: kawabata.taichi@gmail.com


[-- Attachment #3: Type: message/rfc822, Size: 2520 bytes --]

From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: 川幡太一 <kawabata.taichi@gmail.com>
Subject: Re: bug#5082: 23.1.50; print-circle and make-hash-table
Date: Mon, 30 Nov 2009 16:08:38 -0500
Message-ID: <jwv8wdnencg.fsf-monnier+emacsbugreports@gnu.org>

> I've found an Emacs behavior that seems a bug concerning to `print-circle'
> and make-hash-table, so I would like to report it.

Thanks for catching this bug and for the clear testcase.  I've installed
the patch below which should fix it.


        Stefan


=== modified file 'src/print.c'
--- src/print.c	2009-11-24 15:30:54 +0000
+++ src/print.c	2009-11-30 21:03:36 +0000
@@ -1420,6 +1420,13 @@
 	    size &= PSEUDOVECTOR_SIZE_MASK;
 	  for (i = 0; i < size; i++)
 	    print_preprocess (XVECTOR (obj)->contents[i]);
+	  if (HASH_TABLE_P (obj))
+	    { /* For hash tables, the key_and_value slot is past
+	        `size' because it needs to be marked specially in case
+	        the table is weak.  */
+	      struct Lisp_Hash_Table *h = XHASH_TABLE (obj);
+	      print_preprocess (h->key_and_value);
+	    }
 	  break;
 
 	default:


      reply	other threads:[~2009-11-30 21:15 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <jwv8wdnencg.fsf-monnier+emacsbugreports@gnu.org>
2009-11-30 15:09 ` bug#5082: 23.1.50; print-circle and make-hash-table 川幡太一
2009-11-30 21:15   ` Emacs bug Tracking System [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=handler.5082.D5082.125961532126686.ackdone@emacsbugs.donarmstrong.com \
    --to=owner@emacsbugs.donarmstrong.com \
    --cc=monnier@IRO.UMontreal.CA \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.