From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.devel Subject: Improving representation of EIEIO objects in backtraces/error messages Date: Thu, 29 Dec 2016 11:02:47 -0800 Message-ID: <87ful6o8x4.fsf@ericabrahamsen.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1483038212 429 195.159.176.226 (29 Dec 2016 19:03:32 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 29 Dec 2016 19:03:32 +0000 (UTC) User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/26.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 29 20:03:29 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMfyy-0007DJ-Jz for ged-emacs-devel@m.gmane.org; Thu, 29 Dec 2016 20:03:20 +0100 Original-Received: from localhost ([::1]:36963 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cMfz3-0006n0-8R for ged-emacs-devel@m.gmane.org; Thu, 29 Dec 2016 14:03:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59010) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cMfyu-0006mu-1n for emacs-devel@gnu.org; Thu, 29 Dec 2016 14:03:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cMfyr-0000vl-HG for emacs-devel@gnu.org; Thu, 29 Dec 2016 14:03:16 -0500 Original-Received: from [195.159.176.226] (port=36694 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cMfyr-0000vL-BA for emacs-devel@gnu.org; Thu, 29 Dec 2016 14:03:13 -0500 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1cMfyd-0004qM-2I for emacs-devel@gnu.org; Thu, 29 Dec 2016 20:02:59 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 21 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:t/cOsPXLdcmgfI2OxwjHu92WHgs= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:210971 Archived-At: I can't be the first one to be bitten by this... When developing using EIEIO objects, backtraces and edebug messages can be very difficult to use. In edebug, if you're lucky, you get the # representation, but if you're unlucky, you get the vector. In backtraces, you always get the vector. For large objects, or those involving recursive data structures, this makes error reporting frustrating, to put it delicately. It can take the printer a good couple seconds to barf up the representation of an object, and when it does it makes a huge mess of the minibuffer and/or *Message* buffer. I've defined `object-print' methods for some classes, and would dearly love it if those methods could be used everywhere, even in simple `eval-expression' situations. Or if there were at least an option that would allow me to turn this behavior on and off. Can I open a bug report? Eric